-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LoRa receiver (running example) stops receiving after a random period. #61
Comments
I have same problem from beginning, on this Heltec LoRa 32v2 and nodeMCU(atmega328P+Ra-02). Heltec.h is few libraries together. Now I am using standalone libraries and it works great. #include <Wire.h> // OLED // LORA Excuse my english and I am new here. |
I have the same issue, I had to detect the last time it receive and reinitialize lora after some time. |
Having the same issue! :/ |
Same issue. It seems it got much better after adding a yield(); after the line with LoRa.parsePacket(). Please share your experience using stand alone library. Thanks. |
I had the same problem with my heltec esp 32 LoRa - at any moment it just stopped taking! There is no such thing with a transmitter. // put the radio into receive mode just to "remind" each time the device that you need to keep taking! |
For me, adding the yield(); after the line with Lora.parsePacket(); did the trick! |
Hi, |
I found a solution !!! Many people have experienced this but until now no one had found a solution: This is a good workaround, but it wouldn't hurt for SEMTECH to understand why it happens
|
The yield() solution can be applied only if the code works in polling mode:
I do not know if this solution has some effect because working in polling mode my test are always passed without problems. And my test are really long, more than 800 000 TX and RX (ten transmissions per second for 24 hours) without any problem. While doing similar tests please work in isolated room and without antennas. The locking problem happens only when the code is in interrupt mode (with the DIO0 pin connected) and you register the onReceve() callback in the setup():
And in this scenario there is not a parsePacket() call. WHY APPARENTLY THE CALLBACK WORKS OK ? |
This software blows fat cocks, let it die.
…On Mon, Jul 22, 2024, 2:07 AM Livio Cicala ***@***.***> wrote:
The yield() solution can be applied only if the code works in polling mode:
void loop() {
// try to parse packet
int packetSize = LoRa.parsePacket();
yield();
. . .
. . . and so on. . .
I do not know if this solution has some effect because working in polling
mode my test are always passed without problems. And my test are really
long, more than 800 000 TX and RX (ten transmissions per second for 24
hours) without any problem. While doing similar tests please work in
isolated room and without antennas.
But the locking problem happens when the code is in interrupt mode (with
the DIO0 pin connected) and you register the onReceve() callback in the
setup():
// ---------------------------------------------- REGISTER CALLBACK
LoRa.onReceive(RTX_OnReceive);
// ---------------------------------------------- START RECEIVE
LoRa.receive();
. . .
—
Reply to this email directly, view it on GitHub
<#61 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ATMRKOBHWQMCAQODOXJMIHDZNSOT3AVCNFSM6AAAAABLGC54QSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBSGE2TSNBUHE>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
What software are you talking about? Or maybe there is something we should do that Semtech would do better to explain more clearly in the datasheets. |
I am working with two Heltec LoRa 32 (v2) boards
Programming on Arduino IDE 1.8.13
heltec.h (ESP32 Dev-Boards library) is version 1.1.0
Running the example found under
heltec ESP 32 Dev boards > LoRa> LoraReceiver & LoRaSender
(without modification).Powered via USB from a computer (also tried USB powered from a wall socket and off a 3.7V 650 mAh battery)
The issue I am encountering is that after a seemingly random period of time the
receiver
board no longer receives the signal. The loop() is still running but no signal is being reported.A hard reboot of the board works fine and it catches up with the sender almost immediately, but then given enough time will just lose connection again.
I have searched the other posts but can't find something similar reported. Is this a known issue? Any suggestions on how to resolve this? Thanks.
The text was updated successfully, but these errors were encountered: