LowPowerLab Forum

Hardware support => RF - Range - Antennas - RFM69 library => Topic started by: dave_sausages on September 13, 2016, 08:36:49 PM

Title: LoRa data doesn't get recieved when over a certain length.
Post by: dave_sausages on September 13, 2016, 08:36:49 PM
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.

Title: Re: LoRa data doesn't get recieved when over a certain length.
Post by: 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 ?

Title: Re: LoRa data doesn't get recieved when over a certain length.
Post by: dave_sausages on September 16, 2016, 12:46:32 AM
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 );
Title: Re: LoRa data doesn't get recieved when over a certain length.
Post by: Tostaki on September 19, 2016, 03:39:33 AM

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);