SE050 Driver
API reference
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
se050::I2cTransceiveInterface< Derived > Class Template Reference

Curiously recurring transport interface for SE050 I²C masters. More...

#include <se050_i2c_transport_interface.hpp>

Public Member Functions

 I2cTransceiveInterface () noexcept=default
 
 I2cTransceiveInterface (const I2cTransceiveInterface &)=delete
 
I2cTransceiveInterface & operator= (const I2cTransceiveInterface &)=delete
 
Error Write (const std::uint8_t *tx, std::size_t tx_len, std::uint32_t timeout_ms) noexcept
 One-shot write of tx_len bytes to the SE050 I²C target address.
 
Error Read (std::uint8_t *rx, std::size_t rx_len, std::uint32_t timeout_ms) noexcept
 Read exactly rx_len bytes from the SE050 (blocking until complete or error).
 
bool EnsureInitialized () noexcept
 
Error Transceive (const std::uint8_t *tx, std::size_t tx_len, std::uint8_t *rx, std::size_t rx_cap, std::size_t *rx_len_out, std::uint32_t timeout_ms) noexcept
 
Error HardwareReset () noexcept
 
void delay_ms (std::uint32_t ms) noexcept
 

Protected Member Functions

 ~I2cTransceiveInterface () noexcept=default
 
 I2cTransceiveInterface (I2cTransceiveInterface &&) noexcept=default
 
I2cTransceiveInterface & operator= (I2cTransceiveInterface &&) noexcept=default
 

Detailed Description

template<typename Derived>
class se050::I2cTransceiveInterface< Derived >

Curiously recurring transport interface for SE050 I²C masters.

Template Parameters
DerivedConcrete transport (class D : public I2cTransceiveInterface<D>).
Derived requirements
The derived type must implement (all noexcept):

Constructor & Destructor Documentation

◆ I2cTransceiveInterface() [1/3]

template<typename Derived >
se050::I2cTransceiveInterface< Derived >::I2cTransceiveInterface ( )
defaultnoexcept

◆ I2cTransceiveInterface() [2/3]

template<typename Derived >
se050::I2cTransceiveInterface< Derived >::I2cTransceiveInterface ( const I2cTransceiveInterface< Derived > &  )
delete

◆ ~I2cTransceiveInterface()

template<typename Derived >
se050::I2cTransceiveInterface< Derived >::~I2cTransceiveInterface ( )
protecteddefaultnoexcept

◆ I2cTransceiveInterface() [3/3]

template<typename Derived >
se050::I2cTransceiveInterface< Derived >::I2cTransceiveInterface ( I2cTransceiveInterface< Derived > &&  )
protecteddefaultnoexcept

Member Function Documentation

◆ delay_ms()

template<typename Derived >
void se050::I2cTransceiveInterface< Derived >::delay_ms ( std::uint32_t  ms)
inlinenoexcept

◆ EnsureInitialized()

template<typename Derived >
bool se050::I2cTransceiveInterface< Derived >::EnsureInitialized ( )
inlinenoexcept

◆ HardwareReset()

template<typename Derived >
Error se050::I2cTransceiveInterface< Derived >::HardwareReset ( )
inlinenoexcept

◆ operator=() [1/2]

template<typename Derived >
I2cTransceiveInterface & se050::I2cTransceiveInterface< Derived >::operator= ( const I2cTransceiveInterface< Derived > &  )
delete

◆ operator=() [2/2]

template<typename Derived >
I2cTransceiveInterface & se050::I2cTransceiveInterface< Derived >::operator= ( I2cTransceiveInterface< Derived > &&  )
protecteddefaultnoexcept

◆ Read()

template<typename Derived >
Error se050::I2cTransceiveInterface< Derived >::Read ( std::uint8_t *  rx,
std::size_t  rx_len,
std::uint32_t  timeout_ms 
)
inlinenoexcept

Read exactly rx_len bytes from the SE050 (blocking until complete or error).

◆ Transceive()

template<typename Derived >
Error se050::I2cTransceiveInterface< Derived >::Transceive ( const std::uint8_t *  tx,
std::size_t  tx_len,
std::uint8_t *  rx,
std::size_t  rx_cap,
std::size_t *  rx_len_out,
std::uint32_t  timeout_ms 
)
inlinenoexcept

◆ Write()

template<typename Derived >
Error se050::I2cTransceiveInterface< Derived >::Write ( const std::uint8_t *  tx,
std::size_t  tx_len,
std::uint32_t  timeout_ms 
)
inlinenoexcept

One-shot write of tx_len bytes to the SE050 I²C target address.


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