15#include <boost/tuple/tuple.hpp>
76 uint8_t reg_address = (
address & 0xff);
77 uint8_t page_address = (
address >> 8) & 0xff;
78 std::stringstream debug_stream;
79 debug_stream << std::showbase << std::hex <<
"Read Address " << (uint32_t)
address
80 <<
" reg: " << (uint32_t)reg_address
81 <<
" page: " << (uint32_t)page_address;
85 uint8_t current_address = read_page();
86 if (page_address != current_address) {
87 switch_page(page_address);
91 return read_i2c(reg_address);
100 uint8_t reg_address = (
address & 0xff);
101 uint8_t page_address = (
address >> 8) & 0xff;
103 std::stringstream debug_stream;
104 debug_stream << std::showbase << std::hex <<
"Write Address " << (uint32_t)
address
105 <<
" reg: " << (uint32_t)reg_address
106 <<
" page: " << (uint32_t)page_address;
110 uint8_t current_address = read_page();
111 if (page_address != current_address) {
112 switch_page(page_address);
115 return write_i2c(reg_address, data);
uint8_t read_i2c(uint32_t i2c_device_address, uint32_t i2c_reg_address) const
comodity functions
std::vector< uint8_t > read_i2cArray(uint32_t i2c_device_address, uint32_t i2c_reg_address, uint32_t number_of_words) const
SIChipSlave(const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
void switch_page(uint8_t page) const
{ function_description }
void write_clock_register(uint16_t address, uint8_t data) const
Writes a clock register.
uint8_t read_page() const
Reads the current page.
uint8_t read_clock_register(uint16_t address) const
Reads a clock register.
uint32_t read_device_version() const
Reads a device version.
#define TLOG_DEBUG(lvl,...)
std::string format_reg_value(T reg_value, uint32_t base)