diff --git a/src/MockupMain/Sensors/Sensors.cpp b/src/MockupMain/Sensors/Sensors.cpp index aa0dd85429f902a5b0503736a45b09fe0d6d066f..fad15ae3cdedb82e7b301b161bcc5cce897d6707 100644 --- a/src/MockupMain/Sensors/Sensors.cpp +++ b/src/MockupMain/Sensors/Sensors.cpp @@ -105,6 +105,9 @@ bool Sensors::isStarted() { return started; } void Sensors::calibrate() { + if (!bmx160WithCorrection) + return; + bmx160WithCorrection->startCalibration(); miosix::Thread::sleep( @@ -399,15 +402,17 @@ void Sensors::internalADCInit() void Sensors::bmx160Callback() { - auto fifoSize = bmx160->getLastFifoSize(); - auto& fifo = bmx160->getLastFifo(); - - Logger::getInstance().log(bmx160->getTemperature()); + if (!bmx160) + return; - for (auto i = 0; i < fifoSize; i++) - Logger::getInstance().log(fifo.at(i)); + // We can skip logging the last sample since we are logging the fifo + auto& logger = Logger::getInstance(); + uint16_t lastFifoSize; + const auto lastFifo = bmx160->getLastFifo(lastFifoSize); - Logger::getInstance().log(bmx160->getFifoStats()); + // For every instance inside the fifo log the sample + for (uint16_t i = 0; i < lastFifoSize; i++) + logger.log(lastFifo.at(i)); } void Sensors::bmx160WithCorrectionCallback() diff --git a/src/Parafoil/Radio/MessageHandler.cpp b/src/Parafoil/Radio/MessageHandler.cpp index a635e8bc66aa23cd57fe6ae45efd68be5881b7cf..2644476b8f30c9c9c88efa1ee1718b31094bfa21 100644 --- a/src/Parafoil/Radio/MessageHandler.cpp +++ b/src/Parafoil/Radio/MessageHandler.cpp @@ -21,7 +21,7 @@ */ #include <Parafoil/Actuators/Actuators.h> -#include <Parafoil/AltitudeTrigger/AltitudeTrigger.h> +#include <Parafoil/AltitudeTrigger/LandingFlare.h> #include <Parafoil/BoardScheduler.h> #include <Parafoil/Configs/RadioConfig.h> #include <Parafoil/FlightStatsRecorder/FlightStatsRecorder.h> @@ -240,7 +240,7 @@ void Radio::MavlinkBackend::handleMessage(const mavlink_message_t& msg) float altitude = mavlink_msg_set_deployment_altitude_tc_get_dpl_altitude(&msg); - parent.getModule<AltitudeTrigger>()->setDeploymentAltitude( + parent.getModule<LandingFlare>()->setDeploymentAltitude( Meter{altitude}); if (altitude < 200 || altitude > 450) diff --git a/src/Parafoil/Radio/Radio.h b/src/Parafoil/Radio/Radio.h index 2b39b0ca749985465c11176a690beda70ffaa8b8..63fdfcc6d49f64ad682a6eb7e75508ded7574b85 100644 --- a/src/Parafoil/Radio/Radio.h +++ b/src/Parafoil/Radio/Radio.h @@ -43,15 +43,15 @@ class FlightModeManager; class Actuators; class NASController; class WingController; -class AltitudeTrigger; +class LandingFlare; class PinHandler; class WindEstimation; class FlightStatsRecorder; class Radio : public Boardcore::InjectableWithDeps< BoardScheduler, Sensors, Buses, FlightModeManager, Actuators, - NASController, WingController, AltitudeTrigger, PinHandler, - WindEstimation, FlightStatsRecorder> + NASController, WingController, PinHandler, WindEstimation, + FlightStatsRecorder, LandingFlare> { public: /** diff --git a/src/Parafoil/Sensors/Sensors.cpp b/src/Parafoil/Sensors/Sensors.cpp index 90be4ffe79d3beabc9ce1faa3afdafc42ff8705b..cc35046e0ea4cfda50061e2685405e77fbd4cccc 100644 --- a/src/Parafoil/Sensors/Sensors.cpp +++ b/src/Parafoil/Sensors/Sensors.cpp @@ -105,6 +105,9 @@ bool Sensors::isStarted() { return started; } void Sensors::calibrate() { + if (!bmx160WithCorrection) + return; + bmx160WithCorrection->startCalibration(); miosix::Thread::sleep( @@ -378,15 +381,17 @@ void Sensors::internalADCInit() void Sensors::bmx160Callback() { - auto fifoSize = bmx160->getLastFifoSize(); - auto& fifo = bmx160->getLastFifo(); - - Logger::getInstance().log(bmx160->getTemperature()); + if (!bmx160) + return; - for (auto i = 0; i < fifoSize; i++) - Logger::getInstance().log(fifo.at(i)); + // We can skip logging the last sample since we are logging the fifo + auto& logger = Logger::getInstance(); + uint16_t lastFifoSize; + const auto lastFifo = bmx160->getLastFifo(lastFifoSize); - Logger::getInstance().log(bmx160->getFifoStats()); + // For every instance inside the fifo log the sample + for (uint16_t i = 0; i < lastFifoSize; i++) + logger.log(lastFifo.at(i)); } void Sensors::bmx160WithCorrectionCallback() diff --git a/src/Parafoil/parafoil-entry.cpp b/src/Parafoil/parafoil-entry.cpp index 2a68f7e849b22e61c8c9228e91bed82af292adc6..5fa50f8cffa08081ee19d2beb7fe49ec5eb5dc9b 100644 --- a/src/Parafoil/parafoil-entry.cpp +++ b/src/Parafoil/parafoil-entry.cpp @@ -20,6 +20,8 @@ * THE SOFTWARE. */ +#define DEFAULT_STDOUT_LOG_LEVEL LOGL_INFO + #include <Parafoil/Actuators/Actuators.h> #include <Parafoil/AltitudeTrigger/LandingFlare.h> #include <Parafoil/BoardScheduler.h>