11 #ifndef INCLUDED_LIBCYBERRADIO_DRIVER_RADIOHANDLER_H 12 #define INCLUDED_LIBCYBERRADIO_DRIVER_RADIOHANDLER_H 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" 89 const std::string& name =
"NDR",
91 int tunerIndexBase = 1,
93 int wbddcIndexBase = 1,
95 int nbddcIndexBase = 1,
96 int numTunerBoards = 1,
98 int numTransmitter = 0,
99 int transmitterIndexBase = 1,
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,
155 const std::string& mode,
156 const std::string& host_or_dev,
157 const int port_or_baudrate
171 const std::string& cmdString,
217 virtual bool setTimeNextPps(
bool checkTime=
false,
bool useGpsTime=
false);
313 int duration,
int loop,
int go);
458 virtual bool enableTuner(
int index,
bool enabled =
true);
586 virtual bool enableWbddc(
int index,
bool enabled =
true);
770 virtual bool enableNbddc(
int index,
bool enabled =
true);
1098 bool enabled =
true);
1221 double stop,
double step,
double dwell);
1248 virtual bool enableDuc(
int index,
bool enabled);
1377 virtual bool setDucMode(
int index,
int mode);
1408 const std::string& filename,
1409 unsigned int startSample = 0,
1410 unsigned int samples = 0
1653 const std::string& macAddr);
1671 const std::string& ipAddr);
1689 unsigned int sourcePort);
1707 unsigned int destPort);
1721 const std::string& ipAddr,
1722 const std::string& macAddr,
1723 unsigned int sourcePort,
1724 unsigned int destPort);
1818 virtual bool queryVersionInfo();
1821 virtual bool queryRadioConfiguration();
1823 virtual bool executeQueryIDN(std::string& model,
1824 std::string& serialNumber);
1826 virtual bool executeQueryVER(std::string& softwareVersion,
1827 std::string& firmwareVersion,
1828 std::string& referenceVersion,
1829 std::string& firmwareDate);
1831 virtual bool executeQueryHREV(std::string& hardwareInfo);
1834 virtual bool executeResetCommand(
int resetType=0);
1837 virtual bool executePpsQuery();
1841 virtual bool executeTimeQuery(std::string& timeStr);
1845 virtual bool executeTimeCommand(std::string& timeStr);
1849 virtual bool executeGpsTimeQuery(std::string& timeStr);
1853 virtual bool executeConfigModeQuery(
int& configMode);
1857 virtual bool executeConfigModeCommand(
int& configMode);
1861 virtual bool executeCoherentModeQuery(
int& coherentMode);
1865 virtual bool executeCoherentModeCommand(
int& coherentMode);
1869 virtual bool executeFreqNormalizationQuery(
int& fnrMode);
1873 virtual bool executeFreqNormalizationCommand(
int& fnrMode);
1877 virtual bool executeGpsEnabledQuery(
int& enabled);
1881 virtual bool executeGpsEnabledCommand(
int& enabled);
1885 virtual bool executeGpsPositionQuery(
double& lat,
double& lon);
1889 virtual bool executeReferenceModeQuery(
int& refMode);
1893 virtual bool executeReferenceModeCommand(
int& refMode);
1897 virtual bool executeReferenceBypassQuery(
int& bypassMode);
1901 virtual bool executeReferenceBypassCommand(
int& bypassMode);
1905 virtual bool executeReferenceVoltageQuery(
int& voltage);
1909 virtual bool executeReferenceVoltageCommand(
int& voltage);
1913 virtual bool executeStatusQuery(
unsigned int& stat);
1917 virtual bool executeTstatusQuery(
unsigned int& stat);
1921 virtual bool executeTemperatureQuery(
int& temp);
1925 virtual bool executeGpioStaticQuery(
int& value);
1929 virtual bool executeGpioSequenceQuery(
int index,
int& value,
1930 int &duration,
int& loop);
1934 virtual bool executeGpioStaticCommand(
int& value);
1938 virtual bool executeGpioSequenceCommand(
int index,
int& value,
1939 int &duration,
int& loop,
1944 virtual bool executeCalibFrequencyQuery(
double& freq);
1948 virtual bool executeCalibFrequencyCommand(
double& freq);
1950 virtual double getDecimalDegreesFromNmea(
const std::string& coord);
1960 int _tunerIndexBase;
1962 int _wbddcIndexBase;
1964 int _nbddcIndexBase;
1965 int _numTunerBoards;
1967 int _numTransmitter;
1968 int _transmitterIndexBase;
1971 int _numWbddcGroups;
1972 int _wbddcGroupIndexBase;
1973 int _numNbddcGroups;
1974 int _nbddcGroupIndexBase;
1976 int _ddcGroupIndexBase;
1978 int _dataPortIndexBase;
1979 int _numSimpleIpSetups;
1985 int _freqNormalization;
1988 int _referenceTuningVoltage;
1989 int _referenceBypass;
1990 double _calibFrequency;
2003 std::string _lastCmdErrorInfo;
2006 double _defaultTimeout;
2007 int _defaultDeviceInfo;
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.
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.
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.
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.
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.
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.
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.
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.
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'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.
Defines functionality for LibCyberRadio applications.
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.
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.
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.
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.
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'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.