I am currently trying to develop a proprietary radio communication protocol using the NRF radio peripheral.
However, my application is not working out yet.
I am wondering if it has something to do with the packet pointer and packet structure that I am using.
I have tried different packet structures such as:
1. uint8_t packet;
2. uint8_t packet[x];
3. uint8_t packet[x][y];
And, after populating the packet with some random values, I define the packet pointer as
// for case 1 NRF_RADIO->PACKETPTR = (uint32_t)&packet // for case 2 NRF_RADIO->PACKETPTR = (uint32_t)&packet[z] // for case 3 NRF_RADIO->PACKETPTR = (uint32_t)&packet[w]
In my opinion, the radio should populate the received data right at the memory address provided by the pointer and the structure of the place holder should not really matter.
similarly, for the transmitter case, the radio should just refer to the memory address provided by the pointer and just send whatever is there.
However, I am not sure about anything and I just want to make sure, the structure of the packet to which the pointer is pointing does not really matter. I can imagine the size of the structure might matter in correct capturing the packets, but, overall, it should not impede the radio to populate the address.
Thanks.