1
+ #include " ff.h"
1
2
#include " mbed.h"
2
3
3
- #define COLS 100
4
+ #define COLS 222
4
5
#define ROWS 8
5
6
6
- static const char *col_names[] = { "SME_THROTL_TorqueDemand", "SME_THROTL_MaxSpeed", "SME_THROTL_Forward", "SME_THROTL_Reverse", "SME_THROTL_UNUSED_BIT_1", "SME_THROTL_PowerReady", "SME_THROTL_UNUSED_BIT_2", "SME_THROTL_UNUSED_BIT_3", "SME_THROTL_UNUSED_BIT_4", "SME_THROTL_UNUSED_BIT_5", "SME_THROTL_MBB_Alive", "SME_THROTL_UNUSED_BIT_6", "SME_THROTL_UNUSED_BIT_7", "SME_THROTL_UNUSED_BIT_8", "SME_THROTL_UNUSED_BIT_9", "SME_THROTL_UNUSED_SHORT_1", "SME_CURRLIM_ChargeCurrentLim", "SME_CURRLIM_DischargeCurrentLim", "SME_CURRLIM_UNUSED_INT_1", "SME_TRQSPD_Speed", "SME_TRQSPD_Torque", "SME_TRQSPD_SOC_Low_Traction", "SME_TRQSPD_SOC_Low_Hydraulic", "SME_TRQSPD_Reverse", "SME_TRQSPD_Forward", "SME_TRQSPD_Park_Brake", "SME_TRQSPD_Pedal_Brake", "SME_TRQSPD_Controller_Overtermp", "SME_TRQSPD_Key_switch_overvolt", "SME_TRQSPD_Key_switch_undervolt", "SME_TRQSPD_Running", "SME_TRQSPD_Traction", "SME_TRQSPD_Hydraulic", "SME_TRQSPD_Powering_Enabled", "SME_TRQSPD_Powering_Ready", "SME_TRQSPD_Precharging", "SME_TRQSPD_contactor_closed", "SME_TRQSPD_MotorFlags", "SME_TEMP_MotorTemperature", "SME_TEMP_ControllerTemperature", "SME_TEMP_DC_Bus_V", "SME_TEMP_FaultCode", "SME_TEMP_FaultLevel", "SME_TEMP_BusCurrent", "ACC_STATUS_BMS_FAULT", "ACC_STATUS_IMD_FAULT", "ACC_STATUS_SHUTDOWN_STATE", "ACC_STATUS_PRECHARGE_DONE", "ACC_STATUS_PRECHARING", "ACC_STATUS_CELL_TOO_LOW", "ACC_STATUS_CELL_TOO_HIGH", "ACC_STATUS_TEMP_TOO_LOW", "ACC_STATUS_TEMP_TOO_HIGH", "ACC_POWER_PACK_VOLTAGE", "ACC_POWER_SOC", "ACC_POWER_CURRENT", "ACC_SEG0_VOLTS_CELL0", "ACC_SEG0_VOLTS_CELL1", "ACC_SEG0_VOLTS_CELL2", "ACC_SEG0_VOLTS_CELL3", "ACC_SEG0_VOLTS_CELL4", "ACC_SEG0_VOLTS_CELL5", "ACC_SEG0_TEMPS_CELL0", "ACC_SEG0_TEMPS_CELL1", "ACC_SEG0_TEMPS_CELL2", "ACC_SEG0_TEMPS_CELL3", "ACC_SEG0_TEMPS_CELL4", "ACC_SEG0_TEMPS_CELL5", "ACC_SEG1_VOLTS_CELL0", "ACC_SEG1_VOLTS_CELL1", "ACC_SEG1_VOLTS_CELL2", "ACC_SEG1_VOLTS_CELL3", "ACC_SEG1_VOLTS_CELL4", "ACC_SEG1_VOLTS_CELL5", "ACC_SEG1_TEMPS_CELL0", "ACC_SEG1_TEMPS_CELL1", "ACC_SEG1_TEMPS_CELL2", "ACC_SEG1_TEMPS_CELL3", "ACC_SEG1_TEMPS_CELL4", "ACC_SEG1_TEMPS_CELL5", "ACC_SEG2_VOLTS_CELL0", "ACC_SEG2_VOLTS_CELL1", "ACC_SEG2_VOLTS_CELL2", "ACC_SEG2_VOLTS_CELL3", "ACC_SEG2_VOLTS_CELL4", "ACC_SEG2_VOLTS_CELL5", "ACC_SEG2_TEMPS_CELL0", "ACC_SEG2_TEMPS_CELL1", "ACC_SEG2_TEMPS_CELL2", "ACC_SEG2_TEMPS_CELL3", "ACC_SEG2_TEMPS_CELL4", "ACC_SEG2_TEMPS_CELL5", "ACC_SEG3_VOLTS_CELL0", "ACC_SEG3_VOLTS_CELL1", "ACC_SEG3_VOLTS_CELL2", "ACC_SEG3_VOLTS_CELL3", "ACC_SEG3_VOLTS_CELL4", "ACC_SEG3_VOLTS_CELL5", "ACC_SEG3_TEMPS_CELL0", "ACC_SEG3_TEMPS_CELL1" };
7
- static const uint8_t col_name_sizes[] = { 23 , 19 , 18 , 18 , 23 , 21 , 23 , 23 , 23 , 23 , 20 , 23 , 23 , 23 , 23 , 25 , 28 , 31 , 24 , 16 , 17 , 27 , 28 , 18 , 18 , 21 , 22 , 31 , 30 , 31 , 18 , 19 , 20 , 27 , 25 , 22 , 27 , 21 , 25 , 30 , 17 , 18 , 19 , 19 , 20 , 20 , 25 , 25 , 21 , 23 , 24 , 23 , 24 , 22 , 13 , 17 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 };
8
- static const char *col_name_types[] = { " i4" , " i4" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " u3" , " b0" , " b0" , " b0" , " b0" , " u4" , " u4" , " u4" , " u5" , " u4" , " i4" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " u4" , " u3" , " u3" , " f5" , " u3" , " u3" , " f5" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " b0" , " f5" , " u3" , " f5" , " f5" , " f5" , " f5" , " f5" , " f5" , " f5" , " i3" , " i3" , " i3" , " i3" , " i3" , " i3" , " f5" , " f5" , " f5" , " f5" , " f5" , " f5" , " i3" , " i3" , " i3" , " i3" , " i3" , " i3" , " f5" , " f5" , " f5" , " f5" , " f5" , " f5" , " i3" , " i3" , " i3" , " i3" , " i3" , " i3" , " f5" , " f5" , " f5" , " f5" , " f5" , " f5" , " i3" , " i3" };
7
+ static const char *col_names[] = { "SME_THROTL_TorqueDemand", "SME_THROTL_MaxSpeed", "SME_THROTL_Forward", "SME_THROTL_Reverse", "SME_THROTL_UNUSED_BIT_1", "SME_THROTL_PowerReady", "SME_THROTL_UNUSED_BIT_2", "SME_THROTL_UNUSED_BIT_3", "SME_THROTL_UNUSED_BIT_4", "SME_THROTL_UNUSED_BIT_5", "SME_THROTL_MBB_Alive", "SME_THROTL_UNUSED_BIT_6", "SME_THROTL_UNUSED_BIT_7", "SME_THROTL_UNUSED_BIT_8", "SME_THROTL_UNUSED_BIT_9", "SME_THROTL_UNUSED_SHORT_1", "SME_CURRLIM_ChargeCurrentLim", "SME_CURRLIM_DischargeCurrentLim", "SME_CURRLIM_UNUSED_INT_1", "SME_TRQSPD_Speed", "SME_TRQSPD_Torque", "SME_TRQSPD_SOC_Low_Traction", "SME_TRQSPD_SOC_Low_Hydraulic", "SME_TRQSPD_Reverse", "SME_TRQSPD_Forward", "SME_TRQSPD_Park_Brake", "SME_TRQSPD_Pedal_Brake", "SME_TRQSPD_Controller_Overtermp", "SME_TRQSPD_Key_switch_overvolt", "SME_TRQSPD_Key_switch_undervolt", "SME_TRQSPD_Running", "SME_TRQSPD_Traction", "SME_TRQSPD_Hydraulic", "SME_TRQSPD_Powering_Enabled", "SME_TRQSPD_Powering_Ready", "SME_TRQSPD_Precharging", "SME_TRQSPD_contactor_closed", "SME_TRQSPD_MotorFlags", "SME_TEMP_MotorTemperature", "SME_TEMP_ControllerTemperature", "SME_TEMP_DC_Bus_V", "SME_TEMP_FaultCode", "SME_TEMP_FaultLevel", "SME_TEMP_BusCurrent", "ACC_STATUS_BMS_FAULT", "ACC_STATUS_IMD_FAULT", "ACC_STATUS_SHUTDOWN_STATE", "ACC_STATUS_PRECHARGE_DONE", "ACC_STATUS_PRECHARING", "ACC_STATUS_CELL_TOO_LOW", "ACC_STATUS_CELL_TOO_HIGH", "ACC_STATUS_TEMP_TOO_LOW", "ACC_STATUS_TEMP_TOO_HIGH", "ACC_POWER_PACK_VOLTAGE", "ACC_POWER_SOC", "ACC_POWER_CURRENT", "ACC_SEG0_VOLTS_CELL0", "ACC_SEG0_VOLTS_CELL1", "ACC_SEG0_VOLTS_CELL2", "ACC_SEG0_VOLTS_CELL3", "ACC_SEG0_VOLTS_CELL4", "ACC_SEG0_VOLTS_CELL5", "ACC_SEG0_TEMPS_CELL0", "ACC_SEG0_TEMPS_CELL1", "ACC_SEG0_TEMPS_CELL2", "ACC_SEG0_TEMPS_CELL3", "ACC_SEG0_TEMPS_CELL4", "ACC_SEG0_TEMPS_CELL5", "ACC_SEG1_VOLTS_CELL0", "ACC_SEG1_VOLTS_CELL1", "ACC_SEG1_VOLTS_CELL2", "ACC_SEG1_VOLTS_CELL3", "ACC_SEG1_VOLTS_CELL4", "ACC_SEG1_VOLTS_CELL5", "ACC_SEG1_TEMPS_CELL0", "ACC_SEG1_TEMPS_CELL1", "ACC_SEG1_TEMPS_CELL2", "ACC_SEG1_TEMPS_CELL3", "ACC_SEG1_TEMPS_CELL4", "ACC_SEG1_TEMPS_CELL5", "ACC_SEG2_VOLTS_CELL0", "ACC_SEG2_VOLTS_CELL1", "ACC_SEG2_VOLTS_CELL2", "ACC_SEG2_VOLTS_CELL3", "ACC_SEG2_VOLTS_CELL4", "ACC_SEG2_VOLTS_CELL5", "ACC_SEG2_TEMPS_CELL0", "ACC_SEG2_TEMPS_CELL1", "ACC_SEG2_TEMPS_CELL2", "ACC_SEG2_TEMPS_CELL3", "ACC_SEG2_TEMPS_CELL4", "ACC_SEG2_TEMPS_CELL5", "ACC_SEG3_VOLTS_CELL0", "ACC_SEG3_VOLTS_CELL1", "ACC_SEG3_VOLTS_CELL2", "ACC_SEG3_VOLTS_CELL3", "ACC_SEG3_VOLTS_CELL4", "ACC_SEG3_VOLTS_CELL5", "ACC_SEG3_TEMPS_CELL0", "ACC_SEG3_TEMPS_CELL1", "ACC_SEG3_TEMPS_CELL2", "ACC_SEG3_TEMPS_CELL3", "ACC_SEG3_TEMPS_CELL4", "ACC_SEG3_TEMPS_CELL5", "ACC_SEG4_VOLTS_CELL0", "ACC_SEG4_VOLTS_CELL1", "ACC_SEG4_VOLTS_CELL2", "ACC_SEG4_VOLTS_CELL3", "ACC_SEG4_VOLTS_CELL4", "ACC_SEG4_VOLTS_CELL5", "ACC_SEG4_TEMPS_CELL0", "ACC_SEG4_TEMPS_CELL1", "ACC_SEG4_TEMPS_CELL2", "ACC_SEG4_TEMPS_CELL3", "ACC_SEG4_TEMPS_CELL4", "ACC_SEG4_TEMPS_CELL5", "ACC_SEG5_VOLTS_CELL0", "ACC_SEG5_VOLTS_CELL1", "ACC_SEG5_VOLTS_CELL2", "ACC_SEG5_VOLTS_CELL3", "ACC_SEG5_VOLTS_CELL4", "ACC_SEG5_VOLTS_CELL5", "ACC_SEG5_TEMPS_CELL0", "ACC_SEG5_TEMPS_CELL1", "ACC_SEG5_TEMPS_CELL2", "ACC_SEG5_TEMPS_CELL3", "ACC_SEG5_TEMPS_CELL4", "ACC_SEG5_TEMPS_CELL5", "VDM_GPS_Latitude", "VDM_GPS_Longitude", "VDM_GPS_SPEED", "VDM_GPS_ALTITUDE", "VDM_GPS_TRUE_COURSE", "VDM_GPS_SATELLITES_IN_USE", "VDM_GPS_VALID1", "VDM_GPS_VALID2", "VDM_UTC_DATE_YEAR", "VDM_UTC_DATE_MONTH", "VDM_UTC_DATE_DAY", "VDM_UTC_TIME_HOURS", "VDM_UTC_TIME_MINUTES", "VDM_UTC_TIME_SECONDS", "VDM_X_AXIS_ACCELERATION", "VDM_Y_AXIS_ACCELERATION", "VDM_Z_AXIS_ACCELERATION", "VDM_X_AXIS_YAW_RATE", "VDM_Y_AXIS_YAW_RATE", "VDM_Z_AXIS_YAW_RATE", "ETC_STATUS_HE1", "ETC_STATUS_HE2", "ETC_STATUS_BRAKE_SENSE_VOLTAGE", "ETC_STATUS_PEDAL_TRAVEL", "ETC_STATUS_RTD_BUTTON", "ETC_STATUS_RTDS", "ETC_STATUS_REVERSE", "ETC_STATUS_BRAKELIGHT", "ETC_STATUS_RTD", "ETC_STATUS_IMPLAUSIBILITY", "ETC_STATUS_TS_ACTIVE", "PDB_POWER_A_GLV_VOLTAGE", "PDB_POWER_A_CURRENT_SHUTDOWN", "PDB_POWER_A_CURRENT_ACC", "PDB_POWER_A_CURRENT_ETC", "PDB_POWER_A_CURRENT_BPS", "PDB_POWER_A_CURRENT_TRACTIVE", "PDB_POWER_A_CURRENT_BSPD", "PDB_POWER_B_CURRENT_TELEMETRY", "PDB_POWER_B_CURRENT_PDB", "PDB_POWER_B_CURRENT_DASH", "PDB_POWER_B_CURRENT_RTML", "PDB_POWER_B_CURRENT_EXTRA_1", "PDB_POWER_B_CURRENT_EXTRA_2", "TMAIN_DATA_BRAKES_F", "TMAIN_DATA_BRAKES_R", "TPERIPH_FL_DATA_WHEELSPEED", "TPERIPH_FL_DATA_SUSTRAVEL", "TPERIPH_FL_DATA_STRAIN", "TPERIPH_FL_DATA_SIDE_TIRE_TEMP", "TPERIPH_FR_DATA_WHEELSPEED", "TPERIPH_FR_DATA_SUSTRAVEL", "TPERIPH_FR_DATA_STRAIN", "TPERIPH_FR_DATA_SIDE_TIRE_TEMP", "TPERIPH_BL_DATA_WHEELSPEED", "TPERIPH_BL_DATA_SUSTRAVEL", "TPERIPH_BL_DATA_STRAIN", "TPERIPH_BL_DATA_SIDE_TIRE_TEMP", "TPERIPH_BR_DATA_WHEELSPEED", "TPERIPH_BR_DATA_SUSTRAVEL", "TPERIPH_BR_DATA_STRAIN", "TPERIPH_BR_DATA_SIDE_TIRE_TEMP", "TPERIPH_FL_TIRETEMP_1", "TPERIPH_FL_TIRETEMP_2", "TPERIPH_FL_TIRETEMP_3", "TPERIPH_FL_TIRETEMP_4", "TPERIPH_FL_TIRETEMP_5", "TPERIPH_FL_TIRETEMP_6", "TPERIPH_FL_TIRETEMP_7", "TPERIPH_FL_TIRETEMP_8", "TPERIPH_FR_TIRETEMP_1", "TPERIPH_FR_TIRETEMP_2", "TPERIPH_FR_TIRETEMP_3", "TPERIPH_FR_TIRETEMP_4", "TPERIPH_FR_TIRETEMP_5", "TPERIPH_FR_TIRETEMP_6", "TPERIPH_FR_TIRETEMP_7", "TPERIPH_FR_TIRETEMP_8", "TPERIPH_BL_TIRETEMP_1", "TPERIPH_BL_TIRETEMP_2", "TPERIPH_BL_TIRETEMP_3", "TPERIPH_BL_TIRETEMP_4", "TPERIPH_BL_TIRETEMP_5", "TPERIPH_BL_TIRETEMP_6", "TPERIPH_BL_TIRETEMP_7", "TPERIPH_BL_TIRETEMP_8", "TPERIPH_BR_TIRETEMP_1", "TPERIPH_BR_TIRETEMP_2", "TPERIPH_BR_TIRETEMP_3", "TPERIPH_BR_TIRETEMP_4", "TPERIPH_BR_TIRETEMP_5", "TPERIPH_BR_TIRETEMP_6", "TPERIPH_BR_TIRETEMP_7", "TPERIPH_BR_TIRETEMP_8" };
8
+ static const uint8_t col_name_sizes[] = { 23 , 19 , 18 , 18 , 23 , 21 , 23 , 23 , 23 , 23 , 20 , 23 , 23 , 23 , 23 , 25 , 28 , 31 , 24 , 16 , 17 , 27 , 28 , 18 , 18 , 21 , 22 , 31 , 30 , 31 , 18 , 19 , 20 , 27 , 25 , 22 , 27 , 21 , 25 , 30 , 17 , 18 , 19 , 19 , 20 , 20 , 25 , 25 , 21 , 23 , 24 , 23 , 24 , 22 , 13 , 17 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 16 , 17 , 13 , 16 , 19 , 25 , 14 , 14 , 17 , 18 , 16 , 18 , 20 , 20 , 23 , 23 , 23 , 19 , 19 , 19 , 14 , 14 , 30 , 23 , 21 , 15 , 18 , 21 , 14 , 25 , 20 , 23 , 28 , 23 , 23 , 23 , 28 , 24 , 29 , 23 , 24 , 24 , 27 , 27 , 19 , 19 , 26 , 25 , 22 , 30 , 26 , 25 , 22 , 30 , 26 , 25 , 22 , 30 , 26 , 25 , 22 , 30 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 , 21 };
9
+ static const char *col_name_types[] = { "i4", "i4", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "u3", "b0", "b0", "b0", "b0", "u4", "u4", "u4", "u5", "u4", "i4", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "u4", "u3", "u3", "f5", "u3", "u3", "f5", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "f5", "u3", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "i3", "i3", "i3", "i3", "i3", "i3", "f5", "f5", "f5", "f5", "f5", "f5", "i3", "i3", "i3", "i3", "i3", "i3", "f5", "f5", "f5", "f5", "f5", "f5", "i3", "i3", "i3", "i3", "i3", "i3", "f5", "f5", "f5", "f5", "f5", "f5", "i3", "i3", "i3", "i3", "i3", "i3", "f5", "f5", "f5", "f5", "f5", "f5", "i3", "i3", "i3", "i3", "i3", "i3", "f5", "f5", "f5", "f5", "f5", "f5", "i3", "i3", "i3", "i3", "i3", "i3", "i5", "i5", "f5", "i4", "f5", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "f5", "f5", "f5", "f5", "f5", "f5", "u4", "u4", "u4", "u3", "b0", "b0", "b0", "b0", "b0", "b0", "b0", "u4", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "f5", "u3", "f5", "f5", "f5", "u3", "f5", "f5", "f5", "u3", "f5", "f5", "f5", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3", "u3" };
9
10
10
- #pragma pack(1)
11
11
struct Values {
12
12
int16_t SME_THROTL_TorqueDemand[ROWS];
13
13
int16_t SME_THROTL_MaxSpeed[ROWS];
@@ -109,8 +109,129 @@ struct Values {
109
109
float ACC_SEG3_VOLTS_CELL5[ROWS];
110
110
int8_t ACC_SEG3_TEMPS_CELL0[ROWS];
111
111
int8_t ACC_SEG3_TEMPS_CELL1[ROWS];
112
+ int8_t ACC_SEG3_TEMPS_CELL2[ROWS];
113
+ int8_t ACC_SEG3_TEMPS_CELL3[ROWS];
114
+ int8_t ACC_SEG3_TEMPS_CELL4[ROWS];
115
+ int8_t ACC_SEG3_TEMPS_CELL5[ROWS];
116
+ float ACC_SEG4_VOLTS_CELL0[ROWS];
117
+ float ACC_SEG4_VOLTS_CELL1[ROWS];
118
+ float ACC_SEG4_VOLTS_CELL2[ROWS];
119
+ float ACC_SEG4_VOLTS_CELL3[ROWS];
120
+ float ACC_SEG4_VOLTS_CELL4[ROWS];
121
+ float ACC_SEG4_VOLTS_CELL5[ROWS];
122
+ int8_t ACC_SEG4_TEMPS_CELL0[ROWS];
123
+ int8_t ACC_SEG4_TEMPS_CELL1[ROWS];
124
+ int8_t ACC_SEG4_TEMPS_CELL2[ROWS];
125
+ int8_t ACC_SEG4_TEMPS_CELL3[ROWS];
126
+ int8_t ACC_SEG4_TEMPS_CELL4[ROWS];
127
+ int8_t ACC_SEG4_TEMPS_CELL5[ROWS];
128
+ float ACC_SEG5_VOLTS_CELL0[ROWS];
129
+ float ACC_SEG5_VOLTS_CELL1[ROWS];
130
+ float ACC_SEG5_VOLTS_CELL2[ROWS];
131
+ float ACC_SEG5_VOLTS_CELL3[ROWS];
132
+ float ACC_SEG5_VOLTS_CELL4[ROWS];
133
+ float ACC_SEG5_VOLTS_CELL5[ROWS];
134
+ int8_t ACC_SEG5_TEMPS_CELL0[ROWS];
135
+ int8_t ACC_SEG5_TEMPS_CELL1[ROWS];
136
+ int8_t ACC_SEG5_TEMPS_CELL2[ROWS];
137
+ int8_t ACC_SEG5_TEMPS_CELL3[ROWS];
138
+ int8_t ACC_SEG5_TEMPS_CELL4[ROWS];
139
+ int8_t ACC_SEG5_TEMPS_CELL5[ROWS];
140
+ int32_t VDM_GPS_Latitude[ROWS];
141
+ int32_t VDM_GPS_Longitude[ROWS];
142
+ float VDM_GPS_SPEED[ROWS];
143
+ int16_t VDM_GPS_ALTITUDE[ROWS];
144
+ float VDM_GPS_TRUE_COURSE[ROWS];
145
+ uint8_t VDM_GPS_SATELLITES_IN_USE[ROWS];
146
+ uint8_t VDM_GPS_VALID1[ROWS];
147
+ uint8_t VDM_GPS_VALID2[ROWS];
148
+ uint8_t VDM_UTC_DATE_YEAR[ROWS];
149
+ uint8_t VDM_UTC_DATE_MONTH[ROWS];
150
+ uint8_t VDM_UTC_DATE_DAY[ROWS];
151
+ uint8_t VDM_UTC_TIME_HOURS[ROWS];
152
+ uint8_t VDM_UTC_TIME_MINUTES[ROWS];
153
+ uint8_t VDM_UTC_TIME_SECONDS[ROWS];
154
+ float VDM_X_AXIS_ACCELERATION[ROWS];
155
+ float VDM_Y_AXIS_ACCELERATION[ROWS];
156
+ float VDM_Z_AXIS_ACCELERATION[ROWS];
157
+ float VDM_X_AXIS_YAW_RATE[ROWS];
158
+ float VDM_Y_AXIS_YAW_RATE[ROWS];
159
+ float VDM_Z_AXIS_YAW_RATE[ROWS];
160
+ uint16_t ETC_STATUS_HE1[ROWS];
161
+ uint16_t ETC_STATUS_HE2[ROWS];
162
+ uint16_t ETC_STATUS_BRAKE_SENSE_VOLTAGE[ROWS];
163
+ uint8_t ETC_STATUS_PEDAL_TRAVEL[ROWS];
164
+ uint8_t ETC_STATUS_RTD_BUTTON[ROWS/8 ];
165
+ uint8_t ETC_STATUS_RTDS[ROWS/8 ];
166
+ uint8_t ETC_STATUS_REVERSE[ROWS/8 ];
167
+ uint8_t ETC_STATUS_BRAKELIGHT[ROWS/8 ];
168
+ uint8_t ETC_STATUS_RTD[ROWS/8 ];
169
+ uint8_t ETC_STATUS_IMPLAUSIBILITY[ROWS/8 ];
170
+ uint8_t ETC_STATUS_TS_ACTIVE[ROWS/8 ];
171
+ uint16_t PDB_POWER_A_GLV_VOLTAGE[ROWS];
172
+ float PDB_POWER_A_CURRENT_SHUTDOWN[ROWS];
173
+ float PDB_POWER_A_CURRENT_ACC[ROWS];
174
+ float PDB_POWER_A_CURRENT_ETC[ROWS];
175
+ float PDB_POWER_A_CURRENT_BPS[ROWS];
176
+ float PDB_POWER_A_CURRENT_TRACTIVE[ROWS];
177
+ float PDB_POWER_A_CURRENT_BSPD[ROWS];
178
+ float PDB_POWER_B_CURRENT_TELEMETRY[ROWS];
179
+ float PDB_POWER_B_CURRENT_PDB[ROWS];
180
+ float PDB_POWER_B_CURRENT_DASH[ROWS];
181
+ float PDB_POWER_B_CURRENT_RTML[ROWS];
182
+ float PDB_POWER_B_CURRENT_EXTRA_1[ROWS];
183
+ float PDB_POWER_B_CURRENT_EXTRA_2[ROWS];
184
+ float TMAIN_DATA_BRAKES_F[ROWS];
185
+ float TMAIN_DATA_BRAKES_R[ROWS];
186
+ float TPERIPH_FL_DATA_WHEELSPEED[ROWS];
187
+ float TPERIPH_FL_DATA_SUSTRAVEL[ROWS];
188
+ float TPERIPH_FL_DATA_STRAIN[ROWS];
189
+ uint8_t TPERIPH_FL_DATA_SIDE_TIRE_TEMP[ROWS];
190
+ float TPERIPH_FR_DATA_WHEELSPEED[ROWS];
191
+ float TPERIPH_FR_DATA_SUSTRAVEL[ROWS];
192
+ float TPERIPH_FR_DATA_STRAIN[ROWS];
193
+ uint8_t TPERIPH_FR_DATA_SIDE_TIRE_TEMP[ROWS];
194
+ float TPERIPH_BL_DATA_WHEELSPEED[ROWS];
195
+ float TPERIPH_BL_DATA_SUSTRAVEL[ROWS];
196
+ float TPERIPH_BL_DATA_STRAIN[ROWS];
197
+ uint8_t TPERIPH_BL_DATA_SIDE_TIRE_TEMP[ROWS];
198
+ float TPERIPH_BR_DATA_WHEELSPEED[ROWS];
199
+ float TPERIPH_BR_DATA_SUSTRAVEL[ROWS];
200
+ float TPERIPH_BR_DATA_STRAIN[ROWS];
201
+ uint8_t TPERIPH_BR_DATA_SIDE_TIRE_TEMP[ROWS];
202
+ uint8_t TPERIPH_FL_TIRETEMP_1[ROWS];
203
+ uint8_t TPERIPH_FL_TIRETEMP_2[ROWS];
204
+ uint8_t TPERIPH_FL_TIRETEMP_3[ROWS];
205
+ uint8_t TPERIPH_FL_TIRETEMP_4[ROWS];
206
+ uint8_t TPERIPH_FL_TIRETEMP_5[ROWS];
207
+ uint8_t TPERIPH_FL_TIRETEMP_6[ROWS];
208
+ uint8_t TPERIPH_FL_TIRETEMP_7[ROWS];
209
+ uint8_t TPERIPH_FL_TIRETEMP_8[ROWS];
210
+ uint8_t TPERIPH_FR_TIRETEMP_1[ROWS];
211
+ uint8_t TPERIPH_FR_TIRETEMP_2[ROWS];
212
+ uint8_t TPERIPH_FR_TIRETEMP_3[ROWS];
213
+ uint8_t TPERIPH_FR_TIRETEMP_4[ROWS];
214
+ uint8_t TPERIPH_FR_TIRETEMP_5[ROWS];
215
+ uint8_t TPERIPH_FR_TIRETEMP_6[ROWS];
216
+ uint8_t TPERIPH_FR_TIRETEMP_7[ROWS];
217
+ uint8_t TPERIPH_FR_TIRETEMP_8[ROWS];
218
+ uint8_t TPERIPH_BL_TIRETEMP_1[ROWS];
219
+ uint8_t TPERIPH_BL_TIRETEMP_2[ROWS];
220
+ uint8_t TPERIPH_BL_TIRETEMP_3[ROWS];
221
+ uint8_t TPERIPH_BL_TIRETEMP_4[ROWS];
222
+ uint8_t TPERIPH_BL_TIRETEMP_5[ROWS];
223
+ uint8_t TPERIPH_BL_TIRETEMP_6[ROWS];
224
+ uint8_t TPERIPH_BL_TIRETEMP_7[ROWS];
225
+ uint8_t TPERIPH_BL_TIRETEMP_8[ROWS];
226
+ uint8_t TPERIPH_BR_TIRETEMP_1[ROWS];
227
+ uint8_t TPERIPH_BR_TIRETEMP_2[ROWS];
228
+ uint8_t TPERIPH_BR_TIRETEMP_3[ROWS];
229
+ uint8_t TPERIPH_BR_TIRETEMP_4[ROWS];
230
+ uint8_t TPERIPH_BR_TIRETEMP_5[ROWS];
231
+ uint8_t TPERIPH_BR_TIRETEMP_6[ROWS];
232
+ uint8_t TPERIPH_BR_TIRETEMP_7[ROWS];
233
+ uint8_t TPERIPH_BR_TIRETEMP_8[ROWS];
112
234
};
113
- #pragma pack()
114
235
115
236
inline void write_fsdaq_schema (FILE *file) {
116
237
uint32_t m = COLS;
@@ -133,7 +254,6 @@ inline void write_fsdaq_schema(FILE *file) {
133
254
}
134
255
135
256
inline void write_fsdaq_batch (Values *vals, FILE *file) {
136
-
137
257
fwrite (&vals, sizeof (*vals), 1 , file);
138
258
}
139
259
0 commit comments