idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
idfxx::i2c::master_device Class Reference

I2C device at a specific 7-bit address with register operations. More...

Public Member Functions

 master_device (std::shared_ptr< master_bus > bus, uint8_t address)
 Creates a new device on the specified bus.
 
 ~master_device ()
 
 master_device (const master_device &)=delete
 
master_deviceoperator= (const master_device &)=delete
 
 master_device (master_device &&)=delete
 
master_deviceoperator= (master_device &&)=delete
 
const std::shared_ptr< master_bus > & bus () const
 Returns the parent bus.
 
i2c_master_dev_handle_t handle () const
 Returns the underlying ESP-IDF device handle.
 
uint8_t address () const
 Returns the 7-bit device address.
 
void probe () const
 Probes the device.
 
template<typename Rep , typename Period >
void probe (const std::chrono::duration< Rep, Period > &timeout) const
 Probes the device.
 
result< void > try_probe () const
 Probes the device.
 
template<typename Rep , typename Period >
result< void > try_probe (const std::chrono::duration< Rep, Period > &timeout) const
 Probes the device.
 
void transmit (const std::vector< uint8_t > data)
 Transmits data to the device.
 
template<typename Rep , typename Period >
void transmit (const std::vector< uint8_t > data, const std::chrono::duration< Rep, Period > &timeout)
 Transmits data to the device.
 
void transmit (const uint8_t *buf, size_t size)
 Transmits data to the device.
 
