Closed Gepsonka closed 1 year ago
Hi,
Once packet transmitted, sx127x will generate an interrupt. If you try to send another packet before receiving this interrupt, then it will be corrupted. It seems that 50ms is not enough to send the packet using selected bandwidth, coding rate &etc.
If you need to send packets continuously, then have a look at example: https://github.com/dernasherbrezon/sx127x/blob/main/examples/transmit/main/main.c#L33
It will send several packets one after another.
Since 50ms is not enough lora_tx_queue will overflow eventually. You need to conflate/throttle incoming messages somehow.
Thank you for the help, I changed the bandwidth and now it works.
I could not resolve a problem with transmitting messages continuously.
I have a task which has a queue and other tasks can send packet for transmission.
Expected behaviour
Transmitting every single packet.
Actual behaviour
It transmits every 3rd-4th packet when a task sending packets every 50ms and I have to always set back the mode to SX127x_MODE_RX_CONT to send the packets.
Code:
(It is not finished, but should trasmit...)
Packet sender task: