From 533ed5987e553e0183c3cac8f38b7b1757212c11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Betto?= <niccolo.betto@skywarder.eu> Date: Fri, 1 Dec 2023 17:28:16 +0100 Subject: [PATCH] [Sensors] Update to Miosix 2.7 API --- src/shared/sensors/UBXGPS/UBXGPSSpi.cpp | 8 +++----- src/shared/sensors/UBXGPS/UBXGPSSpi.h | 2 -- src/shared/sensors/VN100/VN100.cpp | 6 ++++-- .../analog/pressure/SoftwareDifferentialPressureSensor.h | 2 +- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/shared/sensors/UBXGPS/UBXGPSSpi.cpp b/src/shared/sensors/UBXGPS/UBXGPSSpi.cpp index d62ace27f..283b815e3 100644 --- a/src/shared/sensors/UBXGPS/UBXGPSSpi.cpp +++ b/src/shared/sensors/UBXGPS/UBXGPSSpi.cpp @@ -35,8 +35,6 @@ constexpr uint16_t UBXFrame::MAX_FRAME_LENGTH; constexpr uint8_t UBXFrame::PREAMBLE[]; constexpr uint8_t UBXFrame::WAIT; -constexpr float UBXGPSSpi::MS_TO_TICK; - constexpr unsigned int UBXGPSSpi::RESET_SLEEP_TIME; constexpr unsigned int UBXGPSSpi::READ_TIMEOUT; constexpr unsigned int UBXGPSSpi::MAX_TRIES; @@ -241,8 +239,8 @@ bool UBXGPSSpi::setPVTMessageRate() bool UBXGPSSpi::readUBXFrame(UBXFrame& frame) { - long long start = miosix::getTick(); - long long end = start + READ_TIMEOUT * MS_TO_TICK; + long long start = miosix::getTime(); + long long end = start + READ_TIMEOUT * Constants::NS_IN_MS; { spiSlave.bus.configure(spiSlave.config); @@ -253,7 +251,7 @@ bool UBXGPSSpi::readUBXFrame(UBXFrame& frame) bool waiting = false; while (i < 2) { - if (miosix::getTick() >= end) + if (miosix::getTime() >= end) { // LOG_ERR(logger, "Timeout for read expired"); spiSlave.bus.deselect(spiSlave.cs); diff --git a/src/shared/sensors/UBXGPS/UBXGPSSpi.h b/src/shared/sensors/UBXGPS/UBXGPSSpi.h index 71739b4a6..e36b6d5b4 100644 --- a/src/shared/sensors/UBXGPS/UBXGPSSpi.h +++ b/src/shared/sensors/UBXGPS/UBXGPSSpi.h @@ -141,8 +141,6 @@ private: PrintLogger logger = Logging::getLogger("ubxgps"); - static constexpr float MS_TO_TICK = miosix::TICK_FREQ / 1000.f; - static constexpr unsigned int RESET_SLEEP_TIME = 1000; // [ms] static constexpr unsigned int READ_TIMEOUT = 1; // [ms] static constexpr unsigned int MAX_TRIES = 5; // [1] diff --git a/src/shared/sensors/VN100/VN100.cpp b/src/shared/sensors/VN100/VN100.cpp index 7a808633d..c6a482e5a 100644 --- a/src/shared/sensors/VN100/VN100.cpp +++ b/src/shared/sensors/VN100/VN100.cpp @@ -120,14 +120,16 @@ void VN100::run() { while (!shouldStop()) { - long long initialTime = miosix::getTick(); + long long initialTime = miosix::getTime(); { // Sample the data locking the mutex miosix::Lock<FastMutex> l(mutex); threadSample = sampleData(); } + // Sleep for the sampling period - miosix::Thread::sleepUntil(initialTime + samplePeriod); + miosix::Thread::nanoSleepUntil(initialTime + + samplePeriod * Constants::NS_IN_MS); } } diff --git a/src/shared/sensors/analog/pressure/SoftwareDifferentialPressureSensor.h b/src/shared/sensors/analog/pressure/SoftwareDifferentialPressureSensor.h index 86df2e1e7..0b1df013b 100644 --- a/src/shared/sensors/analog/pressure/SoftwareDifferentialPressureSensor.h +++ b/src/shared/sensors/analog/pressure/SoftwareDifferentialPressureSensor.h @@ -67,7 +67,7 @@ public: float p1 = first_pressure_sensor->getLastSample().pressure; float p2 = second_pressure_sensor->getLastSample().pressure; - return PressureData{miosix::getTick(), p1 - p2}; + return PressureData{miosix::getTime(), p1 - p2}; } private: -- GitLab