I am doing a Wireless Sensor Network project with nRF24L01 radio transceiver and i'm using RF24 Library.
The message that i want to send in network is a struct type payload which is made by:
struct payload_t {
unsigned long ms;
unsigned long counter;
uint16_t cipher[16];
};
I read about that, and it says that the new RF24 library have already implemented fragmentation of a message (because the maximum size of a message is 24 bytes, header - 8 bytes). So, after fragmentation, you are able to send up to 120 bytes just using send function one time.
Now, the first time it receives the message very well, but the second time, after the:
while ( network.available() ) {
it seems like the SRAM is full, and because of that my Arduino UNO board is reseting every time when it want to receive the second message.
When i'm using uint16_t cipher[8]; it works very well...
PaulS:
How would YOU solve the problem of trying to fit 16 people on an 8 passenger bus?
The obvious solution seems to be to use two buses, doesn't it?
You don't understand my problem:
First time the message is received, but the second time it seems that buffer fill all the empty space of SRAM...
P.S. I said that this issue is already resolved in the library, and if the "bus" is full, the library automatically sends the second "bus" without my help.
First time the message is received, but the second time it seems that buffer fill all the empty space of SRAM...
Proof? The code can not fill all of SRAM unless there is a buffer overflow. Which, of course there IS since you KNOW you can't put 16 people on an 8 passenger bus, but you do it anyway.