aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp1/codec_impl.cpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-08-15 12:40:37 -0700
committerJosh Blum <josh@joshknows.com>2010-08-15 12:40:37 -0700
commit2e978d8835b8f954b7c34c42138b64d3a5767f81 (patch)
tree22a6c6c94afa59697249fbc641cf398fe6c0b110 /host/lib/usrp/usrp1/codec_impl.cpp
parenta8a4d6c0c81cdb7d7577b9e696a18580717d0324 (diff)
downloaduhd-2e978d8835b8f954b7c34c42138b64d3a5767f81.tar.gz
uhd-2e978d8835b8f954b7c34c42138b64d3a5767f81.tar.bz2
uhd-2e978d8835b8f954b7c34c42138b64d3a5767f81.zip
usrp1: compiling off next branch
made usb checking changes implemented named_prop_t::extract change copied the remainder of the codec pga gain control
Diffstat (limited to 'host/lib/usrp/usrp1/codec_impl.cpp')
-rw-r--r--host/lib/usrp/usrp1/codec_impl.cpp33
1 files changed, 15 insertions, 18 deletions
diff --git a/host/lib/usrp/usrp1/codec_impl.cpp b/host/lib/usrp/usrp1/codec_impl.cpp
index 9253c06ba..7bf5631fb 100644
--- a/host/lib/usrp/usrp1/codec_impl.cpp
+++ b/host/lib/usrp/usrp1/codec_impl.cpp
@@ -16,6 +16,7 @@
//
#include "usrp1_impl.hpp"
+#include <uhd/utils/assert.hpp>
#include <uhd/usrp/codec_props.hpp>
#include <boost/bind.hpp>
@@ -44,8 +45,7 @@ static const std::string ad9862_pga_gain_name = "ad9862 pga";
void usrp1_impl::rx_codec_get(const wax::obj &key_, wax::obj &val)
{
- wax::obj key; std::string name;
- boost::tie(key, name) = extract_named_prop(key_);
+ named_prop_t key = named_prop_t::extract(key_);
//handle the get request conditioned on the key
switch(key.as<codec_prop_t>()) {
@@ -62,17 +62,17 @@ void usrp1_impl::rx_codec_get(const wax::obj &key_, wax::obj &val)
return;
case CODEC_PROP_GAIN_RANGE:
- UHD_ASSERT_THROW(name == ad9862_pga_gain_name);
+ UHD_ASSERT_THROW(key.name == ad9862_pga_gain_name);
val = usrp1_codec_ctrl::rx_pga_gain_range;
return;
case CODEC_PROP_GAIN_I:
- UHD_ASSERT_THROW(name == ad9862_pga_gain_name);
+ UHD_ASSERT_THROW(key.name == ad9862_pga_gain_name);
val = _codec_ctrl->get_rx_pga_gain('A');
return;
case CODEC_PROP_GAIN_Q:
- UHD_ASSERT_THROW(name == ad9862_pga_gain_name);
+ UHD_ASSERT_THROW(key.name == ad9862_pga_gain_name);
val = _codec_ctrl->get_rx_pga_gain('B');
return;
@@ -80,20 +80,19 @@ void usrp1_impl::rx_codec_get(const wax::obj &key_, wax::obj &val)
}
}
-void usrp1_impl::rx_codec_set(const wax::obj &, const wax::obj &)
+void usrp1_impl::rx_codec_set(const wax::obj &key_, const wax::obj &val)
{
- wax::obj key; std::string name;
- boost::tie(key, name) = extract_named_prop(key_);
+ named_prop_t key = named_prop_t::extract(key_);
//handle the set request conditioned on the key
switch(key.as<codec_prop_t>()) {
case CODEC_PROP_GAIN_I:
- UHD_ASSERT_THROW(name == ad9862_pga_gain_name);
+ UHD_ASSERT_THROW(key.name == ad9862_pga_gain_name);
_codec_ctrl->set_rx_pga_gain(val.as<float>(), 'A');
return;
case CODEC_PROP_GAIN_Q:
- UHD_ASSERT_THROW(name == ad9862_pga_gain_name);
+ UHD_ASSERT_THROW(key.name == ad9862_pga_gain_name);
_codec_ctrl->set_rx_pga_gain(val.as<float>(), 'B');
return;
@@ -106,8 +105,7 @@ void usrp1_impl::rx_codec_set(const wax::obj &, const wax::obj &)
**********************************************************************/
void usrp1_impl::tx_codec_get(const wax::obj &key_, wax::obj &val)
{
- wax::obj key; std::string name;
- boost::tie(key, name) = extract_named_prop(key_);
+ named_prop_t key = named_prop_t::extract(key_);
//handle the get request conditioned on the key
switch(key.as<codec_prop_t>()) {
@@ -124,13 +122,13 @@ void usrp1_impl::tx_codec_get(const wax::obj &key_, wax::obj &val)
return;
case CODEC_PROP_GAIN_RANGE:
- UHD_ASSERT_THROW(name == ad9862_pga_gain_name);
+ UHD_ASSERT_THROW(key.name == ad9862_pga_gain_name);
val = usrp1_codec_ctrl::tx_pga_gain_range;
return;
case CODEC_PROP_GAIN_I: //only one gain for I and Q
case CODEC_PROP_GAIN_Q:
- UHD_ASSERT_THROW(name == ad9862_pga_gain_name);
+ UHD_ASSERT_THROW(key.name == ad9862_pga_gain_name);
val = _codec_ctrl->get_tx_pga_gain();
return;
@@ -138,16 +136,15 @@ void usrp1_impl::tx_codec_get(const wax::obj &key_, wax::obj &val)
}
}
-void usrp1_impl::tx_codec_set(const wax::obj &, const wax::obj &)
+void usrp1_impl::tx_codec_set(const wax::obj &key_, const wax::obj &val)
{
- wax::obj key; std::string name;
- boost::tie(key, name) = extract_named_prop(key_);
+ named_prop_t key = named_prop_t::extract(key_);
//handle the set request conditioned on the key
switch(key.as<codec_prop_t>()){
case CODEC_PROP_GAIN_I: //only one gain for I and Q
case CODEC_PROP_GAIN_Q:
- UHD_ASSERT_THROW(name == ad9862_pga_gain_name);
+ UHD_ASSERT_THROW(key.name == ad9862_pga_gain_name);
_codec_ctrl->set_tx_pga_gain(val.as<float>());
return;