Hello,
I have adapted some of the ESB proprietary Protocol from the NRF SDK into my own project without installing the SDK directly; however, complete integration seems out of reach due to Arduino's overlapping functionality.
With that being said, my goal is to develop a simple dedicated Transmitter and Receiver pair on two separate NRF52840s. No acknowledgements are needed due to time constraints. Below are the current steps I have taken to initialize the RADIO in the transmitter and receiver, respectively. Currently, the receiver cannot seem to capture any packets despite the two boards being <20cm.
I was able to verify that each respective board is in TX (during packet transmission) and RX RADIO states when expected. I was wondering if there are any issues with my current initialization as the ADDRESS event never triggers on the receiver. I also have surrounded each initialization with "assert" to fall in line with the NRF52840 RADIO specifications.
Transmitter Initialization:
PCNF0 Register:
LFLEN | 8 |
S0LEN | 0 |
S1LEN | 0 |
S1INC | 0 |
CILEN | 0 |
PLEN | 2 |
CRCINC | 0 |
TERMLEN | 0 |
PCNF1 Register:
MAXLEN | 255 |
STATLEN | 0 |
BALEN | 4 |
ENDIAN | 0 |
WHITEEN | 1 |
BASE0 = 0xABCDDBF5
PREFIX0.AP0 = 0xEF
TXADDRESS = 0x00
FREQUENCY = 0x00
CRCCNF:
LEN | 2 |
SKIPADDR | 0 |
CRCPOLY = 0xd175
Receiver Initialization:
PCNF0 Register:
LFLEN | 8 |
S0LEN | 0 |
S1LEN | 0 |
S1INC | 0 |
CILEN | 0 |
PLEN | 2 |
CRCINC | 0 |
TERMLEN | 0 |
PCNF1 Register:
MAXLEN | 255 |
STATLEN | 0 |
BALEN | 4 |
ENDIAN | 0 |
WHITEEN | 1 |
BASE0 = 0xABCDDBF5
PREFIX0.AP0 = 0xEF
RXADDRESSES = 0x01
FREQUENCY = 0x00
CRCCNF:
LEN | 2 |
SKIPADDR | 0 |
CRCPOLY = 0xd175