there are two errors in the Radio library
timeout doesn’t work in functions RadioRx and RadioRxBoosted
Here are the changes to make
void RadioRx( uint32_t timeout )
{
#if defined(WIFI_LORA_32_V4)||defined(WIRELESS_TRACKER_V2)
pinMode(LORA_PA_POWER,OUTPUT);
digitalWrite(LORA_PA_POWER,HIGH);
rtc_gpio_hold_dis((gpio_num_t)LORA_PA_EN);
pinMode(LORA_PA_EN,OUTPUT);
digitalWrite(LORA_PA_EN,HIGH);
#endif
SX126xSetDioIrqParams( IRQ_RX_DONE | IRQ_CRC_ERROR| IRQ_RX_TX_TIMEOUT,
IRQ_RX_DONE | IRQ_CRC_ERROR| IRQ_RX_TX_TIMEOUT,
IRQ_RADIO_NONE,
IRQ_RADIO_NONE );
else
{
here—> SX126xSetRx( RxTimeout << 6 ); //error it’s SX126xSetRx( timeout << 6 )
}
in the fonction
void RadioRxBoosted( uint32_t timeout )
interruptions are missing
SX126xSetDioIrqParams( IRQ_RX_DONE,
IRQ_RX_DONE,
IRQ_RADIO_NONE,
IRQ_RADIO_NONE );
just copy from the function void RadioRx( uint8t timeout)
the line
SX126xSetDioIrqParams( IRQ_RX_DONE | IRQ_CRC_ERROR| IRQ_RX_TX_TIMEOUT,
IRQ_RX_DONE | IRQ_CRC_ERROR| IRQ_RX_TX_TIMEOUT,
IRQ_RADIO_NONE,
IRQ_RADIO_NONE );