From 9ba790d74826035515fbbb77c5058da1417c33c4 Mon Sep 17 00:00:00 2001 From: Davide Basso <davide.basso@skywarder.eu> Date: Wed, 7 May 2025 23:41:01 +0200 Subject: [PATCH] [Parafoil] Update submodules --- src/MockupMain/Sensors/Sensors.cpp | 19 ++++++++++++------- src/Parafoil/Radio/MessageHandler.cpp | 4 ++-- src/Parafoil/Radio/Radio.h | 6 +++--- src/Parafoil/Sensors/Sensors.cpp | 19 ++++++++++++------- src/Parafoil/parafoil-entry.cpp | 2 ++ 5 files changed, 31 insertions(+), 19 deletions(-) diff --git a/src/MockupMain/Sensors/Sensors.cpp b/src/MockupMain/Sensors/Sensors.cpp index aa0dd8542..fad15ae3c 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 a635e8bc6..2644476b8 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 2b39b0ca7..63fdfcc6d 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 90be4ffe7..cc35046e0 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 2a68f7e84..5fa50f8cf 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> -- GitLab