- Adjust tasks to pin to specific cores:
- WiFi: PRO_CPU
- LwIP: APP_CPU
- OpenMRN: PRO_CPU (inherit app_main)
- Esp32WiFiManager: float priority 3
- StatusLED: APP_CPU priority 3
- HttpServer: Listener runs standalone, HttpServer leverages Esp32WiFiManager Executor.
- TWAI: ISR APP_CPU, task float priority is one less than LwIP.
- RMT: ISR PRO_CPU
- DCC: ULP current sense / ACK.
- Implementation of ULP code to read ADC and wake main SoC when thresholds breached.
- Disable track when short occurs.
- Enable track when short has cleared.
- Send short/shutdown events for OPS.
- Shunt support
- DCC: ProgrammingTrackBackend support (UWT-100 dependency).
- Deps: Remove nlohmann_json dependency in favor of cJSON.
- Docs: Add user guide and how to build guide under docs tree.
- OpenLCB: Verify bootloader firmware update works as expected.
- RailCom: Verify timing of cut-out and adjust timing delay counts.
- RailCom: Verify incoming data stream with logic analyzer.
- RailCom: Integrate RailCom hub with rest of stack (TrainSearch, Prog Backend, etc).
- TrainDB: reduce function types to: light, horn (momentary), bell, mute, coupler, other, other (momentary).
- TrainDB: Remove Marklin support.
- TrainDB: Enable editing via loco CDI.
- AccessoryDecoderDB: Verify all functionality.
- AccessoryDecoderDB: Directly consume OpenLCB events.
- AccessoryDecoderDB: Add name to decoder.
- TempSensor: Move ADC read into ULP.
- WebUI: Cross check against WebServer.cpp for uniformity in parameters/json.
- WebUI: Test all endpoints.
- WebUI: Roster save via WS.
- WebUI: Expose FastClock configuration (non-realtime).
- FastClock: Re-add FastClock support.
- Build: Add automatic config selector for PCB, "Uno" form-factor with L298, etc.
- Build: Improve robustness of gzip search.
- RailCom: Migrate Esp32RailComDriver to use HAL APIs (portability work)
- RailCom: Login packet support.
- TrainDB: Configurable timeout for idle trains.
- TrainDB: Customizable function label names.
- TrainSearch: General code formatting / cleanup
- TrainSearch: Move e-stop handling to this module rather than main.
- WebServer: Document all endpoints and data formats (including WS)
- WebUI: urldecode all field data from json.
- WebUI: Add function name/label editing via web interface.
- WebUI: Show remaining characters for various text fields.
- WebUI: Filtering of accessories/locos.
- WiThrottle support.
- Build: IDF v5+ migrate from driver/timer.h to driver/gptimer.h
- TrainDB: Expose via Memory Space?
- AccessoryDecoderDB: Routes.
- Import roster/routes/accessories from JMRI
- Build: Migrate to IDF components rather than submodules?
[x] Remove dedicated task from Esp32WiFiManager in favor of state flows. [ ] Verify OSSelectWakeup and TWAI is not using VFS sem after invalidation.
- Further refinements in Esp32Gpio.
- DCC: DCC-14 speed step support
- Add option for inline translation in Esp32Ws2812 rather than on-demand translation.
- Add support for more LED types in Esp32Ws2812.
- Expose HttpRequest::param(string name, string default)