[Oberon] FPGA - nRF24L01 `RPI Net' server

Paul Reed paulreed at paddedcell.com
Thu May 17 20:05:39 CEST 2018


Hi Tomas,

> void RF24::reUseTX(){
>       write_register(NRF_STATUS,_BV(MAX_RT) ); //Clear max retry
>       spiTrans( REUSE_TX_PL );
>       ce(LOW);    //Re-Transfer packet
> //    delayMicroseconds(10);
>       ce(HIGH);
> }
>
> as it also does things without REUSE_TX but with 10 us.

Except the 10uS delay is commented out, I have no idea what will happen in
that case.


> Why is it possible without setting TX_REUSE?

The TX_REUSE feature allows you to send the same payload again, should you
wish to.  I imagine all it does is actually *stops* the packet from being
removed from the FIFO in the event of a successful transmission.  See ch.
8.

> SPI(17H); (*R_REGISTER FIFO_STATUS*)
> SYSTEM.GET(spiData, status);
> SPI(-1); SYSTEM.GET(spiData,fifoStatus); (*NOP*)
...

> I would expect to read fifoStatus and then status in this order, though
it works as is.

No.  See (again) ch. 8 to understand how SPI transactions work: bytes are
sent and received at the same time.

Cheers,
Paul




More information about the Oberon mailing list