From fca62242ba936e2ba1ac3258b2df497990dd533b Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Thu, 19 Apr 2018 15:24:26 +0300 Subject: [PATCH] ChbiOS 18 support --- libuavcan_drivers/stm32/driver/src/uc_stm32_can.cpp | 4 ++++ libuavcan_drivers/stm32/driver/src/uc_stm32_thread.cpp | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libuavcan_drivers/stm32/driver/src/uc_stm32_can.cpp b/libuavcan_drivers/stm32/driver/src/uc_stm32_can.cpp index 5bb5cf199d..1a8d48184a 100644 --- a/libuavcan_drivers/stm32/driver/src/uc_stm32_can.cpp +++ b/libuavcan_drivers/stm32/driver/src/uc_stm32_can.cpp @@ -551,7 +551,11 @@ bool CanIface::waitMsrINakBitStateChange(bool target_state) ::usleep(1000); #endif #if UAVCAN_STM32_CHIBIOS +#ifdef MS2ST ::chThdSleep(MS2ST(1)); +#else + ::chThdSleep(TIME_MS2I(1)); +#endif #endif #if UAVCAN_STM32_FREERTOS ::osDelay(1); diff --git a/libuavcan_drivers/stm32/driver/src/uc_stm32_thread.cpp b/libuavcan_drivers/stm32/driver/src/uc_stm32_thread.cpp index 0c91c4e6a1..04a569ebc7 100644 --- a/libuavcan_drivers/stm32/driver/src/uc_stm32_thread.cpp +++ b/libuavcan_drivers/stm32/driver/src/uc_stm32_thread.cpp @@ -34,8 +34,10 @@ bool BusEvent::wait(uavcan::MonotonicDuration duration) { # if (CH_KERNEL_MAJOR == 2) ret = sem_.waitTimeout((msec > MaxDelayMSec) ? MS2ST(MaxDelayMSec) : MS2ST(msec)); -# else // ChibiOS 3+ +# elif defined(MS2ST) // ChibiOS 3+ ret = sem_.wait((msec > MaxDelayMSec) ? MS2ST(MaxDelayMSec) : MS2ST(msec)); +# else // ChibiOS 17+ + ret = sem_.wait(::systime_t((msec > MaxDelayMSec) ? TIME_MS2I(MaxDelayMSec) : TIME_MS2I(msec))); # endif } # if (CH_KERNEL_MAJOR == 2)