API reference

Authoritative declarations live under inc/. Run Doxygen (doxygen _config/Doxyfile) for HTML cross-links.

Transport — fdo2::UartInterface<Derived>

CRTP base. Implement:

  • void write(const uint8_t* data, size_t length);
  • size_t read(uint8_t* out, size_t max, uint32_t timeout_ms);
  • void flush_rx();
  • Optional void delay_ms_impl(uint32_t ms);

Driver — fdo2::Driver<UartT>

Method Description
ReadVersion() #VERSVersionInfo (D, N, R, S)
ReadUniqueId() #IDNRuint64_t
MeasureMoxy() #MOXYMoxyReading
MeasureMraw() #MRAWMrawReading
FlashLogo() #LOGO
SetLineTimeoutMs / SetMeasureTimeoutMs / SetSlowCommandTimeoutMs UART timeouts
LastDeviceErrorCode() Parsed E after #ERRO

Types — fdo2_types.hpp

  • DriverResult<T>, DriverError, ToString(DriverError)
  • VersionInfo, FirmwareRevisionToDouble(R)
  • MoxyReading, MrawReading
  • moxy_status::* bitmask constants
  • MoxyStatusOkForOxygen(uint32_t s) — true if S ≤ 1
  • VolumePercentO2(p_o2_hpa, p_air_mbar)
  • kFdo2G2DefaultBaud, kFdo2G2PowerUpSettleMs

Umbrella include

1
#include "fdo2.hpp"

Next: Examples →