[Oberon] FPGA - nRF24L01 `RPI Net' server

Tomas Kral thomas.kral at email.cz
Tue May 15 20:08:01 CEST 2018


I am now trying to process 'SND' message. I got as far as transmitting
a test file that spans 512 bytes so two packets need be send.

--- Header
valid header 
65 14 31 51
 Test.Mod sending

--- Payload (1)
status 32

the above tells TX_DS(status 32) data sent ACK received, count down

--- Payload (2)
status 16
status 16
status 32

This tells MAX_RT(status 16) max retries exceeded twice, flush TX_FIFO
each time, count down 15-1-1-1=12 and retry until TX_DS (status 32) data
sent ACK received

Now comes an interesting part. The second payload did not pass
twice CRC check at the receiver, no ACK received, the receiver should
not store in the RX_FIFO. Only after third try.

But the payload is read three times, twice with bad CRC, once with
good one????

It seems auto-acknowledgement does not work exactly as documented.
Bad CRC payloads should not be stored in RX_FIFO, but they are!!!


Tomas Kral <thomas.kral at email.cz>

More information about the Oberon mailing list