diff --git a/drivers/include/rn2xx3.h b/drivers/include/rn2xx3.h index f3023bb3f5..3ccfa68e62 100644 --- a/drivers/include/rn2xx3.h +++ b/drivers/include/rn2xx3.h @@ -23,7 +23,7 @@ #include -#include "xtimer.h" +#include "ztimer.h" #include "periph/uart.h" #include "periph/gpio.h" #include "net/netdev.h" @@ -189,7 +189,7 @@ typedef struct { uint16_t rx_size; /**< counter for received char in RX */ /* timers */ - xtimer_t sleep_timer; /**< Timer used to count module sleep time */ + ztimer_t sleep_timer; /**< Timer used to count module sleep time */ uint32_t sleep; /**< module sleep duration */ } rn2xx3_t; diff --git a/drivers/rn2xx3/Kconfig b/drivers/rn2xx3/Kconfig index a8882fc4dc..b001faca58 100644 --- a/drivers/rn2xx3/Kconfig +++ b/drivers/rn2xx3/Kconfig @@ -30,7 +30,8 @@ config MODULE_RN2XX3 select MODULE_PERIPH_GPIO select MODULE_PERIPH_UART select MODULE_FMT - select MODULE_XTIMER + select MODULE_ZTIMER + select MODULE_ZTIMER_MSEC endif # TEST_KCONFIG diff --git a/drivers/rn2xx3/Makefile.dep b/drivers/rn2xx3/Makefile.dep index 5dbe14d326..a3f5cf86e0 100644 --- a/drivers/rn2xx3/Makefile.dep +++ b/drivers/rn2xx3/Makefile.dep @@ -1,4 +1,5 @@ FEATURES_REQUIRED += periph_gpio FEATURES_REQUIRED += periph_uart -USEMODULE += xtimer +USEMODULE += ztimer +USEMODULE += ztimer_msec USEMODULE += fmt diff --git a/drivers/rn2xx3/include/rn2xx3_params.h b/drivers/rn2xx3/include/rn2xx3_params.h index c28ca1cbb3..3bae65682a 100644 --- a/drivers/rn2xx3/include/rn2xx3_params.h +++ b/drivers/rn2xx3/include/rn2xx3_params.h @@ -19,6 +19,7 @@ #ifndef RN2XX3_PARAMS_H #define RN2XX3_PARAMS_H +#include "board.h" #include "rn2xx3.h" #ifdef __cplusplus diff --git a/drivers/rn2xx3/rn2xx3.c b/drivers/rn2xx3/rn2xx3.c index b2cc2e5962..180808c33a 100644 --- a/drivers/rn2xx3/rn2xx3.c +++ b/drivers/rn2xx3/rn2xx3.c @@ -22,7 +22,7 @@ #include #include "assert.h" -#include "xtimer.h" +#include "ztimer.h" #include "fmt.h" #include "kernel_defines.h" @@ -40,7 +40,7 @@ /** * @brief Delay when resetting the device, 10ms */ -#define RESET_DELAY (10UL * US_PER_MS) +#define RESET_DELAY (10UL) /* * Interrupt callbacks @@ -166,7 +166,7 @@ int rn2xx3_init(rn2xx3_t *dev) /* if reset pin is connected, do a hardware reset */ if (gpio_is_valid(dev->p.pin_reset)) { gpio_clear(dev->p.pin_reset); - xtimer_usleep(RESET_DELAY); + ztimer_sleep(ZTIMER_MSEC, RESET_DELAY); gpio_set(dev->p.pin_reset); } @@ -233,7 +233,7 @@ int rn2xx3_sys_sleep(rn2xx3_t *dev) /* Wait a little to check if the device could go to sleep. No answer means it worked. */ - xtimer_msleep(1); + ztimer_sleep(ZTIMER_MSEC, 1); DEBUG("[rn2xx3] RESP: %s\n", dev->resp_buf); if (rn2xx3_process_response(dev) == RN2XX3_ERR_INVALID_PARAM) { @@ -242,7 +242,7 @@ int rn2xx3_sys_sleep(rn2xx3_t *dev) } rn2xx3_set_internal_state(dev, RN2XX3_INT_STATE_SLEEP); - xtimer_set(&dev->sleep_timer, dev->sleep * US_PER_MS); + ztimer_set(ZTIMER_MSEC, &dev->sleep_timer, dev->sleep); return RN2XX3_OK; } diff --git a/drivers/rn2xx3/rn2xx3_internal.c b/drivers/rn2xx3/rn2xx3_internal.c index a0556e2d0d..aca097dafa 100644 --- a/drivers/rn2xx3/rn2xx3_internal.c +++ b/drivers/rn2xx3/rn2xx3_internal.c @@ -22,6 +22,9 @@ #include #include "fmt.h" +#include "timex.h" +#include "ztimer.h" + #include "rn2xx3_internal.h" #define ENABLE_DEBUG 0 @@ -51,22 +54,21 @@ static bool _wait_reply(rn2xx3_t *dev, uint8_t timeout) dev->resp_size = 0; dev->resp_buf[0] = 0; - xtimer_ticks64_t sent_time = xtimer_now64(); + ztimer_now_t sent_time = ztimer_now(ZTIMER_MSEC); - xtimer_t resp_timer; + ztimer_t resp_timer; resp_timer.callback = isr_resp_timeout; resp_timer.arg = dev; - xtimer_set(&resp_timer, (uint32_t)timeout * US_PER_SEC); + ztimer_set(ZTIMER_MSEC, &resp_timer, (uint32_t)timeout * MS_PER_SEC); /* wait for results */ while ((!dev->resp_done) && - xtimer_less(xtimer_diff32_64(xtimer_now64(), sent_time), - xtimer_ticks_from_usec(timeout * US_PER_SEC))) { + ((int32_t)(sent_time + (timeout * MS_PER_SEC) - ztimer_now(ZTIMER_MSEC)) > 0)) { mutex_lock(&(dev->resp_lock)); } - xtimer_remove(&resp_timer); + ztimer_remove(ZTIMER_MSEC, &resp_timer); if (dev->resp_done == 0) { DEBUG("[rn2xx3] response timeout\n");