13#ifndef ARDUINO_I2C_DEVICE_H
14#define ARDUINO_I2C_DEVICE_H
47 uint16_t
tx( uint8_t *data, uint16_t size,
bool stop =
true );
55 uint16_t
rx( uint8_t *data, uint16_t size );
64 uint16_t
reg_w( uint8_t reg_adr, uint8_t *data, uint16_t size );
73 uint16_t
reg_w( uint8_t reg_adr, uint8_t data );
82 uint16_t
reg_r( uint8_t reg_adr, uint8_t *data, uint16_t size );
89 uint8_t
reg_r( uint8_t reg_adr );
96 void write_r8( uint8_t reg, uint8_t val );
105 void write_r16( uint8_t reg, uint16_t val );
112 uint8_t
read_r8( uint8_t reg );
131 void bit_op8( uint8_t reg, uint8_t mask, uint8_t value );
132 void bit_op16( uint8_t reg, uint16_t mask, uint16_t value );
139 static bool ping( uint8_t addr );
143 static void scan(
void );
uint16_t tx(uint8_t *data, uint16_t size, bool stop=true)
uint8_t read_r8(uint8_t reg)
void write_r8(uint8_t reg, uint8_t val)
static bool ping(uint8_t addr)
void bit_op8(uint8_t reg, uint8_t mask, uint8_t value)
uint16_t rx(uint8_t *data, uint16_t size)
uint16_t read_r16(uint8_t reg)
void write_r16(uint8_t reg, uint16_t val)
void repeated_start_enable(bool en=true)
void bit_op16(uint8_t reg, uint16_t mask, uint16_t value)
uint16_t reg_r(uint8_t reg_adr, uint8_t *data, uint16_t size)
uint16_t reg_w(uint8_t reg_adr, uint8_t *data, uint16_t size)