markqvist / RNode_Firmware

RNode is an open, free and flexible digital radio interface with many uses
https://unsigned.io/rnode
GNU General Public License v3.0
166 stars 56 forks source link

Added support for an ESP32 based model. #7

Closed scottrcarlson closed 4 years ago

scottrcarlson commented 4 years ago

I'm currently experiencing a lot of "random" crashes on my ESP32. The yield calls I believe are not necessary anymore.

I have another project that I'm utilizing esp32 and lora (same library) for a transparent serial bridge. I ended up removing all blocking calls from the main loop and calling LoRa.parsePacket instead of relying on the onReceive callback. I believe that callback is causing my wdt timeouts. The trick is to get that loop to cycle quick enough not to miss any inbound packets. I think this should be no problem.

I will look at this next weekend. I'd say hold off on this pull request. Otherwise, fully functional.

Would you prefer if I kept a fork and just targeted ESP32?

scottrcarlson commented 4 years ago

I'm still working on this, I'm thinking it might be worth keeping a separate version. I'm refactoring the existing code to keep the main loop cycle period low, (i.e. async calls to LoRa.endPacket, no calls to Delay() etc.) this will free up the control loop to do other things. Ultimate goal at this point is to have a Reticulum Station running in standalone on the ESP32 TTGO TBEAM board. I think this goal is "out-of-scope" for the existing hardware that RNode Firmware is targeting.

I have been experimenting/tinkering with your Reticulum Network Stack over the past month and am very excited to jump in and help out. This project is in direct alignment with my personal goals for comms systems that i've been prototyping over the past few years.

Thanks! -Scott