SX126x strange behavior after Rx timeout

Hello everyone,

I noticed a strange behavior when using Rx with some timeout, by issuing the SetRx command with a timeout value (128000 for a 2-second timeout, to be precise). The command is sent to the device, and it seems to accept it and execute it correctly, as 2 seconds later, an interrupt is generated. However, when issuing subsequent commands, the device returns “command timeout” in its first status byte, and the command sent seems to have no effect. After this failure, the next command sent is fine.

Below is a transcript of the SPI communication, the first command is SetRx with timeout, then 2 seconds later, an IRQ is triggered. After that, a SetStandby command is sent, which returns the 0xA6 status byte, aka “command timeout”. The next command that is sent seems to be OK (all status bytes returned by the device during SPI write are 0xA2).

20:01:29.447 -> CMD	82	
20:01:29.447 -> DATW	1	A2	F4	A2	0	A2	
20:01:29.493 -> 
20:01:29.493 -> success!
20:01:31.382 -> CMD	80	
20:01:31.382 -> DATW	0	A6	
                             ^ SPI command timeout
20:01:31.382 -> 
20:01:31.382 -> CMD	8	
20:01:31.382 -> DATW	2	A2	62	A2	2	A2	2	A2	0	A2	0	A2	0	A2	0	A2	

Has anyone such a behavior before? Searching this forum, I unfortunately didn’t find much (though I may have missed something).

Also, are there any more information about the meaning of the values in the status byte than is given in the datasheet? There’s unfortunately not much information there.

Thanks for any hints!


Hello, have you found a solution yet as the the 0xA2 returned?

Unfortunately not, it’s still the same - the first command after Rx timeout returns 0xA6.