[Oberon] FPGA - nRF24L01 connection

Tomas Kral thomas.kral at email.cz
Wed Apr 11 19:06:14 CEST 2018

On Wed, 11 Apr 2018 13:54:31 +0100
Paul Reed <paulreed at paddedcell.com> wrote:

> Which RF24 library on the Pi are you using, and how have you
> installed it?

Hi Paul,

Sorry for being such nuisance, I did not mean to upset you :-)

I now use `RF24' linux(RPI) generic
examples, as `MySensors' gateway abstracts from it and uses specific
sensor messages, different to Oberon.
Compiled lib from  https://github.com/TMRh20/RF24.git.

I have tried two configurations with drivers RPi(default) and (SPIDEV)
They seem both working, at least I can read/write NRF registers.

I have coded simple ping/pong procedures in Oberon, and I run similar
in c++ on RPI.
It should send payloads with header back and forth, but still nothing
received at either end!!!
I realised `SCC.Mod' makes use of default RX/TX addresses, and 
I therefore set pipe 0,1 addresses to reset defaults.

const uint64_t pipes[2] = { 0xE7E7E7E7E7LL, 0xC2C2C2C2C2LL };

Also I set these to match `SCC.Mod'

// Setup and configure rf radio

// optionally, increase the delay between retries & # of retries

// Dump the configuration of the rf unit for debugging

My current RPI config below.

================ SPI Configuration ================
CSN Pin  	 = CE0 (PI Hardware Driven)
CE Pin  	 = Custom GPIO25
Clock Speed	 = 4 Mhz
================ NRF Configuration ================
STATUS		 = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7
TX_FULL=0 RX_ADDR_P0-1	 = 0xe7e7e7e7e7 0xc2c2c2c2c2
RX_ADDR_P2-5	 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR		 = 0xe7e7e7e7e7
RX_PW_P0-6	 = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA		 = 0x3f
EN_RXADDR	 = 0x02
RF_CH		 = 0x55
RF_SETUP	 = 0x07
CONFIG		 = 0x7e
DYNPD/FEATURE	 = 0x00 0x00
Data Rate	 = 1MBPS
Model		 = nRF24L01+
CRC Length	 = 16 bits
PA Power	 = PA_MAX

Many thanks for reading this.

Tomas Kral <thomas.kral at email.c

More information about the Oberon mailing list