[Oberon] FPGA - nRF24L01 `RPI Net' server

Tomas Kral thomas.kral at email.cz
Thu May 17 18:56:44 CEST 2018


On Wed, 16 May 2018 18:02:17 +0100
Paul Reed <paulreed at paddedcell.com> wrote:

> See the state diagram in ch. 6.  In fact see the whole of ch. 6 and
> 7. :) The state diagram is a little ambiguous as to what PRIM_RX is
> in Standby-I mode.  But I think the text is clear.

Reading ch.6 again, realising few bits I do not quite get in `SCC.Mod'.

`SCC.SubSnd'
...
ELSIF res = 1 THEN WriteReg1(7, 10H); INC(try); (*MAX_RT: retransmits
exceeded; reset it*) IF try = SendTries THEN res := 0
        ELSE REPEAT UNTIL Kernel.Time() >= t1;
          SPICtrl({netEnable, netSelect}); (*start xmit pulse, start
NOP cmd again*) END
      END
...

We acknowledge MAX_RT clearing it. Then restart payload transmit. Why
is it possible without setting TX_REUSE?

`SCC.Rcvd'
...
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. 

-- 
Tomas Kral <thomas.kral at email.cz>


More information about the Oberon mailing list