Skip to content

Commit ed74d6a

Browse files
committed
save
1 parent 5845162 commit ed74d6a

File tree

5 files changed

+140
-18
lines changed

5 files changed

+140
-18
lines changed

Telemetry-SD-Card/SDFileSystem/SDFileSystem.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,9 @@ SDFileSystem::SDFileSystem(PinName mosi, PinName miso, PinName sclk, PinName cs,
150150
int SDFileSystem::initialise_card() {
151151
// Set to SCK for initialisation, and clock card with cs = 1
152152
_spi.frequency(_init_sck);
153+
154+
_spi.set_dma_usage(DMAUsage::DMA_USAGE_OPPORTUNISTIC);
155+
153156
_cs = 1;
154157
for (int i = 0; i < 16; i++) {
155158
_spi.write(0xFF);

Telemetry-SD-Card/dbc_to_cpp.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,7 @@ def generate_nanoarrow_code(signal_to_fsdaq_datatype: dict[str, str], rows: int
144144
# v = v.removesuffix("),)")
145145
# print("{:33s} {}".format(k, v))
146146

147-
n = 100
148-
generate_nanoarrow_code({k: signal_to_datatype[k] for k in list(signal_to_datatype)[:n]}, 8)
147+
generate_nanoarrow_code({k: signal_to_datatype[k] for k in list(signal_to_datatype)}, 8)
149148

150149

151150

Telemetry-SD-Card/fsdaq_encoder_generated_from_dbc.hpp

Lines changed: 127 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1+
#include "ff.h"
12
#include "mbed.h"
23

3-
#define COLS 100
4+
#define COLS 222
45
#define ROWS 8
56

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" };
910

10-
#pragma pack(1)
1111
struct Values {
1212
int16_t SME_THROTL_TorqueDemand[ROWS];
1313
int16_t SME_THROTL_MaxSpeed[ROWS];
@@ -109,8 +109,129 @@ struct Values {
109109
float ACC_SEG3_VOLTS_CELL5[ROWS];
110110
int8_t ACC_SEG3_TEMPS_CELL0[ROWS];
111111
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];
112234
};
113-
#pragma pack()
114235

115236
inline void write_fsdaq_schema(FILE *file) {
116237
uint32_t m = COLS;
@@ -133,7 +254,6 @@ inline void write_fsdaq_schema(FILE *file) {
133254
}
134255

135256
inline void write_fsdaq_batch(Values *vals, FILE *file) {
136-
137257
fwrite(&vals, sizeof(*vals), 1, file);
138258
}
139259

Telemetry-SD-Card/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ int main(int argc, char *argv[]) {
2929
write_fsdaq_schema(file);
3030

3131
Values vals{};
32-
// memset(&vals, INT_MAX, sizeof(vals));
32+
memset(&vals, INT_MAX, sizeof(vals));
3333

3434
write_fsdaq_batch(&vals, file);
3535

0 commit comments

Comments
 (0)