From 6148059a0305b1cc8661d0d56f8aa3bdfb727bf0 Mon Sep 17 00:00:00 2001
From: Josh Blum <josh@joshknows.com>
Date: Thu, 22 Jul 2010 19:36:03 -0700
Subject: usrp: added codec gains props

---
 host/include/uhd/usrp/CMakeLists.txt   |  1 +
 host/include/uhd/usrp/codec_props.hpp  | 42 ++++++++++++++++++++++++++++++++++
 host/include/uhd/usrp/dboard_props.hpp |  8 ++++---
 host/include/uhd/usrp/device_props.hpp | 16 -------------
 host/include/uhd/usrp/subdev_props.hpp |  2 --
 5 files changed, 48 insertions(+), 21 deletions(-)
 create mode 100644 host/include/uhd/usrp/codec_props.hpp

diff --git a/host/include/uhd/usrp/CMakeLists.txt b/host/include/uhd/usrp/CMakeLists.txt
index 6f8c1a2d8..bdb4b90a8 100644
--- a/host/include/uhd/usrp/CMakeLists.txt
+++ b/host/include/uhd/usrp/CMakeLists.txt
@@ -18,6 +18,7 @@
 
 INSTALL(FILES
     #### props headers ###
+    codec_props.hpp
     dboard_props.hpp
     device_props.hpp
     dsp_props.hpp
diff --git a/host/include/uhd/usrp/codec_props.hpp b/host/include/uhd/usrp/codec_props.hpp
new file mode 100644
index 000000000..ab09b1703
--- /dev/null
+++ b/host/include/uhd/usrp/codec_props.hpp
@@ -0,0 +1,42 @@
+//
+// Copyright 2010 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
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+//
+
+#ifndef INCLUDED_UHD_USRP_CODEC_PROPS_HPP
+#define INCLUDED_UHD_USRP_CODEC_PROPS_HPP
+
+#include <uhd/utils/props.hpp>
+
+namespace uhd{ namespace usrp{
+
+    /*!
+    * Possible device codec properties:
+    *   A codec is expected to have a rate and gain elements.
+    *   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, float
+        CODEC_PROP_GAIN_Q         = 'q', //rw, float
+        CODEC_PROP_GAIN_RANGE     = 'r', //ro, gain_range_t
+        CODEC_PROP_GAIN_NAMES     = 'G'  //ro, prop_names_t
+    };
+
+
+}} //namespace
+
+#endif /* INCLUDED_UHD_USRP_CODEC_PROPS_HPP */
diff --git a/host/include/uhd/usrp/dboard_props.hpp b/host/include/uhd/usrp/dboard_props.hpp
index 4d5c5efbd..fcccb5492 100644
--- a/host/include/uhd/usrp/dboard_props.hpp
+++ b/host/include/uhd/usrp/dboard_props.hpp
@@ -23,7 +23,9 @@
 namespace uhd{ namespace usrp{
 
     /*!
-     * Possible device dboard properties
+     * Possible device dboard properties:
+     *    A dboard has an id, one or more subdevices, and a codec.
+     *    A dboard is considered to be unidirectional (RX or TX).
      */
     enum dboard_prop_t{
         DBOARD_PROP_NAME         = 'n', //ro, std::string
@@ -31,8 +33,8 @@ namespace uhd{ namespace usrp{
         DBOARD_PROP_SUBDEV_NAMES = 'S', //ro, prop_names_t
         DBOARD_PROP_USED_SUBDEVS = 'u', //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              //ro, wax::obj //----> not sure, dont have to deal with yet
+        DBOARD_PROP_DBOARD_IFACE = 'f', //ro, dboard_iface::sptr
+        DBOARD_PROP_CODEC        = 'c'  //ro, wax::obj
     }; 
 
 }} //namespace
diff --git a/host/include/uhd/usrp/device_props.hpp b/host/include/uhd/usrp/device_props.hpp
index 983bcb672..346eec179 100644
--- a/host/include/uhd/usrp/device_props.hpp
+++ b/host/include/uhd/usrp/device_props.hpp
@@ -34,22 +34,6 @@ namespace uhd{ namespace usrp{
         DEVICE_PROP_MBOARD_NAMES   = 'M'  //ro, prop_names_t
     };
 
-    ////////////////////////////////////////////////////////////////////////
-    /*! ------ not dealing with yet, commented out ------------
-    * Possible device codec properties:
-    *   A codec is expected to have a rate and gain elements.
-    *   Other properties can be discovered through the others prop.
-    */
-    /*enum codec_prop_t{
-        CODEC_PROP_NAME,               //ro, std::string
-        CODEC_PROP_OTHERS,             //ro, prop_names_t
-        CODEC_PROP_GAIN,               //rw, gain_t
-        CODEC_PROP_GAIN_RANGE,         //ro, gain_range_t
-        CODEC_PROP_GAIN_NAMES,         //ro, prop_names_t
-        //CODEC_PROP_CLOCK_RATE          //ro, freq_t //----> not sure we care to know
-    };*/
-
-
 }} //namespace
 
 #endif /* INCLUDED_UHD_USRP_DEVICE_PROPS_HPP */
diff --git a/host/include/uhd/usrp/subdev_props.hpp b/host/include/uhd/usrp/subdev_props.hpp
index f7bdcd161..cd07cb7a8 100644
--- a/host/include/uhd/usrp/subdev_props.hpp
+++ b/host/include/uhd/usrp/subdev_props.hpp
@@ -53,8 +53,6 @@ namespace uhd{ namespace usrp{
         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_QUADRATURE        = 'q', //ro, bool
-        //SUBDEV_PROP_IQ_SWAPPED        = 'i', //ro, bool
         SUBDEV_PROP_USE_LO_OFFSET     = 'l', //ro, bool
         SUBDEV_PROP_RSSI              = 'R', //ro, float
         SUBDEV_PROP_BANDWIDTH         = 'B'  //rw, double
-- 
cgit v1.2.3