zephyr/drivers/lora
Patryk Biel 59eb3eac92 lora: driver: sx12xx: fix driver recv func when RX error occurs
The sx12xx driver does not provide RxError event handler therefore
when such error occurs, the driver does not handle it at all.
As a result, when the lora_recv function is called with infinite timeout,
it never returns as it waits on k_poll forever, with radio operation mode
set to STDBY_RC. Therefore, once the rx error occurs, radio is no longer
able to receive any subsequent incoming transmission. Fix it by adding
RxError event handler which releases modem usage and signals error
allowing lora_recv to return with a value indicating receive error.
Tested on lora e5 mini by transmitting multiple LoRa messages over a
short period of time that caused CRC error, thus RX errors.
Once the fix is applied, the descibed behaviour no longer occurs despite
the CRC errors caused by test.

Signed-off-by: Patryk Biel <pbiel7@gmail.com>
2024-08-05 18:37:11 -04:00
..
CMakeLists.txt
Kconfig
Kconfig.rylrxxx
Kconfig.sx12xx
hal_common.c
rylrxxx.c
shell.c
sx12xx_common.c
sx12xx_common.h
sx126x.c
sx126x_common.h
sx126x_standalone.c
sx126x_stm32wl.c
sx127x.c