38 typedef std::shared_ptr<i2c_iface>
sptr;
50 virtual void write_i2c(uint16_t addr,
const byte_vector_t& buf) = 0;
58 virtual byte_vector_t read_i2c(uint16_t addr,
size_t num_bytes) = 0;
66 virtual void write_eeprom(uint16_t addr, uint16_t offset,
const byte_vector_t& buf);
75 virtual byte_vector_t read_eeprom(uint16_t addr, uint16_t offset,
size_t num_bytes);
88 enum edge_t { EDGE_RISE =
'r', EDGE_FALL =
'f' };
124 typedef std::shared_ptr<spi_iface>
sptr;
137 virtual uint32_t transact_spi(
int which_slave,
151 virtual uint32_t read_spi(
152 int which_slave,
const spi_config_t& config, uint32_t data,
size_t num_bits);
161 virtual void write_spi(
162 int which_slave,
const spi_config_t& config, uint32_t data,
size_t num_bits);
171 typedef std::shared_ptr<uart_iface>
sptr;
179 virtual void write_uart(
const std::string& buf) = 0;
186 virtual std::string read_uart(
double timeout) = 0;
size_t divider
Optionally set the SPI clock divider for this transaction.
Definition: serial.hpp:100
Definition: serial.hpp:121
Definition: serial.hpp:35
bool use_custom_divider
Set the clock speed for this transaction.
Definition: serial.hpp:97
std::shared_ptr< uart_iface > sptr
Definition: serial.hpp:171
edge_t mosi_edge
on what edge is the mosi data valid?
Definition: serial.hpp:91
std::shared_ptr< i2c_iface > sptr
Definition: serial.hpp:38
Definition: build_info.hpp:12
Definition: serial.hpp:82
#define UHD_API
Definition: config.h:87
std::shared_ptr< spi_iface > sptr
Definition: serial.hpp:124
edge_t miso_edge
on what edge is the miso data valid?
Definition: serial.hpp:94
Definition: serial.hpp:168
edge_t
Definition: serial.hpp:88
std::vector< uint8_t > byte_vector_t
Byte vector used for I2C data passing and EEPROM parsing.
Definition: byte_vector.hpp:19