diff --git a/src/boards/Payload/FlightStatsRecorder/FlightStatsRecorder.cpp b/src/boards/Payload/FlightStatsRecorder/FlightStatsRecorder.cpp index 58eb08bd57d909668434eba582d6e1ddc7ea1835..a44fc8d437fc75f4bd0d03920f6d58ab87bddf4d 100644 --- a/src/boards/Payload/FlightStatsRecorder/FlightStatsRecorder.cpp +++ b/src/boards/Payload/FlightStatsRecorder/FlightStatsRecorder.cpp @@ -106,7 +106,7 @@ void FlightStatsRecorder::updateAcc(const AccelerometerData &data) } } -void FlightStatsRecorder::updateNas(const NASState &data) +void FlightStatsRecorder::updateNas(const NASState &data, float refTemperature) { auto state = getModule<FlightModeManager>()->getState(); Lock<FastMutex> lock{statsMutex}; @@ -126,10 +126,7 @@ void FlightStatsRecorder::updateNas(const NASState &data) stats.maxSpeedTs = data.timestamp; } - // TODO: Grab ref temperature from global ReferenceValues - float mach = Aeroutils::computeMach( - data.d, speed, - ReferenceConfig::defaultReferenceValues.refTemperature); + float mach = Aeroutils::computeMach(data.d, speed, refTemperature); if (mach > stats.maxMach) { diff --git a/src/boards/Payload/FlightStatsRecorder/FlightStatsRecorder.h b/src/boards/Payload/FlightStatsRecorder/FlightStatsRecorder.h index dcc8cc97412803ffb52ac35a19a4c52dba9cf0ba..3a28c65da67622437fa0ef1dd542b1555118ad40 100644 --- a/src/boards/Payload/FlightStatsRecorder/FlightStatsRecorder.h +++ b/src/boards/Payload/FlightStatsRecorder/FlightStatsRecorder.h @@ -85,7 +85,7 @@ public: void deploymentDetected(uint64_t ts, float alt); void updateAcc(const Boardcore::AccelerometerData &data); - void updateNas(const Boardcore::NASState &data); + void updateNas(const Boardcore::NASState &data, float refTemperature); void updatePressure(const Boardcore::PressureData &data); private: diff --git a/src/boards/Payload/StateMachines/NASController/NASController.cpp b/src/boards/Payload/StateMachines/NASController/NASController.cpp index c6b4b53f054e88f71226ff5ea44c3a4a444098e7..93f1c5e5a7628675379b810f74357ff0f84da0da 100644 --- a/src/boards/Payload/StateMachines/NASController/NASController.cpp +++ b/src/boards/Payload/StateMachines/NASController/NASController.cpp @@ -353,8 +353,9 @@ void NASController::update() dynamicPitotTimestamp = dynamicPitot.pressureTimestamp; auto state = nas.getState(); + auto ref = nas.getReferenceValues(); - getModule<FlightStatsRecorder>()->updateNas(state); + getModule<FlightStatsRecorder>()->updateNas(state, ref.refTemperature); Logger::getInstance().log(state); }