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' };
117 typedef std::shared_ptr<spi_iface>
sptr;
130 virtual uint32_t transact_spi(
int which_slave,
144 virtual uint32_t read_spi(
145 int which_slave,
const spi_config_t& config, uint32_t data,
size_t num_bits);
154 virtual void write_spi(
155 int which_slave,
const spi_config_t& config, uint32_t data,
size_t num_bits);
164 typedef std::shared_ptr<uart_iface>
sptr;
172 virtual void write_uart(
const std::string& buf) = 0;
179 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:114
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:164
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:67
std::shared_ptr< spi_iface > sptr
Definition: serial.hpp:117
edge_t miso_edge
on what edge is the miso data valid?
Definition: serial.hpp:94
Definition: serial.hpp:161
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