WiFi.SSID() returns a temporary String object. Calling .c_str() on it returns a pointer to the internal buffer, but the String is destroyed at the end of the statement - leaving a dangling pointer. Fix by caching the SSID in a member variable when connection state changes, and returning a pointer to that stable storage. Also fix getWiFiStatus() in MyMesh.cpp which was using WiFiState enum values instead of NetworkState (the interface return type).
Heltec V3 MeshCore Repeater
A standalone MeshCore LoRa mesh repeater for the Heltec WiFi LoRa 32 V3.
Build
pio run
Flash
Via USB:
pio run -t upload
Via OTA:
- Connect to serial:
screen /dev/ttyUSB0 115200 - Type:
start ota - Join WiFi:
MeshCore-OTA - Browse to:
http://192.168.4.1/update - Upload:
.pio/build/heltec_v3_repeater/firmware.bin
Monitor
pio device monitor
Configuration
Edit platformio.ini:
-D ADVERT_NAME='"RPM Repeater"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
Dependencies
Requires MeshCore library at ../MeshCore.
Docs
See docs/ for detailed documentation.
Description
Languages
C++
100%