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!