summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-04-01 16:37:25 -0700
committerJosh Blum <josh@joshknows.com>2010-04-01 16:37:25 -0700
commitf1f4865119605c66ffece113a621308d82512d23 (patch)
tree19b707c5146931ac0799e4d8f136bb414ac04dd9
parent54e8b566f6d1efecfd5fdc2c14bb287fd551089e (diff)
downloaduhd-f1f4865119605c66ffece113a621308d82512d23.tar.gz
uhd-f1f4865119605c66ffece113a621308d82512d23.tar.bz2
uhd-f1f4865119605c66ffece113a621308d82512d23.zip
hardcoded values for enum props, added clock get/set for simple usrp
-rw-r--r--host/include/uhd/usrp/dboard_props.hpp8
-rw-r--r--host/include/uhd/usrp/device_props.hpp10
-rw-r--r--host/include/uhd/usrp/dsp_props.hpp4
-rw-r--r--host/include/uhd/usrp/mboard_props.hpp28
-rw-r--r--host/include/uhd/usrp/simple_usrp.hpp9
-rw-r--r--host/include/uhd/usrp/subdev_props.hpp28
-rw-r--r--host/lib/usrp/simple_usrp.cpp17
7 files changed, 54 insertions, 50 deletions
diff --git a/host/include/uhd/usrp/dboard_props.hpp b/host/include/uhd/usrp/dboard_props.hpp
index 08c4eef6a..3b290319f 100644
--- a/host/include/uhd/usrp/dboard_props.hpp
+++ b/host/include/uhd/usrp/dboard_props.hpp
@@ -26,10 +26,10 @@ namespace uhd{ namespace usrp{
* Possible device dboard properties
*/
enum dboard_prop_t{
- DBOARD_PROP_NAME, //ro, std::string
- DBOARD_PROP_SUBDEV, //ro, wax::obj
- DBOARD_PROP_SUBDEV_NAMES, //ro, prop_names_t
- DBOARD_PROP_USED_SUBDEVS //ro, prop_names_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_USED_SUBDEVS = 'u' //ro, prop_names_t
//DBOARD_PROP_CODEC //ro, wax::obj //----> not sure, dont have to deal with yet
};
diff --git a/host/include/uhd/usrp/device_props.hpp b/host/include/uhd/usrp/device_props.hpp
index dcfa26240..b8f6f5cd4 100644
--- a/host/include/uhd/usrp/device_props.hpp
+++ b/host/include/uhd/usrp/device_props.hpp
@@ -29,11 +29,11 @@ namespace uhd{ namespace usrp{
* will be present in the interface for configuration.
*/
enum device_prop_t{
- DEVICE_PROP_NAME, //ro, std::string
- DEVICE_PROP_MBOARD, //ro, wax::obj
- DEVICE_PROP_MBOARD_NAMES, //ro, prop_names_t
- DEVICE_PROP_MAX_RX_SAMPLES, //ro, size_t
- DEVICE_PROP_MAX_TX_SAMPLES //ro, size_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_MAX_RX_SAMPLES = 'r', //ro, size_t
+ DEVICE_PROP_MAX_TX_SAMPLES = 't' //ro, size_t
};
////////////////////////////////////////////////////////////////////////
diff --git a/host/include/uhd/usrp/dsp_props.hpp b/host/include/uhd/usrp/dsp_props.hpp
index ef3f771df..60c0df942 100644
--- a/host/include/uhd/usrp/dsp_props.hpp
+++ b/host/include/uhd/usrp/dsp_props.hpp
@@ -31,8 +31,8 @@ namespace uhd{ namespace usrp{
* and a property to get list of other possible properties.
*/
enum dsp_prop_t{
- DSP_PROP_NAME, //ro, std::string
- DSP_PROP_OTHERS //ro, prop_names_t
+ DSP_PROP_NAME = 'n', //ro, std::string
+ DSP_PROP_OTHERS = 'o' //ro, prop_names_t
};
}} //namespace
diff --git a/host/include/uhd/usrp/mboard_props.hpp b/host/include/uhd/usrp/mboard_props.hpp
index ddb95ef0d..cfc1f412e 100644
--- a/host/include/uhd/usrp/mboard_props.hpp
+++ b/host/include/uhd/usrp/mboard_props.hpp
@@ -29,20 +29,20 @@ namespace uhd{ namespace usrp{
* and discovered though the others property.
*/
enum mboard_prop_t{
- MBOARD_PROP_NAME, //ro, std::string
- MBOARD_PROP_OTHERS, //ro, prop_names_t
- MBOARD_PROP_CLOCK_RATE, //ro, 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_CLOCK_CONFIG, //rw, clock_config_t
- MBOARD_PROP_TIME_NOW, //wo, time_spec_t
- MBOARD_PROP_TIME_NEXT_PPS //wo, time_spec_t
+ MBOARD_PROP_NAME = 'n', //ro, std::string
+ MBOARD_PROP_OTHERS = 'o', //ro, prop_names_t
+ MBOARD_PROP_CLOCK_RATE = 'c', //ro, 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_CLOCK_CONFIG = 'C', //rw, clock_config_t
+ MBOARD_PROP_TIME_NOW = 't', //wo, time_spec_t
+ MBOARD_PROP_TIME_NEXT_PPS = 'T' //wo, time_spec_t
};
}} //namespace
diff --git a/host/include/uhd/usrp/simple_usrp.hpp b/host/include/uhd/usrp/simple_usrp.hpp
index dea1cabda..2d6ad2a0f 100644
--- a/host/include/uhd/usrp/simple_usrp.hpp
+++ b/host/include/uhd/usrp/simple_usrp.hpp
@@ -22,6 +22,7 @@
#include <uhd/device.hpp>
#include <uhd/types/ranges.hpp>
#include <uhd/types/stream_cmd.hpp>
+#include <uhd/types/clock_config.hpp>
#include <uhd/types/tune_result.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/utility.hpp>
@@ -45,15 +46,13 @@ public:
virtual std::string get_name(void) = 0;
/*******************************************************************
- * Timing
+ * Misc
******************************************************************/
virtual void set_time_now(const time_spec_t &time_spec) = 0;
virtual void set_time_next_pps(const time_spec_t &time_spec) = 0;
-
- /*******************************************************************
- * Streaming
- ******************************************************************/
virtual void issue_stream_cmd(const stream_cmd_t &stream_cmd) = 0;
+ virtual void set_clock_config(const clock_config_t &clock_config) = 0;
+ virtual double get_clock_rate(void) = 0;
/*******************************************************************
* RX methods
diff --git a/host/include/uhd/usrp/subdev_props.hpp b/host/include/uhd/usrp/subdev_props.hpp
index 667f34f9c..92d18340b 100644
--- a/host/include/uhd/usrp/subdev_props.hpp
+++ b/host/include/uhd/usrp/subdev_props.hpp
@@ -26,20 +26,20 @@ namespace uhd{ namespace usrp{
* Possible device subdev properties
*/
enum subdev_prop_t{
- SUBDEV_PROP_NAME, //ro, std::string
- SUBDEV_PROP_OTHERS, //ro, prop_names_t
- SUBDEV_PROP_GAIN, //rw, float
- 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_ENABLED, //rw, bool
- SUBDEV_PROP_QUADRATURE, //ro, bool
- SUBDEV_PROP_IQ_SWAPPED, //ro, bool
- SUBDEV_PROP_SPECTRUM_INVERTED, //ro, bool
- SUBDEV_PROP_LO_INTERFERES //ro, bool
+ SUBDEV_PROP_NAME = 'n', //ro, std::string
+ SUBDEV_PROP_OTHERS = 'o', //ro, prop_names_t
+ SUBDEV_PROP_GAIN = 'g', //rw, float
+ 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_ENABLED = 'e', //rw, bool
+ SUBDEV_PROP_QUADRATURE = 'q', //ro, bool
+ SUBDEV_PROP_IQ_SWAPPED = 'i', //ro, bool
+ SUBDEV_PROP_SPECTRUM_INVERTED = 's', //ro, bool
+ SUBDEV_PROP_LO_INTERFERES = 'l' //ro, bool
//SUBDEV_PROP_RSSI, //ro, float //----> not on all boards, use named prop
//SUBDEV_PROP_BANDWIDTH //rw, double //----> not on all boards, use named prop
};
diff --git a/host/lib/usrp/simple_usrp.cpp b/host/lib/usrp/simple_usrp.cpp
index 4bd47dc3f..a0551a630 100644
--- a/host/lib/usrp/simple_usrp.cpp
+++ b/host/lib/usrp/simple_usrp.cpp
@@ -75,7 +75,7 @@ public:
}
/*******************************************************************
- * Timing
+ * Misc
******************************************************************/
void set_time_now(const time_spec_t &time_spec){
_mboard[MBOARD_PROP_TIME_NOW] = time_spec;
@@ -85,13 +85,18 @@ public:
_mboard[MBOARD_PROP_TIME_NEXT_PPS] = time_spec;
}
- /*******************************************************************
- * Streaming
- ******************************************************************/
void issue_stream_cmd(const stream_cmd_t &stream_cmd){
_rx_ddc[std::string("stream_cmd")] = stream_cmd;
}
+ void set_clock_config(const clock_config_t &clock_config){
+ _mboard[MBOARD_PROP_CLOCK_CONFIG] = clock_config;
+ }
+
+ double get_clock_rate(void){
+ return _mboard[MBOARD_PROP_CLOCK_RATE].as<double>();
+ }
+
/*******************************************************************
* RX methods
******************************************************************/
@@ -138,7 +143,7 @@ public:
}
std::vector<std::string> get_rx_antennas(void){
- return _rx_subdev[SUBDEV_PROP_ANTENNA_NAMES].as<std::vector<std::string> >();
+ return _rx_subdev[SUBDEV_PROP_ANTENNA_NAMES].as<prop_names_t>();
}
/*******************************************************************
@@ -187,7 +192,7 @@ public:
}
std::vector<std::string> get_tx_antennas(void){
- return _tx_subdev[SUBDEV_PROP_ANTENNA_NAMES].as<std::vector<std::string> >();
+ return _tx_subdev[SUBDEV_PROP_ANTENNA_NAMES].as<prop_names_t>();
}
private: