[Oberon] FPGA - nRF24L01 `RPI Net' server
joerg.straube at iaeth.ch
Wed May 30 11:23:15 CEST 2018
ARC and SCC.SendTries try to solve the same issue but on different levels:
- ARC retransmits the 32 bytes on chip level.
- SendTries repeats sending those 32 bytes on driver (SCC) level.
With your change of ARC=15 and SendTries (most probably still at 50), SubSnd tries to send those 32 bytes 750 times until it gives up.
750 is perhaps a little high!
Try to count how many retransmits on chip level and how many retries on driver level are needed until the packets went thru.
From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of Tomas Kral
Sent: Wednesday, May 30, 2018 9:30 AM
To: oberon at lists.inf.ethz.ch
Subject: Re: [Oberon] FPGA - nRF24L01 `RPI Net' server
On Wed, 30 May 2018 07:24:39 +0200
Jörg <joerg.straube at iaeth.ch> wrote:
> In ideal conditions without any retransmits Net.SendFiles would need
> 1.5 seconds to transmit your NRF.Mod (6158 bytes)
Good, this is an ideal target, I may one day get close to.
> As you need about four times as long, there must be many retransmits
> going on under the hood. Did you move the channel out of the way of
> possible Wifi in your environment? Try setting the channel to
> something bigger than 86 —> WriteReg1(RFCH, 86);
True, I have quite a few retransmits, with or without decoupling caps.
Also tried various other power supplies. Will try to play with channels once again.
> rPi and your Oberon board is roughly 1 meter, try set the power level
> to -18 dBm. —> WriteReg1(RFSETUP, 0);
In fact 10cm, that was my first discovery, with full power, 0dBm, 30% ping was the usual standard, now I get 98-99%. Also `SCC.SubSnd()'
delay has some influence on it.
I have added these lines to `SCC.Start()',
WriteReg1(4, 0*010H + 15); (*SETUP_RETR delay + retry count*) WriteReg1(6, 03H); (*RF_SETUP <= 1Mb rate, 0dBm wide range, -12dBm short reach*)
Will try -18dBm again, last time noticeable improvement was the stepdown from 0dBm to -12dBm.
Tomas Kral <thomas.kral at email.cz>
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems https://lists.inf.ethz.ch/mailman/listinfo/oberon
More information about the Oberon