@@ -30,20 +30,20 @@ CString<400> telemCSV;
3030// }
3131// }
3232
33- struct __packed MeasurementFlags {
33+ struct __packed EntryFlags {
3434 bool new_imu_packet : 1 ;
3535 bool new_gps_packet : 1 ;
36+ bool controller_state : 1 ;
3637};
3738
38- static_assert (sizeof (MeasurementFlags ) == 1 , " sizeof(MeasurementFlags) error" );
39+ static_assert (sizeof (EntryFlags ) == 1 , " sizeof(MeasurementFlags) error" );
3940
4041struct __packed EntryBase {
41- MeasurementFlags flags;
4242 float time;
4343 uint8_t phase;
4444};
4545
46- static_assert (sizeof (EntryBase) == 6 , " sizeof(EntryBase) error" );
46+ static_assert (sizeof (EntryBase) == 5 , " sizeof(EntryBase) error" );
4747
4848struct __packed SensorEntry {
4949
@@ -88,14 +88,30 @@ struct __packed GpsEntry {
8888
8989static_assert (sizeof (GpsEntry) == 18 * 4 , " sizeof(GpsEntry) error" );
9090
91+ void log_controller_state () {
92+ EntryFlags flags{};
93+
94+ flags.controller_state = 1 ;
95+
96+ Logging::write ((uint8_t *)&flags, sizeof (flags));
97+
98+ // log x_est and flight_P
99+ Logging::write ((uint8_t *)(ControllerAndEstimator::x_est.data ()), sizeof (ControllerAndEstimator::x_est (0 )) * (ControllerAndEstimator::x_est.size ()));
100+
101+ Logging::write ((uint8_t *)(ControllerAndEstimator::Flight_P.data ()), sizeof (ControllerAndEstimator::Flight_P (0 )) * (ControllerAndEstimator::Flight_P.size ()));
102+
103+ return ;
104+ }
105+
91106void log_trajectory_flash (float time, int phase, Controller_Input ci, Controller_Output co) {
92107
93- MeasurementFlags flags{};
108+ EntryFlags flags{};
94109 flags.new_gps_packet = ci.new_gps_packet ;
95110 flags.new_imu_packet = ci.new_imu_packet ;
96111
112+ Logging::write ((uint8_t *)&flags, sizeof (flags));
113+
97114 EntryBase entryBase{};
98- entryBase.flags = flags;
99115 entryBase.time = time;
100116 entryBase.phase = phase;
101117
0 commit comments