I am using the BC127 with rev 6.1.3 firmware. I have enabled deep_sleep and am using the GPIO to toggle between data and command modes.
Once a minute, the software wakes the radio to transmit 120 messages of 1030 bytes in each “packet”. I use a serial encapsulation technique with SOF/EOF with a binary stream. Processing time is allowed between each packet.
My test bench runs for hours, even days, so the firmware seems fairly reliable now (compared to the older 6.0.X series).
The issue I have is that the first, sometimes first 2, bursts of traffic over the SPP are short 56 bytes (at the end of the sequence).
After sleeping for a minute, the radio is awoken with a on the data lines per spec. We wait the appropriate 5 mSec, enter DATA MADE (GIO_5 transitions high), we wait 500 uSec, then start pushing bytes out (honoring RTS/CTS). The first message of 1030 bytes arrives at the receiver but only has 974 bytes, the tail 56 bytes don’t seem to arrive. The code proceeds to send 119 more packets of 1030 bytes and they all arrive in tact, of the correct length.
I’ve tried tinkering with longer delays and delays between packet bursts, but that seems to have no effect.
Any ideas as to what could cause this? (I am assuming back-pressure OTA would results in loss of CTS which would hold me off). Not sure what to do next?
Why only the first message and why only the ending bytes? (It might make sense if the start got cut-off, but it’s the end of the message).