Skip to content

Conversation

@PaulZC
Copy link
Contributor

@PaulZC PaulZC commented Dec 7, 2025

Improvements to make the web config more stable / reliable on WiFi:

  • In main.js, initialize the arrays during a fullPageUpdate
    • Previously, if the profile was changed, the incoming settings were appended to the existing arrays
    • This caused recordsECEF and recordsGeodetic to double in size, with a complete set of duplicate coordinates
    • This also caused the error "Too many correction souces"
    • etc...
  • recordProfileNumber validates the newProfileNumber before applying it
  • changeProfileNumber validates the newProfileNumber before applying it
  • The dynamic data gets its own PSRAM storage
    • This prevents it from overwriting settingsCSV when the settings write is slow
  • Likewise, the firmware version gets its own PSRAM storage
  • dynamicDataUpdateInterval and initialDataUpdateInterval prevent the dynamic data from being written to the web socket for 5000ms after the web socket handshake
    • This prevents the dynamic data from gatecrashing the settings write, giving it time to complete
    • Dynamic data is also paused during a profile change, when the new settingsCSV is uploaded
  • Strings being sent to the web socket are queued correctly via httpd_queue_work
  • double settingValue is cast to int or uint8_t where needed
    • This prevents erroneous prints during profile changes. Changing to profile number is no longer followed by a garbage profile number
  • settingsCSV is printed correctly instead of overflowing systemPrintf

@PaulZC PaulZC requested a review from nseidle December 7, 2025 15:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants