KM3NeT CLB  2.0
KM3NeT CLB v2 Embedded Software
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dev_transp.h
Go to the documentation of this file.
1 /**
2  * @file
3  *
4  * dev_transp.h - StarTrek transporter device
5  *
6  * Please read the manual. Incorrect configuration could cause loss of limbs.
7  */
8 #include "dev_defs.h" ///< Defines registers and the BIT macro.
9 
10 #define TRANSP_STS_HEISENBC_OK BIT(0) ///< If set, Heisenberg compensators are ok.
11 #define TRANSP_STS_IN_TRANSPORT BIT(1) ///< If set a transport is in progress.
12 #define TRANSP_STS_IS_POWERED BIT(2) ///< Transported powered
13 
14 
15 #define TRANSP_CMD_TRANSPORT BIT(0) ///< When set initiates transport
16 #define TRANSP_CMD_RETRIEVE BIT(1) ///< When set beams from the coordinate to the pads.
17 #define TRANSP_CMD_RESET BIT(2) ///< Resets the transporter. Do not set in transport!
18 
19 #define TRANSP_CFG_HEISENB_MASK 0x00FF0000 ///< Heisenberg quantum tweak factors mask
20 #define TRANSP_CFG_HEISENB_SHIFT 24 ///< Heisenberg quantum tweak factors shift
21 #define TRANSP_CFG_TXPOWER_MASK 0x0000FF00 ///< Configure transporter TX power mask
22 #define TRANSP_CFG_TXPOWER_SHIFT 16 ///< Configure transporter TX power shift
23 #define TRANSP_CFG_RXPOWER_MASK 0x000000FF ///< Configure transporter RX power mask
24 #define TRANSP_CFG_RXPOWER_SHIFT 0 ///< Configure transporter RX power mask
25 
26 #define TRANSP_CRD_MIN -30000 ///< Minimum coordinate displacement
27 #define TRANSP_CRD_MAX 30000 ///< Maximum coordinate displacement
28 
29 /**
30  * Structure defines FutureDevices StarTrek transporter
31  */
32 typedef struct
33 {
34  reg_io CRD_X; ///< X displacement coordinate in meters (signed)
35  reg_io CRD_Y; ///< Y displacement coordinate in meters (signed)
36  reg_io CRD_Z; ///< Z displacement coordinate in meters (signed)
37  reg_i STS; ///< Status
38  reg_io CFG; ///< Configure
39  reg_o CMD; ///< Command
reg_i STS
Status.
Definition: dev_transp.h:37
reg_io CRD_Z
Z displacement coordinate in meters (signed)
Definition: dev_transp.h:36
reg_o CMD
Command.
Definition: dev_transp.h:39
reg_io CRD_Y
Y displacement coordinate in meters (signed)
Definition: dev_transp.h:35
#define reg_i
Read-only register.
Definition: dev_defs.h:39
#define reg_o
Write-only register.
Definition: dev_defs.h:36
Structure defines FutureDevices StarTrek transporter.
Definition: dev_transp.h:32
reg_io CRD_X
X displacement coordinate in meters (signed)
Definition: dev_transp.h:34
#define reg_io
Input/Output register.
Definition: dev_defs.h:33
reg_io CFG
Configure.
Definition: dev_transp.h:38
This module contains some very basic type definitions used for hardware mappings. ...