I have a MCU application that receives variable length packets correctly 99% of the time. For the other 1%, I am seeing a strange error that I can't explain. After strobing RX and getting both interrupts for the start and end of the packet (using PKT_SYNC_RXTX), I read the number of bytes in the RX FIFO (NUM_RXBYTES register). Somehow this returns 0, so I skip reading the data bytes from RX_FIFO (0x3F) and the packet is not received. Using a logic analyzer, I can see that the RX sync word interrupts are occurring at the correct times compared with the TX ones. Upon retrying to TX the packet it will usually work, but rarely it will fail in the aforementioned way 4-5 times in a row which is unacceptable.
Is this a known issue, with or without a solution?
Thank you for any help,
Tom