[Oberon] FPGA - nRF24L01 `RPI Net' server

Tomas Kral thomas.kral at email.cz
Thu May 24 09:03:01 CEST 2018

On Thu, 24 May 2018 06:45:54 +0200
Jörg <joerg.straube at iaeth.ch> wrote:

> head1.typ is very important as it steers/controls the whole state
> machine of Net.Mod.

Now I see, Net.Mod states = (0, 1, 2, 4, 5).
5 means `no repsonse' and is set by the timeout, head1.typ = 255;

But I need to somehow distinguish when the receive transaction
completes through a timeout normally (last seqno) / abnormally
(lost seqno).


IF done THEN Files.Register(F); (**) head1.typ := 0 (**); reply(0) ELSE
end := 0 END

Introduce a new / reuse an existing message, confirming normal transfer
completion, telling last seqno sent, file transfer done and complete.

Increase delay in SCC.ReceiveHead()
from IF Rcvd(0) THEN
to IF Rcvd(50) THEN (* just a guess *), but this may be unreliable

In all cases, 255 is kept in the header1 and confuses next Net file
user operation. Net.ReceiveHead() needs typically 20> iterations until
it sees data and only then SCC.ReceiveHead() clears the receiver.

Tomas Kral <thomas.kral at email.cz>

More information about the Oberon mailing list