8 #ifndef INCLUDED_UHD_TYPES_SERIAL_HPP 9 #define INCLUDED_UHD_TYPES_SERIAL_HPP 13 #include <boost/shared_ptr.hpp> 38 typedef boost::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 boost::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 boost::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
edge_t mosi_edge
on what edge is the mosi data valid?
Definition: serial.hpp:91
Definition: build_info.hpp:13
Definition: serial.hpp:82
boost::shared_ptr< spi_iface > sptr
Definition: serial.hpp:117
#define UHD_API
Definition: config.h:68
edge_t miso_edge
on what edge is the miso data valid?
Definition: serial.hpp:94
Definition: serial.hpp:161
boost::shared_ptr< uart_iface > sptr
Definition: serial.hpp:164
edge_t
Definition: serial.hpp:88
boost::shared_ptr< i2c_iface > sptr
Definition: serial.hpp:38
std::vector< uint8_t > byte_vector_t
Byte vector used for I2C data passing and EEPROM parsing.
Definition: byte_vector.hpp:20