8 #ifndef INCLUDED_UHD_TYPES_SERIAL_HPP 9 #define INCLUDED_UHD_TYPES_SERIAL_HPP 13 #include <boost/shared_ptr.hpp> 39 typedef boost::shared_ptr<i2c_iface>
sptr;
51 virtual void write_i2c(uint16_t addr,
const byte_vector_t& buf) = 0;
59 virtual byte_vector_t read_i2c(uint16_t addr,
size_t num_bytes) = 0;
67 virtual void write_eeprom(uint16_t addr, uint16_t offset,
const byte_vector_t& buf);
76 virtual byte_vector_t read_eeprom(uint16_t addr, uint16_t offset,
size_t num_bytes);
89 enum edge_t { EDGE_RISE =
'r', EDGE_FALL =
'f' };
118 typedef boost::shared_ptr<spi_iface>
sptr;
131 virtual uint32_t transact_spi(
int which_slave,
145 virtual uint32_t read_spi(
146 int which_slave,
const spi_config_t& config, uint32_t data,
size_t num_bits);
155 virtual void write_spi(
156 int which_slave,
const spi_config_t& config, uint32_t data,
size_t num_bits);
165 typedef boost::shared_ptr<uart_iface>
sptr;
173 virtual void write_uart(
const std::string& buf) = 0;
180 virtual std::string read_uart(
double timeout) = 0;
size_t divider
Optionally set the SPI clock divider for this transaction.
Definition: serial.hpp:101
Definition: serial.hpp:115
Definition: serial.hpp:36
bool use_custom_divider
Set the clock speed for this transaction.
Definition: serial.hpp:98
edge_t mosi_edge
on what edge is the mosi data valid?
Definition: serial.hpp:92
Definition: build_info.hpp:13
Definition: serial.hpp:83
boost::shared_ptr< spi_iface > sptr
Definition: serial.hpp:118
#define UHD_API
Definition: config.h:68
edge_t miso_edge
on what edge is the miso data valid?
Definition: serial.hpp:95
Definition: serial.hpp:162
boost::shared_ptr< uart_iface > sptr
Definition: serial.hpp:165
edge_t
Definition: serial.hpp:89
boost::shared_ptr< i2c_iface > sptr
Definition: serial.hpp:39
std::vector< uint8_t > byte_vector_t
Byte vector used for I2C data passing and EEPROM parsing.
Definition: byte_vector.hpp:20