template<typename Rep , typename Period >
void transmit (const uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Transmits data to the device.
 
result< void > try_transmit (const std::vector< uint8_t > data)
 Transmits data to the device.
 
template<typename Rep , typename Period >
result< void > try_transmit (const std::vector< uint8_t > data, const std::chrono::duration< Rep, Period > &timeout)
 Transmits data to the device.
 
result< void > try_transmit (const uint8_t *buf, size_t size)
 Transmits data to the device.
 
template<typename Rep , typename Period >
result< void > try_transmit (const uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Transmits data to the device.
 
std::vector< uint8_t > receive (size_t size)
 Receives data from the device.
 
template<typename Rep , typename Period >
std::vector< uint8_t > receive (size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Receives data from the device.
 
void receive (uint8_t *buf, size_t size)
 Receives data from the device.
 
template<typename Rep , typename Period >
void receive (uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Receives data from the device.
 
void receive (std::vector< uint8_t > buf)
 Receives data from the device.
 
template<typename Rep , typename Period >
void receive (std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Receives data from the device.
 
result< std::vector< uint8_t > > try_receive (size_t size)
 Receives data from the device.
 
template<typename Rep , typename Period >
result< std::vector< uint8_t > > try_receive (size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Receives data from the device.
 
result< void > try_receive (uint8_t *buf, size_t size)
 Receives data from the device.
 
template<typename Rep , typename Period >
result< void > try_receive (uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Receives data from the device.
 
result< void > try_receive (std::vector< uint8_t > buf)
 Receives data from the device.
 
template<typename Rep , typename Period >
result< void > try_receive (std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Receives data from the device.
 
void write_register (uint16_t reg, const std::vector< uint8_t > buf)
 Writes data to a register.
 
template<typename Rep , typename Period >
void write_register (uint16_t reg, const std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to a register.
 
void write_register (uint16_t reg, const uint8_t *buf, size_t size)
 Writes data to a register.
 
template<typename Rep , typename Period >
void write_register (uint16_t reg, const uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to a register.
 
result< void > try_write_register (uint16_t reg, const std::vector< uint8_t > buf)
 Writes data to a register.
 
template<typename Rep , typename Period >
result< void > try_write_register (uint16_t reg, const std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to a register.
 
result< void > try_write_register (uint16_t reg, const uint8_t *buf, size_t size)
 Writes data to a register.
 
template<typename Rep , typename Period >
result< void > try_write_register (uint16_t reg, const uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to a register.
 
void write_register (uint8_t regHigh, uint8_t regLow, const std::vector< uint8_t > buf)
 Writes data to a register.
 
template<typename Rep , typename Period >
void write_register (uint8_t regHigh, uint8_t regLow, const std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to a register.
 
void write_register (uint8_t regHigh, uint8_t regLow, const uint8_t *buf, size_t size)
 Writes data to a register.
 
template<typename Rep , typename Period >
void write_register (uint8_t regHigh, uint8_t regLow, const uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to a register.
 
result< void > try_write_register (uint8_t regHigh, uint8_t regLow, const std::vector< uint8_t > buf)
 Writes data to a register.
 
template<typename Rep , typename Period >
result< void > try_write_register (uint8_t regHigh, uint8_t regLow, const std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to a register.
 
result< void > try_write_register (uint8_t regHigh, uint8_t regLow, const uint8_t *buf, size_t size)
 Writes data to a register.
 
template<typename Rep , typename Period >
result< void > try_write_register (uint8_t regHigh, uint8_t regLow, const uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to a register.
 
void write_registers (std::vector< uint16_t > registers, const std::vector< uint8_t > buf)
 Writes data to multiple registers.
 
template<typename Rep , typename Period >
void write_registers (std::vector< uint16_t > registers, const std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to multiple registers.
 
void write_registers (std::vector< uint16_t > registers, const uint8_t *buf, size_t size)
 Writes data to multiple registers.
 
template<typename Rep , typename Period >
void write_registers (std::vector< uint16_t > registers, const uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to multiple registers.
 
result< void > try_write_registers (std::vector< uint16_t > registers, const std::vector< uint8_t > buf)
 Writes data to multiple registers.
 
template<typename Rep , typename Period >
result< void > try_write_registers (std::vector< uint16_t > registers, const std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to multiple registers.
 
result< void > try_write_registers (std::vector< uint16_t > registers, const uint8_t *buf, size_t size)
 Writes data to multiple registers.
 
template<typename Rep , typename Period >
result< void > try_write_registers (std::vector< uint16_t > registers, const uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Writes data to multiple registers.
 
std::vector< uint8_t > read_register (uint16_t reg, size_t size)
 Reads data from a register.
 
template<typename Rep , typename Period >
std::vector< uint8_t > read_register (uint16_t reg, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
void read_register (uint16_t reg, std::vector< uint8_t > buf)
 Reads data from a register.
 
template<typename Rep , typename Period >
void read_register (uint16_t reg, std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
void read_register (uint16_t reg, uint8_t *buf, size_t size)
 Reads data from a register.
 
template<typename Rep , typename Period >
void read_register (uint16_t reg, uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
result< std::vector< uint8_t > > try_read_register (uint16_t reg, size_t size)
 Reads data from a register.
 
template<typename Rep , typename Period >
result< std::vector< uint8_t > > try_read_register (uint16_t reg, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
result< void > try_read_register (uint16_t reg, std::vector< uint8_t > &buf)
 Reads data from a register.
 
template<typename Rep , typename Period >
result< void > try_read_register (uint16_t reg, std::vector< uint8_t > &buf, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
result< void > try_read_register (uint16_t reg, uint8_t *buf, size_t size)
 Reads data from a register.
 
template<typename Rep , typename Period >
result< void > try_read_register (uint16_t reg, uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
std::vector< uint8_t > read_register (uint8_t regHigh, uint8_t regLow, size_t size)
 Reads data from a register.
 
template<typename Rep , typename Period >
std::vector< uint8_t > read_register (uint8_t regHigh, uint8_t regLow, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
void read_register (uint8_t regHigh, uint8_t regLow, uint8_t *buf, size_t size)
 Reads data from a register.
 
template<typename Rep , typename Period >
void read_register (uint8_t regHigh, uint8_t regLow, uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
result< std::vector< uint8_t > > try_read_register (uint8_t regHigh, uint8_t regLow, size_t size)
 Reads data from a register.
 
template<typename Rep , typename Period >
result< std::vector< uint8_t > > try_read_register (uint8_t regHigh, uint8_t regLow, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
result< void > try_read_register (uint8_t regHigh, uint8_t regLow, std::vector< uint8_t > buf)
 Reads data from a register.
 
template<typename Rep , typename Period >
result< void > try_read_register (uint8_t regHigh, uint8_t regLow, std::vector< uint8_t > buf, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 
result< void > try_read_register (uint8_t regHigh, uint8_t regLow, uint8_t *buf, size_t size)
 Reads data from a register.
 
template<typename Rep , typename Period >
result< void > try_read_register (uint8_t regHigh, uint8_t regLow, uint8_t *buf, size_t size, const std::chrono::duration< Rep, Period > &timeout)
 Reads data from a register.
 

Static Public Member Functions

static result< std::unique_ptr< master_device > > make (std::shared_ptr< master_bus > bus, uint8_t address)
 Creates a new device on the specified bus.
 

Detailed Description

I2C device at a specific 7-bit address with register operations.

Represents a specific device at a 7-bit address. Provides methods for raw data transfer and register-based read/write operations.

Definition at line 209 of file master.hpp.

Constructor & Destructor Documentation

◆ master_device() [1/3]

idfxx::i2c::master_device::master_device ( std::shared_ptr< master_bus bus,
uint8_t  address 
)
explicit

Creates a new device on the specified bus.

Parameters
busThe parent bus.
address7-bit device address.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron failure.

◆ ~master_device()

idfxx::i2c::master_device::~master_device ( )

◆ master_device() [2/3]

idfxx::i2c::master_device::master_device ( const master_device )
delete

◆ master_device() [3/3]

idfxx::i2c::master_device::master_device ( master_device &&  )
delete

Member Function Documentation

◆ address()

uint8_t idfxx::i2c::master_device::address ( ) const
inline

Returns the 7-bit device address.

Definition at line 248 of file master.hpp.

◆ bus()

const std::shared_ptr< master_bus > & idfxx::i2c::master_device::bus ( ) const
inline

Returns the parent bus.

Definition at line 242 of file master.hpp.

◆ handle()

i2c_master_dev_handle_t idfxx::i2c::master_device::handle ( ) const
inline

Returns the underlying ESP-IDF device handle.

Definition at line 245 of file master.hpp.

◆ make()

static result< std::unique_ptr< master_device > > idfxx::i2c::master_device::make ( std::shared_ptr< master_bus bus,
uint8_t  address 
)
static

Creates a new device on the specified bus.

Parameters
busThe parent bus.
address7-bit device address.
Returns
The new master_device, or an error.

◆ operator=() [1/2]

master_device & idfxx::i2c::master_device::operator= ( const master_device )
delete

◆ operator=() [2/2]

master_device & idfxx::i2c::master_device::operator= ( master_device &&  )
delete

◆ probe() [1/2]

void idfxx::i2c::master_device::probe ( ) const
inline

Probes the device.

Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_errorif the device does not acknowledge or on error.

Definition at line 257 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and probe().

Referenced by probe().

◆ probe() [2/2]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::probe ( const std::chrono::duration< Rep, Period > &  timeout) const
inline

Probes the device.

Parameters
timeoutMaximum time to wait for response.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_errorif the device does not acknowledge or on error.

Definition at line 268 of file master.hpp.

References idfxx::timeout.

◆ read_register() [1/10]

std::vector< uint8_t > idfxx::i2c::master_device::read_register ( uint16_t  reg,
size_t  size 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
sizeNumber of bytes to read.
Returns
Received data.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 960 of file master.hpp.

References try_read_register(), and idfxx::unwrap().

◆ read_register() [2/10]

template<typename Rep , typename Period >
std::vector< uint8_t > idfxx::i2c::master_device::read_register ( uint16_t  reg,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
sizeNumber of bytes to read.
timeoutMaximum time to wait for completion.
Returns
Received data.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 978 of file master.hpp.

References idfxx::timeout, try_read_register(), and idfxx::unwrap().

◆ read_register() [3/10]

void idfxx::i2c::master_device::read_register ( uint16_t  reg,
std::vector< uint8_t >  buf 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
bufBuffer for received data.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 991 of file master.hpp.

References try_read_register(), and idfxx::unwrap().

◆ read_register() [4/10]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::read_register ( uint16_t  reg,
std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
bufBuffer for received data.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 1004 of file master.hpp.

References idfxx::timeout, try_read_register(), and idfxx::unwrap().

◆ read_register() [5/10]

void idfxx::i2c::master_device::read_register ( uint16_t  reg,
uint8_t *  buf,
size_t  size 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
bufBuffer for received data.
sizeNumber of bytes to read.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 1018 of file master.hpp.

References try_read_register(), and idfxx::unwrap().

◆ read_register() [6/10]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::read_register ( uint16_t  reg,
uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
bufBuffer for received data.
sizeNumber of bytes to read.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 1032 of file master.hpp.

References idfxx::timeout, try_read_register(), and idfxx::unwrap().

◆ read_register() [7/10]

std::vector< uint8_t > idfxx::i2c::master_device::read_register ( uint8_t  regHigh,
uint8_t  regLow,
size_t  size 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
sizeNumber of bytes to read.
Returns
Received data.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 1133 of file master.hpp.

References try_read_register(), and idfxx::unwrap().

◆ read_register() [8/10]

template<typename Rep , typename Period >
std::vector< uint8_t > idfxx::i2c::master_device::read_register ( uint8_t  regHigh,
uint8_t  regLow,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
sizeNumber of bytes to read.
timeoutMaximum time to wait for completion.
Returns
Received data.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 1152 of file master.hpp.

References idfxx::timeout, try_read_register(), and idfxx::unwrap().

◆ read_register() [9/10]

void idfxx::i2c::master_device::read_register ( uint8_t  regHigh,
uint8_t  regLow,
uint8_t *  buf,
size_t  size 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufBuffer for received data.
sizeNumber of bytes to read.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 1167 of file master.hpp.

References try_read_register(), and idfxx::unwrap().

◆ read_register() [10/10]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::read_register ( uint8_t  regHigh,
uint8_t  regLow,
uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufBuffer for received data.
sizeNumber of bytes to read.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 1184 of file master.hpp.

References idfxx::timeout, try_read_register(), and idfxx::unwrap().

◆ receive() [1/6]

std::vector< uint8_t > idfxx::i2c::master_device::receive ( size_t  size)
inline

Receives data from the device.

Parameters
sizeNumber of bytes to receive.
Returns
Received data.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 407 of file master.hpp.

References try_receive(), and idfxx::unwrap().

◆ receive() [2/6]

template<typename Rep , typename Period >
std::vector< uint8_t > idfxx::i2c::master_device::receive ( size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Receives data from the device.

Parameters
sizeNumber of bytes to receive.
timeoutMaximum time to wait for completion.
Returns
Received data.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 421 of file master.hpp.

References idfxx::timeout, try_receive(), and idfxx::unwrap().

◆ receive() [3/6]

void idfxx::i2c::master_device::receive ( std::vector< uint8_t >  buf)
inline

Receives data from the device.

Parameters
bufBuffer for received data.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 459 of file master.hpp.

References try_receive(), and idfxx::unwrap().

◆ receive() [4/6]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::receive ( std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Receives data from the device.

Parameters
bufBuffer for received data.
sizeNumber of bytes to receive.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 472 of file master.hpp.

References idfxx::timeout, try_receive(), and idfxx::unwrap().

◆ receive() [5/6]

void idfxx::i2c::master_device::receive ( uint8_t *  buf,
size_t  size 
)
inline

Receives data from the device.

Parameters
bufBuffer for received data.
sizeNumber of bytes to receive.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 434 of file master.hpp.

References try_receive(), and idfxx::unwrap().

◆ receive() [6/6]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::receive ( uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Receives data from the device.

Parameters
bufBuffer for received data.
sizeNumber of bytes to receive.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 447 of file master.hpp.

References idfxx::timeout, try_receive(), and idfxx::unwrap().

◆ transmit() [1/4]

void idfxx::i2c::master_device::transmit ( const std::vector< uint8_t >  data)
inline

Transmits data to the device.

Parameters
dataData to transmit.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 301 of file master.hpp.

References try_transmit(), and idfxx::unwrap().

◆ transmit() [2/4]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::transmit ( const std::vector< uint8_t >  data,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Transmits data to the device.

Parameters
dataData to transmit.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 313 of file master.hpp.

References idfxx::timeout, try_transmit(), and idfxx::unwrap().

◆ transmit() [3/4]

void idfxx::i2c::master_device::transmit ( const uint8_t *  buf,
size_t  size 
)
inline

Transmits data to the device.

Parameters
bufData to transmit.
sizeNumber of bytes.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 326 of file master.hpp.

References try_transmit(), and idfxx::unwrap().

◆ transmit() [4/4]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::transmit ( const uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Transmits data to the device.

Parameters
bufData to transmit.
sizeNumber of bytes.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 339 of file master.hpp.

References idfxx::timeout, try_transmit(), and idfxx::unwrap().

◆ try_probe() [1/2]

result< void > idfxx::i2c::master_device::try_probe ( ) const
inline

Probes the device.

Returns
Success if the device acknowledges, or an error.

Definition at line 278 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_probe().

Referenced by try_probe().

◆ try_probe() [2/2]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_probe ( const std::chrono::duration< Rep, Period > &  timeout) const
inline

Probes the device.

Parameters
timeoutMaximum time to wait for response.
Returns
Success if the device acknowledges, or an error.

Definition at line 288 of file master.hpp.

References idfxx::timeout.

◆ try_read_register() [1/12]

result< std::vector< uint8_t > > idfxx::i2c::master_device::try_read_register ( uint16_t  reg,
size_t  size 
)
inline

◆ try_read_register() [2/12]

template<typename Rep , typename Period >
result< std::vector< uint8_t > > idfxx::i2c::master_device::try_read_register ( uint16_t  reg,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
sizeNumber of bytes to read.
timeoutMaximum time to wait for completion.
Returns
Received data, or an error.

Definition at line 1060 of file master.hpp.

References idfxx::timeout, and try_read_register().

◆ try_read_register() [3/12]

result< void > idfxx::i2c::master_device::try_read_register ( uint16_t  reg,
std::vector< uint8_t > &  buf 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
bufBuffer for received data.
Returns
Success, or an error.

Definition at line 1073 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_read_register().

◆ try_read_register() [4/12]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_read_register ( uint16_t  reg,
std::vector< uint8_t > &  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
bufBuffer for received data.
Returns
Success, or an error.

Definition at line 1087 of file master.hpp.

References idfxx::timeout, and try_read_register().

◆ try_read_register() [5/12]

result< void > idfxx::i2c::master_device::try_read_register ( uint16_t  reg,
uint8_t *  buf,
size_t  size 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
bufBuffer for received data.
sizeNumber of bytes to read.
Returns
Success, or an error.

Definition at line 1100 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_read_register().

◆ try_read_register() [6/12]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_read_register ( uint16_t  reg,
uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regRegister address (16-bit, MSB first).
bufBuffer for received data.
sizeNumber of bytes to read.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 1116 of file master.hpp.

References idfxx::timeout.

◆ try_read_register() [7/12]

result< std::vector< uint8_t > > idfxx::i2c::master_device::try_read_register ( uint8_t  regHigh,
uint8_t  regLow,
size_t  size 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
sizeNumber of bytes to read.
Returns
Received data, or an error.

Definition at line 1204 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_read_register().

◆ try_read_register() [8/12]

template<typename Rep , typename Period >
result< std::vector< uint8_t > > idfxx::i2c::master_device::try_read_register ( uint8_t  regHigh,
uint8_t  regLow,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
sizeNumber of bytes to read.
timeoutMaximum time to wait for completion.
Returns
Received data, or an error.

Definition at line 1220 of file master.hpp.

References idfxx::timeout, and try_read_register().

◆ try_read_register() [9/12]

result< void > idfxx::i2c::master_device::try_read_register ( uint8_t  regHigh,
uint8_t  regLow,
std::vector< uint8_t >  buf 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufBuffer for received data.
Returns
Success, or an error.

Definition at line 1234 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_read_register().

◆ try_read_register() [10/12]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_read_register ( uint8_t  regHigh,
uint8_t  regLow,
std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufBuffer for received data.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 1249 of file master.hpp.

References idfxx::timeout, and try_read_register().

◆ try_read_register() [11/12]

result< void > idfxx::i2c::master_device::try_read_register ( uint8_t  regHigh,
uint8_t  regLow,
uint8_t *  buf,
size_t  size 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufBuffer for received data.
sizeNumber of bytes to read.
Returns
Success, or an error.

Definition at line 1268 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_read_register().

◆ try_read_register() [12/12]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_read_register ( uint8_t  regHigh,
uint8_t  regLow,
uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Reads data from a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufBuffer for received data.
sizeNumber of bytes to read.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 1284 of file master.hpp.

References idfxx::timeout.

◆ try_receive() [1/6]

result< std::vector< uint8_t > > idfxx::i2c::master_device::try_receive ( size_t  size)
inline

Receives data from the device.

Parameters
sizeNumber of bytes to receive.
Returns
Received data, or an error.

Definition at line 484 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_receive().

Referenced by receive(), receive(), receive(), receive(), receive(), receive(), try_receive(), try_receive(), try_receive(), and try_receive().

◆ try_receive() [2/6]

template<typename Rep , typename Period >
result< std::vector< uint8_t > > idfxx::i2c::master_device::try_receive ( size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Receives data from the device.

Parameters
sizeNumber of bytes to receive.
timeoutMaximum time to wait for completion.
Returns
Received data, or an error.

Definition at line 496 of file master.hpp.

References idfxx::timeout, and try_receive().

◆ try_receive() [3/6]

result< void > idfxx::i2c::master_device::try_receive ( std::vector< uint8_t >  buf)
inline

Receives data from the device.

Parameters
bufBuffer for received data.
Returns
Success, or an error.

Definition at line 535 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_receive().

Referenced by try_receive().

◆ try_receive() [4/6]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_receive ( std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Receives data from the device.

Parameters
bufBuffer for received data.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 547 of file master.hpp.

References idfxx::timeout, and try_receive().

◆ try_receive() [5/6]

result< void > idfxx::i2c::master_device::try_receive ( uint8_t *  buf,
size_t  size 
)
inline

Receives data from the device.

Parameters
bufBuffer for received data.
sizeNumber of bytes to receive.
Returns
Success, or an error.

Definition at line 509 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_receive().

◆ try_receive() [6/6]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_receive ( uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Receives data from the device.

Parameters
bufBuffer for received data.
sizeNumber of bytes to receive.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 524 of file master.hpp.

References idfxx::timeout.

◆ try_transmit() [1/4]

result< void > idfxx::i2c::master_device::try_transmit ( const std::vector< uint8_t >  data)
inline

Transmits data to the device.

Parameters
dataData to transmit.
Returns
Success, or an error.

Definition at line 351 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_transmit().

Referenced by transmit(), transmit(), transmit(), transmit(), try_transmit(), try_transmit(), and try_transmit().

◆ try_transmit() [2/4]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_transmit ( const std::vector< uint8_t >  data,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Transmits data to the device.

Parameters
dataData to transmit.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 365 of file master.hpp.

References idfxx::timeout, and try_transmit().

◆ try_transmit() [3/4]

result< void > idfxx::i2c::master_device::try_transmit ( const uint8_t *  buf,
size_t  size 
)
inline

Transmits data to the device.

Parameters
bufData to transmit.
sizeNumber of bytes.
Returns
Success, or an error.

Definition at line 377 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_transmit().

◆ try_transmit() [4/4]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_transmit ( const uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Transmits data to the device.

Parameters
bufData to transmit.
sizeNumber of bytes.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 392 of file master.hpp.

References idfxx::timeout.

◆ try_write_register() [1/8]

result< void > idfxx::i2c::master_device::try_write_register ( uint16_t  reg,
const std::vector< uint8_t >  buf 
)
inline

Writes data to a register.

Parameters
regRegister address (16-bit, MSB first).
bufData to write.
Returns
Success, or an error.

Definition at line 617 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_write_register().

Referenced by try_write_register(), try_write_register(), try_write_register(), try_write_register(), try_write_register(), try_write_register(), write_register(), write_register(), write_register(), write_register(), write_register(), write_register(), write_register(), and write_register().

◆ try_write_register() [2/8]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_write_register ( uint16_t  reg,
const std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to a register.

Parameters
regRegister address (16-bit, MSB first).
bufData to write.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 631 of file master.hpp.

References idfxx::timeout, and try_write_register().

◆ try_write_register() [3/8]

result< void > idfxx::i2c::master_device::try_write_register ( uint16_t  reg,
const uint8_t *  buf,
size_t  size 
)
inline

Writes data to a register.

Parameters
regRegister address (16-bit, MSB first).
bufData to write.
sizeNumber of bytes.
Returns
Success, or an error.

Definition at line 648 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_write_register().

◆ try_write_register() [4/8]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_write_register ( uint16_t  reg,
const uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to a register.

Parameters
regRegister address (16-bit, MSB first).
bufData to write.
sizeNumber of bytes.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 663 of file master.hpp.

References idfxx::timeout.

◆ try_write_register() [5/8]

result< void > idfxx::i2c::master_device::try_write_register ( uint8_t  regHigh,
uint8_t  regLow,
const std::vector< uint8_t >  buf 
)
inline

Writes data to a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufData to write.
Returns
Success, or an error.

Definition at line 756 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_write_register().

◆ try_write_register() [6/8]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_write_register ( uint8_t  regHigh,
uint8_t  regLow,
const std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufData to write.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 771 of file master.hpp.

References idfxx::timeout, and try_write_register().

◆ try_write_register() [7/8]

result< void > idfxx::i2c::master_device::try_write_register ( uint8_t  regHigh,
uint8_t  regLow,
const uint8_t *  buf,
size_t  size 
)
inline

Writes data to a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufData to write.
sizeNumber of bytes.
Returns
Success, or an error.

Definition at line 790 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_write_register().

◆ try_write_register() [8/8]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_write_register ( uint8_t  regHigh,
uint8_t  regLow,
const uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufData to write.
sizeNumber of bytes.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 806 of file master.hpp.

References idfxx::timeout.

◆ try_write_registers() [1/4]

result< void > idfxx::i2c::master_device::try_write_registers ( std::vector< uint16_t >  registers,
const std::vector< uint8_t >  buf 
)
inline

Writes data to multiple registers.

Parameters
registersRegister addresses.
bufData to write.
Returns
Success, or an error.

Definition at line 893 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_write_registers().

Referenced by try_write_registers(), try_write_registers(), try_write_registers(), write_registers(), write_registers(), write_registers(), and write_registers().

◆ try_write_registers() [2/4]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_write_registers ( std::vector< uint16_t >  registers,
const std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to multiple registers.

Parameters
registersRegister addresses.
bufData to write.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 907 of file master.hpp.

References idfxx::timeout, and try_write_registers().

◆ try_write_registers() [3/4]

result< void > idfxx::i2c::master_device::try_write_registers ( std::vector< uint16_t >  registers,
const uint8_t *  buf,
size_t  size 
)
inline

Writes data to multiple registers.

Parameters
registersRegister addresses.
bufData to write.
sizeNumber of bytes per register.
Returns
Success, or an error.

Definition at line 924 of file master.hpp.

References idfxx::i2c::DEFAULT_TIMEOUT, and try_write_registers().

◆ try_write_registers() [4/4]

template<typename Rep , typename Period >
result< void > idfxx::i2c::master_device::try_write_registers ( std::vector< uint16_t >  registers,
const uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to multiple registers.

Parameters
registersRegister addresses.
bufData to write.
sizeNumber of bytes per register.
timeoutMaximum time to wait for completion.
Returns
Success, or an error.

Definition at line 939 of file master.hpp.

References idfxx::timeout.

◆ write_register() [1/8]

void idfxx::i2c::master_device::write_register ( uint16_t  reg,
const std::vector< uint8_t >  buf 
)
inline

Writes data to a register.

Parameters
regRegister address (16-bit, MSB first).
bufData to write.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 561 of file master.hpp.

References try_write_register(), and idfxx::unwrap().

◆ write_register() [2/8]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::write_register ( uint16_t  reg,
const std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to a register.

Parameters
regRegister address (16-bit, MSB first).
bufData to write.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 575 of file master.hpp.

References idfxx::timeout, try_write_register(), and idfxx::unwrap().

◆ write_register() [3/8]

void idfxx::i2c::master_device::write_register ( uint16_t  reg,
const uint8_t *  buf,
size_t  size 
)
inline

Writes data to a register.

Parameters
regRegister address (16-bit, MSB first).
bufData to write.
sizeNumber of bytes.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 589 of file master.hpp.

References try_write_register(), and idfxx::unwrap().

◆ write_register() [4/8]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::write_register ( uint16_t  reg,
const uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to a register.

Parameters
regRegister address (16-bit, MSB first).
bufData to write.
sizeNumber of bytes.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 604 of file master.hpp.

References idfxx::timeout, try_write_register(), and idfxx::unwrap().

◆ write_register() [5/8]

void idfxx::i2c::master_device::write_register ( uint8_t  regHigh,
uint8_t  regLow,
const std::vector< uint8_t >  buf 
)
inline

Writes data to a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufData to write.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 683 of file master.hpp.

References try_write_register(), and idfxx::unwrap().

◆ write_register() [6/8]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::write_register ( uint8_t  regHigh,
uint8_t  regLow,
const std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufData to write.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 699 of file master.hpp.

References idfxx::timeout, try_write_register(), and idfxx::unwrap().

◆ write_register() [7/8]

void idfxx::i2c::master_device::write_register ( uint8_t  regHigh,
uint8_t  regLow,
const uint8_t *  buf,
size_t  size 
)
inline

Writes data to a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufData to write.
sizeNumber of bytes.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 719 of file master.hpp.

References try_write_register(), and idfxx::unwrap().

◆ write_register() [8/8]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::write_register ( uint8_t  regHigh,
uint8_t  regLow,
const uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to a register.

Parameters
regHighHigh byte of register address.
regLowLow byte of register address.
bufData to write.
sizeNumber of bytes.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 736 of file master.hpp.

References idfxx::timeout, try_write_register(), and idfxx::unwrap().

◆ write_registers() [1/4]

void idfxx::i2c::master_device::write_registers ( std::vector< uint16_t >  registers,
const std::vector< uint8_t >  buf 
)
inline

Writes data to multiple registers.

Parameters
registersRegister addresses.
bufData to write.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 826 of file master.hpp.

References try_write_registers(), and idfxx::unwrap().

◆ write_registers() [2/4]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::write_registers ( std::vector< uint16_t >  registers,
const std::vector< uint8_t >  buf,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to multiple registers.

Parameters
registersRegister addresses.
bufData to write.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 841 of file master.hpp.

References idfxx::timeout, try_write_registers(), and idfxx::unwrap().

◆ write_registers() [3/4]

void idfxx::i2c::master_device::write_registers ( std::vector< uint16_t >  registers,
const uint8_t *  buf,
size_t  size 
)
inline

Writes data to multiple registers.

Parameters
registersRegister addresses.
bufData to write.
sizeNumber of bytes per register.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 859 of file master.hpp.

References try_write_registers(), and idfxx::unwrap().

◆ write_registers() [4/4]

template<typename Rep , typename Period >
void idfxx::i2c::master_device::write_registers ( std::vector< uint16_t >  registers,
const uint8_t *  buf,
size_t  size,
const std::chrono::duration< Rep, Period > &  timeout 
)
inline

Writes data to multiple registers.

Parameters
registersRegister addresses.
bufData to write.
sizeNumber of bytes per register.
timeoutMaximum time to wait for completion.
Note
Only available when CONFIG_COMPILER_CXX_EXCEPTIONS is enabled in menuconfig.
Exceptions
std::system_erroron error.

Definition at line 875 of file master.hpp.

References idfxx::timeout, try_write_registers(), and idfxx::unwrap().


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