HF-FDO2 Driver 0.1.0-dev
UART driver for PyroScience FDO2-G2 (data sheet v5 §4: #MOXY, #MRAW, #VERS)
Loading...
Searching...
No Matches
hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes > Class Template Reference

Template UART bridge: one concrete type per (port, TX, RX, baud) tuple. More...

#include <hf_fdo2_esp_uart.hpp>

Inheritance diagram for hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes >:
[legend]
Collaboration diagram for hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes >:
[legend]

Public Member Functions

void write (const std::uint8_t *data, std::size_t len) noexcept
 
std::size_t read (std::uint8_t *out, std::size_t max, std::uint32_t timeout_ms) noexcept
 
void flush_rx () noexcept
 
void delay_ms_impl (std::uint32_t ms) noexcept
 
- Public Member Functions inherited from fdo2::UartInterface< Derived >
void write (const uint8_t *data, std::size_t length) noexcept
 
std::size_t read (uint8_t *out, std::size_t max, uint32_t timeout_ms) noexcept
 
void flush_rx () noexcept
 
void delay_ms (uint32_t ms) noexcept
 

Static Public Member Functions

static esp_err_t Install () noexcept
 

Detailed Description

template<uart_port_t kPort, int kTxGpio, int kRxGpio, std::uint32_t kBaud = fdo2::kFdo2G2DefaultBaud, int kRxBufBytes = 2048, int kTxBufBytes = 0>
class hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes >

Template UART bridge: one concrete type per (port, TX, RX, baud) tuple.

Call Install() once before constructing fdo2::Driver<Fdo2EspIdfUart<...>>. MCU TX → sensor RX, MCU RX ← sensor TX. 8N1, no flow control (FDO2-G2 §4).

Member Function Documentation

◆ delay_ms_impl()

template<uart_port_t kPort, int kTxGpio, int kRxGpio, std::uint32_t kBaud = fdo2::kFdo2G2DefaultBaud, int kRxBufBytes = 2048, int kTxBufBytes = 0>
void hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes >::delay_ms_impl ( std::uint32_t ms)
inlinenoexcept

◆ flush_rx()

template<uart_port_t kPort, int kTxGpio, int kRxGpio, std::uint32_t kBaud = fdo2::kFdo2G2DefaultBaud, int kRxBufBytes = 2048, int kTxBufBytes = 0>
void hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes >::flush_rx ( )
inlinenoexcept

◆ Install()

template<uart_port_t kPort, int kTxGpio, int kRxGpio, std::uint32_t kBaud = fdo2::kFdo2G2DefaultBaud, int kRxBufBytes = 2048, int kTxBufBytes = 0>
static esp_err_t hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes >::Install ( )
inlinestaticnoexcept

◆ read()

template<uart_port_t kPort, int kTxGpio, int kRxGpio, std::uint32_t kBaud = fdo2::kFdo2G2DefaultBaud, int kRxBufBytes = 2048, int kTxBufBytes = 0>
std::size_t hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes >::read ( std::uint8_t * out,
std::size_t max,
std::uint32_t timeout_ms )
inlinenoexcept

◆ write()

template<uart_port_t kPort, int kTxGpio, int kRxGpio, std::uint32_t kBaud = fdo2::kFdo2G2DefaultBaud, int kRxBufBytes = 2048, int kTxBufBytes = 0>
void hf_fdo2_examples::Fdo2EspIdfUart< kPort, kTxGpio, kRxGpio, kBaud, kRxBufBytes, kTxBufBytes >::write ( const std::uint8_t * data,
std::size_t len )
inlinenoexcept

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