1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

drivers/sx127x: remove ZTIMER_USEC dependency

This commit is contained in:
Jose Alamos 2020-09-16 11:13:58 +02:00 committed by Francisco Molina
parent 94d46e756e
commit e312155f30
3 changed files with 10 additions and 15 deletions

View File

@ -40,10 +40,6 @@ config MODULE_SX127X
select MODULE_PERIPH_SPI_GPIO_MODE if HAS_PERIPH_SPI_GPIO_MODE select MODULE_PERIPH_SPI_GPIO_MODE if HAS_PERIPH_SPI_GPIO_MODE
select MODULE_PERIPH_SPI select MODULE_PERIPH_SPI
select MODULE_ZTIMER select MODULE_ZTIMER
select MODULE_ZTIMER_PERIPH_TIMER
select MODULE_ZTIMER_USEC
select MODULE_ZTIMER_MSEC select MODULE_ZTIMER_MSEC
imply MODULE_ZTIMER_PERIPH_RTT
endif # TEST_KCONFIG endif # TEST_KCONFIG

View File

@ -3,7 +3,6 @@ FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi FEATURES_REQUIRED += periph_spi
FEATURES_OPTIONAL += periph_spi_gpio_mode FEATURES_OPTIONAL += periph_spi_gpio_mode
USEMODULE += iolist USEMODULE += iolist
USEMODULE += ztimer_usec
USEMODULE += ztimer_msec USEMODULE += ztimer_msec
USEMODULE += lora USEMODULE += lora

View File

@ -45,20 +45,20 @@
#include "debug.h" #include "debug.h"
/* The reset signal must be applied for at least 100 µs to trigger the manual /* The reset signal must be applied for at least 100 µs to trigger the manual
reset of the device. To ensure this value is big enough even with an reset of the device. In order to avoid a dependency to the high frequency
inaccurate clock source, an additional 10 % error margin is added. */ timers, we round it to 1 ms */
#define SX127X_MANUAL_RESET_SIGNAL_LEN_US (110U) #define SX127X_MANUAL_RESET_SIGNAL_LEN_MS (1U)
/* After triggering a manual reset the device needs at least 5 ms to become /* After triggering a manual reset the device needs at least 5 ms to become
ready before interacting with it. To ensure this value is big enough even ready before interacting with it. We round up to 6 ms in case the clock
with an inaccurate clock source, an additional 10 % error margin is added. */ source is not accurate enough */
#define SX127X_MANUAL_RESET_WAIT_FOR_READY_US (5500U) #define SX127X_MANUAL_RESET_WAIT_FOR_READY_MS (6U)
/* When the device is started by enabling its power supply for the first time /* When the device is started by enabling its power supply for the first time
i.e. on Power-on-Reset (POR), it needs at least 10 ms after the POR cycle is i.e. on Power-on-Reset (POR), it needs at least 10 ms after the POR cycle is
done to become ready. To ensure this value is big enough even with an done to become ready. To ensure this value is big enough even with an
inaccurate clock source, an additional 10 % error margin is added. */ inaccurate clock source, an additional 10 % error margin is added. */
#define SX127X_POR_WAIT_FOR_READY_US (11U * US_PER_MS) #define SX127X_POR_WAIT_FOR_READY_MS (11U)
/* Internal functions */ /* Internal functions */
static int _init_spi(sx127x_t *dev); static int _init_spi(sx127x_t *dev);
@ -116,12 +116,12 @@ int sx127x_reset(const sx127x_t *dev)
/* set reset pin to the state that triggers manual reset */ /* set reset pin to the state that triggers manual reset */
gpio_write(dev->params.reset_pin, SX127X_POR_ACTIVE_LOGIC_LEVEL); gpio_write(dev->params.reset_pin, SX127X_POR_ACTIVE_LOGIC_LEVEL);
ztimer_sleep(ZTIMER_USEC, SX127X_MANUAL_RESET_SIGNAL_LEN_US); ztimer_sleep(ZTIMER_MSEC, SX127X_MANUAL_RESET_SIGNAL_LEN_MS);
/* Put reset pin in High-Z */ /* Put reset pin in High-Z */
gpio_init(dev->params.reset_pin, GPIO_IN); gpio_init(dev->params.reset_pin, GPIO_IN);
ztimer_sleep(ZTIMER_USEC, SX127X_MANUAL_RESET_WAIT_FOR_READY_US); ztimer_sleep(ZTIMER_MSEC, SX127X_MANUAL_RESET_WAIT_FOR_READY_MS);
} }
return 0; return 0;
@ -153,7 +153,7 @@ int sx127x_init(sx127x_t *dev)
} }
/* wait for the device to become ready */ /* wait for the device to become ready */
ztimer_sleep(ZTIMER_USEC, SX127X_POR_WAIT_FOR_READY_US); ztimer_sleep(ZTIMER_MSEC, SX127X_POR_WAIT_FOR_READY_MS);
sx127x_reset(dev); sx127x_reset(dev);