|
HF-FDO2 Driver 0.1.0-dev
UART driver for PyroScience FDO2-G2 (data sheet v5 §4: #MOXY, #MRAW, #VERS)
|
Header-only C++17 UART client for the PyroScience FDO2-G2 optical oxygen sensor (data sheet v5, §4 UART API): #VERS, #IDNR, #MOXY, #MRAW, #LOGO, with engineering-unit decoding, optional CRC suffix stripping, and #ERRO codes via LastDeviceErrorCode(). Default baud after power-up is 19200 8N1.
Live documentation (GitHub Pages) — Installation, UART protocol tables, CMake, API summary, and troubleshooting.
The driver targets read-only measurement commands suitable for host firmware: fast **#MOXY** for control loops and richer **#MRAW** when you need vent-side pressure P, internal RH H, dphi, and intensities. Flash-writing commands (#CALO, #CAHI, #CRCE, #SETM, #BAUD, …) are intentionally not implemented here (endurance and power-stability constraints in the data sheet).
fdo2::UartInterface<Derived> — no virtual calls; you provide write / read / flush_rx.fdo2::Driver<UartT>** — ReadVersion, ReadUniqueId, MeasureMoxy, MeasureMraw, FlashLogo; timeouts configurable per command class.build_app.sh matrix): UART1, default TX=GPIO47 / RX=GPIO21, 19200 8N1, shared template Fdo2EspIdfUart — see examples/esp32/.CMake:
Application:
| Topic | Link |
|---|---|
| Doc hub | docs/index.md |
| UART protocol | docs/uart_protocol.md |
| API / CMake / hardware | docs/ |
| Doxygen | _config/Doxyfile → run doxygen _config/Doxyfile from repo root |
examples/esp32/scripts/build_app.shUse the FDO2-G2 data sheet and firmware notes for calibration, measurement modes, broadcast, and flash lifetime. Other PyroScience products may use different UART command sets.
MIT — see [LICENSE](LICENSE).