Dear all,
We are using the CC2541 on the 1.4.1 BLE stack for an embedded project. We are facing a persistent issue and hope we can get some support here.
The CC2541 is interfaced with an external MCU (ARM7) on an SPI line. We are sending 180 bytes of data from the MCU on the SPI line and then transferring it using BLE to a smartphone (viewing data using the LightBlue app on the iPhone). We have enabled overlapped packet processing and are able to view the 180 bytes in the structure of 20 bytes x 9 packets.
However, the received data has repeated and consistent corruption. For example, we sent all '1s' and this is what we receive for every 180 byte burst:
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,30,128,34,12,24,0,98
1,1,1,1,1,1,1,1,1,1,1,1,1,30,128,64,12,24,0,128
1,1,1,1,1,1,1,1,1,1,1,1,1,30,128,94,12,24,0,158
1,1,1,1,1,1,1,1,1,1,1,1,1,30,128,124,12,24,0,188
1,1,1,1,1,1,1,1,1,1,1,1,1,30,128,154,12,24,0,0
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Next, we checked the Rx_Data_Buffer and noted that it contains all '1s'. There is no corruption of the data here.
Next, we made a local array of '1s' on the BLE and sent this array (instead of generating data on the MCU). We get the same result. The pattern of the corruption is identical every time.
We are not sure why the data seems to be corrupted between the Rx_data_buffer and the wireless transfer. Any help would be appreciated.