wfview/wfviewtypes.h

520 wiersze
23 KiB
C++

#ifndef WFVIEWTYPES_H
#define WFVIEWTYPES_H
#include <QObject>
#include <QString>
#include <QtGlobal>
#include <stdint.h>
#include <memory>
enum valueType { typeNone=0, typeFloat, typeFloatDiv, typeFloatDiv5, typeUChar, typeUShort,
typeChar, typeShort, typeBinary , typeFreq, typeMode, typeLevel, typeVFO, typeString, typedB};
enum connectionStatus_t { connDisconnected, connConnecting, connConnected };
enum underlay_t { underlayNone, underlayPeakHold, underlayPeakBuffer, underlayAverageBuffer };
enum meter_t {
meterNone=0,
meterS,
meterCenter,
meterSWR,
meterPower,
meterALC,
meterComp,
meterVoltage,
meterCurrent,
meterRxdB,
meterTxMod,
meterRxAudio,
meterAudio,
meterLatency
};
enum spectrumMode_t {
spectModeCenter=0x00,
spectModeFixed=0x01,
spectModeScrollC=0x02,
spectModeScrollF=0x03,
spectModeUnknown=0xff
};
enum rigMode_t {
modeLSB=0, //0
modeUSB, //1
modeAM, //2
modeCW, //3
modeRTTY, //4
modeFM, //5
modeCW_R, //6
modeRTTY_R, //7
modePSK, //8
modePSK_R, //9
modeLSB_D, //10
modeUSB_D, //11
modeDV, //12
modeATV, //13
modeDD, //14
modeWFM, //15
modeS_AMD, //16
modeS_AML, //17
modeS_AMU, //18
modeP25, //19
modedPMR, //20
modeNXDN_VN, //21
modeNXDN_N, //22
modeDCR, //23
modeUnknown //24
};
enum selVFO_t {
activeVFO = 0,
inactiveVFO = 1
};
enum vfo_t {
vfoA=0,
vfoB=1,
vfoMain = 0xD0,
vfoSub = 0xD1
};
enum duplexMode_t {
dmSplitOff=0x00,
dmSplitOn=0x01,
dmSimplex=0x10,
dmDupMinus=0x11,
dmDupPlus=0x12,
dmDupRPS=0x13,
dmDupAutoOn=0x26,
dmDupAutoOff=0x36
};
// Here, T=tone, D=DCS, N=none
// And the naming convention order is Transmit Receive
enum rptAccessTxRx_t {
ratrNN=0x00,
ratrTN=0x01, // "TONE" (T only)
ratrNT=0x02, // "TSQL" (R only)
ratrDD=0x03, // "DTCS" (TR)
ratrDN=0x06, // "DTCS(T)"
ratrTD=0x07, // "TONE(T) / TSQL(R)"
ratrDT=0x08, // "DTCS(T) / TSQL(R)"
ratrTT=0x09, // "TONE(T) / TSQL(R)"
ratrTONEoff,
ratrTONEon,
ratrTSQLoff,
ratrTSQLon
};
struct rptrAccessData {
rptAccessTxRx_t accessMode = ratrNN;
bool useSecondaryVFO = false;
bool turnOffTone = false;
bool turnOffTSQL = false;
bool usingSequence = false;
int sequence = 0;
};
struct modeInfo {
modeInfo ():mk(modeUnknown), reg(99), filter(1),VFO(activeVFO), data(0), name(""), bwMin(0), bwMax(0), pass(0) {};
modeInfo(rigMode_t mk, quint8 reg, QString name, int bwMin, int bwMax): mk(mk), reg(reg), data(false), name(name),bwMin(bwMin), bwMax(bwMax), pass(0) {};
rigMode_t mk;
unsigned char reg;
unsigned char filter; // Default filter is always 1
selVFO_t VFO;
unsigned char data;
QString name;
int bwMin;
int bwMax;
quint16 pass;
};
struct antennaInfo {
quint8 antenna;
bool rx;
};
struct scopeData {
bool valid=false;
QByteArray data;
uchar receiver;
spectrumMode_t mode;
bool oor;
double startFreq;
double endFreq;
};
struct toneInfo {
quint16 tone=0;
bool tinv=false;
bool rinv=false;
bool useSecondaryVFO = false;
};
enum breakIn_t {
brkinOff = 0x00,
brkinSemi = 0x01,
brkinFull = 0x02
};
struct freqt {
quint64 Hz;
double MHzDouble;
selVFO_t VFO = activeVFO;
};
struct datekind {
uint16_t year;
unsigned char month;
unsigned char day;
};
struct timekind {
unsigned char hours;
unsigned char minutes;
bool isMinus;
};
/*
enum cmds {
cmdNone, cmdGetRigID, cmdGetRigCIV, cmdGetFreq, cmdGetFreqB, cmdSetFreq, cmdGetMode, cmdSetMode,
cmdGetDataMode, cmdSetModeFilter, cmdSetDataModeOn, cmdSetDataModeOff, cmdGetRitEnabled, cmdGetRitValue,
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdSetRxRfGain, cmdGetAfGain, cmdSetAfGain,
cmdGetSql, cmdSetSql, cmdGetIFShift, cmdSetIFShift, cmdGetNRLevel, cmdSetNRLevel, cmdGetPBTInner, cmdSetPBTInner,
cmdGetPBTOuter, cmdSetPBTOuter, cmdGetPassband, cmdSetPassband, cmdGetNBLevel, cmdSetNBLevel,
cmdGetCompLevel, cmdSetCompLevel, cmdGetTuningStep, cmdSetTuningStep,
cmdGetMonitorGain, cmdSetMonitorGain, cmdGetVoxGain, cmdSetVoxGain, cmdGetAntiVoxGain, cmdSetAntiVoxGain,
cmdGetCwPitch, cmdGetPskTone, cmdGetRttyMark, cmdSetCwPitch, cmdSetPskTone, cmdSetRttyMark,
cmdGetVox,cmdSetVox, cmdGetMonitor,cmdSetMonitor, cmdGetComp, cmdSetComp, cmdGetNB, cmdSetNB, cmdGetNR, cmdSetNR,
cmdSetATU, cmdStartATU, cmdGetATUStatus,
cmdGetspectrumMode_t, cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode,
cmdGetPTT, cmdSetPTT,cmdPTTToggle,
cmdGetTxPower, cmdSetTxPower, cmdGetMicGain, cmdSetMicGain, cmdGetModLevel, cmdSetModLevel,
cmdGetSpectrumRefLevel, cmdGetDuplexMode, cmdGetModInput, cmdGetModDataInput,
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdQueNormalSpeed,
cmdGetVdMeter, cmdGetIdMeter, cmdGetSMeter, cmdGetCenterMeter, cmdGetPowerMeter,
cmdGetSWRMeter, cmdGetALCMeter, cmdGetCompMeter, cmdGetTxRxMeter,
cmdGetTone, cmdGetTSQL, cmdGetToneEnabled, cmdGetTSQLEnabled, cmdGetDTCS,
cmdSetToneEnabled, cmdSetTSQLEnabled, cmdGetRptAccessMode, cmdSetTone, cmdSetTSQL,
cmdSetRptAccessMode, cmdSetRptDuplexOffset, cmdGetRptDuplexOffset,
cmdSelVFO, cmdVFOSwap, cmdVFOEqualAB, cmdVFOEqualMS, cmdSetQuickSplit,
cmdGetPreamp, cmdGetAttenuator, cmdGetAntenna,
cmdGetBandStackReg, cmdGetKeySpeed, cmdSetKeySpeed, cmdGetBreakMode, cmdSetBreakMode, cmdSendCW, cmdStopCW, cmdGetDashRatio, cmdSetDashRatio,
cmdSetTime, cmdSetDate, cmdSetUTCOffset,
cmdGetTransceive, cmdSetTransceive,cmdGetPower,cmdSetPower,
cmdGetMemory, cmdGetSatMemory, cmdSetMemory, cmdClearMemory,cmdRecallMemory, cmdSetVFOMode, cmdSetMemoryMode, cmdSetSatelliteMode,
// Below Only used for USB Controller at the moment.
cmdSetBandUp, cmdSetBandDown, cmdSetModeUp, cmdSetModeDown, cmdSetStepUp, cmdSetStepDown,
cmdSetSpanUp, cmdSetSpanDown, cmdIFFilterUp, cmdIFFilterDown, cmdPageDown, cmdPageUp,
cmdLCDWaterfall, cmdLCDSpectrum, cmdLCDNothing, cmdSeparator
};
*/
// funcs and funcString MUST match exactly (and NUMFUNCS must be updated)
#define NUMFUNCS 248
enum funcs { funcNone,
funcFreqTR, funcModeTR, funcBandEdgeFreq, funcFreqGet, funcModeGet, funcFreqSet, // \x00
funcModeSet, funcVFOSwapAB, funcVFOSwapMS, funcVFOEqualAB, funcVFOEqualMS, funcVFODualWatchOff, // \x06
funcVFODualWatchOn, funcVFODualWatch, funcVFOMainSelect, funcVFOSubSelect, funcVFOASelect, funcVFOBSelect, // \x07
funcVFOBandMS, funcMemoryMode, funcMemoryWrite, funcMemoryToVFO, funcMemoryClear, funcReadFreqOffset,
funcSendFreqOffset, funcScanning, funcSplitStatus, funcTuningStep, funcAttenuator,
funcAntenna, funcSpeech, funcAfGain, funcRfGain, funcSquelch, funcAPFLevel,
funcNRLevel, funcIFShift, funcPBTInner, funcPBTOuter, funcCwPitch, funcRFPower,
funcMicGain, funcKeySpeed, funcNotchFilter, funcCompressorLevel, funcBreakInDelay, funcNBLevel,
funcDigiSelShift, funcDriveGain, funcMonitorGain, funcVoxGain, funcAntiVoxGain, funcBackLight,
funcSMeterSqlStatus, funcSMeter, funcCenterMeter, funcVariousSql, funcOverflowStatus, funcPowerMeter,
funcSWRMeter, funcALCMeter, funcCompMeter, funcVdMeter, funcIdMeter, funcPreamp,
funcAGCTime, funcNoiseBlanker, funcAudioPeakFilter, funcNoiseReduction, funcAutoNotch, funcRepeaterTone,
funcRepeaterTSQL, funcRepeaterDTCS, funcRepeaterCSQL, funcCompressor, funcMonitor, funcVox,
funcBreakIn, funcManualNotch, funcDigiSel, funcTwinPeakFilter, funcDialLock, funcRXAntenna,
funcDSPIFFilter, funcManualNotchWidth, funcSSBTXBandwidth, funcMainSubTracking, funcSatelliteMode, funcDSQLSetting,
funcToneSquelchType, funcIPPlus, funcSendCW, funcPowerControl, funcTransceiverId, funcFilterWidth,
funcMemoryContents, funcBandStackReg, funcMemoryKeyer, funcIFFilterWidth, funcQuickDualWatch, funcQuickSplit,
funcAutoRepeater, funcTunerStatus, funcTransverter, funcTransverterOffset, funcLockFunction, funcREFAdjust,
funcREFAdjustFine, funcACCAModLevel, funcACCBModLevel, funcUSBModLevel, funcLANModLevel, funcSPDIFModLevel,
funcDATAOffMod, funcDATA1Mod, funcDATA2Mod, funcDATA3Mod, funcCIVTransceive, funcTime,
funcDate, funcUTCOffset, funcCLOCK2, funcCLOCK2UTCOffset, funcCLOCK2Name, funcDashRatio,
funcScanSpeed, funcScanResume, funcRecorderMode, funcRecorderTX, funcRecorderRX, funcRecorderSplit,
funcRecorderPTTAuto, funcRecorderPreRec, funcRXAntConnector, funcAntennaSelectMode, funcNBDepth, funcNBWidth,
funcVOXDelay, funcVOXVoiceDelay, funcAPFType, funcAPFTypeLevel, funcPSKTone, funcRTTYMarkTone,
funcDataModeWithFilter, funcAFMute, funcToneFreq, funcTSQLFreq, funcDTCSCode, funcCSQLCode,
funcTransceiverStatus, funcXFCStatus, funcReadTXFreq, funcCIVOutput, funcReadTXFreqs, funcReadUserTXFreqs,
funcUserTXBandEdgeFreq, funcRITFreq, funcRitStatus, funcRitTXStatus, funcSelectedFreq, funcUnselectedFreq,
funcSelectedMode, funcUnselectedMode, funcMainFreq, funcSubFreq, funcMainMode, funcSubMode,
funcScopeMainWaveData, funcScopeSubWaveData, funcScopeOnOff, funcScopeDataOutput,
funcScopeMainSub, funcScopeSingleDual, funcScopeMainMode, funcScopeSubMode, funcScopeMainSpan, funcScopeSubSpan,
funcScopeMainEdge, funcScopeSubEdge, funcScopeMainHold, funcScopeSubHold, funcScopeMainRef, funcScopeSubRef,
funcScopeMainSpeed, funcScopeSubSpeed, funcScopeMainVBW, funcScopeSubVBW, funcScopeMainRBW, funcScopeSubRBW,
funcScopeDuringTX, funcScopeCenterType, funcScopeFixedEdgeFreq, funcVoiceTX, funcMainSubPrefix, funcAFCSetting,
funcSSBRXHPFLPF, funcSSBRXBass, funcSSBRXTreble, FuncAMRXHPFLPF, funcAMRXBass, funcAMRXTreble,
funcFMRXHPFLPF, funcFMRXBass, funcFMRXTreble, FuncCWRXHPFLPF, funcCWRXTreble, funcCWRXBass,
funcSSBTXHLPLPF, funcSSBTXBass, funcSSBTXTreble, FuncAMTXHPFLPF, funcAMTXBass, funcAMTXTreble,
funcFMTXHPFLPF, funcFMTXBass, funcFMTXTreble, funcBeepLevel, funcBeepLevelLimit, funcBeepConfirmation,
funcBandEdgeBeep, funcBeepMain, funcBeepSub, funcRFSQLControl, funcTXDelayHF, funcTXDelay50m,
funcTimeOutTimer, funcTimeOutCIV,
funcGPSTXMode, funcSatelliteMemory, funcGPSPosition, funcMemoryGroup, funcSelectVFO, funcSeparator,
funcLCDWaterfall, funcLCDSpectrum, funcLCDNothing, funcPageUp, funcPageDown, funcVFOFrequency,
funcVFOMode, funcRigctlFunction, funcRigctlLevel, funcRigctlParam, funcRXAudio, funcTXAudio,
funcFA, funcFB
};
// Any changes to these strings WILL break rig definitions, add new ones to end. **Missing commas concatenate strings!**
static QString funcString[] { "None",
"Freq (TRX)", "Mode (TRX)", "Band Edge Freq", "Freq Get", "Mode Get", "Freq Set",
"Mode Set", "VFO Swap A/B", "VFO Swap M/S", "VFO Equal AB", "VFO Equal MS", "VFO Dual Watch Off",
"VFO Dual Watch On", "VFO Dual Watch", "VFO Main Select", "VFO Sub Select", "VFO A Select", "VFO B Select",
"VFO Main/Sub Band", "Memory Mode", "Memory Write", "Memory to VFO", "Memory Clear", "Read Freq Offset",
"Send Freq Offset", "Scanning", "Split/Duplex", "Tuning Step", "Attenuator Status",
"Antenna", "Speech", "AF Gain", "RF Gain", "Squelch", "APF Level",
"NR Level", "IF Shift", "PBT Inner", "PBT Outer", "CW Pitch", "RF Power",
"Mic Gain", "Key Speed", "Notch Filter", "Compressor Level", "Break-In Delay", "NB Level",
"DIGI-SEL Shift", "Drive Gain", "Monitor Gain", "Vox Gain", "Anti-Vox Gain", "Backlight Level",
"S Meter Sql Status", "S Meter", "Center Meter", "Various Squelch", "Overflow Status", "Power Meter",
"SWR Meter", "ALC Meter", "Comp Meter", "Vd Meter", "Id Meter", "Preamp Status",
"AGC Time Constant", "Noise Blanker", "Audio Peak Filter", "Noise Reduction", "Auto Notch", "Repeater Tone",
"Repeater TSQL", "Repeater DTCS", "Repeater CSQL", "Compressor Status", "Monitor Status", "Vox Status",
"Break-In Status", "Manual Notch", "DIGI-Sel Status", "Twin Peak Filter", "Dial Lock Status", "RX Antenna",
"DSP IF Filter", "Manual Notch Width", "SSB TX Bandwidth", "Main/Sub Tracking", "Satellite Mode", "DSQL Setting",
"Tone Squelch Type", "IP Plus Status", "Send CW", "Power Control", "Transceiver ID", "Filter Width",
"Memory Contents", "Band Stacking Reg", "Memory Keyer", "IF Filter Width", "Quick Dual Watch", "Quick Split",
"Auto Repeater Mode", "Tuner/ATU Status", "Transverter Function", "Transverter Offset", "Lock Function", "REF Adjust",
"REF Adjust Fine", "ACC1 Mod Level", "ACC2 Mod Level", "USB Mod Level", "LAN Mod Level", "SPDIF Mod Level",
"Data Off Mod Input", "DATA1 Mod Input", "DATA2 Mod Input", "DATA3 Mod Input", "CIV Transceive", "System Time",
"System Date", "UTC Offset", "CLOCK2 Setting", "CLOCK2 UTC Offset", "CLOCK 2 Name", "Dash Ratio",
"Scanning Speed", "Scanning Resume", "Recorder Mode", "Recorder TX", "Recorder RX", "Recorder Split",
"Recorder PTT Auto", "Recorder Pre Rec", "RX Ant Connector", "Antenna Select Mode", "NB Depth", "NB Width",
"VOX Delay", "VOX Voice Delay", "APF Type", "APF Type Level", "PSK Tone", "RTTY Mark Tone",
"Data Mode Filter", "AF Mute Status", "Tone Frequency", "TSQL Frequency", "DTCS Code/Polarity", "CSQL Code",
"Transceiver Status", "XFC Status", "Read TX Freq", "CI-V Output", "Read TX Freqs", "Read User TX Freqs",
"User TX Band Edge Freq","RIT Frequency", "RIT Status", "RIT TX Status", "Selected Freq", "Unselected Freq",
"Selected Mode", "Unselected Mode", "Main RX Frequency", "Sub RX Frequency", "Main RX Mode", "Sub RX Mode",
"Scope Main Wave Data", "Scope Sub Wave Data", "Scope On/Off", "Scope Data Output",
"Scope Main/Sub", "Scope Single/Dual", "Scope Main Mode", "Scope Sub Mode", "Scope Main Span", "Scope Sub Span",
"Scope Main Edge", "Scope Sub Edge", "Scope Main Hold", "Scope Sub Hold", "Scope Main Ref", "Scope Sub Ref",
"Scope Main Speed", "Scope Sub Speed", "Scope Main VBW", "Scope Sub VBW", "Scope Main RBW", "Scope Sub RBW",
"Scope During TX", "Scope Center Type", "Scope Fixed Edge Freq", "Voice TX", "Main/Sub Prefix", "AFC Function",
"SSB RX HPFLPF", "SSB RX Bass", "SSB RX Treble", "AM RX HPFLPF", "AM RX Bass", "AM RX Treble",
"FM RX HPFLPF", "FM RX Bass", "FM RX Treble", "CW RX HPFLPF", "CW RX Bass", "CW RX Treble",
"SSB TX HPFLPF", "SSB TX Bass", "SSB TX Treble", "AM TX HPFLPF", "AM TX Bass", "AM TX Treble",
"FM TX HPFLPF", "FM TX Bass", "FM TX Treble", "Beep Level", "Beep Level Limit", "Beep Confirmation",
"Band Edge Beep", "Beep Main Band", "Beep Sub Band", "RF SQL Control", "TX Delay HF", "TX Delay 50m",
"Timeout Timer", "Timeout C-IV",
"GPS TX Mode", "Satellite Memory", "GPS Position", "Memory Group", "-Select VFO", "-Seperator",
"-LCD Waterfall", "-LCD Spectrum", "-LCD Nothing", "-Page Up", "-Page Down", "-VFO Frequency",
"-VFO Mode", "-Rigctl Function", "-Rigctl Level", "-Rigctl Param", "-RX Audio Data", "-TX Audio Data",
"Command Error FA", "Command OK FB"
};
struct spanType {
spanType() {}
spanType(int num, QString name, unsigned int freq) : num(num), name(name), freq(freq) {}
int num;
QString name;
unsigned int freq;
};
struct funcType {
funcType() {cmd=funcNone;}
funcType(funcs cmd, QString name, QByteArray data, int minVal, int maxVal, bool cmd29, bool getCmd, bool setCmd) : cmd(cmd), name(name), data(data), minVal(minVal), maxVal(maxVal), cmd29(cmd29), getCmd(getCmd), setCmd(setCmd) {}
funcs cmd;
QString name;
QByteArray data;
int minVal;
int maxVal;
bool cmd29;
bool getCmd;
bool setCmd;
};
//struct commandtype {
// cmds cmd;
// std::shared_ptr<void> data;
//};
struct stepType {
stepType(){};
stepType(unsigned char num, QString name, quint64 hz) : num(num), name(name), hz(hz) {};
unsigned char num;
QString name;
quint64 hz;
};
struct spectrumBounds {
spectrumBounds(){};
spectrumBounds(double start, double end, uchar edge) : start(start), end(end), edge(edge) {};
double start;
double end;
uchar edge;
};
struct errorType {
errorType() : alert(false) {};
errorType(bool alert, QString message) : alert(alert), message(message) {};
errorType(bool alert, QString device, QString message) : alert(alert), device(device), message(message) {};
errorType(QString device, QString message) : alert(false), device(device), message(message) {};
errorType(QString message) : alert(false), message(message) {};
bool alert;
QString device;
QString message;
};
struct memoryType {
quint16 group=0;
quint16 channel=0;
quint8 split=0;
quint8 scan=0;
quint8 vfo=0;
quint8 vfoB=0;
freqt frequency;
freqt frequencyB;
quint8 mode=0;
quint8 modeB=0;
quint8 filter=0;
quint8 filterB=0;
quint8 datamode=0;
quint8 datamodeB=0;
quint8 duplex=0;
quint8 duplexB=0;
quint8 tonemode=0;
quint8 tonemodeB=0;
quint16 tone=670;
quint16 toneB=670;
quint16 tsql=670;
quint16 tsqlB=670;
quint8 dsql=0;
quint8 dsqlB=0;
quint16 dtcs=0;
quint16 dtcsB=0;
quint8 dtcsp=0;
quint8 dtcspB=0;
quint8 dvsql=0;
quint8 dvsqlB=0;
freqt duplexOffset;
freqt duplexOffsetB;
char UR[9];
char URB[9];
char R1[9];
char R2[9];
char R1B[9];
char R2B[9];
char name[24]; // 1 more than the absolute max
bool sat=false;
bool del=false;
};
struct memParserFormat{
memParserFormat(char spec, int pos, int len) : spec(spec), pos(pos), len(len) {};
char spec;
int pos;
int len;
};
enum audioType {qtAudio,portAudio,rtAudio,tciAudio};
enum codecType { LPCM, PCMU, OPUS };
enum passbandActions {passbandStatic, pbtInnerMove, pbtOuterMove, pbtMoving, passbandResizing};
enum usbDeviceType { usbNone = 0, shuttleXpress, shuttlePro2,
RC28, xBoxGamepad, unknownGamepad, eCoderPlus, QuickKeys,
StreamDeckMini,StreamDeckMiniV2,StreamDeckOriginal,StreamDeckOriginalV2,
StreamDeckOriginalMK2,StreamDeckXL,StreamDeckXLV2,StreamDeckPedal, StreamDeckPlus,
XKeysXK3
};
enum usbCommandType{ commandButton, commandKnob, commandAny };
enum usbFeatureType { featureReset,featureResetKeys, featureEventsA, featureEventsB, featureFirmware, featureSerial, featureButton, featureSensitivity, featureBrightness,
featureOrientation, featureSpeed, featureColor, featureOverlay, featureTimeout, featureLCD, featureGraph, featureLEDControl };
struct periodicType {
periodicType() {};
periodicType(funcs func, QString priority, char receiver) : func(func), priority(priority), prioVal(0), receiver(receiver) {};
periodicType(funcs func, QString priority, int prioVal, char receiver) : func(func), priority(priority), prioVal(prioVal), receiver(receiver) {};
funcs func;
QString priority;
int prioVal;
char receiver;
};
inline QString getMeterDebug(meter_t m) {
QString rtn = QString("Meter name: ");
switch(m) {
case meterNone:
rtn.append("meterNone");
break;
case meterS:
rtn.append("meterS");
break;
case meterCenter:
rtn.append("meterCenter");
break;
case meterSWR:
rtn.append("meterSWR");
break;
case meterPower:
rtn.append("meterPower");
break;
case meterALC:
rtn.append("meterALC");
break;
case meterComp:
rtn.append("meterComp");
break;
case meterVoltage:
rtn.append("meterVoltage");
break;
case meterCurrent:
rtn.append("meterCurrent");
break;
case meterRxdB:
rtn.append("meterRxdB");
break;
case meterTxMod:
rtn.append("meterTxMod");
break;
case meterRxAudio:
rtn.append("meterRxAudio");
break;
case meterLatency:
rtn.append("meterLatency");
break;
default:
rtn.append("UNKNOWN");
break;
}
return rtn;
}
Q_DECLARE_METATYPE(freqt)
Q_DECLARE_METATYPE(spectrumMode_t)
Q_DECLARE_METATYPE(rigMode_t)
Q_DECLARE_METATYPE(vfo_t)
Q_DECLARE_METATYPE(duplexMode_t)
Q_DECLARE_METATYPE(rptAccessTxRx_t)
Q_DECLARE_METATYPE(rptrAccessData)
Q_DECLARE_METATYPE(usbFeatureType)
//Q_DECLARE_METATYPE(cmds)
Q_DECLARE_METATYPE(funcs)
Q_DECLARE_METATYPE(memoryType)
Q_DECLARE_METATYPE(antennaInfo)
Q_DECLARE_METATYPE(scopeData)
Q_DECLARE_METATYPE(timekind)
Q_DECLARE_METATYPE(datekind)
Q_DECLARE_METATYPE(toneInfo)
Q_DECLARE_METATYPE(meter_t)
Q_DECLARE_METATYPE(spectrumBounds)
#endif // WFVIEWTYPES_H