diff options
author | Josh Blum <josh@joshknows.com> | 2010-01-21 19:05:30 -0800 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-01-21 19:05:30 -0800 |
commit | 069a7ce0570001ea3d9512a11d238ea4d6773f1d (patch) | |
tree | cf38f9c1745d0054d8775551b1caedf5522f55b2 /include/usrp_uhd | |
parent | e3483c7451d20b7ed1d8d4865e15751f18cdef78 (diff) | |
download | uhd-069a7ce0570001ea3d9512a11d238ea4d6773f1d.tar.gz uhd-069a7ce0570001ea3d9512a11d238ea4d6773f1d.tar.bz2 uhd-069a7ce0570001ea3d9512a11d238ea4d6773f1d.zip |
Added more to the mboard test and the usrp device.
Diffstat (limited to 'include/usrp_uhd')
-rw-r--r-- | include/usrp_uhd/device.hpp | 20 | ||||
-rw-r--r-- | include/usrp_uhd/usrp/dboard/interface.hpp | 28 | ||||
-rw-r--r-- | include/usrp_uhd/usrp/mboard/test.hpp | 4 | ||||
-rw-r--r-- | include/usrp_uhd/usrp/usrp.hpp | 2 |
4 files changed, 24 insertions, 30 deletions
diff --git a/include/usrp_uhd/device.hpp b/include/usrp_uhd/device.hpp index ad2d3b368..32d58b21f 100644 --- a/include/usrp_uhd/device.hpp +++ b/include/usrp_uhd/device.hpp @@ -26,9 +26,15 @@ public: typedef boost::shared_ptr<device> sptr; //argument types for send and recv raw methods - typedef std::vector<boost::asio::const_buffer> send_args_t; + //the send args is an array of buffers + //the recv args is a callback that takes a buffer + typedef std::vector<boost::asio::const_buffer> send_args_t; typedef boost::function<bool(const boost::asio::const_buffer &)> recv_args_t; + //structors + device(void); + virtual ~device(void); + /*! * \brief Discover usrp devices attached to the host. * @@ -54,16 +60,6 @@ public: static sptr make(const device_addr_t & hint, size_t which = 0); /*! - * Constructor: Called in derived classes. - */ - device(void); - - /*! - * Deconstructor: called automatically by the shared pointer. - */ - virtual ~device(void); - - /*! * Get the device address for this board. */ device_addr_t get_device_addr(void); @@ -74,8 +70,6 @@ public: //connect dsps and subdevs void connect(const wax::type &src, const wax::type &sink); - -private: }; } //namespace usrp_uhd diff --git a/include/usrp_uhd/usrp/dboard/interface.hpp b/include/usrp_uhd/usrp/dboard/interface.hpp index acbfc6d70..7af45f7a2 100644 --- a/include/usrp_uhd/usrp/dboard/interface.hpp +++ b/include/usrp_uhd/usrp/dboard/interface.hpp @@ -96,50 +96,44 @@ public: /*! * Read daughterboard GPIO pin values * - * \param bank GPIO_TX_BANK or GPIO_RX_BANK + * \param bank GPIO_TX_BANK or GPIO_RX_BANK * \return the value of the gpio bank */ virtual uint16_t read_gpio(gpio_bank_t bank) = 0; /*! * \brief Write to I2C peripheral - * \param i2c_addr I2C bus address (7-bits) - * \param buf the data to write - * Writes are limited to a maximum of of 64 bytes. + * \param i2c_addr I2C bus address (7-bits) + * \param buf the data to write */ - virtual void write_i2c (int i2c_addr, const std::string &buf) = 0; + virtual void write_i2c(int i2c_addr, const std::string &buf) = 0; /*! * \brief Read from I2C peripheral - * \param i2c_addr I2C bus address (7-bits) - * \param len number of bytes to read + * \param i2c_addr I2C bus address (7-bits) + * \param len number of bytes to read * \return the data read if successful, else a zero length string. - * Reads are limited to a maximum of 64 bytes. */ - virtual std::string read_i2c (int i2c_addr, size_t len) = 0; + virtual std::string read_i2c(int i2c_addr, size_t len) = 0; /*! * \brief Write data to SPI bus peripheral. * * \param dev which spi device * \param push args for writing - * \param buf the data to write - * - * Writes are limited to a maximum of 64 bytes. + * \param buf the data to write */ - virtual void write_spi (spi_dev_t dev, spi_push_t push, const std::string &buf) = 0; + virtual void write_spi(spi_dev_t dev, spi_push_t push, const std::string &buf) = 0; /*! * \brief Read data from SPI bus peripheral. * * \param dev which spi device * \param push args for reading - * \param len number of bytes to read. Must be in [0,64]. + * \param len number of bytes to read * \return the data read if sucessful, else a zero length string. - * - * Reads are limited to a maximum of 64 bytes. */ - virtual std::string read_spi (spi_dev_t dev, spi_latch_t latch, size_t len) = 0; + virtual std::string read_spi(spi_dev_t dev, spi_latch_t latch, size_t len) = 0; }; }}} //namespace diff --git a/include/usrp_uhd/usrp/mboard/test.hpp b/include/usrp_uhd/usrp/mboard/test.hpp index f3c2899cf..10b46c7fc 100644 --- a/include/usrp_uhd/usrp/mboard/test.hpp +++ b/include/usrp_uhd/usrp/mboard/test.hpp @@ -7,6 +7,8 @@ #include <usrp_uhd/usrp/mboard/base.hpp> #include <usrp_uhd/device_addr.hpp> +#include <usrp_uhd/usrp/dboard/manager.hpp> +#include <vector> namespace usrp_uhd{ namespace usrp{ namespace mboard{ @@ -22,6 +24,8 @@ public: private: void get(const wax::type &, wax::type &); void set(const wax::type &, const wax::type &); + + std::vector<dboard::manager::sptr> _dboard_managers; }; }}} //namespace diff --git a/include/usrp_uhd/usrp/usrp.hpp b/include/usrp_uhd/usrp/usrp.hpp index b280b0d40..7506f798f 100644 --- a/include/usrp_uhd/usrp/usrp.hpp +++ b/include/usrp_uhd/usrp/usrp.hpp @@ -30,6 +30,8 @@ private: void set(const wax::type &, const wax::type &); std::vector<mboard::base::sptr> _mboards; + boost::function<void(const device::send_args_t &)> _send_raw_cb; + boost::function<void(const device::recv_args_t &)> _recv_raw_cb; }; }} //namespace |