diff options
author | Josh Blum <josh@joshknows.com> | 2011-02-17 16:44:31 -0800 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2011-02-17 16:44:31 -0800 |
commit | 1628434a32321f8af6355f5eb828e8b06da52b90 (patch) | |
tree | 5f30009c16a86001d2d27c0532c1fc606fc20896 /host/include | |
parent | 11bf23d994fab2a01a27541db959dcc6991b5dd0 (diff) | |
download | uhd-1628434a32321f8af6355f5eb828e8b06da52b90.tar.gz uhd-1628434a32321f8af6355f5eb828e8b06da52b90.tar.bz2 uhd-1628434a32321f8af6355f5eb828e8b06da52b90.zip |
uhd: work on multiple dsp in host wrapper
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/usrp/codec_props.hpp | 12 | ||||
-rw-r--r-- | host/include/uhd/usrp/dboard_props.hpp | 16 | ||||
-rw-r--r-- | host/include/uhd/usrp/device_props.hpp | 8 | ||||
-rw-r--r-- | host/include/uhd/usrp/dsp_props.hpp | 14 | ||||
-rw-r--r-- | host/include/uhd/usrp/mboard_props.hpp | 39 | ||||
-rw-r--r-- | host/include/uhd/usrp/multi_usrp.hpp | 26 | ||||
-rw-r--r-- | host/include/uhd/usrp/subdev_props.hpp | 30 |
7 files changed, 77 insertions, 68 deletions
diff --git a/host/include/uhd/usrp/codec_props.hpp b/host/include/uhd/usrp/codec_props.hpp index 5d0a2913c..b0a79e3f6 100644 --- a/host/include/uhd/usrp/codec_props.hpp +++ b/host/include/uhd/usrp/codec_props.hpp @@ -28,12 +28,12 @@ namespace uhd{ namespace usrp{ * Other properties can be discovered through the others prop. */ enum codec_prop_t{ - CODEC_PROP_NAME = 'n', //ro, std::string - CODEC_PROP_OTHERS = 'o', //ro, prop_names_t - CODEC_PROP_GAIN_I = 'i', //rw, double - CODEC_PROP_GAIN_Q = 'q', //rw, double - CODEC_PROP_GAIN_RANGE = 'r', //ro, gain_range_t - CODEC_PROP_GAIN_NAMES = 'G' //ro, prop_names_t + CODEC_PROP_NAME, //ro, std::string + CODEC_PROP_OTHERS, //ro, prop_names_t + CODEC_PROP_GAIN_I, //rw, double + CODEC_PROP_GAIN_Q , //rw, double + CODEC_PROP_GAIN_RANGE, //ro, gain_range_t + CODEC_PROP_GAIN_NAMES //ro, prop_names_t }; diff --git a/host/include/uhd/usrp/dboard_props.hpp b/host/include/uhd/usrp/dboard_props.hpp index aab6c31ce..32ec1c1bf 100644 --- a/host/include/uhd/usrp/dboard_props.hpp +++ b/host/include/uhd/usrp/dboard_props.hpp @@ -1,5 +1,5 @@ // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2011 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -28,13 +28,13 @@ namespace uhd{ namespace usrp{ * A dboard is considered to be unidirectional (RX or TX). */ enum dboard_prop_t{ - DBOARD_PROP_NAME = 'n', //ro, std::string - DBOARD_PROP_SUBDEV = 's', //ro, wax::obj - DBOARD_PROP_SUBDEV_NAMES = 'S', //ro, prop_names_t - DBOARD_PROP_DBOARD_ID = 'i', //rw, dboard_id_t - DBOARD_PROP_DBOARD_IFACE = 'f', //ro, dboard_iface::sptr - DBOARD_PROP_CODEC = 'c', //ro, wax::obj - DBOARD_PROP_GAIN_GROUP = 'g' //ro, gain_group + DBOARD_PROP_NAME, //ro, std::string + DBOARD_PROP_SUBDEV, //ro, wax::obj + DBOARD_PROP_SUBDEV_NAMES, //ro, prop_names_t + DBOARD_PROP_DBOARD_ID, //rw, dboard_id_t + DBOARD_PROP_DBOARD_IFACE, //ro, dboard_iface::sptr + DBOARD_PROP_CODEC, //ro, wax::obj + DBOARD_PROP_GAIN_GROUP //ro, gain_group }; }} //namespace diff --git a/host/include/uhd/usrp/device_props.hpp b/host/include/uhd/usrp/device_props.hpp index 346eec179..3c8f7e225 100644 --- a/host/include/uhd/usrp/device_props.hpp +++ b/host/include/uhd/usrp/device_props.hpp @@ -1,5 +1,5 @@ // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2011 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -29,9 +29,9 @@ namespace uhd{ namespace usrp{ * will be present in the interface for configuration. */ enum device_prop_t{ - DEVICE_PROP_NAME = 'n', //ro, std::string - DEVICE_PROP_MBOARD = 'm', //ro, wax::obj - DEVICE_PROP_MBOARD_NAMES = 'M' //ro, prop_names_t + DEVICE_PROP_NAME, //ro, std::string + DEVICE_PROP_MBOARD, //ro, wax::obj + DEVICE_PROP_MBOARD_NAMES, //ro, prop_names_t }; }} //namespace diff --git a/host/include/uhd/usrp/dsp_props.hpp b/host/include/uhd/usrp/dsp_props.hpp index 54ea5666b..e68e11deb 100644 --- a/host/include/uhd/usrp/dsp_props.hpp +++ b/host/include/uhd/usrp/dsp_props.hpp @@ -1,5 +1,5 @@ // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2011 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -37,12 +37,12 @@ namespace uhd{ namespace usrp{ * Set the shift property and read it back to get actual shift. */ enum dsp_prop_t{ - DSP_PROP_NAME = 'n', //ro, std::string - DSP_PROP_OTHERS = 'o', //ro, prop_names_t - DSP_PROP_FREQ_SHIFT = 'f', //rw, double Hz - DSP_PROP_FREQ_SHIFT_NAMES = 'F', //ro, prop_names_t - DSP_PROP_CODEC_RATE = 'c', //ro, double Sps - DSP_PROP_HOST_RATE = 'h' //rw, double Sps + DSP_PROP_NAME, //ro, std::string + DSP_PROP_OTHERS, //ro, prop_names_t + DSP_PROP_STREAM_CMD, //wo, stream_cmd_t + DSP_PROP_FREQ_SHIFT, //rw, double Hz + DSP_PROP_CODEC_RATE, //ro, double Sps + DSP_PROP_HOST_RATE //rw, double Sps }; }} //namespace diff --git a/host/include/uhd/usrp/mboard_props.hpp b/host/include/uhd/usrp/mboard_props.hpp index d04ad012c..2145ab446 100644 --- a/host/include/uhd/usrp/mboard_props.hpp +++ b/host/include/uhd/usrp/mboard_props.hpp @@ -1,5 +1,5 @@ // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2011 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -29,24 +29,25 @@ namespace uhd{ namespace usrp{ * and discovered though the others property. */ enum mboard_prop_t{ - MBOARD_PROP_NAME = 'n', //ro, std::string - MBOARD_PROP_OTHERS = 'o', //ro, prop_names_t - MBOARD_PROP_CLOCK_RATE = 'c', //rw, double - MBOARD_PROP_RX_DSP = 'd', //ro, wax::obj - MBOARD_PROP_RX_DSP_NAMES = 'D', //ro, prop_names_t - MBOARD_PROP_TX_DSP = 'u', //ro, wax::obj - MBOARD_PROP_TX_DSP_NAMES = 'U', //ro, prop_names_t - MBOARD_PROP_RX_DBOARD = 'e', //ro, wax::obj - MBOARD_PROP_RX_DBOARD_NAMES = 'E', //ro, prop_names_t - MBOARD_PROP_TX_DBOARD = 'v', //ro, wax::obj - MBOARD_PROP_TX_DBOARD_NAMES = 'V', //ro, prop_names_t - MBOARD_PROP_RX_SUBDEV_SPEC = 'r', //rw, subdev_spec_t - MBOARD_PROP_TX_SUBDEV_SPEC = 'R', //rw, subdev_spec_t - MBOARD_PROP_CLOCK_CONFIG = 'C', //rw, clock_config_t - MBOARD_PROP_TIME_NOW = 't', //rw, time_spec_t - MBOARD_PROP_TIME_PPS = 'T', //wo, time_spec_t - MBOARD_PROP_STREAM_CMD = 's', //wo, stream_cmd_t - MBOARD_PROP_EEPROM_MAP = 'M' //wr, mboard_eeprom_t::sptr + MBOARD_PROP_NAME, //ro, std::string + MBOARD_PROP_OTHERS, //ro, prop_names_t + MBOARD_PROP_SENSOR, //ro, sensor_value_t + MBOARD_PROP_SENSOR_NAMES, //ro, prop_names_t + MBOARD_PROP_CLOCK_RATE, //rw, double + MBOARD_PROP_RX_DSP, //ro, wax::obj + MBOARD_PROP_RX_DSP_NAMES, //ro, prop_names_t + MBOARD_PROP_TX_DSP, //ro, wax::obj + MBOARD_PROP_TX_DSP_NAMES, //ro, prop_names_t + MBOARD_PROP_RX_DBOARD, //ro, wax::obj + MBOARD_PROP_RX_DBOARD_NAMES, //ro, prop_names_t + MBOARD_PROP_TX_DBOARD, //ro, wax::obj + MBOARD_PROP_TX_DBOARD_NAMES, //ro, prop_names_t + MBOARD_PROP_RX_SUBDEV_SPEC, //rw, subdev_spec_t + MBOARD_PROP_TX_SUBDEV_SPEC, //rw, subdev_spec_t + MBOARD_PROP_CLOCK_CONFIG, //rw, clock_config_t + MBOARD_PROP_TIME_NOW, //rw, time_spec_t + MBOARD_PROP_TIME_PPS, //wo, time_spec_t + MBOARD_PROP_EEPROM_MAP //wr, mboard_eeprom_t::sptr }; }} //namespace diff --git a/host/include/uhd/usrp/multi_usrp.hpp b/host/include/uhd/usrp/multi_usrp.hpp index 60b757f50..9215652a6 100644 --- a/host/include/uhd/usrp/multi_usrp.hpp +++ b/host/include/uhd/usrp/multi_usrp.hpp @@ -86,6 +86,9 @@ public: //! A wildcard motherboard index static const size_t ALL_MBOARDS = size_t(~0); + //! A wildcard channel index + static const size_t ALL_CHANS = size_t(~0); + //! A wildcard gain element name static const std::string ALL_GAINS; @@ -214,8 +217,9 @@ public: * to ensure that the packets can be aligned by their time specs. * * \param stream_cmd the stream command to issue + * \param chan the channel index 0 to N-1 */ - virtual void issue_stream_cmd(const stream_cmd_t &stream_cmd) = 0; + virtual void issue_stream_cmd(const stream_cmd_t &stream_cmd, size_t chan = ALL_CHANS) = 0; /*! * Set the clock configuration for the usrp device. @@ -266,16 +270,18 @@ public: virtual std::string get_rx_subdev_name(size_t chan = 0) = 0; /*! - * Set the RX sample rate across all channels. + * Set the RX sample rate. * \param rate the rate in Sps + * \param chan the channel index 0 to N-1 */ - virtual void set_rx_rate(double rate) = 0; + virtual void set_rx_rate(double rate, size_t chan = ALL_CHANS) = 0; /*! - * Gets the RX sample rate for all channels. + * Gets the RX sample rate. + * \param chan the channel index 0 to N-1 * \return the rate in Sps */ - virtual double get_rx_rate(void) = 0; + virtual double get_rx_rate(size_t chan = 0) = 0; /*! * Set the RX center frequency. @@ -445,16 +451,18 @@ public: virtual std::string get_tx_subdev_name(size_t chan = 0) = 0; /*! - * Set the TX sample rate across all channels. + * Set the TX sample rate. * \param rate the rate in Sps + * \param chan the channel index 0 to N-1 */ - virtual void set_tx_rate(double rate) = 0; + virtual void set_tx_rate(double rate, size_t chan = ALL_CHANS) = 0; /*! - * Gets the TX sample rate for all channels. + * Gets the TX sample rate. + * \param chan the channel index 0 to N-1 * \return the rate in Sps */ - virtual double get_tx_rate(void) = 0; + virtual double get_tx_rate(size_t chan) = 0; /*! * Set the TX center frequency. diff --git a/host/include/uhd/usrp/subdev_props.hpp b/host/include/uhd/usrp/subdev_props.hpp index 8d05f4c27..40b339703 100644 --- a/host/include/uhd/usrp/subdev_props.hpp +++ b/host/include/uhd/usrp/subdev_props.hpp @@ -42,21 +42,21 @@ namespace uhd{ namespace usrp{ * Possible device subdev properties */ enum subdev_prop_t{ - SUBDEV_PROP_NAME = 'n', //ro, std::string - SUBDEV_PROP_OTHERS = 'o', //ro, prop_names_t - SUBDEV_PROP_GAIN = 'g', //rw, double - SUBDEV_PROP_GAIN_RANGE = 'r', //ro, gain_range_t - SUBDEV_PROP_GAIN_NAMES = 'G', //ro, prop_names_t - SUBDEV_PROP_FREQ = 'f', //rw, double - SUBDEV_PROP_FREQ_RANGE = 'F', //ro, freq_range_t - SUBDEV_PROP_ANTENNA = 'a', //rw, std::string - SUBDEV_PROP_ANTENNA_NAMES = 'A', //ro, prop_names_t - SUBDEV_PROP_LO_LOCKED = 'L', //ro, bool - SUBDEV_PROP_CONNECTION = 'c', //ro, subdev_conn_t - SUBDEV_PROP_ENABLED = 'e', //rw, bool - SUBDEV_PROP_USE_LO_OFFSET = 'l', //ro, bool - SUBDEV_PROP_RSSI = 'R', //ro, double - SUBDEV_PROP_BANDWIDTH = 'B' //rw, double + SUBDEV_PROP_NAME, //ro, std::string + SUBDEV_PROP_OTHERS, //ro, prop_names_t + SUBDEV_PROP_SENSOR, //ro, sensor_value_t + SUBDEV_PROP_SENSOR_NAMES, //ro, prop_names_t + SUBDEV_PROP_GAIN, //rw, double + SUBDEV_PROP_GAIN_RANGE, //ro, gain_range_t + SUBDEV_PROP_GAIN_NAMES, //ro, prop_names_t + SUBDEV_PROP_FREQ, //rw, double + SUBDEV_PROP_FREQ_RANGE, //ro, freq_range_t + SUBDEV_PROP_ANTENNA, //rw, std::string + SUBDEV_PROP_ANTENNA_NAMES, //ro, prop_names_t + SUBDEV_PROP_CONNECTION, //ro, subdev_conn_t + SUBDEV_PROP_ENABLED, //rw, bool + SUBDEV_PROP_USE_LO_OFFSET, //ro, bool + SUBDEV_PROP_BANDWIDTH //rw, double }; }} //namespace |