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 <string>
29 
30 
34 namespace LibCyberRadio
35 {
39  namespace Driver
40  {
53  class RadioHandler : public Configurable
54  {
55  public:
88  const std::string& name = "NDR",
89  int numTuner = 0,
90  int tunerIndexBase = 1,
91  int numWbddc = 0,
92  int wbddcIndexBase = 1,
93  int numNbddc = 0,
94  int nbddcIndexBase = 1,
95  int numTunerBoards = 1,
96  int maxTunerBw = 0,
97  int numTransmitter = 0,
98  int transmitterIndexBase = 1,
99  int numDuc = 0,
100  int ducIndexBase = 1,
101  int numWbddcGroups = 0,
102  int wbddcGroupIndexBase = 1,
103  int numNbddcGroups = 0,
104  int nbddcGroupIndexBase = 1,
105  int numDdcGroups = 0,
106  int ddcGroupIndexBase = 1,
107  int numDataPorts = 0,
108  int dataPortIndexBase = 1,
109  int numSimpleIpSetups = 0,
110  double adcRate = 102.4e6,
111  VitaIfSpec ifSpec = VitaIfSpec(),
112  bool debug = false
113  );
117  virtual ~RadioHandler();
122  RadioHandler(const RadioHandler& other);
128  virtual RadioHandler& operator=(const RadioHandler& other);
133  virtual bool isConnected() const;
153  virtual bool connect(
154  const std::string& mode,
155  const std::string& host_or_dev,
156  const int port_or_baudrate
157  );
161  virtual void disconnect();
170  const std::string& cmdString,
171  double timeout = -1
172  );
184  virtual bool setConfiguration(ConfigurationDict& cfg);
190  virtual void queryConfiguration();
196  virtual std::string getLastCommandErrorInfo() const;
202  virtual bool sendReset(int resetType=0);
208  virtual bool getPps();
216  virtual bool setTimeNextPps(bool checkTime=false, bool useGpsTime=false);
221  virtual time_t getTimeNow();
226  virtual time_t getTimeNextPps();
232  virtual unsigned int getStatus();
238  virtual unsigned int getTstatus();
246  virtual bool setReferenceMode(int mode);
254  virtual bool setBypassMode(int mode);
263  virtual bool setTimeAdjustment(int tunerIndex, int timeAdjustValue);
276  virtual int getTemperature();
282  virtual int getGpioOutput();
288  virtual BasicIntList getGpioOutputByIndex(int index);
296  virtual bool setGpioOutput(int value);
311  virtual bool setGpioOutputByIndex(int index, int value,
312  int duration, int loop, int go);
318  virtual double getCalibrationFrequency() const;
325  virtual bool setCalibrationFrequency(double freq);
330  virtual int getNumDataPorts() const;
335  virtual BasicIntList getDataPortIndexRange() const;
342  virtual int getNumDataPortDipEntries() const;
353  virtual BasicStringList getConnectionModeList() const;
358  virtual bool isConnectionModeSupported(const std::string& mode) const;
363  virtual double getAdcRate() const;
368  virtual int getVitaHeaderSize() const;
373  virtual int getVitaPayloadSize() const;
378  virtual int getVitaTailSize() const;
384  virtual bool isByteswapped() const;
390  virtual bool isIqSwapped() const;
395  virtual const char* getByteOrder() const;
396  // getVitaEnableOptionSet()
401  virtual int getNumTuner() const;
406  virtual int getNumTunerBoards() const;
411  virtual BasicIntList getTunerIndexRange() const;
416  virtual BasicDoubleList getTunerFrequencyRange() const;
421  virtual double getTunerFrequencyRes() const;
434  virtual double getTunerFrequencyUnit() const;
444  virtual double getTunerAttenuationRes() const;
450  virtual bool isTunerEnabled(int index) const;
457  virtual bool enableTuner(int index, bool enabled = true);
463  virtual bool disableTuner(int index);
469  virtual double getTunerFrequency(int index) const;
476  virtual bool setTunerFrequency(int index, double freq);
482  virtual double getTunerAttenuation(int index) const;
489  virtual bool setTunerAttenuation(int index, double atten);
495  virtual int getTunerFilter(int index) const;
502  virtual bool setTunerFilter(int index, int filter);
508  virtual ConfigurationDict getTunerConfiguration(int index) const;
515  virtual bool setTunerConfiguration(int index, ConfigurationDict& cfg);
520  virtual int getNumWbddc() const;
525  virtual BasicIntList getWbddcIndexRange() const;
530  virtual bool isWbddcTunable() const;
536  virtual bool isWbddcSelectableSource() const;
542  virtual BasicDoubleList getWbddcFrequencyRange() const;
548  virtual double getWbddcFrequencyRes() const;
561  virtual double getWbddcFrequencyUnit() const;
566  virtual WbddcRateSet getWbddcRateSet() const;
572  virtual BasicDoubleList getWbddcRateList() const;
578  virtual bool isWbddcEnabled(int index) const;
585  virtual bool enableWbddc(int index, bool enabled = true);
591  virtual bool disableWbddc(int index);
598  virtual double getWbddcFrequency(int index) const;
606  virtual bool setWbddcFrequency(int index, double freq);
614  virtual int getWbddcSource(int index) const;
623  virtual bool setWbddcSource(int index, int source);
629  virtual int getWbddcRateIndex(int index) const;
636  virtual bool setWbddcRateIndex(int index, int rateIndex);
642  virtual int getWbddcUdpDestination(int index) const;
649  virtual bool setWbddcUdpDestination(int index, int dest);
655  virtual int getWbddcVitaEnable(int index) const;
662  virtual bool setWbddcVitaEnable(int index, int enable);
668  virtual unsigned int getWbddcStreamId(int index) const;
675  virtual bool setWbddcStreamId(int index, unsigned int sid);
682  virtual int getWbddcDataPort(int index) const;
690  virtual bool setWbddcDataPort(int index, int port);
697  virtual bool setWbddcRateSet(int index, const WbddcRateSet& set);
703  virtual ConfigurationDict getWbddcConfiguration(int index) const;
710  virtual bool setWbddcConfiguration(int index, ConfigurationDict& cfg);
715  virtual int getNumNbddc() const;
720  virtual BasicIntList getNbddcIndexRange() const;
726  virtual BasicDoubleList getNbddcFrequencyRange() const;
732  virtual double getNbddcFrequencyRes() const;
745  virtual double getNbddcFrequencyUnit() const;
750  virtual NbddcRateSet getNbddcRateSet() const;
756  virtual BasicDoubleList getNbddcRateList() const;
762  virtual bool isNbddcEnabled(int index) const;
769  virtual bool enableNbddc(int index, bool enabled = true);
775  virtual bool disableNbddc(int index);
782  virtual double getNbddcFrequency(int index) const;
790  virtual bool setNbddcFrequency(int index, double freq);
798  virtual int getNbddcSource(int index) const;
807  virtual bool setNbddcSource(int index, int source);
813  virtual int getNbddcRateIndex(int index) const;
820  virtual bool setNbddcRateIndex(int index, int rateIndex);
826  virtual int getNbddcUdpDestination(int index) const;
833  virtual bool setNbddcUdpDestination(int index, int dest);
839  virtual int getNbddcVitaEnable(int index) const;
846  virtual bool setNbddcVitaEnable(int index, int enable);
852  virtual unsigned int getNbddcStreamId(int index) const;
859  virtual bool setNbddcStreamId(int index, unsigned int sid);
866  virtual int getNbddcDataPort(int index) const;
874  virtual bool setNbddcDataPort(int index, int port);
881  virtual bool setNbddcRateSet(int index, const NbddcRateSet& set);
887  virtual ConfigurationDict getNbddcConfiguration(int index) const;
894  virtual bool setNbddcConfiguration(int index, ConfigurationDict& cfg);
899  virtual int getNumTransmitters() const;
904  virtual BasicIntList getTransmitterIndexRange() const;
914  virtual double getTransmitterFrequencyRes() const;
927  virtual double getTransmitterFrequencyUnit() const;
938  virtual double getTransmitterAttenuationRes() const;
944  virtual bool isTransmitterEnabled(int index) const;
951  virtual bool enableTransmitter(int index, bool enabled = true);
957  virtual bool disableTransmitter(int index);
963  virtual double getTransmitterFrequency(int index) const;
970  virtual bool setTransmitterFrequency(int index, double freq);
976  virtual double getTransmitterAttenuation(int index) const;
983  virtual bool setTransmitterAttenuation(int index, double atten);
989  virtual ConfigurationDict getTransmitterConfiguration(int index) const;
996  virtual bool setTransmitterConfiguration(int index, ConfigurationDict& cfg);
1002  virtual bool transmitterSupportsCW() const;
1008  virtual int getTransmitterCWNum() const;
1013  virtual BasicIntList getTransmitterCWIndexRange() const;
1023  virtual double getTransmitterCWFrequencyRes() const;
1033  virtual double getTransmitterCWAmplitudeRes() const;
1043  virtual int getTransmitterCWPhaseRes() const;
1048  virtual bool transmitterSupportsCWSweep() const;
1058  virtual double getTransmitterCWSweepStartRes() const;
1068  virtual double getTransmitterCWSweepStopRes() const;
1078  virtual double getTransmitterCWSweepStepRes() const;
1088  virtual double getTransmitterCWSweepDwellRes() const;
1096  virtual bool enableTransmitterCW(int index, int cwIndex,
1097  bool enabled = true);
1104  virtual bool disableTransmitterCW(int index, int cwIndex);
1112  int cwIndex) const;
1121  virtual bool setTransmitterCWConfiguration(int index, int cwIndex,
1122  ConfigurationDict& cfg);
1129  virtual double getTransmitterCWFrequency(int index, int cwIndex) const;
1137  virtual bool setTransmitterCWFrequency(int index, int cwIndex, double freq);
1144  virtual double getTransmitterCWAmplitude(int index, int cwIndex) const;
1152  virtual bool setTransmitterCWAmplitude(int index, int cwIndex, double amp);
1159  virtual double getTransmitterCWPhase(int index, int cwIndex) const;
1167  virtual bool setTransmitterCWPhase(int index, int cwIndex, double phase);
1175  virtual bool transmitterSupportsCWSweep(int index, int cwIndex) const;
1183  virtual double getTransmitterCWSweepStartFrequency(int index, int cwIndex) const;
1191  virtual double getTransmitterCWSweepStopFrequency(int index, int cwIndex) const;
1199  virtual double getTransmitterCWSweepFrequencyStep(int index, int cwIndex) const;
1207  virtual double getTransmitterCWSweepDwellTime(int index, int cwIndex) const;
1219  virtual bool setTransmitterCWFrequencySweep(int index, int cwIndex, double start,
1220  double stop, double step, double dwell);
1225  virtual int getNumDuc() const;
1230  virtual BasicIntList getDucIndexRange() const;
1235  virtual bool ducSupportsSnapshotLoad() const;
1240  virtual bool ducSupportsSnapshotTransmit() const;
1247  virtual bool enableDuc(int index, bool enabled);
1253  virtual bool disableDuc(int index);
1259  virtual ConfigurationDict getDucConfiguration(int index) const;
1266  virtual bool setDucConfiguration(int index, ConfigurationDict& cfg);
1272  virtual int getDucDataPort(int index) const;
1280  virtual bool setDucDataPort(int index, int port);
1286  virtual double getDucFrequency(int index) const;
1293  virtual bool setDucFrequency(int index, double freq);
1298  virtual BasicDoubleList getDucFrequencyRange() const;
1303  virtual double getDucFrequencyRes() const;
1308  virtual double getDucFrequencyUnit() const;
1314  virtual double getDucAttenuation(int index) const;
1321  virtual bool setDucAttenuation(int index, double atten);
1326  virtual BasicDoubleList getDucAttenuationRange() const;
1331  virtual double getDucAttenuationRes() const;
1337  virtual int getDucRateIndex(int index) const;
1344  virtual bool setDucRateIndex(int index, int rateIndex);
1353  virtual int getDucTxChannelBitmap(int index) const;
1363  virtual bool setDucTxChannelBitmap(int index, int txChannels);
1369  virtual int getDucMode(int index) const;
1376  virtual bool setDucMode(int index, int mode);
1382  virtual unsigned int getDucStreamId(int index) const;
1389  virtual bool setDucStreamId(int index, unsigned int sid);
1406  virtual bool loadDucSnapshot(int index,
1407  const std::string& filename,
1408  unsigned int startSample = 0,
1409  unsigned int samples = 0
1410  );
1415  virtual DucRateSet getDucRateSet() const;
1421  virtual BasicDoubleList getDucRateList() const;
1426  virtual int getNumWbddcGroups() const;
1431  virtual BasicIntList getWbddcGroupIndexRange() const;
1437  virtual bool isWbddcGroupEnabled(int index) const;
1444  virtual bool enableWbddcGroup(int index, bool enabled);
1450  virtual bool disableWbddcGroup(int index);
1456  virtual ConfigurationDict getWbddcGroupConfiguration(int index) const;
1463  virtual bool setWbddcGroupConfiguration(int index, ConfigurationDict& cfg);
1469  virtual BasicIntList getWbddcGroupMembers(int index) const;
1476  virtual bool setWbddcGroupMembers(int index, const BasicIntList& groupMembers);
1483  virtual bool addWbddcGroupMember(int index, int member);
1490  virtual bool removeWbddcGroupMember(int index, int member);
1495  virtual int getNumNbddcGroups() const;
1500  virtual BasicIntList getNbddcGroupIndexRange() const;
1506  virtual bool isNbddcGroupEnabled(int index) const;
1513  virtual bool enableNbddcGroup(int index, bool enabled);
1519  virtual bool disableNbddcGroup(int index);
1525  virtual ConfigurationDict getNbddcGroupConfiguration(int index) const;
1532  virtual bool setNbddcGroupConfiguration(int index, ConfigurationDict& cfg);
1538  virtual BasicIntList getNbddcGroupMembers(int index) const;
1545  virtual bool setNbddcGroupMembers(int index, const BasicIntList& groupMembers);
1552  virtual bool addNbddcGroupMember(int index, int member);
1559  virtual bool removeNbddcGroupMember(int index, int member);
1564  virtual bool disableTenGigFlowControl();
1569  virtual bool enableTenGigFlowControl();
1575  virtual bool setTenGigFlowControlStatus(bool enable);
1587  virtual ConfigurationDict getDataPortConfiguration(int index) const;
1595  virtual bool setDataPortConfiguration(int index, ConfigurationDict& cfg);
1601  virtual std::string getDataPortSourceIP(int index) const;
1608  virtual bool setDataPortSourceIP(int index, const std::string& ipAddr);
1615  virtual bool enableDataPortErrors(int index, bool enabled = true);
1621  virtual bool disableDataPortErrors(int index);
1628  virtual bool enableDataPortFlowControl(int index, bool enabled = true);
1634  virtual bool disableDataPortFlowControl(int index);
1642  virtual std::string getDataPortDestMACAddress(int index, int dipIndex) const;
1651  virtual bool setDataPortDestMACAddress(int index, int dipIndex,
1652  const std::string& macAddr);
1660  virtual std::string getDataPortDestIPAddress(int index, int dipIndex) const;
1669  virtual bool setDataPortDestIPAddress(int index, int dipIndex,
1670  const std::string& ipAddr);
1678  virtual unsigned int getDataPortDestSourcePort(int index, int dipIndex) const;
1687  virtual bool setDataPortDestSourcePort(int index, int dipIndex,
1688  unsigned int sourcePort);
1696  virtual unsigned int getDataPortDestDestPort(int index, int dipIndex) const;
1705  virtual bool setDataPortDestDestPort(int index, int dipIndex,
1706  unsigned int destPort);
1718  virtual bool setDataPortDestInfo(int index,
1719  int dipIndex,
1720  const std::string& ipAddr,
1721  const std::string& macAddr,
1722  unsigned int sourcePort,
1723  unsigned int destPort);
1736  virtual bool setSimpleIPConfiguration(ConfigurationDict& cfg);
1742  virtual std::string getSimpleSourceMACAddress() const;
1748  virtual std::string getSimpleSourceIPAddress() const;
1755  virtual bool setSimpleSourceIPAddress(const std::string& ipAddr);
1761  virtual std::string getSimpleDestMACAddress() const;
1768  virtual bool setSimpleDestMACAddress(const std::string& macAddr);
1774  virtual std::string getSimpleDestIPAddress() const;
1781  virtual bool setSimpleDestIPAddress(const std::string& ipAddr);
1791  virtual int getDefaultDeviceInfo() const;
1795  virtual uint32_t getMessageId( void );
1796 
1797  protected:
1808  virtual void initConfigurationDict();
1815  virtual void updateConfigurationDict();
1816  // Queries the radio for its version information.
1817  virtual bool queryVersionInfo();
1818  // Queries the radio for its specific configuration information.
1819  // Individual radios should override this as necessary.
1820  virtual bool queryRadioConfiguration();
1821  // Executes the *IDN? query on the radio.
1822  virtual bool executeQueryIDN(std::string& model,
1823  std::string& serialNumber);
1824  // Executes the VER? query on the radio.
1825  virtual bool executeQueryVER(std::string& softwareVersion,
1826  std::string& firmwareVersion,
1827  std::string& referenceVersion,
1828  std::string& firmwareDate);
1829  // Executes the HREV? query on the radio.
1830  virtual bool executeQueryHREV(std::string& hardwareInfo);
1831  // Executes the reset command on the radio.
1832  // Override this as needed for radios that support this command.
1833  virtual bool executeResetCommand(int resetType=0);
1834  // Executes the PPS command on the radio.
1835  // Override this as needed for radios that support this command.
1836  virtual bool executePpsQuery();
1837  // Executes the time query on the radio.
1838  // Override this as needed for radios that support this command.
1839  // Time is an in/out parameter
1840  virtual bool executeTimeQuery(std::string& timeStr);
1841  // Executes the time command on the radio.
1842  // Override this as needed for radios that support this command.
1843  // Time is an in/out parameter
1844  virtual bool executeTimeCommand(std::string& timeStr);
1845  // Executes the GPS time query on the radio.
1846  // Override this as needed for radios that support this command.
1847  // Time is an in/out parameter
1848  virtual bool executeGpsTimeQuery(std::string& timeStr);
1849  // Executes the config mode query on the radio.
1850  // Override this as needed for radios that support this command.
1851  // Config mode is an in/out parameter
1852  virtual bool executeConfigModeQuery(int& configMode);
1853  // Executes the config mode command on the radio.
1854  // Override this as needed for radios that support this command.
1855  // Config mode is an input parameter
1856  virtual bool executeConfigModeCommand(int& configMode);
1857  // Executes the coherent mode query on the radio.
1858  // Override this as needed for radios that support this command.
1859  // Coherent mode is an in/out parameter
1860  virtual bool executeCoherentModeQuery(int& coherentMode);
1861  // Executes the coherent mode command on the radio.
1862  // Override this as needed for radios that support this command.
1863  // Coherent mode is an in/out parameter
1864  virtual bool executeCoherentModeCommand(int& coherentMode);
1865  // Executes the frequency normalization query on the radio.
1866  // Override this as needed for radios that support this command.
1867  // FNR mode is an in/out parameter
1868  virtual bool executeFreqNormalizationQuery(int& fnrMode);
1869  // Executes the frequency normalization command on the radio.
1870  // Override this as needed for radios that support this command.
1871  // FNR mode is an in/out parameter
1872  virtual bool executeFreqNormalizationCommand(int& fnrMode);
1873  // Executes the GPS enabled query on the radio.
1874  // Override this as needed for radios that support this command.
1875  // GPS mode is an in/out parameter
1876  virtual bool executeGpsEnabledQuery(int& enabled);
1877  // Executes the GPS enabled command on the radio.
1878  // Override this as needed for radios that support this command.
1879  // GPS mode is an in/out parameter
1880  virtual bool executeGpsEnabledCommand(int& enabled);
1881  // Executes the GPS position query on the radio.
1882  // Override this as needed for radios that support this command.
1883  // GPS position are in/out parameters
1884  virtual bool executeGpsPositionQuery(double& lat, double& lon);
1885  // Executes the reference mode query on the radio.
1886  // Override this as needed for radios that support this command.
1887  // Ref mode is an in/out parameter
1888  virtual bool executeReferenceModeQuery(int& refMode);
1889  // Executes the reference mode command on the radio.
1890  // Override this as needed for radios that support this command.
1891  // Ref mode is an in/out parameter
1892  virtual bool executeReferenceModeCommand(int& refMode);
1893  // Executes the reference bypass query on the radio.
1894  // Override this as needed for radios that support this command.
1895  // Ref bypass is an in/out parameter
1896  virtual bool executeReferenceBypassQuery(int& bypassMode);
1897  // Executes the reference bypass command on the radio.
1898  // Override this as needed for radios that support this command.
1899  // Ref bypass is an in/out parameter
1900  virtual bool executeReferenceBypassCommand(int& bypassMode);
1901  // Executes the reference tuning voltage query on the radio.
1902  // Override this as needed for radios that support this command.
1903  // Ref tuning voltage is an in/out parameter
1904  virtual bool executeReferenceVoltageQuery(int& voltage);
1905  // Executes the reference tuning voltage command on the radio.
1906  // Override this as needed for radios that support this command.
1907  // Ref tuning voltage is an in/out parameter
1908  virtual bool executeReferenceVoltageCommand(int& voltage);
1909  // Executes the status query on the radio.
1910  // Override this as needed for radios that support this command.
1911  // Status is an in/out parameter
1912  virtual bool executeStatusQuery(unsigned int& stat);
1913  // Executes the tuner status query on the radio.
1914  // Override this as needed for radios that support this command.
1915  // Status is an in/out parameter
1916  virtual bool executeTstatusQuery(unsigned int& stat);
1917  // Executes the temperature query on the radio.
1918  // Override this as needed for radios that support this command.
1919  // Temperature is an in/out parameter
1920  virtual bool executeTemperatureQuery(int& temp);
1921  // Executes the GPIO static query
1922  // Override this as needed for radios that support this command.
1923  // Value is an in/out parameter
1924  virtual bool executeGpioStaticQuery(int& value);
1925  // Executes the GPIO sequence query
1926  // Override this as needed for radios that support this command.
1927  // Value, duration, loop are in/out parameters
1928  virtual bool executeGpioSequenceQuery(int index, int& value,
1929  int &duration, int& loop);
1930  // Executes the GPIO static command
1931  // Override this as needed for radios that support this command.
1932  // Value is an in/out parameter
1933  virtual bool executeGpioStaticCommand(int& value);
1934  // Executes the GPIO sequence comamnd
1935  // Override this as needed for radios that support this command.
1936  // Value, duration, loop, go are in/out parameters
1937  virtual bool executeGpioSequenceCommand(int index, int& value,
1938  int &duration, int& loop,
1939  int &go);
1940  // Executes the calibration frequency query
1941  // Override this as needed for radios that support this command.
1942  // Freq is an in/out parameter
1943  virtual bool executeCalibFrequencyQuery(double& freq);
1944  // Executes the calibration frequency command
1945  // Override this as needed for radios that support this command.
1946  // Freq is an in/out parameter
1947  virtual bool executeCalibFrequencyCommand(double& freq);
1948  // Converts an NMEA 0183-formatted coordinate string to decimal degrees.
1949  virtual double getDecimalDegreesFromNmea(const std::string& coord);
1950 
1951 
1952 
1953  protected:
1954  std::string _name;
1955  RadioTransport _transport;
1956  BasicStringList _connModesSupported;
1957  // Radio capabilities
1958  int _numTuner;
1959  int _tunerIndexBase;
1960  int _numWbddc;
1961  int _wbddcIndexBase;
1962  int _numNbddc;
1963  int _nbddcIndexBase;
1964  int _numTunerBoards;
1965  int _maxTunerBw;
1966  int _numTransmitter;
1967  int _transmitterIndexBase;
1968  int _numDuc;
1969  int _ducIndexBase;
1970  int _numWbddcGroups;
1971  int _wbddcGroupIndexBase;
1972  int _numNbddcGroups;
1973  int _nbddcGroupIndexBase;
1974  int _numDdcGroups;
1975  int _ddcGroupIndexBase;
1976  int _numDataPorts;
1977  int _dataPortIndexBase;
1978  int _numSimpleIpSetups;
1979  double _adcRate;
1980  VitaIfSpec _ifSpec;
1981  // Radio configuration items
1982  int _configMode;
1983  int _coherentMode;
1984  int _freqNormalization;
1985  int _gpsEnabled;
1986  int _referenceMode;
1987  int _referenceTuningVoltage;
1988  int _referenceBypass;
1989  double _calibFrequency;
1990  // Components
1991  TunerComponentDict _tuners;
1992  WbddcComponentDict _wbddcs;
1993  NbddcComponentDict _nbddcs;
1995  DucComponentDict _ducs;
1996  WbddcGroupComponentDict _wbddcGroups;
1997  NbddcGroupComponentDict _nbddcGroups;
1998  // Other configurables
1999  DataPortDict _dataPorts;
2000  SimpleIpSetupDict _simpleIpSetups;
2001  // Status
2002  std::string _lastCmdErrorInfo;
2003  BasicStringStringDict _versionInfo;
2004  BasicStringStringDict _connectionInfo;
2005  double _defaultTimeout;
2006  int _defaultDeviceInfo;
2007 
2008  }; /* class RadioHandler */
2009 
2010  } /* namespace Driver */
2011 
2012 } /* namespace LibCyberRadio */
2013 
2014 #endif /* INCLUDED_LIBCYBERRADIO_DRIVER_RADIOHANDLER_H */
virtual BasicIntList getWbddcIndexRange() const
Gets the range of WBDDC indices on the radio.
virtual BasicDoubleList getTransmitterCWSweepStepRange() const
Gets the CW frequency step range.
virtual ~RadioHandler()
Destroys a RadioHandler object.
virtual BasicIntList getTransmitterCWIndexRange() const
Gets the range of indices for CW tone generators.
virtual bool disableTransmitterCW(int index, int cwIndex)
Disables a given CW tone generator.
virtual BasicDoubleList getTransmitterCWSweepStopRange() const
Gets the CW stop frequency range.
virtual WbddcRateSet getWbddcRateSet() const
Gets the WBDDC rate set.
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 setWbddcSource(int index, int source)
Sets the source (which tuner is supplying the signal) for a given WBDDC.
virtual bool setWbddcStreamId(int index, unsigned int sid)
Sets the VITA 49 stream ID for a given WBDDC.
virtual double getWbddcFrequency(int index) const
Gets the tuned frequency for a given WBDDC.
virtual int getNumDataPortDipEntries() const
Gets the number of UDP destination table entries for the 10GigE data ports on the radio...
BASIC_DICT_CONTAINER< int, TransmitterComponent * > TransmitterComponentDict
A dictionary of tuner components, keyed by index.
virtual RadioHandler & operator=(const RadioHandler &other)
Assignment operator for RadioHandler objects.
virtual bool setNbddcGroupConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given NBDDC group.
virtual bool setReferenceMode(int mode)
Sets the reference mode on the radio.
virtual int getNumNbddc() const
Gets the number of NBDDCs on the radio.
virtual unsigned int getTstatus()
Gets the tuner status from the radio.
virtual BasicDoubleList getDucRateList() const
Gets the list of allowed DUC sample rates, based on the rate set.
virtual double getTransmitterAttenuation(int index) const
Gets the attenuation for a given transmitter.
virtual std::string getDataPortSourceIP(int index) const
Gets the source IP address for a given data port.
virtual bool setTimeAdjustment(int tunerIndex, int timeAdjustValue)
Sets the time adjustment for tuners on the radio.
virtual double getTunerFrequencyUnit() const
Gets the tuned frequency units for tuners.
virtual bool setWbddcGroupConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given WBDDC group.
virtual int getNumDataPorts() const
Gets the number of 10GigE data ports on the radio.
virtual double getDucFrequencyRes() const
Gets the tuned frequency resolution for DUCs.
virtual int getWbddcDataPort(int index) const
Gets the data port for a given WBDDC.
virtual bool setNbddcUdpDestination(int index, int dest)
Sets the UDP destination for a given NBDDC.
virtual BasicIntList getNbddcGroupMembers(int index) const
Gets the list of group members for a given NBDDC group.
virtual bool enableTransmitterCW(int index, int cwIndex, bool enabled=true)
Enables a given CW tone generator.
virtual bool isWbddcSelectableSource() const
Gets whether the WBDDCs on this radio support selecting their tuner source.
virtual int getNumWbddc() const
Gets the number of WBDDCs on the radio.
virtual double getTransmitterCWSweepStepRes() const
Gets the CW frequency step resolution.
virtual bool removeWbddcGroupMember(int index, int member)
Removes a WBDDC from the given WBDDC group.
virtual int getDucDataPort(int index) const
Gets the data port for a given DUC.
virtual bool setWbddcVitaEnable(int index, int enable)
Sets the VITA 49 setting for a given WBDDC.
virtual bool setConfiguration(ConfigurationDict &cfg)
Sets the configuration dictionary for this object.
BASIC_DICT_CONTAINER< int, DucComponent * > DucComponentDict
A dictionary of DUC components, keyed by index.
Definition: DucComponent.h:420
virtual ConfigurationDict getSimpleIPConfiguration() const
Gets the "simple" IP configuration dictionary for radios without 10Gig data ports.
virtual bool setDucRateIndex(int index, int rateIndex)
Sets the rate index for a given DUC.
virtual double getTransmitterCWSweepDwellRes() const
Gets the CW dwell time resolution.
Class that defines the VITA interface specification for an NDR-class radio.
Definition: VitaIfSpec.h:33
virtual bool setNbddcSource(int index, int source)
Sets the source (which tuner is supplying the signal) for a given NBDDC.
virtual ConfigurationDict getDucConfiguration(int index) const
Gets the configuration dictionary for a given DUC.
virtual bool setWbddcFrequency(int index, double freq)
Sets the tuned frequency for a given WBDDC.
virtual bool setTransmitterCWConfiguration(int index, int cwIndex, ConfigurationDict &cfg)
Sets the configuration dictionary for a given CW tone generator.
virtual bool disableTenGigFlowControl()
Disables flow control on all 10GigE data ports.
virtual double getDucFrequency(int index) const
Gets the tuned frequency for a given DUC.
virtual bool setTransmitterCWFrequency(int index, int cwIndex, double freq)
Sets the constant frequency for a given CW tone generator.
virtual bool disableWbddc(int index)
Disables a given WBDDC.
virtual bool setDataPortConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given data port.
virtual BasicDoubleList getTransmitterCWFrequencyRange() const
Gets the CW frequency range.
virtual bool disableWbddcGroup(int index)
Disables a given WBDDC group.
virtual bool setWbddcDataPort(int index, int port)
Sets the data port for a given WBDDC.
virtual bool setTenGigFlowControlStatus(bool enable)
Sets flow control status on all 10GigE data ports.
virtual bool setNbddcRateIndex(int index, int rateIndex)
Sets the rate index for a given NBDDC.
BASIC_LIST_CONTAINER< double > BasicDoubleList
Type representing a list of doubles.
Definition: BasicList.h:29
virtual double getTransmitterCWAmplitudeRes() const
Gets the CW amplitude resolution.
virtual bool addWbddcGroupMember(int index, int member)
Adds a WBDDC to the given WBDDC group.
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 NbddcRateSet getNbddcRateSet() const
Gets the NBDDC rate set.
virtual bool setDucConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given DUC.
virtual ConfigurationDict getTunerConfiguration(int index) const
Gets the configuration dictionary for a given tuner.
virtual bool connect(const std::string &mode, const std::string &host_or_dev, const int port_or_baudrate)
Connects to the radio.
virtual bool isTunerEnabled(int index) const
Gets whether or not a given tuner is enabled.
virtual double getTransmitterFrequency(int index) const
Gets the frequency for a given transmitter.
virtual bool setSimpleSourceIPAddress(const std::string &ipAddr)
Sets the source IP address for radios without 10Gig data ports.
virtual bool setCalibrationFrequency(double freq)
Sets the calibration frequency.
virtual bool disableDataPortFlowControl(int index)
Disables flow control on the data port.
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 bool setDucTxChannelBitmap(int index, int txChannels)
Sets the transmit channel bitmap for a given DUC.
virtual BasicDoubleList getDucAttenuationRange() const
Gets the DUC attenuation range.
BASIC_DICT_CONTAINER< int, double > NbddcRateSet
A rate set for a NBDDC.
virtual ConfigurationDict getWbddcConfiguration(int index) const
Gets the configuration dictionary for a given WBDDC.
virtual ConfigurationDict getDataPortConfiguration(int index) const
Gets the configuration dictionary for a given data port.
virtual double getTunerAttenuationRes() const
Gets the attenuation resolution.
virtual bool isConnected() const
Gets whether or not the handler is connected.
virtual BasicDoubleList getTunerFrequencyRange() const
Gets the tunable frequency range.
virtual int getDucMode(int index) const
Gets the mode for a given DUC.
virtual int getDefaultDeviceInfo() const
Gets the default device information.
virtual double getDucAttenuationRes() const
Gets the DUC attenuation resolution.
virtual time_t getTimeNow()
Gets the current radio time.
virtual bool setTunerAttenuation(int index, double atten)
Sets the attenuation for a given tuner.
virtual BasicIntBoolDict getTenGigFlowControlStatus()
Gets flow control status on all 10GigE data ports.
virtual double getTunerFrequencyRes() const
Gets the tuned frequency resolution.
virtual BasicIntList getNbddcIndexRange() const
Gets the range of NBDDC indices on the radio.
virtual bool transmitterSupportsCW() const
Gets whether transmitters support continuous-wave (CW) tone generation.
virtual bool isNbddcGroupEnabled(int index) const
Gets whether or not a given NBDDC group is enabled.
virtual int getNbddcSource(int index) const
Gets the source (which tuner is supplying the signal) for a given NBDDC.
virtual bool setTransmitterFrequency(int index, double freq)
Sets the frequency for a given transmitter.
virtual bool setDucFrequency(int index, double freq)
Sets the tuned frequency for a given DUC.
virtual BasicDoubleList getNbddcRateList() const
Gets the list of allowed NBDDC sample rates, based on the rate set.
BASIC_DICT_CONTAINER< int, WbddcGroupComponent * > WbddcGroupComponentDict
A dictionary of WBDDC group components, keyed by index.
virtual BasicDoubleList getTransmitterCWSweepStartRange() const
Gets the CW start frequency range.
virtual double getCalibrationFrequency() const
Gets the calibration frequency.
virtual void initConfigurationDict()
Initializes the configuration dictionary, defining the allowed keys.
virtual double getTransmitterCWSweepStopFrequency(int index, int cwIndex) const
Gets the stop frequency for a signal sweep for a given CW tone generator.
virtual double getTransmitterCWSweepStopRes() const
Gets the CW stop frequency resolution.
virtual bool enableDuc(int index, bool enabled)
Enables a given DUC.
virtual int getNbddcDataPort(int index) const
Gets the data port for a given NBDDC.
virtual double getTransmitterFrequencyUnit() const
Gets the frequency unit for transmitters on the radio.
virtual bool setNbddcStreamId(int index, unsigned int sid)
Sets the VITA 49 stream ID for a given NBDDC.
virtual bool ducSupportsSnapshotTransmit() const
Gets whether DUCs support transmitting snapshots.
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 bool setWbddcGroupMembers(int index, const BasicIntList &groupMembers)
Sets the list of group members for a given WBDDC group.
virtual BasicIntList getNbddcGroupIndexRange() const
Gets the range of NBDDC group indices on the radio.
virtual bool setTransmitterCWPhase(int index, int cwIndex, double phase)
Sets the signal phase for a given CW tone generator.
virtual unsigned int getNbddcStreamId(int index) const
Gets the VITA 49 stream ID for a given NBDDC.
virtual bool setTunerFilter(int index, int filter)
Sets the filter setting for a given tuner.
virtual bool setDataPortSourceIP(int index, const std::string &ipAddr)
Sets the source IP address for a given data port.
virtual bool setWbddcRateIndex(int index, int rateIndex)
Sets the rate index for a given WBDDC.
BASIC_DICT_CONTAINER< int, DataPort * > DataPortDict
A dictionary of data ports, keyed by index.
Definition: DataPort.h:336
virtual bool disableDuc(int index)
Disables a given DUC.
virtual bool isNbddcEnabled(int index) const
Gets whether or not a given NBDDC is enabled.
virtual bool addNbddcGroupMember(int index, int member)
Adds a NBDDC to the given NBDDC group.
virtual int getNumTransmitters() const
Gets the number of transmitters on the radio.
virtual BasicDoubleList getTransmitterAttenuationRange() const
Gets the attenuation range for the transmitters on the radio.
virtual int getVitaTailSize() const
Gets the size of the VITA 49 tail.
virtual int getDucTxChannelBitmap(int index) const
Gets the transmit channel bitmap for a given DUC.
virtual std::string getSimpleSourceIPAddress() const
Gets the source IP address for radios without 10Gig data ports.
virtual bool setDucMode(int index, int mode)
Sets the mode for a given DUC.
virtual bool enableNbddcGroup(int index, bool enabled)
Enables a given NBDDC group.
virtual bool disableNbddcGroup(int index)
Disables a given NBDDC group.
virtual double getTransmitterCWSweepDwellTime(int index, int cwIndex) const
Gets the dwell time for a signal sweep for a given CW tone generator.
virtual BasicDoubleList getWbddcFrequencyRange() const
Gets the tunable frequency range for WBDDCs.
virtual int getVitaHeaderSize() const
Gets the size of the VITA 49 header.
Generic radio handler class.
Definition: RadioHandler.h:53
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 std::string getSimpleDestIPAddress() const
Gets the destination IP address for radios without 10Gig data ports.
virtual int getWbddcSource(int index) const
Gets the source (which tuner is supplying the signal) for a given WBDDC.
virtual int debug(const char *format,...)
Outputs debug information.
Definition: Debuggable.cpp:95
virtual double getTransmitterFrequencyRes() const
Gets the frequency resolution for transmitters on the radio.
BASIC_LIST_CONTAINER< std::string > BasicStringList
Type representing a list of strings.
Definition: BasicList.h:25
virtual bool disableTransmitter(int index)
Disables a given transmitter.
virtual bool isTransmitterEnabled(int index) const
Gets whether a given transmitter is enabled.
virtual double getWbddcFrequencyRes() const
Gets the tuned frequency resolution for WBDDCs.
virtual bool setTransmitterAttenuation(int index, double atten)
Sets the attenuation for a given transmitter.
BASIC_DICT_CONTAINER< int, double > DucRateSet
A rate set for a DUC.
Definition: DucComponent.h:36
virtual double getTransmitterCWSweepFrequencyStep(int index, int cwIndex) const
Gets the frequency step for a signal sweep for a given CW tone generator.
virtual DucRateSet getDucRateSet() const
Gets the DUC&#39;s rate set.
virtual BasicIntList getWbddcGroupMembers(int index) const
Gets the list of group members for a given WBDDC group.
virtual BasicIntList getTunerIndexRange() const
Gets the tuner index range.
virtual int getWbddcRateIndex(int index) const
Gets the rate index for a given WBDDC.
virtual bool setNbddcFrequency(int index, double freq)
Sets the tuned frequency for a given NBDDC.
virtual double getTransmitterCWSweepStartRes() const
Gets the CW start frequency resolution.
virtual ConfigurationDict getNbddcGroupConfiguration(int index) const
Gets the configuration dictionary for a given NBDDC group.
BASIC_DICT_CONTAINER< int, bool > BasicIntBoolDict
Type representing a dictionary of Boolean values, keyed by integers.
Definition: BasicDict.h:37
Defines functionality for LibCyberRadio applications.
Definition: App.h:23
virtual bool ducSupportsSnapshotLoad() const
Gets whether DUCs support loading snapshot files.
Generic radio transport class.
virtual bool enableDataPortErrors(int index, bool enabled=true)
Enables errors on the data port.
virtual BasicDoubleList getTransmitterCWPhaseRange() const
Gets the CW phase range.
virtual bool setNbddcDataPort(int index, int port)
Sets the data port for a given NBDDC.
virtual BasicStringStringDict getVersionInfo()
Gets version information for the radio.
virtual double getTunerAttenuation(int index) const
Gets the attenuation for a given tuner.
virtual bool isWbddcEnabled(int index) const
Gets whether or not a given WBDDC is enabled.
virtual double getTransmitterCWFrequencyRes() const
Gets the CW frequency resolution.
virtual int getNumWbddcGroups() const
Gets the number of WBDDC groups on the radio.
A configuration dictionary.
Definition: Configurable.h:51
virtual double getTransmitterCWSweepStartFrequency(int index, int cwIndex) const
Gets the start frequency for a signal sweep for a given CW tone generator.
BASIC_DICT_CONTAINER< std::string, std::string > BasicStringStringDict
Type representing a dictionary of strings, keyed by string values.
Definition: BasicDict.h:27
virtual BasicDoubleList getTransmitterCWAmplitudeRange() const
Gets the CW amplitude range.
virtual BasicDoubleList getDucFrequencyRange() const
Gets the tunable frequency range for DUCs.
virtual BasicDoubleList getTransmitterCWSweepDwellRange() const
Gets the CW dwell time range.
virtual bool setSimpleIPConfiguration(ConfigurationDict &cfg)
Sets the "simple" IP configuration dictionary for radios without 10Gig data ports.
virtual bool enableDataPortFlowControl(int index, bool enabled=true)
Enables flow control on the data port.
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 double getNbddcFrequencyUnit() const
Gets the tuned frequency units for NBDDCs.
virtual std::string getLastCommandErrorInfo() const
Gets the error message from the last command attempted.
virtual double getTransmitterCWPhase(int index, int cwIndex) const
Gets the signal phase for a given CW tone generator.
virtual bool setSimpleDestMACAddress(const std::string &macAddr)
Sets the destination MAC address for radios without 10Gig data ports.
virtual BasicIntList getWbddcGroupIndexRange() const
Gets the range of WBDDC group indices on the radio.
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 setTimeNextPps(bool checkTime=false, bool useGpsTime=false)
Sets the time for the next PPS rising edge on the radio.
virtual BasicIntList getGpioOutputByIndex(int index)
Gets the GPIO output settings for a given sequence index.
virtual bool setDucAttenuation(int index, double atten)
Sets the attenuation for a given DUC.
virtual int getVitaPayloadSize() const
Gets the size of the VITA 49 payload.
BASIC_DICT_CONTAINER< int, SimpleIpSetup * > SimpleIpSetupDict
A dictionary of data ports, keyed by index.
virtual int getNumTuner() const
Gets the number of tuners on the radio.
virtual std::string getSimpleDestMACAddress() const
Gets the destination MAC address for radios without 10Gig data ports.
virtual double getWbddcFrequencyUnit() const
Gets the tuned frequency units for WBDDCs.
BASIC_DICT_CONTAINER< int, TunerComponent * > TunerComponentDict
A dictionary of tuner components, keyed by index.
virtual int getNbddcRateIndex(int index) const
Gets the rate index for a given NBDDC.
virtual time_t getTimeNextPps()
Gets the time for the next PPS rising edge on the radio.
virtual bool setWbddcRateSet(int index, const WbddcRateSet &set)
Sets the rate set for a given WBDDC.
virtual bool disableDataPortErrors(int index)
Disables errors on the data port.
virtual BasicIntList getDataPortIndexRange() const
Gets the range of indices 10GigE data ports on the radio.
virtual bool setTunerFrequency(int index, double freq)
Sets the tuned frequency for a given tuner.
virtual bool setDucStreamId(int index, unsigned int sid)
Sets the VITA 49 stream ID for a given DUC.
virtual bool sendReset(int resetType=0)
Resets the radio.
virtual bool isWbddcGroupEnabled(int index) const
Gets whether or not a given WBDDC group is enabled.
virtual ConfigurationDict getTransmitterCWConfiguration(int index, int cwIndex) const
Gets the configuration for a given CW tone generator.
virtual int getGpioOutput()
Gets the current GPIO output bits.
virtual bool setTunerConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given tuner.
virtual int getTransmitterCWPhaseRes() const
Gets the CW phase resolution.
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 BasicIntList getTransmitterIndexRange() const
Gets the list of transmitter indices on the radio.
virtual bool getPps()
Gets the pulse-per-second (PPS) rising edge from the radio.
virtual void updateConfigurationDict()
Updates the configuration dictionary from object settings.
virtual bool setNbddcConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given NBDDC.
BASIC_DICT_CONTAINER< int, WbddcComponent * > WbddcComponentDict
A dictionary of WBDDC components, keyed by index.
virtual const char * getByteOrder() const
Gets the byte order (endianness) of the VITA 49.
virtual bool setNbddcRateSet(int index, const NbddcRateSet &set)
Sets the rate set for a given NBDDC.
virtual bool isByteswapped() const
Gets whether the VITA 49 is byte-swapped with respect to the host operating system.
virtual BasicStringList sendCommand(const std::string &cmdString, double timeout=-1)
Sends a command to the radio.
BASIC_DICT_CONTAINER< int, double > WbddcRateSet
A rate set for a WBDDC.
virtual BasicStringStringDict getConnectionInfo()
Gets connection information for the radio.
virtual int getDucRateIndex(int index) const
Gets the rate index for a given DUC.
virtual BasicDoubleList getNbddcFrequencyRange() const
Gets the tunable frequency range for NBDDCs.
virtual bool enableWbddcGroup(int index, bool enabled)
Enables a given WBDDC group.
virtual ConfigurationDict getWbddcGroupConfiguration(int index) const
Gets the configuration dictionary for a given WBDDC group.
Base configurable object class.
Definition: Configurable.h:79
virtual bool transmitterSupportsCWSweep() const
Gets whether the transmitter supports CW tone sweeping.
virtual bool setWbddcConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given WBDDC.
BASIC_LIST_CONTAINER< int > BasicIntList
Type representing a list of integers.
Definition: BasicList.h:27
virtual bool setTransmitterConfiguration(int index, ConfigurationDict &cfg)
Sets the configuration dictionary for a given transmitter.
virtual bool enableTuner(int index, bool enabled=true)
Enables a given tuner.
virtual bool enableNbddc(int index, bool enabled=true)
Enables a given NBDDC.
virtual int getNbddcUdpDestination(int index) const
Gets the UDP destination for a given NBDDC.
virtual double getTunerFrequency(int index) const
Gets the tuned frequency for a given tuner.
virtual BasicIntList getDataPortDipEntryIndexRange() const
Gets the list of UDP destination table indices for the 10GigE data ports on the radio.
virtual unsigned int getWbddcStreamId(int index) const
Gets the VITA 49 stream ID for a given WBDDC.
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 double getTransmitterCWFrequency(int index, int cwIndex) const
Gets the constant frequency for a given CW tone generator.
virtual BasicDoubleList getTransmitterFrequencyRange() const
Gets the frequency range for the transmitters on the radio.
virtual bool enableTransmitter(int index, bool enabled=true)
Enables a given transmitter.
BASIC_DICT_CONTAINER< int, NbddcComponent * > NbddcComponentDict
A dictionary of NBDDC components, keyed by index.
virtual void disconnect()
Disconnects from the radio.
virtual double getDucAttenuation(int index) const
Gets the attenuation for a given DUC.
virtual bool setBypassMode(int mode)
Sets the reference bypass mode on the radio.
BASIC_DICT_CONTAINER< int, NbddcGroupComponent * > NbddcGroupComponentDict
A dictionary of NBDDC group components, keyed by index.
virtual bool disableTuner(int index)
Disables a given tuner.
virtual bool setWbddcUdpDestination(int index, int dest)
Sets the UDP destination for a given WBDDC.
virtual int getTransmitterCWNum() const
Gets the number of CW tone generators associated with transmitters on this radio. ...
virtual unsigned int getDucStreamId(int index) const
Gets the VITA 49 stream ID for a given DUC.
virtual int getTemperature()
Gets the current radio temperature.
virtual double getNbddcFrequencyRes() const
Gets the tuned frequency resolution for NBDDCs.
virtual std::string getSimpleSourceMACAddress() const
Gets the source MAC address for radios without 10Gig data ports.
virtual double getNbddcFrequency(int index) const
Gets the tuned frequency for a given NBDDC.
virtual bool disableNbddc(int index)
Disables a given NBDDC.
virtual int getNumTunerBoards() const
Gets the number of tuner boards on the radio.
virtual int getTunerFilter(int index) const
Gets the filter setting for a given tuner.
virtual int getWbddcUdpDestination(int index) const
Gets the UDP destination for a given WBDDC.
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 unsigned int getStatus()
Gets the status from the radio.
virtual bool setTransmitterCWAmplitude(int index, int cwIndex, double amp)
Sets the signal amplitude for a given CW tone generator.
virtual ConfigurationDict getTransmitterConfiguration(int index) const
Gets the configuration dictionary for a given transmitter.
virtual bool enableWbddc(int index, bool enabled=true)
Enables a given WBDDC.
virtual int getNbddcVitaEnable(int index) const
Gets the VITA 49 setting for a given NBDDC.
virtual void queryConfiguration()
Tells the radio to query its hardware configuration in order to create its configuration dictionary (...
virtual bool setGpioOutputByIndex(int index, int value, int duration, int loop, int go)
Sets the GPIO output settings for a given sequence index.
virtual int getNumNbddcGroups() const
Gets the number of NBDDC groups on the radio.
virtual bool enableTenGigFlowControl()
Enables flow control on all 10GigE data ports.
virtual bool isIqSwapped() const
Gets whether the VITA 49 format swaps real and imaginary (I and Q) portions of each sample...
virtual double getTransmitterAttenuationRes() const
Gets the attenuation resolution for transmitters on the radio.
virtual double getDucFrequencyUnit() const
Gets the tuned frequency units for DUCs.
virtual bool setGpioOutput(int value)
Sets the current GPIO output bits.
virtual bool setDucDataPort(int index, int port)
Sets the data port for a given DUC.
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 getGpsPosition()
Gets the current GPS position the radio.
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 bool isConnectionModeSupported(const std::string &mode) const
Gets whether the radio supports the given connection mode.
virtual double getAdcRate() const
Gets the ADC sample rate.
virtual bool setNbddcVitaEnable(int index, int enable)
Sets the VITA 49 setting for a given NBDDC.
virtual bool removeNbddcGroupMember(int index, int member)
Removes a NBDDC from the given NBDDC group.
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&#39;s memory block.
virtual bool setSimpleDestIPAddress(const std::string &ipAddr)
Sets the destination IP address for radios without 10Gig data ports.
virtual bool setNbddcGroupMembers(int index, const BasicIntList &groupMembers)
Sets the list of group members for a given NBDDC group.
virtual BasicIntList getDucIndexRange() const
Gets the range of DUC indices on the radio.
virtual BasicDoubleList getWbddcRateList() const
Gets the list of allowed WBDDC sample rates, based on the rate set.
virtual double getTransmitterCWAmplitude(int index, int cwIndex) const
Gets the signal amplitude for a given CW tone generator.
virtual BasicDoubleList getTunerAttenuationRange() const
Gets the tuner attenuation range.
virtual BasicStringList getConnectionModeList() const
Gets the list of connection methods that the radio supports.
virtual int getNumDuc() const
Gets the number of DUCs on the radio.
virtual uint32_t getMessageId(void)
Get a json Message ID.
virtual bool isWbddcTunable() const
Gets whether the WBDDCs on this radio are tunable.