From 476dc8879cc3ef7a8fd12ec9e78c7caa1240f7b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Caruso?= <niccolo.caruso@skywarder.eu> Date: Wed, 2 Oct 2024 15:17:14 +0200 Subject: [PATCH] [submodule, ARP fix] skyward-boardcore, fix for chrono, logs constructors, logdecoder skyward-boardcore: now using for Propagator and Follower std::chrono for the interface. SMA: Log constructors avoided, using now AntennaAnglesLog instead of AntennaAngles directly. SMAConfig: Using chrono for the configuration constexpr lyra-gs-entry: dipswitch redundant 0 for or operation logdecoder: Now using AntennaAnglesLog --- src/boards/Groundstation/Automated/Config/SMAConfig.h | 5 ++++- src/boards/Groundstation/Automated/SMA/SMA.cpp | 10 ++++------ src/entrypoints/Groundstation/lyra-gs-entry.cpp | 4 ++-- .../logdecoder/AutomatedAntennas/logdecoder.cpp | 3 ++- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/boards/Groundstation/Automated/Config/SMAConfig.h b/src/boards/Groundstation/Automated/Config/SMAConfig.h index bf6ad7cf2..e22f0d193 100644 --- a/src/boards/Groundstation/Automated/Config/SMAConfig.h +++ b/src/boards/Groundstation/Automated/Config/SMAConfig.h @@ -21,6 +21,9 @@ */ #pragma once +#include <chrono> + +/* linter off */ using namespace std::chrono; namespace Antennas { @@ -29,7 +32,7 @@ namespace SMAConfig { /// @brief Period of the propagator algorithm [ms]. -constexpr uint32_t UPDATE_PERIOD = 100; // 10 Hz +constexpr milliseconds UPDATE_PERIOD = 100ms; // 10 Hz } // namespace SMAConfig } // namespace Antennas diff --git a/src/boards/Groundstation/Automated/SMA/SMA.cpp b/src/boards/Groundstation/Automated/SMA/SMA.cpp index 52bced99a..c14fbf723 100644 --- a/src/boards/Groundstation/Automated/SMA/SMA.cpp +++ b/src/boards/Groundstation/Automated/SMA/SMA.cpp @@ -235,10 +235,9 @@ void SMA::update() FollowerState follow = follower.getState(); // Log the target angles and propagations info - AntennaAngles target = follower.getTargetAngles(); - target.nrPropagations = predicted.nPropagations; + AntennaAngles target = follower.getTargetAngles(); Boardcore::Logger::getInstance().log( - static_cast<Boardcore::AntennaAngles>(target)); + Boardcore::AntennaAnglesLog(target, predicted.nPropagations)); // actuate the steppers auto steppers = getModule<Actuators>(); @@ -301,10 +300,9 @@ void SMA::update() FollowerState follow = follower.getState(); // Log the target angles and propagations info - AntennaAngles target = follower.getTargetAngles(); - target.nrPropagations = predicted.nPropagations; + AntennaAngles target = follower.getTargetAngles(); Boardcore::Logger::getInstance().log( - static_cast<Boardcore::AntennaAngles>(target)); + Boardcore::AntennaAnglesLog(target, predicted.nPropagations)); // actuate the steppers steppers->setSpeed(StepperList::STEPPER_X, follow.horizontalSpeed); diff --git a/src/entrypoints/Groundstation/lyra-gs-entry.cpp b/src/entrypoints/Groundstation/lyra-gs-entry.cpp index 6e5b61715..67afc5177 100644 --- a/src/entrypoints/Groundstation/lyra-gs-entry.cpp +++ b/src/entrypoints/Groundstation/lyra-gs-entry.cpp @@ -69,7 +69,7 @@ DipStatusLyraGS getDipStatus(uint8_t read) dipRead.payloadHasBackup = 1 & (read >> 2); dipRead.mainTXenable = 1 & (read >> 3); dipRead.payloadTXenable = 1 & (read >> 4); - dipRead.ipConfig = 0 | (read >> 5); + dipRead.ipConfig = read >> 5; return dipRead; } @@ -128,7 +128,7 @@ int main() GpioPin clk = dipSwitch::clk::getPin(); GpioPin qh = dipSwitch::qh::getPin(); - DipSwitch dip(sh, clk, qh, microSecClk); + DipSwitch dip(sh, clk, qh, std::chrono::microseconds(microSecClk)); DipStatusLyraGS dipRead = getDipStatus(dip.read()); DependencyManager manager; diff --git a/src/scripts/logdecoder/AutomatedAntennas/logdecoder.cpp b/src/scripts/logdecoder/AutomatedAntennas/logdecoder.cpp index d23475aee..2495a7aff 100644 --- a/src/scripts/logdecoder/AutomatedAntennas/logdecoder.cpp +++ b/src/scripts/logdecoder/AutomatedAntennas/logdecoder.cpp @@ -31,6 +31,7 @@ #include <sensors/Vectornav/VN300/VN300Data.h> #include <tscpp/stream.h> +#include <cstdint> #include <fstream> #include <iostream> #include <stdexcept> @@ -60,7 +61,7 @@ void registerTypes(Deserializer& ds) ds.registerType<StepperYData>(); ds.registerType<VN300Data>(); ds.registerType<NASState>(); - ds.registerType<AntennaAngles>(); + ds.registerType<AntennaAnglesLog>(); ds.registerType<GPSData>(); ds.registerType<SMAStatus>(); ds.registerType<PinChangeData>(); -- GitLab