From 8fdffd2f77016fe95f4a78e16d2d728b650b4d05 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 12 Jan 2010 16:59:03 -0800 Subject: Added base classes for the usrp dboards to inherit. Added a manager class for the subdevs that will create devices, and give out proxies to handle them. --- lib/usrp/dboard/base.cpp | 67 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 lib/usrp/dboard/base.cpp (limited to 'lib/usrp/dboard/base.cpp') diff --git a/lib/usrp/dboard/base.cpp b/lib/usrp/dboard/base.cpp new file mode 100644 index 000000000..3166cdedc --- /dev/null +++ b/lib/usrp/dboard/base.cpp @@ -0,0 +1,67 @@ +// +// Copyright 2010 Ettus Research LLC +// + +#include + +using namespace usrp_uhd::usrp::dboard; + +/*********************************************************************** + * xcvr dboard base class + **********************************************************************/ +xcvr_base::xcvr_base(size_t subdev_index, interface::sptr dboard_interface) + : _subdev_index(subdev_index), _dboard_interface(dboard_interface){ + /* NOP */ +} + +xcvr_base::~xcvr_base(void){ + /* NOP */ +} + +size_t xcvr_base::get_subdev_index(void){ + return _subdev_index; +} + +interface::sptr xcvr_base::get_interface(void){ + return _dboard_interface; +} + +/*********************************************************************** + * rx dboard base class + **********************************************************************/ +rx_base::rx_base(size_t subdev_index, interface::sptr dboard_interface) +: xcvr_base(subdev_index, dboard_interface){ + /* NOP */ +} + +rx_base::~rx_base(void){ + /* NOP */ +} + +void rx_base::tx_get(const wax::type &key, wax::type &val){ + throw std::runtime_error("cannot call tx_get on a rx dboard"); +} + +void rx_base::tx_set(const wax::type &key, const wax::type &val){ + throw std::runtime_error("cannot call tx_set on a rx dboard"); +} + +/*********************************************************************** + * tx dboard base class + **********************************************************************/ +tx_base::tx_base(size_t subdev_index, interface::sptr dboard_interface) +: xcvr_base(subdev_index, dboard_interface){ + /* NOP */ +} + +tx_base::~tx_base(void){ + /* NOP */ +} + +void tx_base::rx_get(const wax::type &key, wax::type &val){ + throw std::runtime_error("cannot call rx_get on a tx dboard"); +} + +void tx_base::rx_set(const wax::type &key, const wax::type &val){ + throw std::runtime_error("cannot call rx_set on a tx dboard"); +} -- cgit v1.2.3