diff --git a/src/Groundstation/Automated/SMA/SMA.cpp b/src/Groundstation/Automated/SMA/SMA.cpp
index 03321da8e87f384283cac4ccb9354354a9982293..cf800147d9ef7acb260e13af196f9765fca17d35 100644
--- a/src/Groundstation/Automated/SMA/SMA.cpp
+++ b/src/Groundstation/Automated/SMA/SMA.cpp
@@ -332,7 +332,10 @@ void SMA::update()
case SMAState::CALIBRATE:
{
if (!sensors->isCalibrating())
+ {
EventBroker::getInstance().post(ARP_CAL_DONE, TOPIC_ARP);
+ LOG_DEBUG(logger, "Exit from calibration\n");
+ }
}
break;
default:
diff --git a/src/Groundstation/Automated/Sensors/Sensors.cpp b/src/Groundstation/Automated/Sensors/Sensors.cpp
index 315756771bab1724555c609337ea430715c4b63a..0fe17cf13e091b16f95e3e3c06a71893bd637508 100644
--- a/src/Groundstation/Automated/Sensors/Sensors.cpp
+++ b/src/Groundstation/Automated/Sensors/Sensors.cpp
@@ -80,9 +80,13 @@ void Sensors::vn300Callback()
{
if (calibrating)
{
- if (calibrationStart - std::chrono::nanoseconds(miosix::getTime()) >
+ LOG_DEBUG(logger, "Sensor Manager VN300 calibrating\n");
+ if (std::chrono::nanoseconds(miosix::getTime()) - calibrationStart >
VN300_CAL_TIME)
+ {
vn300->stopHSIEstimator();
+ calibrating = false;
+ }
}
else
Logger::getInstance().log(vn300->getLastSample());