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 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.
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.
Defines functionality for LibCyberRadio applications.
BASIC_LIST_CONTAINER< int > BasicIntList
Type representing a list of integers.
BASIC_DICT_CONTAINER< std::string, std::string > BasicStringStringDict
Type representing a dictionary of strings, keyed by string values.
BASIC_LIST_CONTAINER< double > BasicDoubleList
Type representing a list of doubles.
BASIC_LIST_CONTAINER< std::string > BasicStringList
Type representing a list of strings.
BASIC_DICT_CONTAINER< int, bool > BasicIntBoolDict
Type representing a dictionary of Boolean values, keyed by integers.