From ebe2bced1925a0d534282e5e5318f6a9fddda15e 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