Repository navigation
Releases
Releases · AOG-silrep/esp32-xbee
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.6.4
fix restarts going through a panic from a too high task priority config_restart() created its task at TASK_PRIORITY_MAX, 100, but FreeRTOS only takes priorities below configMAX_PRIORITIES (25). IDF 5 asserts on that, so every OTA, config save and config reset rebooted through a panic instead of esp_restart(). The panic overwrote the stored core dump each time, skipped the 1 s delay, and could drop the OTA reply, so the update page reported a connection error although the update had worked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.6.3
New
- F9P receiver panel. A new card at the bottom of the web page writes one of two configs to the ZED-F9P over the UART: dual-GPS moving base, or RS-232 NMEA output. It also reads back the current mode, UART2 baud and message rates, and can check every key in RAM and flash against what a write would set.
- In RS-232 mode you pick the GGA/VTG/RMC/GSA rates (up to 10/5/2/1 Hz) and the UART2 baud (19200 or 38400) on the panel.
- Corrections to the receiver pause while the ESP32 talks to it: about 6–10 s for a write, 0.35 s for a read, 7 s for a check.
- New endpoints:
POST /f9p/config,GET /f9p/config,POST /f9p/check.
- Distance to the base station and RTK accuracy. The base position is read from RTCM 1005/1006 in the correction stream. The NTRIP client card shows the 3D, horizontal and vertical distance to the base in ft/mi, plus the base ID and correction age.
- The same data is in
/statusunderrtk(in metres) and in a$PESP,NTRIP,CLI,BASE,...sentence sent every 5 s. - On a VRS mountpoint, the distance is to the virtual station, not a physical CORS.
- The same data is in
- Receiver status on the UART card. Fix, satellites, HDOP, VDOP (from GSA) and 1-sigma lat/lon/alt (from GST) are now shown on the UART card, and they work with the NTRIP client off.
- Mountpoint picker. A Scan button on the NTRIP client card fetches the caster's sourcetable. Mountpoints are grouped as open or login required, show format, fee and distance, and are sorted nearest first when there is a fix. It works before you save settings.
Fixes
- The NTRIP and socket clients now reconnect right away when the server closes the connection. Before, the read loop spun on EOF. The NTRIP client ignored the caster for 15–30 s, and the socket client never reconnected if the UART was quiet.
- The NTRIP client now clears its caster-ready flag on disconnect, so it stops taking GGA while disconnected.
- Sourcetable replies with
HTTP/1.0 200 OKare now accepted.
Build / internal
dependencies.lockis now committed, pinningespressif/mdnsto 1.11.3.CONFIG_MDNS_ENABLE_BROWSE=yis set insdkconfig.- The web server buffer goes from 2048 to 4096 bytes and the URI handler limit from 10 to 12.
index.htmlnow declares UTF-8. tools/f9p/holds the u-center dumps.tools/f9p_config_gen.pygeneratesmain/f9p_config_data.hfrom them, and--checkreports when the header is out of date.
Upgrade notes
Important
Flash www.bin as well as the app. The page changes are in the www SPIFFS image, so an app-only OTA keeps the old page. The /status fields and the $PESP sentence still work without it.
- The F9P panel needs UBX input turned on for UART1 on the receiver. If it's off, set
CFG-UART1INPROT-UBXonce in u-center. Reading and checking also need the F9P's TX wired to the ESP32's RX. - Sigma and VDOP only show if the receiver outputs GST and GSA on the port wired to the ESP32.
Full Changelog: v0.6.2...v0.6.3
v0.6.2
v0.6.2
Added
- Reset to defaults button in the web UI, below the log button, with a
confirmation dialog. It returns settings to their defaults but keeps the
hotspot settings, so the device stays reachable on its own access point.
Wi-Fi station settings are also kept unless you tick the checkbox in the
dialog. Holding GPIO0 for 5 seconds still wipes everything, hotspot included. - Heartbeat on the onboard LED (GPIO 13), for boards like the Adafruit
HUZZAH32 whose only built-in LED is on that pin.- Normal: alternates bright and dim at 1 Hz, never fully off.
- Fault: blinks fully off at 5 Hz. This means a Wi-Fi station is configured
but not connected. Running in hotspot-only mode is not a fault.
Changed
- Status LED defaults: hotspot red, Wi-Fi station blue, NTRIP client
green. Before this, the hotspot and NTRIP client defaulted to off and showed
nothing. Brightness is unchanged.
Upgrade notes
- The reset button is part of the web files image (
www.bin). If you update
only the app over OTA, the button won't appear; flashwww.bintoo. The
POST /config/resetendpoint works with just the app update. - The new colors only apply where no color has been saved. A board that has
saved its settings keeps its old colors. Holding GPIO0 for 5 seconds clears
them and applies the new defaults. - GPIO 13 is now always used for the heartbeat LED, on every board. It can no
longer be used for JTAG (MTCK) or anything else.
v0.6.1
Changelog
v0.6.1
Changes since forking from nebkat/esp32-xbee master (fork point 8fc008a).
Platform
- Upgrade to ESP-IDF v5.4.4 — migrates deprecated APIs (netif STA list, OTA app description, mDNS includes), fixes
accept()socklen_ttype, updates thebuttonsubmodule to an IDF5-compatible commit, regenerates sdkconfig, adds pinned CI build workflow (01cab5f)
Networking
- WiFi AP now disables itself 5 minutes after the STA gets an IP if no AP clients are connected; fixed a bug that incorrectly marked the AP active while STA was active (
9a0b1f7) - Assign a predictable last-octet IP (
.81) once an address is obtained, for easier access on the network (c3bf9e8) - Switch to
ntrip.localmDNS name for consistent device lookup, after discovering the fixed.81octet broke NTRIP connectivity (16d2eda) - Add more detailed logging for failed NTRIP connections (
dda3017) - Use semaphores to avoid race conditions in LED fading (
fe65ec1) - Increase interrupt watchdog timeout to 1000ms, giving OTA writes/NVS commits more headroom before tripping
ESP_INT_WDT(c6b68a7)
OTA / Firmware updates
- Add OTA update feature: repartition scheme + OTA buttons on the webpage (
45be23f) - Add a Linux upload script using
esptool(9ce7380)
Web UI
- Add a log viewer page, linked via a button on the main page (
33c6797), later moved from the footer onto the main page using the standard panel style (bbbf14a) - Add a CPU load panel (per-core load from FreeRTOS idle task counters, new
cpu_loadfield on/status); merge Uptime/Heap into the same "System" card; reflow Firmware/System/Log cards into the same row as NTRIP/Socket settings (f2b05b8) - Gray out the WiFi Hotspot panel when the AP times out from no clients (
2248cb1) - Rename page titles from "ESP32 XBee ..." to "ESP32 NTRIP ..." (
d5f77a2) - Increase webpage status poll rate from 2.5s to 1s (
e2d62db)
Housekeeping
- Point
buttonsubmodule at the AOG-silrep fork, bump to theesp_timermillis() commit (0fec6fe) - Add debug logging for button registration (
9485125) - Add
managed_components/to.gitignore(4dbe088)