I'm thinking I've found the maximum data length that you can transmit with a LoRa, but I'm not sure, it's always listed in octets and that confuses me.
When I send this "0,0,-6,0,0,0,0,0,0" it is received fine at the other end.
But when my sending unit collects some more data and fills in the zeros and makes this: "0,0,-6,0,0,0,389,0,398" the receiving node stops receiving the data and printing it on the serial interface.
Have I reached the message length limit on my LoRa module?
**edit** I have now found that if I comment out this line that puts it in slow and long distance mode on both modules, it works fine.
rf95.setModemConfig(RH_RF95::Bw31_25Cr48Sf512);
But I'm not using the reliable datagram library, so there should be no timeout's happening, and the data is sending once every 5 seconds, and takes 1.2 seconds to send according to rf95.mode(), so why's it not working with large data at slow rates? the units are 1m apart too.
According to the LoRa Calculator, you should have a 1381ms Air time.
So far I did not test which more than 15 Bytes payload. I had no issue to get data transfered. The library works, according to the code, with a maximum 251 bytes payload
By using the HeaderXXX() functions I prevented the payload to be transmitted and / or received. Did you used that ones ?
Quote from: Tostaki on September 14, 2016, 03:51:27 AM
According to the LoRa Calculator, you should have a 1381ms Air time.
So far I did not test which more than 15 Bytes payload. I had no issue to get data transfered. The library works, according to the code, with a maximum 251 bytes payload
By using the HeaderXXX() functions I prevented the payload to be transmitted and / or received. Did you used that ones ?
Can you explain what you mean? I don't understand. I am just using this to send the data:
sendLen = strlen(buffer); //get the length of buffer
rf95.send((uint8_t*)buffer, sendLen + 1 );
Ok if you did not used the header function, that does not come from there. The +1 is a bit weird. According to the lib examples, there is no +1.
By the way, how is the RSSI value when transmitting ?
For the send code, just try
rf95.send((uint8_t*)buffer, sendLen);