aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib/mykonos/config/ad937x_config_t.hpp
diff options
context:
space:
mode:
authorMark Meserve <mark.meserve@ni.com>2017-09-22 11:46:32 -0500
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:04:01 -0800
commit5d2bc93108f8308b398b8f5e435ad72fb5c1226e (patch)
tree78a34f889828f9f03d6b7145a15a5e6b6e5c8c9f /mpm/lib/mykonos/config/ad937x_config_t.hpp
parenta510337a535f17b9401dc4c5b223e5ec5fa6f7f8 (diff)
downloaduhd-5d2bc93108f8308b398b8f5e435ad72fb5c1226e.tar.gz
uhd-5d2bc93108f8308b398b8f5e435ad72fb5c1226e.tar.bz2
uhd-5d2bc93108f8308b398b8f5e435ad72fb5c1226e.zip
ad937x: cleanup and optimize ad937x_config_t
Diffstat (limited to 'mpm/lib/mykonos/config/ad937x_config_t.hpp')
-rw-r--r--mpm/lib/mykonos/config/ad937x_config_t.hpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/mpm/lib/mykonos/config/ad937x_config_t.hpp b/mpm/lib/mykonos/config/ad937x_config_t.hpp
index 9613132e7..8cd079ba9 100644
--- a/mpm/lib/mykonos/config/ad937x_config_t.hpp
+++ b/mpm/lib/mykonos/config/ad937x_config_t.hpp
@@ -21,14 +21,11 @@
#include "ad937x_fir.hpp"
#include <boost/noncopyable.hpp>
-// This class exists so that the entire mykonos config can be allocated and managed together
+// Allocates and links the entire mykonos config struct in a single class
class ad937x_config_t : public boost::noncopyable
{
- // The top level device struct contains all other structs, so everything is technically "public"
- // a user could technically modify the pointers in the structs, but we have no way of preventing that
public:
ad937x_config_t(spiSettings_t* sps);
- //mykonosDevice_t * const device = &_device;
mykonosDevice_t * device;
ad937x_fir rx_fir_config;
@@ -43,19 +40,21 @@ public:
static const int16_t DEFAULT_SNIFFER_FIR[DEFAULT_RX_FIR_SIZE];
private:
+ // The top level device struct is non-const and contains all other structs, so everything is "public"
+ // a user could technically modify the pointers in the structs, but we have no way of preventing that
mykonosDevice_t _device;
ad937x_fir _orx_fir_config;
ad937x_fir _sniffer_rx_fir_config;
- // in general, this organization stinks
- // TODO: group and make more sense of these fields and pointers
+ // General structs
mykonosRxSettings_t _rx;
mykonosTxSettings_t _tx;
mykonosObsRxSettings_t _obsRx;
mykonosAuxIo_t _auxIo;
mykonosDigClocks_t _clocks;
+ // RX structs
mykonosRxProfile_t _rxProfile;
mykonosJesd204bFramerConfig_t _framer;
mykonosRxGainControl_t _rxGainCtrl;
@@ -63,24 +62,27 @@ private:
mykonosPeakDetAgcCfg_t _rxPeakAgc;
mykonosPowerMeasAgcCfg_t _rxPowerAgc;
+ // TX structs
mykonosTxProfile_t _txProfile;
mykonosJesd204bDeframerConfig_t _deframer;
+ // ObsRX structs
mykonosRxProfile_t _orxProfile;
mykonosORxGainControl_t _orxGainCtrl;
mykonosAgcCfg_t _orxAgcCtrl;
mykonosPeakDetAgcCfg_t _orxPeakAgc;
mykonosPowerMeasAgcCfg_t _orxPowerAgc;
+ // Sniffer RX structs
mykonosRxProfile_t _snifferProfile;
mykonosSnifferGainControl_t _snifferGainCtrl;
mykonosJesd204bFramerConfig_t _orxFramer;
+ // GPIO structs
mykonosGpio3v3_t _gpio3v3;
mykonosGpioLowVoltage_t _gpio;
mykonosArmGpioConfig_t _armGpio;
+ // private initialization helper functions
void _init_pointers();
- void _assign_firs();
- void _assign_default_configuration();
};