libcyberradio 22.01.24
RadioHandler.h
1/***************************************************************************
2 * \file RadioHandler.h
3 * \brief Defines the basic radio handler interface for an NDR-class radio.
4 * \author DA
5 * \author NH
6 * \author MN
7 * \copyright (c) 2017 CyberRadio Solutions, Inc. All rights reserved.
8 *
9 ***************************************************************************/
10
11#ifndef INCLUDED_LIBCYBERRADIO_DRIVER_RADIOHANDLER_H
12#define INCLUDED_LIBCYBERRADIO_DRIVER_RADIOHANDLER_H
13
14#include "LibCyberRadio/Common/BasicDict.h"
15#include "LibCyberRadio/Common/BasicList.h"
16#include "LibCyberRadio/Driver/Configurable.h"
17#include "LibCyberRadio/Driver/DataPort.h"
18#include "LibCyberRadio/Driver/DucComponent.h"
19#include "LibCyberRadio/Driver/NbddcComponent.h"
20#include "LibCyberRadio/Driver/NbddcGroupComponent.h"
21#include "LibCyberRadio/Driver/RadioTransport.h"
22#include "LibCyberRadio/Driver/SimpleIpSetup.h"
23#include "LibCyberRadio/Driver/TransmitterComponent.h"
24#include "LibCyberRadio/Driver/TunerComponent.h"
25#include "LibCyberRadio/Driver/VitaIfSpec.h"
26#include "LibCyberRadio/Driver/WbddcComponent.h"
27#include "LibCyberRadio/Driver/WbddcGroupComponent.h"
28#include <cstdint>
29#include <string>
30
31
35namespace LibCyberRadio
36{
40 namespace Driver
41 {
55 {
56 public:
89 const std::string& name = "NDR",
90 int numTuner = 0,
91 int tunerIndexBase = 1,
92 int numWbddc = 0,
93 int wbddcIndexBase = 1,
94 int numNbddc = 0,
95 int nbddcIndexBase = 1,
96 int numTunerBoards = 1,
97 int maxTunerBw = 0,
98 int numTransmitter = 0,
99 int transmitterIndexBase = 1,
100 int numDuc = 0,
101 int ducIndexBase = 1,
102 int numWbddcGroups = 0,
103 int wbddcGroupIndexBase = 1,
104 int numNbddcGroups = 0,
105 int nbddcGroupIndexBase = 1,
106 int numDdcGroups = 0,
107 int ddcGroupIndexBase = 1,
108 int numDataPorts = 0,
109 int dataPortIndexBase = 1,
110 int numSimpleIpSetups = 0,
111 double adcRate = 102.4e6,
112 VitaIfSpec ifSpec = VitaIfSpec(),
113 bool debug = false
114 );
118 virtual ~RadioHandler();
123 RadioHandler(const RadioHandler& other);
129 virtual RadioHandler& operator=(const RadioHandler& other);
134 virtual bool isConnected() const;
154 virtual bool connect(
155 const std::string& mode,
156 const std::string& host_or_dev,
157 const int port_or_baudrate
158 );
162 virtual void disconnect();
171 const std::string& cmdString,
172 double timeout = -1
173 );
185 virtual bool setConfiguration(ConfigurationDict& cfg);
191 virtual void queryConfiguration();
197 virtual std::string getLastCommandErrorInfo() const;
203 virtual bool sendReset(int resetType=0);
209 virtual bool getPps();
217 virtual bool setTimeNextPps(bool checkTime=false, bool useGpsTime=false);
222 virtual time_t getTimeNow();
227 virtual time_t getTimeNextPps();
233 virtual unsigned int getStatus();
239 virtual unsigned int getTstatus();
247 virtual bool setReferenceMode(int mode);
255 virtual bool setBypassMode(int mode);
264 virtual bool setTimeAdjustment(int tunerIndex, int timeAdjustValue);
277 virtual int getTemperature();
283 virtual int getGpioOutput();
289 virtual BasicIntList getGpioOutputByIndex(int index);
297 virtual bool setGpioOutput(int value);
312 virtual bool setGpioOutputByIndex(int index, int value,
313 int duration, int loop, int go);
319 virtual double getCalibrationFrequency() const;
326 virtual bool setCalibrationFrequency(double freq);
331 virtual int getNumDataPorts() const;
336 virtual BasicIntList getDataPortIndexRange() const;
343 virtual int getNumDataPortDipEntries() const;
359 virtual bool isConnectionModeSupported(const std::string& mode) const;
364 virtual double getAdcRate() const;
369 virtual int getVitaHeaderSize() const;
374 virtual int getVitaPayloadSize() const;
379 virtual int getVitaTailSize() const;
385 virtual bool isByteswapped() const;
391 virtual bool isIqSwapped() const;
396 virtual const char* getByteOrder() const;
397 // getVitaEnableOptionSet()
402 virtual int getNumTuner() const;
407 virtual int getNumTunerBoards() const;
412 virtual BasicIntList getTunerIndexRange() const;
422 virtual double getTunerFrequencyRes() const;
435 virtual double getTunerFrequencyUnit() const;
445 virtual double getTunerAttenuationRes() const;
451 virtual bool isTunerEnabled(int index) const;
458 virtual bool enableTuner(int index, bool enabled = true);
464 virtual bool disableTuner(int index);
470 virtual double getTunerFrequency(int index) const;
477 virtual bool setTunerFrequency(int index, double freq);
483 virtual double getTunerAttenuation(int index) const;
490 virtual bool setTunerAttenuation(int index, double atten);
496 virtual int getTunerFilter(int index) const;
503 virtual bool setTunerFilter(int index, int filter);
509 virtual ConfigurationDict getTunerConfiguration(int index) const;
516 virtual bool setTunerConfiguration(int index, ConfigurationDict& cfg);
521 virtual int getNumWbddc() const;
526 virtual BasicIntList getWbddcIndexRange() const;
531 virtual bool isWbddcTunable() const;
537 virtual bool isWbddcSelectableSource() const;
549 virtual double getWbddcFrequencyRes() const;
562 virtual double getWbddcFrequencyUnit() const;
567 virtual WbddcRateSet getWbddcRateSet() const;
573 virtual BasicDoubleList getWbddcRateList() const;
579 virtual bool isWbddcEnabled(int index) const;
586 virtual bool enableWbddc(int index, bool enabled = true);
592 virtual bool disableWbddc(int index);
599 virtual double getWbddcFrequency(int index) const;
607 virtual bool setWbddcFrequency(int index, double freq);
615 virtual int getWbddcSource(int index) const;
624 virtual bool setWbddcSource(int index, int source);
630 virtual int getWbddcRateIndex(int index) const;
637 virtual bool setWbddcRateIndex(int index, int rateIndex);
643 virtual int getWbddcUdpDestination(int index) const;
650 virtual bool setWbddcUdpDestination(int index, int dest);
656 virtual int getWbddcVitaEnable(int index) const;
663 virtual bool setWbddcVitaEnable(int index, int enable);
669 virtual unsigned int getWbddcStreamId(int index) const;
676 virtual bool setWbddcStreamId(int index, unsigned int sid);
683 virtual int getWbddcDataPort(int index) const;
691 virtual bool setWbddcDataPort(int index, int port);
698 virtual bool setWbddcRateSet(int index, const WbddcRateSet& set);
704 virtual ConfigurationDict getWbddcConfiguration(int index) const;
711 virtual bool setWbddcConfiguration(int index, ConfigurationDict& cfg);
716 virtual int getNumNbddc() const;
721 virtual BasicIntList getNbddcIndexRange() const;
733 virtual double getNbddcFrequencyRes() const;
746 virtual double getNbddcFrequencyUnit() const;
751 virtual NbddcRateSet getNbddcRateSet() const;
757 virtual BasicDoubleList getNbddcRateList() const;
763 virtual bool isNbddcEnabled(int index) const;
770 virtual bool enableNbddc(int index, bool enabled = true);
776 virtual bool disableNbddc(int index);
783 virtual double getNbddcFrequency(int index) const;
791 virtual bool setNbddcFrequency(int index, double freq);
799 virtual int getNbddcSource(int index) const;
808 virtual bool setNbddcSource(int index, int source);
814 virtual int getNbddcRateIndex(int index) const;
821 virtual bool setNbddcRateIndex(int index, int rateIndex);
827 virtual int getNbddcUdpDestination(int index) const;
834 virtual bool setNbddcUdpDestination(int index, int dest);
840 virtual int getNbddcVitaEnable(int index) const;
847 virtual bool setNbddcVitaEnable(int index, int enable);
853 virtual unsigned int getNbddcStreamId(int index) const;
860 virtual bool setNbddcStreamId(int index, unsigned int sid);
867 virtual int getNbddcDataPort(int index) const;
875 virtual bool setNbddcDataPort(int index, int port);
882 virtual bool setNbddcRateSet(int index, const NbddcRateSet& set);
888 virtual ConfigurationDict getNbddcConfiguration(int index) const;
895 virtual bool setNbddcConfiguration(int index, ConfigurationDict& cfg);
900 virtual int getNumTransmitters() const;
915 virtual double getTransmitterFrequencyRes() const;
928 virtual double getTransmitterFrequencyUnit() const;
939 virtual double getTransmitterAttenuationRes() const;
945 virtual bool isTransmitterEnabled(int index) const;
952 virtual bool enableTransmitter(int index, bool enabled = true);
958 virtual bool disableTransmitter(int index);
964 virtual double getTransmitterFrequency(int index) const;
971 virtual bool setTransmitterFrequency(int index, double freq);
977 virtual double getTransmitterAttenuation(int index) const;
984 virtual bool setTransmitterAttenuation(int index, double atten);
990 virtual ConfigurationDict getTransmitterConfiguration(int index) const;
997 virtual bool setTransmitterConfiguration(int index, ConfigurationDict& cfg);
1003 virtual bool transmitterSupportsCW() const;
1009 virtual int getTransmitterCWNum() const;
1024 virtual double getTransmitterCWFrequencyRes() const;
1034 virtual double getTransmitterCWAmplitudeRes() const;
1044 virtual int getTransmitterCWPhaseRes() const;
1049 virtual bool transmitterSupportsCWSweep() const;
1059 virtual double getTransmitterCWSweepStartRes() const;
1069 virtual double getTransmitterCWSweepStopRes() const;
1079 virtual double getTransmitterCWSweepStepRes() const;
1089 virtual double getTransmitterCWSweepDwellRes() const;
1097 virtual bool enableTransmitterCW(int index, int cwIndex,
1098 bool enabled = true);
1105 virtual bool disableTransmitterCW(int index, int cwIndex);
1113 int cwIndex) const;
1122 virtual bool setTransmitterCWConfiguration(int index, int cwIndex,
1123 ConfigurationDict& cfg);
1130 virtual double getTransmitterCWFrequency(int index, int cwIndex) const;
1138 virtual bool setTransmitterCWFrequency(int index, int cwIndex, double freq);
1145 virtual double getTransmitterCWAmplitude(int index, int cwIndex) const;
1153 virtual bool setTransmitterCWAmplitude(int index, int cwIndex, double amp);
1160 virtual double getTransmitterCWPhase(int index, int cwIndex) const;
1168 virtual bool setTransmitterCWPhase(int index, int cwIndex, double phase);
1176 virtual bool transmitterSupportsCWSweep(int index, int cwIndex) const;
1184 virtual double getTransmitterCWSweepStartFrequency(int index, int cwIndex) const;
1192 virtual double getTransmitterCWSweepStopFrequency(int index, int cwIndex) const;
1200 virtual double getTransmitterCWSweepFrequencyStep(int index, int cwIndex) const;
1208 virtual double getTransmitterCWSweepDwellTime(int index, int cwIndex) const;
1220 virtual bool setTransmitterCWFrequencySweep(int index, int cwIndex, double start,
1221 double stop, double step, double dwell);
1226 virtual int getNumDuc() const;
1231 virtual BasicIntList getDucIndexRange() const;
1236 virtual bool ducSupportsSnapshotLoad() const;
1241 virtual bool ducSupportsSnapshotTransmit() const;
1248 virtual bool enableDuc(int index, bool enabled);
1254 virtual bool disableDuc(int index);
1260 virtual ConfigurationDict getDucConfiguration(int index) const;
1267 virtual bool setDucConfiguration(int index, ConfigurationDict& cfg);
1273 virtual int getDucDataPort(int index) const;
1281 virtual bool setDucDataPort(int index, int port);
1287 virtual double getDucFrequency(int index) const;
1294 virtual bool setDucFrequency(int index, double freq);
1299 virtual BasicDoubleList getDucFrequencyRange() const;
1304 virtual double getDucFrequencyRes() const;
1309 virtual double getDucFrequencyUnit() const;
1315 virtual double getDucAttenuation(int index) const;
1322 virtual bool setDucAttenuation(int index, double atten);
1332 virtual double getDucAttenuationRes() const;
1338 virtual int getDucRateIndex(int index) const;
1345 virtual bool setDucRateIndex(int index, int rateIndex);
1354 virtual int getDucTxChannelBitmap(int index) const;
1364 virtual bool setDucTxChannelBitmap(int index, int txChannels);
1370 virtual int getDucMode(int index) const;
1377 virtual bool setDucMode(int index, int mode);
1383 virtual unsigned int getDucStreamId(int index) const;
1390 virtual bool setDucStreamId(int index, unsigned int sid);
1407 virtual bool loadDucSnapshot(int index,
1408 const std::string& filename,
1409 unsigned int startSample = 0,
1410 unsigned int samples = 0
1411 );
1416 virtual DucRateSet getDucRateSet() const;
1422 virtual BasicDoubleList getDucRateList() const;
1427 virtual int getNumWbddcGroups() const;
1432 virtual BasicIntList getWbddcGroupIndexRange() const;
1438 virtual bool isWbddcGroupEnabled(int index) const;
1445 virtual bool enableWbddcGroup(int index, bool enabled);
1451 virtual bool disableWbddcGroup(int index);
1457 virtual ConfigurationDict getWbddcGroupConfiguration(int index) const;
1464 virtual bool setWbddcGroupConfiguration(int index, ConfigurationDict& cfg);
1470 virtual BasicIntList getWbddcGroupMembers(int index) const;
1477 virtual bool setWbddcGroupMembers(int index, const BasicIntList& groupMembers);
1484 virtual bool addWbddcGroupMember(int index, int member);
1491 virtual bool removeWbddcGroupMember(int index, int member);
1496 virtual int getNumNbddcGroups() const;
1501 virtual BasicIntList getNbddcGroupIndexRange() const;
1507 virtual bool isNbddcGroupEnabled(int index) const;
1514 virtual bool enableNbddcGroup(int index, bool enabled);
1520 virtual bool disableNbddcGroup(int index);
1526 virtual ConfigurationDict getNbddcGroupConfiguration(int index) const;
1533 virtual bool setNbddcGroupConfiguration(int index, ConfigurationDict& cfg);
1539 virtual BasicIntList getNbddcGroupMembers(int index) const;
1546 virtual bool setNbddcGroupMembers(int index, const BasicIntList& groupMembers);
1553 virtual bool addNbddcGroupMember(int index, int member);
1560 virtual bool removeNbddcGroupMember(int index, int member);
1565 virtual bool disableTenGigFlowControl();
1570 virtual bool enableTenGigFlowControl();
1576 virtual bool setTenGigFlowControlStatus(bool enable);
1588 virtual ConfigurationDict getDataPortConfiguration(int index) const;
1596 virtual bool setDataPortConfiguration(int index, ConfigurationDict& cfg);
1602 virtual std::string getDataPortSourceIP(int index) const;
1609 virtual bool setDataPortSourceIP(int index, const std::string& ipAddr);
1616 virtual bool enableDataPortErrors(int index, bool enabled = true);
1622 virtual bool disableDataPortErrors(int index);
1629 virtual bool enableDataPortFlowControl(int index, bool enabled = true);
1635 virtual bool disableDataPortFlowControl(int index);
1643 virtual std::string getDataPortDestMACAddress(int index, int dipIndex) const;
1652 virtual bool setDataPortDestMACAddress(int index, int dipIndex,
1653 const std::string& macAddr);
1661 virtual std::string getDataPortDestIPAddress(int index, int dipIndex) const;
1670 virtual bool setDataPortDestIPAddress(int index, int dipIndex,
1671 const std::string& ipAddr);
1679 virtual unsigned int getDataPortDestSourcePort(int index, int dipIndex) const;
1688 virtual bool setDataPortDestSourcePort(int index, int dipIndex,
1689 unsigned int sourcePort);
1697 virtual unsigned int getDataPortDestDestPort(int index, int dipIndex) const;
1706 virtual bool setDataPortDestDestPort(int index, int dipIndex,
1707 unsigned int destPort);
1719 virtual bool setDataPortDestInfo(int index,
1720 int dipIndex,
1721 const std::string& ipAddr,
1722 const std::string& macAddr,
1723 unsigned int sourcePort,
1724 unsigned int destPort);
1743 virtual std::string getSimpleSourceMACAddress() const;
1749 virtual std::string getSimpleSourceIPAddress() const;
1756 virtual bool setSimpleSourceIPAddress(const std::string& ipAddr);
1762 virtual std::string getSimpleDestMACAddress() const;
1769 virtual bool setSimpleDestMACAddress(const std::string& macAddr);
1775 virtual std::string getSimpleDestIPAddress() const;
1782 virtual bool setSimpleDestIPAddress(const std::string& ipAddr);
1792 virtual int getDefaultDeviceInfo() const;
1796 virtual uint32_t getMessageId( void );
1797
1798 protected:
1809 virtual void initConfigurationDict();
1816 virtual void updateConfigurationDict();
1817 // Queries the radio for its version information.
1818 virtual bool queryVersionInfo();
1819 // Queries the radio for its specific configuration information.
1820 // Individual radios should override this as necessary.
1821 virtual bool queryRadioConfiguration();
1822 // Executes the *IDN? query on the radio.
1823 virtual bool executeQueryIDN(std::string& model,
1824 std::string& serialNumber);
1825 // Executes the VER? query on the radio.
1826 virtual bool executeQueryVER(std::string& softwareVersion,
1827 std::string& firmwareVersion,
1828 std::string& referenceVersion,
1829 std::string& firmwareDate);
1830 // Executes the HREV? query on the radio.
1831 virtual bool executeQueryHREV(std::string& hardwareInfo);
1832 // Executes the reset command on the radio.
1833 // Override this as needed for radios that support this command.
1834 virtual bool executeResetCommand(int resetType=0);
1835 // Executes the PPS command on the radio.
1836 // Override this as needed for radios that support this command.
1837 virtual bool executePpsQuery();
1838 // Executes the time query on the radio.
1839 // Override this as needed for radios that support this command.
1840 // Time is an in/out parameter
1841 virtual bool executeTimeQuery(std::string& timeStr);
1842 // Executes the time command on the radio.
1843 // Override this as needed for radios that support this command.
1844 // Time is an in/out parameter
1845 virtual bool executeTimeCommand(std::string& timeStr);
1846 // Executes the GPS time query on the radio.
1847 // Override this as needed for radios that support this command.
1848 // Time is an in/out parameter
1849 virtual bool executeGpsTimeQuery(std::string& timeStr);
1850 // Executes the config mode query on the radio.
1851 // Override this as needed for radios that support this command.
1852 // Config mode is an in/out parameter
1853 virtual bool executeConfigModeQuery(int& configMode);
1854 // Executes the config mode command on the radio.
1855 // Override this as needed for radios that support this command.
1856 // Config mode is an input parameter
1857 virtual bool executeConfigModeCommand(int& configMode);
1858 // Executes the coherent mode query on the radio.
1859 // Override this as needed for radios that support this command.
1860 // Coherent mode is an in/out parameter
1861 virtual bool executeCoherentModeQuery(int& coherentMode);
1862 // Executes the coherent mode command on the radio.
1863 // Override this as needed for radios that support this command.
1864 // Coherent mode is an in/out parameter
1865 virtual bool executeCoherentModeCommand(int& coherentMode);
1866 // Executes the frequency normalization query on the radio.
1867 // Override this as needed for radios that support this command.
1868 // FNR mode is an in/out parameter
1869 virtual bool executeFreqNormalizationQuery(int& fnrMode);
1870 // Executes the frequency normalization command on the radio.
1871 // Override this as needed for radios that support this command.
1872 // FNR mode is an in/out parameter
1873 virtual bool executeFreqNormalizationCommand(int& fnrMode);
1874 // Executes the GPS enabled query on the radio.
1875 // Override this as needed for radios that support this command.
1876 // GPS mode is an in/out parameter
1877 virtual bool executeGpsEnabledQuery(int& enabled);
1878 // Executes the GPS enabled command on the radio.
1879 // Override this as needed for radios that support this command.
1880 // GPS mode is an in/out parameter
1881 virtual bool executeGpsEnabledCommand(int& enabled);
1882 // Executes the GPS position query on the radio.
1883 // Override this as needed for radios that support this command.
1884 // GPS position are in/out parameters
1885 virtual bool executeGpsPositionQuery(double& lat, double& lon);
1886 // Executes the reference mode query on the radio.
1887 // Override this as needed for radios that support this command.
1888 // Ref mode is an in/out parameter
1889 virtual bool executeReferenceModeQuery(int& refMode);
1890 // Executes the reference mode command on the radio.
1891 // Override this as needed for radios that support this command.
1892 // Ref mode is an in/out parameter
1893 virtual bool executeReferenceModeCommand(int& refMode);
1894 // Executes the reference bypass query on the radio.
1895 // Override this as needed for radios that support this command.
1896 // Ref bypass is an in/out parameter
1897 virtual bool executeReferenceBypassQuery(int& bypassMode);
1898 // Executes the reference bypass command on the radio.
1899 // Override this as needed for radios that support this command.
1900 // Ref bypass is an in/out parameter
1901 virtual bool executeReferenceBypassCommand(int& bypassMode);
1902 // Executes the reference tuning voltage query on the radio.
1903 // Override this as needed for radios that support this command.
1904 // Ref tuning voltage is an in/out parameter
1905 virtual bool executeReferenceVoltageQuery(int& voltage);
1906 // Executes the reference tuning voltage command on the radio.
1907 // Override this as needed for radios that support this command.
1908 // Ref tuning voltage is an in/out parameter
1909 virtual bool executeReferenceVoltageCommand(int& voltage);
1910 // Executes the status query on the radio.
1911 // Override this as needed for radios that support this command.
1912 // Status is an in/out parameter
1913 virtual bool executeStatusQuery(unsigned int& stat);
1914 // Executes the tuner status query on the radio.
1915 // Override this as needed for radios that support this command.
1916 // Status is an in/out parameter
1917 virtual bool executeTstatusQuery(unsigned int& stat);
1918 // Executes the temperature query on the radio.
1919 // Override this as needed for radios that support this command.
1920 // Temperature is an in/out parameter
1921 virtual bool executeTemperatureQuery(int& temp);
1922 // Executes the GPIO static query
1923 // Override this as needed for radios that support this command.
1924 // Value is an in/out parameter
1925 virtual bool executeGpioStaticQuery(int& value);
1926 // Executes the GPIO sequence query
1927 // Override this as needed for radios that support this command.
1928 // Value, duration, loop are in/out parameters
1929 virtual bool executeGpioSequenceQuery(int index, int& value,
1930 int &duration, int& loop);
1931 // Executes the GPIO static command
1932 // Override this as needed for radios that support this command.
1933 // Value is an in/out parameter
1934 virtual bool executeGpioStaticCommand(int& value);
1935 // Executes the GPIO sequence comamnd
1936 // Override this as needed for radios that support this command.
1937 // Value, duration, loop, go are in/out parameters
1938 virtual bool executeGpioSequenceCommand(int index, int& value,
1939 int &duration, int& loop,
1940 int &go);
1941 // Executes the calibration frequency query
1942 // Override this as needed for radios that support this command.
1943 // Freq is an in/out parameter
1944 virtual bool executeCalibFrequencyQuery(double& freq);
1945 // Executes the calibration frequency command
1946 // Override this as needed for radios that support this command.
1947 // Freq is an in/out parameter
1948 virtual bool executeCalibFrequencyCommand(double& freq);
1949 // Converts an NMEA 0183-formatted coordinate string to decimal degrees.
1950 virtual double getDecimalDegreesFromNmea(const std::string& coord);
1951
1952
1953
1954 protected:
1955 std::string _name;
1956 RadioTransport _transport;
1957 BasicStringList _connModesSupported;
1958 // Radio capabilities
1959 int _numTuner;
1960 int _tunerIndexBase;
1961 int _numWbddc;
1962 int _wbddcIndexBase;
1963 int _numNbddc;
1964 int _nbddcIndexBase;
1965 int _numTunerBoards;
1966 int _maxTunerBw;
1967 int _numTransmitter;
1968 int _transmitterIndexBase;
1969 int _numDuc;
1970 int _ducIndexBase;
1971 int _numWbddcGroups;
1972 int _wbddcGroupIndexBase;
1973 int _numNbddcGroups;
1974 int _nbddcGroupIndexBase;
1975 int _numDdcGroups;
1976 int _ddcGroupIndexBase;
1977 int _numDataPorts;
1978 int _dataPortIndexBase;
1979 int _numSimpleIpSetups;
1980 double _adcRate;
1981 VitaIfSpec _ifSpec;
1982 // Radio configuration items
1983 int _configMode;
1984 int _coherentMode;
1985 int _freqNormalization;
1986 int _gpsEnabled;
1987 int _referenceMode;
1988 int _referenceTuningVoltage;
1989 int _referenceBypass;
1990 double _calibFrequency;
1991 // Components
1992 TunerComponentDict _tuners;
1993 WbddcComponentDict _wbddcs;
1994 NbddcComponentDict _nbddcs;
1996 DucComponentDict _ducs;
1997 WbddcGroupComponentDict _wbddcGroups;
1998 NbddcGroupComponentDict _nbddcGroups;
1999 // Other configurables
2000 DataPortDict _dataPorts;
2001 SimpleIpSetupDict _simpleIpSetups;
2002 // Status
2003 std::string _lastCmdErrorInfo;
2004 BasicStringStringDict _versionInfo;
2005 BasicStringStringDict _connectionInfo;
2006 double _defaultTimeout;
2007 int _defaultDeviceInfo;
2008
2009 }; /* class RadioHandler */
2010
2011 } /* namespace Driver */
2012
2013} /* namespace LibCyberRadio */
2014
2015#endif /* INCLUDED_LIBCYBERRADIO_DRIVER_RADIOHANDLER_H */
virtual int debug(const char *format,...)
Outputs debug information.
Configurable(const std::string &name="<unknown>", bool debug=false)
Constructs a Configurable object.
A configuration dictionary.
virtual bool setWbddcDataPort(int index, int port)
Sets the data port for a given WBDDC.
virtual int getDucTxChannelBitmap(int index) const
Gets the transmit channel bitmap for a given DUC.
virtual unsigned int getDataPortDestSourcePort(int index, int dipIndex) const
Gets the source UDP port number for a given entry in the destination IP table on a given data port.
virtual bool isNbddcEnabled(int index) const
Gets whether or not a given NBDDC is enabled.
virtual bool setConfiguration(ConfigurationDict &cfg)
Sets the configuration dictionary for this object.
virtual bool isTunerEnabled(int index) const
Gets whether or not a given tuner is enabled.
virtual double getTransmitterCWSweepStartFrequency(int index, int cwIndex) const
Gets the start frequency for a signal sweep for a given CW tone generator.
virtual DucRateSet getDucRateSet() const
Gets the DUC's rate set.
virtual bool transmitterSupportsCWSweep() const
Gets whether the transmitter supports CW tone sweeping.
virtual double getWbddcFrequencyRes() const
Gets the tuned frequency resolution for WBDDCs.
virtual bool setSimpleSourceIPAddress(const std::string &ipAddr)
Sets the source IP address for radios without 10Gig data ports.
virtual bool setDataPortConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given data port.
virtual bool isWbddcTunable() const
Gets whether the WBDDCs on this radio are tunable.
virtual bool setSimpleDestMACAddress(const std::string &macAddr)
Sets the destination MAC address for radios without 10Gig data ports.
virtual bool setDucStreamId(int index, unsigned int sid)
Sets the VITA 49 stream ID for a given DUC.
virtual bool setDucFrequency(int index, double freq)
Sets the tuned frequency for a given DUC.
RadioHandler(const std::string &name="NDR", int numTuner=0, int tunerIndexBase=1, int numWbddc=0, int wbddcIndexBase=1, int numNbddc=0, int nbddcIndexBase=1, int numTunerBoards=1, int maxTunerBw=0, int numTransmitter=0, int transmitterIndexBase=1, int numDuc=0, int ducIndexBase=1, int numWbddcGroups=0, int wbddcGroupIndexBase=1, int numNbddcGroups=0, int nbddcGroupIndexBase=1, int numDdcGroups=0, int ddcGroupIndexBase=1, int numDataPorts=0, int dataPortIndexBase=1, int numSimpleIpSetups=0, double adcRate=102.4e6, VitaIfSpec ifSpec=VitaIfSpec(), bool debug=false)
Constructs a RadioHandler object.
virtual BasicIntList getDataPortDipEntryIndexRange() const
Gets the list of UDP destination table indices for the 10GigE data ports on the radio.
virtual BasicIntList getTransmitterIndexRange() const
Gets the list of transmitter indices on the radio.
virtual bool setWbddcUdpDestination(int index, int dest)
Sets the UDP destination for a given WBDDC.
virtual BasicDoubleList getTransmitterFrequencyRange() const
Gets the frequency range for the transmitters on the radio.
virtual BasicStringList getConnectionModeList() const
Gets the list of connection methods that the radio supports.
virtual bool enableWbddcGroup(int index, bool enabled)
Enables a given WBDDC group.
virtual int getTemperature()
Gets the current radio temperature.
virtual bool setDataPortDestSourcePort(int index, int dipIndex, unsigned int sourcePort)
Sets the UDP port number for a given entry in the destination IP table on a given data port.
virtual int getNumNbddcGroups() const
Gets the number of NBDDC groups on the radio.
virtual bool setWbddcRateIndex(int index, int rateIndex)
Sets the rate index for a given WBDDC.
virtual WbddcRateSet getWbddcRateSet() const
Gets the WBDDC rate set.
virtual unsigned int getStatus()
Gets the status from the radio.
virtual double getTunerAttenuationRes() const
Gets the attenuation resolution.
virtual double getTransmitterCWSweepStepRes() const
Gets the CW frequency step resolution.
virtual int getWbddcSource(int index) const
Gets the source (which tuner is supplying the signal) for a given WBDDC.
virtual bool setTransmitterAttenuation(int index, double atten)
Sets the attenuation for a given transmitter.
virtual NbddcRateSet getNbddcRateSet() const
Gets the NBDDC rate set.
virtual bool setTransmitterConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given transmitter.
virtual bool setDucTxChannelBitmap(int index, int txChannels)
Sets the transmit channel bitmap for a given DUC.
virtual uint32_t getMessageId(void)
Get a json Message ID.
virtual int getNumDuc() const
Gets the number of DUCs on the radio.
virtual double getTransmitterCWFrequency(int index, int cwIndex) const
Gets the constant frequency for a given CW tone generator.
virtual bool setTransmitterFrequency(int index, double freq)
Sets the frequency for a given transmitter.
virtual bool isWbddcSelectableSource() const
Gets whether the WBDDCs on this radio support selecting their tuner source.
virtual BasicIntList getWbddcGroupIndexRange() const
Gets the range of WBDDC group indices on the radio.
virtual int getDucMode(int index) const
Gets the mode for a given DUC.
virtual bool enableNbddcGroup(int index, bool enabled)
Enables a given NBDDC group.
virtual bool setDucRateIndex(int index, int rateIndex)
Sets the rate index for a given DUC.
virtual bool setNbddcRateIndex(int index, int rateIndex)
Sets the rate index for a given NBDDC.
virtual BasicIntList getWbddcIndexRange() const
Gets the range of WBDDC indices on the radio.
virtual double getDucAttenuationRes() const
Gets the DUC attenuation resolution.
virtual bool isConnectionModeSupported(const std::string &mode) const
Gets whether the radio supports the given connection mode.
virtual bool isNbddcGroupEnabled(int index) const
Gets whether or not a given NBDDC group is enabled.
virtual bool connect(const std::string &mode, const std::string &host_or_dev, const int port_or_baudrate)
Connects to the radio.
virtual bool setDataPortDestDestPort(int index, int dipIndex, unsigned int destPort)
Sets the VITA stream ID for a given entry in the destination IP table on a given data port.
virtual double getTransmitterCWPhase(int index, int cwIndex) const
Gets the signal phase for a given CW tone generator.
virtual BasicDoubleList getDucFrequencyRange() const
Gets the tunable frequency range for DUCs.
virtual bool disableTenGigFlowControl()
Disables flow control on all 10GigE data ports.
virtual double getTransmitterCWAmplitude(int index, int cwIndex) const
Gets the signal amplitude for a given CW tone generator.
virtual double getDucFrequencyRes() const
Gets the tuned frequency resolution for DUCs.
virtual unsigned int getNbddcStreamId(int index) const
Gets the VITA 49 stream ID for a given NBDDC.
virtual bool ducSupportsSnapshotTransmit() const
Gets whether DUCs support transmitting snapshots.
virtual bool setTunerConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given tuner.
virtual BasicStringStringDict getConnectionInfo()
Gets connection information for the radio.
virtual bool setNbddcConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given NBDDC.
virtual bool addNbddcGroupMember(int index, int member)
Adds a NBDDC to the given NBDDC group.
virtual bool setWbddcFrequency(int index, double freq)
Sets the tuned frequency for a given WBDDC.
virtual bool isByteswapped() const
Gets whether the VITA 49 is byte-swapped with respect to the host operating system.
virtual bool setTransmitterCWAmplitude(int index, int cwIndex, double amp)
Sets the signal amplitude for a given CW tone generator.
virtual int getNbddcUdpDestination(int index) const
Gets the UDP destination for a given NBDDC.
virtual bool enableWbddc(int index, bool enabled=true)
Enables a given WBDDC.
virtual bool isTransmitterEnabled(int index) const
Gets whether a given transmitter is enabled.
virtual BasicDoubleList getGpsPosition()
Gets the current GPS position the radio.
virtual std::string getDataPortDestIPAddress(int index, int dipIndex) const
Gets the IP address for a given entry in the destination IP table on a given data port.
virtual bool setSimpleIPConfiguration(ConfigurationDict &cfg)
Sets the "simple" IP configuration dictionary for radios without 10Gig data ports.
virtual time_t getTimeNow()
Gets the current radio time.
virtual bool setReferenceMode(int mode)
Sets the reference mode on the radio.
virtual double getTunerFrequencyUnit() const
Gets the tuned frequency units for tuners.
virtual bool setDataPortSourceIP(int index, const std::string &ipAddr)
Sets the source IP address for a given data port.
virtual std::string getLastCommandErrorInfo() const
Gets the error message from the last command attempted.
virtual int getDucRateIndex(int index) const
Gets the rate index for a given DUC.
virtual int getNumTransmitters() const
Gets the number of transmitters on the radio.
virtual bool setSimpleDestIPAddress(const std::string &ipAddr)
Sets the destination IP address for radios without 10Gig data ports.
virtual bool setTimeAdjustment(int tunerIndex, int timeAdjustValue)
Sets the time adjustment for tuners on the radio.
virtual int getWbddcUdpDestination(int index) const
Gets the UDP destination for a given WBDDC.
virtual bool setDucConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given DUC.
virtual bool setDataPortDestIPAddress(int index, int dipIndex, const std::string &ipAddr)
Sets the IP address for a given entry in the destination IP table on a given data port.
virtual std::string getSimpleSourceIPAddress() const
Gets the source IP address for radios without 10Gig data ports.
virtual bool enableDataPortFlowControl(int index, bool enabled=true)
Enables flow control on the data port.
virtual BasicDoubleList getTransmitterAttenuationRange() const
Gets the attenuation range for the transmitters on the radio.
virtual BasicDoubleList getTransmitterCWSweepStartRange() const
Gets the CW start frequency range.
virtual bool getPps()
Gets the pulse-per-second (PPS) rising edge from the radio.
virtual ConfigurationDict getTunerConfiguration(int index) const
Gets the configuration dictionary for a given tuner.
virtual BasicIntList getTransmitterCWIndexRange() const
Gets the range of indices for CW tone generators.
virtual BasicDoubleList getWbddcFrequencyRange() const
Gets the tunable frequency range for WBDDCs.
virtual bool isIqSwapped() const
Gets whether the VITA 49 format swaps real and imaginary (I and Q) portions of each sample.
virtual double getWbddcFrequency(int index) const
Gets the tuned frequency for a given WBDDC.
virtual std::string getSimpleDestMACAddress() const
Gets the destination MAC address for radios without 10Gig data ports.
virtual bool setDataPortDestInfo(int index, int dipIndex, const std::string &ipAddr, const std::string &macAddr, unsigned int sourcePort, unsigned int destPort)
Sets the destination table information for a given entry in the DIP table on a given data port.
virtual std::string getDataPortDestMACAddress(int index, int dipIndex) const
Gets the MAC address for a given entry in the destination IP table on a given data port.
virtual bool enableTransmitter(int index, bool enabled=true)
Enables a given transmitter.
virtual double getNbddcFrequency(int index) const
Gets the tuned frequency for a given NBDDC.
virtual bool setWbddcGroupMembers(int index, const BasicIntList &groupMembers)
Sets the list of group members for a given WBDDC group.
virtual bool setDataPortDestMACAddress(int index, int dipIndex, const std::string &macAddr)
Sets the MAC address for a given entry in the destination IP table on a given data port.
virtual bool setTransmitterCWFrequency(int index, int cwIndex, double freq)
Sets the constant frequency for a given CW tone generator.
virtual BasicIntList getDataPortIndexRange() const
Gets the range of indices 10GigE data ports on the radio.
virtual bool setGpioOutputByIndex(int index, int value, int duration, int loop, int go)
Sets the GPIO output settings for a given sequence index.
virtual bool addWbddcGroupMember(int index, int member)
Adds a WBDDC to the given WBDDC group.
virtual int getNbddcDataPort(int index) const
Gets the data port for a given NBDDC.
virtual double getTransmitterAttenuationRes() const
Gets the attenuation resolution for transmitters on the radio.
virtual bool ducSupportsSnapshotLoad() const
Gets whether DUCs support loading snapshot files.
virtual double getWbddcFrequencyUnit() const
Gets the tuned frequency units for WBDDCs.
virtual int getVitaHeaderSize() const
Gets the size of the VITA 49 header.
virtual bool disableDataPortFlowControl(int index)
Disables flow control on the data port.
virtual bool setNbddcSource(int index, int source)
Sets the source (which tuner is supplying the signal) for a given NBDDC.
virtual bool setWbddcRateSet(int index, const WbddcRateSet &set)
Sets the rate set for a given WBDDC.
virtual ConfigurationDict getSimpleIPConfiguration() const
Gets the "simple" IP configuration dictionary for radios without 10Gig data ports.
virtual bool setTransmitterCWFrequencySweep(int index, int cwIndex, double start, double stop, double step, double dwell)
Sets the parameters for a frequency sweep for a given CW tone generator.
virtual BasicDoubleList getTransmitterCWFrequencyRange() const
Gets the CW frequency range.
virtual bool disableNbddc(int index)
Disables a given NBDDC.
virtual bool disableTransmitter(int index)
Disables a given transmitter.
virtual double getTransmitterCWSweepDwellTime(int index, int cwIndex) const
Gets the dwell time for a signal sweep for a given CW tone generator.
virtual bool setTunerFrequency(int index, double freq)
Sets the tuned frequency for a given tuner.
virtual double getTransmitterCWSweepDwellRes() const
Gets the CW dwell time resolution.
virtual bool transmitterSupportsCW() const
Gets whether transmitters support continuous-wave (CW) tone generation.
virtual double getCalibrationFrequency() const
Gets the calibration frequency.
virtual int getVitaPayloadSize() const
Gets the size of the VITA 49 payload.
virtual bool disableTransmitterCW(int index, int cwIndex)
Disables a given CW tone generator.
virtual double getTransmitterFrequencyUnit() const
Gets the frequency unit for transmitters on the radio.
virtual bool setNbddcVitaEnable(int index, int enable)
Sets the VITA 49 setting for a given NBDDC.
virtual double getTransmitterCWSweepFrequencyStep(int index, int cwIndex) const
Gets the frequency step for a signal sweep for a given CW tone generator.
virtual bool setNbddcStreamId(int index, unsigned int sid)
Sets the VITA 49 stream ID for a given NBDDC.
virtual bool removeNbddcGroupMember(int index, int member)
Removes a NBDDC from the given NBDDC group.
virtual int getNumDataPortDipEntries() const
Gets the number of UDP destination table entries for the 10GigE data ports on the radio.
virtual int getNumTunerBoards() const
Gets the number of tuner boards on the radio.
virtual ConfigurationDict getDataPortConfiguration(int index) const
Gets the configuration dictionary for a given data port.
virtual ConfigurationDict getWbddcGroupConfiguration(int index) const
Gets the configuration dictionary for a given WBDDC group.
virtual BasicIntList getNbddcGroupMembers(int index) const
Gets the list of group members for a given NBDDC group.
virtual std::string getDataPortSourceIP(int index) const
Gets the source IP address for a given data port.
virtual double getTransmitterCWSweepStopFrequency(int index, int cwIndex) const
Gets the stop frequency for a signal sweep for a given CW tone generator.
virtual int getNumNbddc() const
Gets the number of NBDDCs on the radio.
virtual int getNumDataPorts() const
Gets the number of 10GigE data ports on the radio.
virtual bool isConnected() const
Gets whether or not the handler is connected.
virtual int getNbddcVitaEnable(int index) const
Gets the VITA 49 setting for a given NBDDC.
virtual bool setBypassMode(int mode)
Sets the reference bypass mode on the radio.
virtual bool setWbddcVitaEnable(int index, int enable)
Sets the VITA 49 setting for a given WBDDC.
virtual double getTransmitterFrequencyRes() const
Gets the frequency resolution for transmitters on the radio.
virtual BasicIntList getDucIndexRange() const
Gets the range of DUC indices on the radio.
virtual BasicIntList getNbddcGroupIndexRange() const
Gets the range of NBDDC group indices on the radio.
virtual ConfigurationDict getWbddcConfiguration(int index) const
Gets the configuration dictionary for a given WBDDC.
virtual double getTransmitterCWSweepStartRes() const
Gets the CW start frequency resolution.
virtual int getNumWbddcGroups() const
Gets the number of WBDDC groups on the radio.
virtual bool setNbddcUdpDestination(int index, int dest)
Sets the UDP destination for a given NBDDC.
virtual int getNumTuner() const
Gets the number of tuners on the radio.
virtual bool setTransmitterCWConfiguration(int index, int cwIndex, ConfigurationDict &cfg)
Sets the configuration dictionary for a given CW tone generator.
virtual bool setGpioOutput(int value)
Sets the current GPIO output bits.
virtual bool setWbddcGroupConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given WBDDC group.
virtual double getDucAttenuation(int index) const
Gets the attenuation for a given DUC.
virtual ConfigurationDict getNbddcGroupConfiguration(int index) const
Gets the configuration dictionary for a given NBDDC group.
virtual RadioHandler & operator=(const RadioHandler &other)
Assignment operator for RadioHandler objects.
virtual bool enableTenGigFlowControl()
Enables flow control on all 10GigE data ports.
virtual double getTransmitterCWFrequencyRes() const
Gets the CW frequency resolution.
virtual void queryConfiguration()
Tells the radio to query its hardware configuration in order to create its configuration dictionary (...
virtual std::string getSimpleDestIPAddress() const
Gets the destination IP address for radios without 10Gig data ports.
virtual void disconnect()
Disconnects from the radio.
virtual BasicDoubleList getDucRateList() const
Gets the list of allowed DUC sample rates, based on the rate set.
virtual bool disableDataPortErrors(int index)
Disables errors on the data port.
virtual double getDucFrequencyUnit() const
Gets the tuned frequency units for DUCs.
virtual bool enableTransmitterCW(int index, int cwIndex, bool enabled=true)
Enables a given CW tone generator.
virtual ConfigurationDict getNbddcConfiguration(int index) const
Gets the configuration dictionary for a given NBDDC.
virtual int getWbddcVitaEnable(int index) const
Gets the VITA 49 setting for a given WBDDC.
virtual int getWbddcRateIndex(int index) const
Gets the rate index for a given WBDDC.
virtual int getTunerFilter(int index) const
Gets the filter setting for a given tuner.
virtual double getTunerFrequencyRes() const
Gets the tuned frequency resolution.
virtual bool setTransmitterCWPhase(int index, int cwIndex, double phase)
Sets the signal phase for a given CW tone generator.
virtual bool setWbddcConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given WBDDC.
virtual double getTransmitterCWSweepStopRes() const
Gets the CW stop frequency resolution.
virtual unsigned int getDataPortDestDestPort(int index, int dipIndex) const
Gets the destination UDP port number for a given entry in the destination IP table on a given data po...
virtual bool setTimeNextPps(bool checkTime=false, bool useGpsTime=false)
Sets the time for the next PPS rising edge on the radio.
virtual bool setDucDataPort(int index, int port)
Sets the data port for a given DUC.
virtual BasicDoubleList getTransmitterCWSweepStopRange() const
Gets the CW stop frequency range.
virtual bool setNbddcFrequency(int index, double freq)
Sets the tuned frequency for a given NBDDC.
virtual bool disableTuner(int index)
Disables a given tuner.
virtual BasicIntList getTunerIndexRange() const
Gets the tuner index range.
virtual ConfigurationDict getDucConfiguration(int index) const
Gets the configuration dictionary for a given DUC.
virtual double getTunerFrequency(int index) const
Gets the tuned frequency for a given tuner.
virtual bool setDucAttenuation(int index, double atten)
Sets the attenuation for a given DUC.
virtual void updateConfigurationDict()
Updates the configuration dictionary from object settings.
virtual BasicIntList getNbddcIndexRange() const
Gets the range of NBDDC indices on the radio.
virtual BasicDoubleList getTransmitterCWSweepStepRange() const
Gets the CW frequency step range.
virtual int getNumWbddc() const
Gets the number of WBDDCs on the radio.
virtual bool loadDucSnapshot(int index, const std::string &filename, unsigned int startSample=0, unsigned int samples=0)
Load a snapshot file into a given DUC's memory block.
virtual BasicStringList sendCommand(const std::string &cmdString, double timeout=-1)
Sends a command to the radio.
virtual int getWbddcDataPort(int index) const
Gets the data port for a given WBDDC.
virtual const char * getByteOrder() const
Gets the byte order (endianness) of the VITA 49.
virtual bool isWbddcGroupEnabled(int index) const
Gets whether or not a given WBDDC group is enabled.
virtual BasicDoubleList getNbddcFrequencyRange() const
Gets the tunable frequency range for NBDDCs.
virtual bool setNbddcDataPort(int index, int port)
Sets the data port for a given NBDDC.
virtual bool setTenGigFlowControlStatus(bool enable)
Sets flow control status on all 10GigE data ports.
virtual bool enableDataPortErrors(int index, bool enabled=true)
Enables errors on the data port.
virtual bool setWbddcSource(int index, int source)
Sets the source (which tuner is supplying the signal) for a given WBDDC.
virtual double getTunerAttenuation(int index) const
Gets the attenuation for a given tuner.
virtual double getNbddcFrequencyUnit() const
Gets the tuned frequency units for NBDDCs.
virtual int getGpioOutput()
Gets the current GPIO output bits.
virtual BasicDoubleList getNbddcRateList() const
Gets the list of allowed NBDDC sample rates, based on the rate set.
virtual double getDucFrequency(int index) const
Gets the tuned frequency for a given DUC.
virtual BasicDoubleList getDucAttenuationRange() const
Gets the DUC attenuation range.
virtual bool disableWbddc(int index)
Disables a given WBDDC.
virtual std::string getSimpleSourceMACAddress() const
Gets the source MAC address for radios without 10Gig data ports.
virtual BasicIntList getGpioOutputByIndex(int index)
Gets the GPIO output settings for a given sequence index.
virtual double getTransmitterFrequency(int index) const
Gets the frequency for a given transmitter.
virtual int getTransmitterCWPhaseRes() const
Gets the CW phase resolution.
virtual time_t getTimeNextPps()
Gets the time for the next PPS rising edge on the radio.
virtual bool disableWbddcGroup(int index)
Disables a given WBDDC group.
virtual void initConfigurationDict()
Initializes the configuration dictionary, defining the allowed keys.
virtual int getVitaTailSize() const
Gets the size of the VITA 49 tail.
virtual bool setNbddcRateSet(int index, const NbddcRateSet &set)
Sets the rate set for a given NBDDC.
virtual bool disableNbddcGroup(int index)
Disables a given NBDDC group.
virtual bool enableTuner(int index, bool enabled=true)
Enables a given tuner.
virtual bool setTunerAttenuation(int index, double atten)
Sets the attenuation for a given tuner.
virtual bool setTunerFilter(int index, int filter)
Sets the filter setting for a given tuner.
virtual bool setNbddcGroupMembers(int index, const BasicIntList &groupMembers)
Sets the list of group members for a given NBDDC group.
virtual bool setDucMode(int index, int mode)
Sets the mode for a given DUC.
virtual int getDucDataPort(int index) const
Gets the data port for a given DUC.
virtual int getTransmitterCWNum() const
Gets the number of CW tone generators associated with transmitters on this radio.
virtual BasicIntList getWbddcGroupMembers(int index) const
Gets the list of group members for a given WBDDC group.
virtual BasicStringStringDict getVersionInfo()
Gets version information for the radio.
virtual BasicDoubleList getTunerFrequencyRange() const
Gets the tunable frequency range.
virtual unsigned int getDucStreamId(int index) const
Gets the VITA 49 stream ID for a given DUC.
virtual bool setWbddcStreamId(int index, unsigned int sid)
Sets the VITA 49 stream ID for a given WBDDC.
virtual double getTransmitterCWAmplitudeRes() const
Gets the CW amplitude resolution.
virtual unsigned int getTstatus()
Gets the tuner status from the radio.
virtual bool removeWbddcGroupMember(int index, int member)
Removes a WBDDC from the given WBDDC group.
virtual bool isWbddcEnabled(int index) const
Gets whether or not a given WBDDC is enabled.
virtual BasicDoubleList getTunerAttenuationRange() const
Gets the tuner attenuation range.
virtual double getAdcRate() const
Gets the ADC sample rate.
virtual double getNbddcFrequencyRes() const
Gets the tuned frequency resolution for NBDDCs.
virtual unsigned int getWbddcStreamId(int index) const
Gets the VITA 49 stream ID for a given WBDDC.
virtual BasicDoubleList getTransmitterCWSweepDwellRange() const
Gets the CW dwell time range.
virtual int getNbddcRateIndex(int index) const
Gets the rate index for a given NBDDC.
virtual bool setNbddcGroupConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given NBDDC group.
virtual bool enableDuc(int index, bool enabled)
Enables a given DUC.
virtual ConfigurationDict getTransmitterCWConfiguration(int index, int cwIndex) const
Gets the configuration for a given CW tone generator.
virtual ConfigurationDict getTransmitterConfiguration(int index) const
Gets the configuration dictionary for a given transmitter.
virtual int getDefaultDeviceInfo() const
Gets the default device information.
virtual int getNbddcSource(int index) const
Gets the source (which tuner is supplying the signal) for a given NBDDC.
virtual bool setCalibrationFrequency(double freq)
Sets the calibration frequency.
virtual bool sendReset(int resetType=0)
Resets the radio.
virtual BasicDoubleList getTransmitterCWPhaseRange() const
Gets the CW phase range.
virtual ~RadioHandler()
Destroys a RadioHandler object.
virtual double getTransmitterAttenuation(int index) const
Gets the attenuation for a given transmitter.
virtual bool enableNbddc(int index, bool enabled=true)
Enables a given NBDDC.
virtual BasicDoubleList getWbddcRateList() const
Gets the list of allowed WBDDC sample rates, based on the rate set.
virtual bool disableDuc(int index)
Disables a given DUC.
virtual BasicIntBoolDict getTenGigFlowControlStatus()
Gets flow control status on all 10GigE data ports.
virtual BasicDoubleList getTransmitterCWAmplitudeRange() const
Gets the CW amplitude range.
Generic radio transport class.
Class that defines the VITA interface specification for an NDR-class radio.
Definition VitaIfSpec.h:34
Provides programming elements for driving CRS NDR-class radios.
BASIC_DICT_CONTAINER< int, double > NbddcRateSet
A rate set for a NBDDC.
BASIC_DICT_CONTAINER< int, WbddcComponent * > WbddcComponentDict
A dictionary of WBDDC components, keyed by index.
BASIC_DICT_CONTAINER< int, NbddcComponent * > NbddcComponentDict
A dictionary of NBDDC components, keyed by index.
BASIC_DICT_CONTAINER< int, double > DucRateSet
A rate set for a DUC.
BASIC_DICT_CONTAINER< int, TunerComponent * > TunerComponentDict
A dictionary of tuner components, keyed by index.
BASIC_DICT_CONTAINER< int, TransmitterComponent * > TransmitterComponentDict
A dictionary of tuner components, keyed by index.
BASIC_DICT_CONTAINER< int, SimpleIpSetup * > SimpleIpSetupDict
A dictionary of data ports, keyed by index.
BASIC_DICT_CONTAINER< int, WbddcGroupComponent * > WbddcGroupComponentDict
A dictionary of WBDDC group components, keyed by index.
BASIC_DICT_CONTAINER< int, DucComponent * > DucComponentDict
A dictionary of DUC components, keyed by index.
BASIC_DICT_CONTAINER< int, double > WbddcRateSet
A rate set for a WBDDC.
BASIC_DICT_CONTAINER< int, NbddcGroupComponent * > NbddcGroupComponentDict
A dictionary of NBDDC group components, keyed by index.
BASIC_DICT_CONTAINER< int, DataPort * > DataPortDict
A dictionary of data ports, keyed by index.
Definition DataPort.h:336
Defines functionality for LibCyberRadio applications.
Definition App.h:24
BASIC_LIST_CONTAINER< int > BasicIntList
Type representing a list of integers.
Definition BasicList.h:27
BASIC_DICT_CONTAINER< std::string, std::string > BasicStringStringDict
Type representing a dictionary of strings, keyed by string values.
Definition BasicDict.h:27
BASIC_LIST_CONTAINER< double > BasicDoubleList
Type representing a list of doubles.
Definition BasicList.h:29
BASIC_LIST_CONTAINER< std::string > BasicStringList
Type representing a list of strings.
Definition BasicList.h:25
BASIC_DICT_CONTAINER< int, bool > BasicIntBoolDict
Type representing a dictionary of Boolean values, keyed by integers.
Definition BasicDict.h:37