- Rename project from RNodeTHV4 to RTNode-HeltecV4
- Update GitHub repo URL, firmware binary names (rtnode_heltec_v4.bin, rtnode_heltec_v3.bin)
- Replace 'boundary node' with 'transport node' in README and flash.py descriptions
- Update OLED title bar to 'RTNode'
- Bump version to v1.0.18
- V3 board profile defaults to DIO flash mode (QIO fails on some flash chips)
- flash.py: auto-verify on --erase/--full, post-flash boot monitoring with
auto-DIO retry on bootloop detection
- flash.py: erase keeps device in download mode (--after no_reset) to prevent
race condition on re-entry
- flash.py: remove --dio/--verify flags (now automatic), hidden --flash-mode
for power users
- RNode_Firmware.ino: release BT memory (~70KB) on V3 boundary where BT is
compile-time disabled
- RNode_Firmware.ino: add WDT resets throughout setup() to prevent timeout
during long init sequences
- RNode_Firmware.ino: fix while-not-Serial blocking on V3 (no USB-CDC)
- RNode_Firmware.ino: init bt_devname from WiFi MAC when BT disabled
- RNode_Firmware.ino: bootloop detection via RTC_NOINIT_ATTR -- forces config
portal after 5 rapid reboots
- Add Options section to captive portal with display blanking dropdown
- Options: Never, 1, 5, 10, 30, 60 minutes
- Change EEPROM blanking value from seconds to minutes (supports up to 255 min)
- Update Display.h and Utilities.h to interpret stored value as minutes
- Default blanking timeout changed from 15s to 1 minute
Bridges LoRa mesh and TCP/WiFi backbone networks using microReticulum.
Based on microReticulum_Firmware with boundary mode additions:
- BoundaryMode.h: State management and EEPROM persistence
- BoundaryConfig.h: WiFi captive portal for configuration
- TcpInterface.h: TCP backbone interface with HDLC framing
- Display.h: Custom OLED layout with network status indicators
- Transport/Identity library patches for embedded memory constraints