comparison Common/Inc/data_exchange.h @ 728:5143e927219f

Added sensor map to Firmware <=> RTE inferface: The sensor map contains a list of up to five sensors which may be connected to the external interface. The update includes the definition of the type as well as the data structure. to ensure compatibility the RTE and needed RTE version has been set to 3.0
author Ideenmodellierer
date Sat, 14 Jan 2023 20:41:36 +0100
parents 9b9ed5459d57
children 6de83d8205a0
comparison
equal deleted inserted replaced
727:1dca3bb187d7 728:5143e927219f
41 #define EXT_INTERFACE_UART_MASK (0x0700u) /* Reserve 3 bits for UART protocol selection */ 41 #define EXT_INTERFACE_UART_MASK (0x0700u) /* Reserve 3 bits for UART protocol selection */
42 #define EXT_INTERFACE_UART_CO2 (0x0100u) /* Activate protocol for CO2 sensor */ 42 #define EXT_INTERFACE_UART_CO2 (0x0100u) /* Activate protocol for CO2 sensor */
43 #define EXT_INTERFACE_UART_SENTINEL (0x0200u) /* Activate Sentinel Backup monitor protocol */ 43 #define EXT_INTERFACE_UART_SENTINEL (0x0200u) /* Activate Sentinel Backup monitor protocol */
44 #define EXT_INTERFACE_UART_O2 (0x0400u) /* Activate digital o2 sensor protocol (DiveO2) */ 44 #define EXT_INTERFACE_UART_O2 (0x0400u) /* Activate digital o2 sensor protocol (DiveO2) */
45 45
46 /* Command subset for CO2 sensor */ 46 /* Command subset */
47 #define EXT_INTERFACE_CO2_CALIB (0x0001u) /* Request calibration of CO2Sensor */ 47 #define EXT_INTERFACE_AUTODETECT (0x0001u) /* Start auto detection of connected sensors */
48 48 #define EXT_INTERFACE_COPY_SENSORMAP (0x0002u) /* Use the sensor map provided by master for internal operations */
49 /* Command subset for O2 sensor */ 49 #define EXT_INTERFACE_CO2_CALIB (0x0010u) /* Request calibration of CO2Sensor */
50 #define EXT_INTERFACE_O2_INDICATE (0x0001u) /* Request LED to blink*/ 50 #define EXT_INTERFACE_O2_INDICATE (0x0020u) /* Request LED to blink*/
51 51
52 #define DATA_BUFFER_ADC (0x01u) 52 #define DATA_BUFFER_ADC (0x01u)
53 #define DATA_BUFFER_CO2 (0x02u) 53 #define DATA_BUFFER_CO2 (0x02u)
54 54
55 #define EXTIF_SENSOR_INFO_SIZE (32u) /* size of data array reserved for extended sensor data from external interface */ 55 #define EXTIF_SENSOR_INFO_SIZE (32u) /* size of data array reserved for extended sensor data from external interface */
58 { 58 {
59 MODE_SURFACE = 0, 59 MODE_SURFACE = 0,
60 MODE_DIVE = 1, 60 MODE_DIVE = 1,
61 MODE_CALIB = 2, 61 MODE_CALIB = 2,
62 MODE_SLEEP = 3, 62 MODE_SLEEP = 3,
63 MODE_SHUTDOWN = 4, 63 MODE_SHUTDOWN = 4,
64 MODE_ENDDIVE = 5, 64 MODE_ENDDIVE = 5,
65 MODE_BOOT = 6, 65 MODE_BOOT = 6,
66 MODE_CHARGESTART = 7, 66 MODE_CHARGESTART = 7,
67 MODE_TEST = 8, 67 MODE_TEST = 8,
68 MODE_POWERUP = 9, 68 MODE_POWERUP = 9,
69 }; 69 };
70 70
71 enum ACCIDENT_BITS 71 enum ACCIDENT_BITS
72 { 72 {
73 ACCIDENT_DECOSTOP = 0x01, 73 ACCIDENT_DECOSTOP = 0x01,
74 ACCIDENT_CNS = 0x02, 74 ACCIDENT_CNS = 0x02,
75 ACCIDENT_CNSLVL2 = 0x02 + 0x04, 75 ACCIDENT_CNSLVL2 = 0x02 + 0x04,
76 ACCIDENT_SPARE2 = 0x08, 76 ACCIDENT_SPARE2 = 0x08,
77 ACCIDENT_SPARE3 = 0x10, 77 ACCIDENT_SPARE3 = 0x10,
78 ACCIDENT_SPARE4 = 0x20, 78 ACCIDENT_SPARE4 = 0x20,
79 ACCIDENT_SPARE5 = 0x40, 79 ACCIDENT_SPARE5 = 0x40,
80 ACCIDENT_SPARE6 = 0x80 80 ACCIDENT_SPARE6 = 0x80
81 }; 81 };
82
82 83
83 typedef struct{ 84 typedef struct{
84 uint8_t button:1; 85 uint8_t button:1;
85 uint8_t date:1; 86 uint8_t date:1;
86 uint8_t time:1; 87 uint8_t time:1;
188 uint16_t CO2_signalStrength; 189 uint16_t CO2_signalStrength;
189 uint16_t externalInterface_CmdAnswer; 190 uint16_t externalInterface_CmdAnswer;
190 uint8_t alignmentdummy; 191 uint8_t alignmentdummy;
191 uint8_t externalInterface_SensorID; /* Used to identify how to read the sensor data array */ 192 uint8_t externalInterface_SensorID; /* Used to identify how to read the sensor data array */
192 uint8_t sensor_data[EXTIF_SENSOR_INFO_SIZE]; /* sensor specific data array. Content may vary from sensor type to sensor type */ 193 uint8_t sensor_data[EXTIF_SENSOR_INFO_SIZE]; /* sensor specific data array. Content may vary from sensor type to sensor type */
193 uint8_t SPARE_OldWireless[10]; /* 64 - 12 for extADC - 6 for CO2 - 34 for sensor (+dummmy)*/ 194 uint8_t sensor_map[EXT_INTERFACE_SENSOR_CNT];
195 uint8_t SPARE_OldWireless[5]; /* 64 - 12 for extADC - 6 for CO2 - 34 for sensor (+dummmy) - sensor map*/
194 // PIC data 196 // PIC data
195 uint8_t button_setting[4]; /* see dependency to SLiveData->buttonPICdata */ 197 uint8_t button_setting[4]; /* see dependency to SLiveData->buttonPICdata */
196 uint8_t SPARE1; 198 uint8_t SPARE1;
197 //debug 199 //debug
198 uint32_t pressure_uTick; 200 uint32_t pressure_uTick;
207 209
208 int8_t offsetPressureSensor_mbar; 210 int8_t offsetPressureSensor_mbar;
209 int8_t offsetTemperatureSensor_centiDegree; 211 int8_t offsetTemperatureSensor_centiDegree;
210 212
211 uint16_t externalInterface_Cmd; 213 uint16_t externalInterface_Cmd;
214
215 uint8_t externalInterface_SensorMap[EXT_INTERFACE_SENSOR_CNT];
212 216
213 float UNUSED1[16-1];//VPM_adjusted_critical_radius_he[16]; 217 float UNUSED1[16-1];//VPM_adjusted_critical_radius_he[16];
214 float UNUSED2[16];//VPM_adjusted_critical_radius_n2[16]; 218 float UNUSED2[16];//VPM_adjusted_critical_radius_n2[16];
215 float UNUSED3[16];//VPM_adjusted_crushing_pressure_he[16]; 219 float UNUSED3[16];//VPM_adjusted_crushing_pressure_he[16];
216 float UNUSED4[16];//VPM_adjusted_crushing_pressure_n2[16]; 220 float UNUSED4[16];//VPM_adjusted_crushing_pressure_n2[16];