zephyr/drivers/lora
Jordan Yates 586a4bfc7d lora: sx12xx_common: thread-safe API
Ensure that the modem is not asked to perform new operations before the
previous operation completes.

An atomic variable is used instead of a mutex as multiple threads need
to release the lock. A semaphore isn't used as there is no indication
whether `k_sem_give` gives the semaphore or not, which is required to
determine if `Radio.Sleep()` should be run.

`Radio.Sleep()` is only ever run by the context that successfully
releases the modem usage, to guard against double calls.

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2021-08-08 04:19:27 -04:00
..
CMakeLists.txt drivers: sx126x: add support for the stm32wl chip 2021-07-15 21:30:28 -04:00
hal_common.c
Kconfig lora: sx12xx_common: transition to k_poll_signal 2021-08-08 04:19:27 -04:00
Kconfig.sx12xx drivers: sx126x: add support for the stm32wl chip 2021-07-15 21:30:28 -04:00
shell.c
sx12xx_common.c lora: sx12xx_common: thread-safe API 2021-08-08 04:19:27 -04:00
sx12xx_common.h
sx126x_common.h drivers: sx126x: add support for the stm32wl chip 2021-07-15 21:30:28 -04:00
sx126x_standalone.c
sx126x_stm32wl.c drivers: sx126x: add support for the stm32wl chip 2021-07-15 21:30:28 -04:00
sx126x.c drivers: sx126x: add support for the stm32wl chip 2021-07-15 21:30:28 -04:00
sx127x.c