aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/b100/dboard_iface.cpp
diff options
context:
space:
mode:
authormichael-west <michael.west@ettus.com>2015-04-02 10:51:27 -0700
committerMartin Braun <martin.braun@ettus.com>2015-04-03 13:43:23 -0700
commitccf1d5c5e5f5c20ff77f45da3295b9dd5bdb6272 (patch)
tree6bc08220d844d540f2359262e29da659fc57a577 /host/lib/usrp/b100/dboard_iface.cpp
parentda5311407bdabcb7206f8ffb0b77de32d294f083 (diff)
downloaduhd-ccf1d5c5e5f5c20ff77f45da3295b9dd5bdb6272.tar.gz
uhd-ccf1d5c5e5f5c20ff77f45da3295b9dd5bdb6272.tar.bz2
uhd-ccf1d5c5e5f5c20ff77f45da3295b9dd5bdb6272.zip
uhd: Add ability to get and set command time through dboard_iface.
This creates a wb_iface child class called timed_wb_iface, which adds support for timed commands.
Diffstat (limited to 'host/lib/usrp/b100/dboard_iface.cpp')
-rw-r--r--host/lib/usrp/b100/dboard_iface.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/host/lib/usrp/b100/dboard_iface.cpp b/host/lib/usrp/b100/dboard_iface.cpp
index efbba1c4c..325efeec1 100644
--- a/host/lib/usrp/b100/dboard_iface.cpp
+++ b/host/lib/usrp/b100/dboard_iface.cpp
@@ -34,7 +34,7 @@ class b100_dboard_iface : public dboard_iface{
public:
b100_dboard_iface(
- wb_iface::sptr wb_iface,
+ timed_wb_iface::sptr wb_iface,
i2c_iface::sptr i2c_iface,
spi_iface::sptr spi_iface,
b100_clock_ctrl::sptr clock,
@@ -72,6 +72,8 @@ public:
void _set_gpio_out(unit_t, boost::uint16_t);
void set_gpio_debug(unit_t, int);
boost::uint16_t read_gpio(unit_t);
+ void set_command_time(const uhd::time_spec_t& t);
+ uhd::time_spec_t get_command_time(void);
void write_i2c(boost::uint16_t, const byte_vector_t &);
byte_vector_t read_i2c(boost::uint16_t, size_t);
@@ -97,7 +99,7 @@ public:
double get_codec_rate(unit_t);
private:
- wb_iface::sptr _wb_iface;
+ timed_wb_iface::sptr _wb_iface;
i2c_iface::sptr _i2c_iface;
spi_iface::sptr _spi_iface;
b100_clock_ctrl::sptr _clock;
@@ -109,7 +111,7 @@ private:
* Make Function
**********************************************************************/
dboard_iface::sptr make_b100_dboard_iface(
- wb_iface::sptr wb_iface,
+ timed_wb_iface::sptr wb_iface,
i2c_iface::sptr i2c_iface,
spi_iface::sptr spi_iface,
b100_clock_ctrl::sptr clock,
@@ -256,3 +258,13 @@ double b100_dboard_iface::read_aux_adc(dboard_iface::unit_t unit, aux_adc_t whic
;
return _codec->read_aux_adc(unit_to_which_to_aux_adc[unit][which]);
}
+
+void b100_dboard_iface::set_command_time(const uhd::time_spec_t& t)
+{
+ _wb_iface->set_time(t);
+}
+
+uhd::time_spec_t b100_dboard_iface::get_command_time(void)
+{
+ return _wb_iface->get_time();
+}