diff --git a/src/shared/sensors/UBXGPS/UBXGPSSpi.cpp b/src/shared/sensors/UBXGPS/UBXGPSSpi.cpp index d62ace27f44e7525bed0e2f9f4367e8b1430b0e9..283b815e3f50fb504214cc830d4b8ac5bee247be 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 71739b4a685fb94c553eeb17d4ca315d775cac87..e36b6d5b431ab603acae63f597e5e46a95c7ac6f 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 7a808633d782a3b9aa948348c87dbadedf602837..c6a482e5a1b1c7fa77aa8a66ac91dd097e5a679f 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 86df2e1e72728cdc7f43df0652b16c465c11b3ac..0b1df013b09553a6abe1eccf03cc6c4898aa671f 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: