HF-FDO2 Driver 0.1.0-dev
UART driver for PyroScience FDO2-G2 (data sheet v5 ยง4: #MOXY, #MRAW, #VERS)
Loading...
Searching...
No Matches
fdo2::Driver< UartT > Class Template Reference

FDO2-G2 UART client. More...

#include <fdo2_driver.hpp>

Public Member Functions

 Driver (UartT &uart) noexcept
 
void SetLineTimeoutMs (uint32_t ms) noexcept
 
void SetMeasureTimeoutMs (uint32_t ms) noexcept
 
void SetSlowCommandTimeoutMs (uint32_t ms) noexcept
 
uint32_t GetLineTimeoutMs () const noexcept
 
uint32_t GetMeasureTimeoutMs () const noexcept
 
int32_t LastDeviceErrorCode () const noexcept
 
DriverResult< VersionInfoReadVersion () noexcept
 
DriverResult< uint64_t > ReadUniqueId () noexcept
 
DriverResult< MoxyReadingMeasureMoxy (uint32_t timeout_ms=0U) noexcept
 Single oxygen + temperature + status round-trip (typically < ~150 ms for M=2).
 
DriverResult< MrawReadingMeasureMraw (uint32_t timeout_ms=0U) noexcept
 Same measurement plus raw optics / vent-path pressure / internal RH.
 
DriverResult< void > FlashLogo () noexcept
 Flash the status LED (identification).
 

Detailed Description

template<typename UartT>
class fdo2::Driver< UartT >

FDO2-G2 UART client.

Template Parameters
UartTConcrete type inheriting UartInterface<UartT>.

Constructor & Destructor Documentation

◆ Driver()

template<typename UartT >
fdo2::Driver< UartT >::Driver ( UartT & uart)
inlineexplicitnoexcept

Member Function Documentation

◆ FlashLogo()

template<typename UartT >
DriverResult< void > fdo2::Driver< UartT >::FlashLogo ( )
inlinenoexcept

Flash the status LED (identification).

◆ GetLineTimeoutMs()

template<typename UartT >
uint32_t fdo2::Driver< UartT >::GetLineTimeoutMs ( ) const
inlinenoexcept

◆ GetMeasureTimeoutMs()

template<typename UartT >
uint32_t fdo2::Driver< UartT >::GetMeasureTimeoutMs ( ) const
inlinenoexcept

◆ LastDeviceErrorCode()

template<typename UartT >
int32_t fdo2::Driver< UartT >::LastDeviceErrorCode ( ) const
inlinenoexcept

◆ MeasureMoxy()

template<typename UartT >
DriverResult< MoxyReading > fdo2::Driver< UartT >::MeasureMoxy ( uint32_t timeout_ms = 0U)
inlinenoexcept

Single oxygen + temperature + status round-trip (typically < ~150 ms for M=2).

◆ MeasureMraw()

template<typename UartT >
DriverResult< MrawReading > fdo2::Driver< UartT >::MeasureMraw ( uint32_t timeout_ms = 0U)
inlinenoexcept

Same measurement plus raw optics / vent-path pressure / internal RH.

◆ ReadUniqueId()

template<typename UartT >
DriverResult< uint64_t > fdo2::Driver< UartT >::ReadUniqueId ( )
inlinenoexcept

◆ ReadVersion()

template<typename UartT >
DriverResult< VersionInfo > fdo2::Driver< UartT >::ReadVersion ( )
inlinenoexcept

◆ SetLineTimeoutMs()

template<typename UartT >
void fdo2::Driver< UartT >::SetLineTimeoutMs ( uint32_t ms)
inlinenoexcept

◆ SetMeasureTimeoutMs()

template<typename UartT >
void fdo2::Driver< UartT >::SetMeasureTimeoutMs ( uint32_t ms)
inlinenoexcept

◆ SetSlowCommandTimeoutMs()

template<typename UartT >
void fdo2::Driver< UartT >::SetSlowCommandTimeoutMs ( uint32_t ms)
inlinenoexcept

The documentation for this class was generated from the following file: