Teensy 3.6 with nRF24L01 Tx buffer data queue

Status
Not open for further replies.

opauly

Member
Hello. I am trying to send 256 bytes of known data each cycle (numbers) between two Teensy 3.6 through nRF24L01 radios. Using radio.writeFast we can send up to 32 bytes at a time. Basically, we would need to perform 8 writeFast calls per cycle to send the 256 bytes. However, the Rx is receiving the data but in random order, not in the sequence we arrange it in the Tx.

We are transmitting as this:

for(int k = 0; k < 3 ; k++){
radio.writeFast(&(total_data[k*32]), 32);
radio.txStandBy();
}

Where total_data is the secuence of numbers that contains the data to be sent. It is an unsigned char array.

The sequence that is sent is something like:
0x11, 0x22, 0x33
0x11, 0x22, 0x33
0x11, 0x22, 0x33

The Rx is reading as this:

for(int i = 0; i < 96; i++){
radio.read(&(audioFull[i*32]), 32);
}

Where audioFull is the uint8_t array that stores the data read.

The sequence that is read is something like:
0x11, 0x22, 0x33
0x22, 0x33, 0x11
0x33, 0x11, 0x22

I am aware that the Teensy has 3 FIFO buffers, but I am not sure how to access them separately or flushing them before each transmission.

Any help will be much appreciated!
 
Status
Not open for further replies.
Back
Top