2023-01-16 12:24:22 +00:00
|
|
|
|
2022-11-27 04:45:32 +00:00
|
|
|
#ifndef WFVIEWTYPES_H
|
|
|
|
#define WFVIEWTYPES_H
|
|
|
|
|
2023-05-15 12:47:45 +00:00
|
|
|
#include <QObject>
|
2023-01-19 06:27:06 +00:00
|
|
|
#include <QString>
|
|
|
|
#include <QtGlobal>
|
|
|
|
#include <stdint.h>
|
2023-01-24 18:37:26 +00:00
|
|
|
#include <memory>
|
2023-01-19 06:27:06 +00:00
|
|
|
|
2022-11-27 04:45:32 +00:00
|
|
|
enum underlay_t { underlayNone, underlayPeakHold, underlayPeakBuffer, underlayAverageBuffer };
|
|
|
|
|
2023-05-15 12:47:45 +00:00
|
|
|
enum meter_t {
|
2022-11-27 04:45:32 +00:00
|
|
|
meterNone=0,
|
|
|
|
meterS,
|
|
|
|
meterCenter,
|
|
|
|
meterSWR,
|
|
|
|
meterPower,
|
|
|
|
meterALC,
|
|
|
|
meterComp,
|
|
|
|
meterVoltage,
|
|
|
|
meterCurrent,
|
|
|
|
meterRxdB,
|
|
|
|
meterTxMod,
|
|
|
|
meterRxAudio,
|
|
|
|
meterAudio,
|
|
|
|
meterLatency
|
|
|
|
};
|
|
|
|
|
2023-05-15 12:47:45 +00:00
|
|
|
enum spectrumMode_t {
|
2022-11-27 04:45:32 +00:00
|
|
|
spectModeCenter=0x00,
|
|
|
|
spectModeFixed=0x01,
|
|
|
|
spectModeScrollC=0x02,
|
|
|
|
spectModeScrollF=0x03,
|
|
|
|
spectModeUnknown=0xff
|
|
|
|
};
|
|
|
|
|
2023-05-15 12:51:04 +00:00
|
|
|
enum rigMode_t {
|
2023-05-08 12:26:45 +00:00
|
|
|
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
|
2023-01-19 06:27:06 +00:00
|
|
|
};
|
|
|
|
|
2023-01-25 08:15:20 +00:00
|
|
|
enum selVFO_t {
|
|
|
|
activeVFO = 0,
|
|
|
|
inactiveVFO = 1
|
|
|
|
};
|
|
|
|
|
2023-01-27 20:44:23 +00:00
|
|
|
enum vfo_t {
|
|
|
|
vfoA=0,
|
|
|
|
vfoB=1,
|
|
|
|
vfoMain = 0xD0,
|
|
|
|
vfoSub = 0xD1
|
|
|
|
};
|
|
|
|
|
2023-01-27 22:05:50 +00:00
|
|
|
struct rptrTone_t {
|
|
|
|
quint16 tone = 0;
|
|
|
|
bool useSecondaryVFO = false;
|
|
|
|
};
|
|
|
|
|
2023-05-15 12:47:45 +00:00
|
|
|
enum duplexMode_t {
|
2023-01-27 22:05:50 +00:00
|
|
|
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
|
2023-05-15 12:47:45 +00:00
|
|
|
enum rptAccessTxRx_t {
|
2023-01-27 22:05:50 +00:00
|
|
|
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)"
|
2023-02-01 05:52:24 +00:00
|
|
|
ratrTT=0x09, // "TONE(T) / TSQL(R)"
|
|
|
|
ratrTONEoff,
|
|
|
|
ratrTONEon,
|
|
|
|
ratrTSQLoff,
|
|
|
|
ratrTSQLon
|
2023-01-27 22:05:50 +00:00
|
|
|
};
|
|
|
|
|
2023-05-15 12:47:45 +00:00
|
|
|
struct rptrAccessData {
|
|
|
|
rptAccessTxRx_t accessMode = ratrNN;
|
2023-01-27 22:05:50 +00:00
|
|
|
bool useSecondaryVFO = false;
|
2023-02-01 05:52:24 +00:00
|
|
|
bool turnOffTone = false;
|
|
|
|
bool turnOffTSQL = false;
|
|
|
|
bool usingSequence = false;
|
|
|
|
int sequence = 0;
|
2023-01-27 22:05:50 +00:00
|
|
|
};
|
|
|
|
|
2023-05-15 12:47:45 +00:00
|
|
|
struct modeInfo {
|
|
|
|
modeInfo () {};
|
2023-05-15 12:51:04 +00:00
|
|
|
modeInfo(rigMode_t mk, quint8 reg, QString name, bool bw): mk(mk), reg(reg), name(name),bw(bw) {};
|
|
|
|
rigMode_t mk=modeUnknown;
|
2023-05-15 09:53:52 +00:00
|
|
|
unsigned char reg=99;
|
|
|
|
unsigned char filter=1; // Default filter is always 1
|
2023-01-25 08:15:20 +00:00
|
|
|
selVFO_t VFO = activeVFO;
|
2023-05-15 09:53:52 +00:00
|
|
|
unsigned char data = 0;
|
|
|
|
QString name="";
|
|
|
|
bool bw=false; // Can the bandwidth of the current filter be changed?
|
|
|
|
quint16 pass = 0;
|
2023-01-25 08:15:20 +00:00
|
|
|
};
|
|
|
|
|
2023-05-15 09:53:52 +00:00
|
|
|
struct antennaInfo {
|
|
|
|
quint8 antenna;
|
|
|
|
bool rx;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct scopeData {
|
|
|
|
bool valid=false;
|
|
|
|
QByteArray data;
|
|
|
|
bool mainSub;
|
|
|
|
uchar mode;
|
|
|
|
bool oor;
|
|
|
|
double startFreq;
|
|
|
|
double endFreq;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct toneInfo {
|
|
|
|
quint16 tone=0;
|
|
|
|
bool tinv=false;
|
|
|
|
bool rinv=false;
|
|
|
|
};
|
2023-04-28 12:44:12 +00:00
|
|
|
|
2023-01-21 06:11:30 +00:00
|
|
|
enum breakIn_t {
|
|
|
|
brkinOff = 0x00,
|
|
|
|
brkinSemi = 0x01,
|
|
|
|
brkinFull = 0x02
|
|
|
|
};
|
|
|
|
|
2022-11-27 04:45:32 +00:00
|
|
|
struct freqt {
|
|
|
|
quint64 Hz;
|
|
|
|
double MHzDouble;
|
2023-01-25 08:15:20 +00:00
|
|
|
selVFO_t VFO = activeVFO;
|
2022-11-27 04:45:32 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct datekind {
|
|
|
|
uint16_t year;
|
|
|
|
unsigned char month;
|
|
|
|
unsigned char day;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct timekind {
|
|
|
|
unsigned char hours;
|
|
|
|
unsigned char minutes;
|
|
|
|
bool isMinus;
|
|
|
|
};
|
|
|
|
|
2023-01-24 18:37:26 +00:00
|
|
|
enum cmds {
|
2023-05-15 09:53:52 +00:00
|
|
|
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,
|
2023-05-15 12:47:45 +00:00
|
|
|
cmdGetspectrumMode_t, cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode,
|
2023-05-15 09:53:52 +00:00
|
|
|
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
|
2023-01-24 18:37:26 +00:00
|
|
|
};
|
|
|
|
|
2023-04-19 13:51:23 +00:00
|
|
|
|
|
|
|
// funcs and funcString MUST match exactly (and NUMFUNCS must be updated)
|
2023-05-15 09:53:52 +00:00
|
|
|
#define NUMFUNCS 197
|
2023-04-23 20:29:44 +00:00
|
|
|
|
|
|
|
enum funcs { funcNone,
|
2023-04-27 15:39:51 +00:00
|
|
|
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, funcDuplexStatus, 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, funcNotchWidth, funcSSBBandwidth, funcMainSubTracking, funcSatelliteMode, funcDSQLSetting,
|
|
|
|
funcToneSquelchType, funcIPPlus, funcSendCW, funcPowerControl, funcTransceiverId, funcFilterWidth,
|
|
|
|
funcMemoryContents, funcBandStackReg, funcMemoryKeyer, funcIFFilterWidth, funcQuickDualWatch, funcQuickSplit,
|
|
|
|
funcAutoRepeater, funcTunerStatus, funcTransverter, funcTransverterOffset, funcLockFunction, funcREFAdjust,
|
2023-05-15 09:53:52 +00:00
|
|
|
funcREFAdjustFine, funcACCAModLevel, funcACCBModLevel, funcUSBModLevel, funcLANModLevel, funcSPDIFModLevel, funcDATAOffMod,
|
2023-04-27 15:39:51 +00:00
|
|
|
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,
|
2023-04-29 13:35:55 +00:00
|
|
|
funcAFMute, funcToneFreq, funcTSQLFreq, funcDTCSCode, funcCSQLCode, funcTransceiverStatus,
|
2023-04-27 15:39:51 +00:00
|
|
|
funcXFCStatus, funcReadTXFreq, funcCIVOutput, funcReadTXFreqs, funcReadUserTXFreqs, funcUserTXBandEdgeFreq,
|
2023-05-15 09:53:52 +00:00
|
|
|
funcRITFreq, funcRitStatus, funcRitTXStatus, funcSelectedFreq, funcSelectedMode, funcUnselectedFreq,
|
|
|
|
funcUnselectedMode, funcScopeWaveData,
|
2023-04-27 15:39:51 +00:00
|
|
|
funcScopeOnOff, funcScopeDataOutput, funcScopeMainSub, funcScopeSingleDual, funcScopeCenterFixed, funcScopeCenterSpan,
|
|
|
|
funcScopeEdgeNumber, funcScopeHold, funcScopeRef, funcScopeSpeed, funcScopeDuringTX, funcScopeCenterType,
|
2023-04-29 13:35:55 +00:00
|
|
|
funcScopeVBW, funcScopeFixedFreq, funcScopeRBW, funcVoiceTX, funcMainSubPrefix, funcAFCSetting,
|
2023-05-15 09:53:52 +00:00
|
|
|
funcGPSTXMode, funcSatelliteMemory, funcGPSPosition, funcMemoryGroup, funcSelectVFO, funcSeparator,
|
|
|
|
funcLCDWaterfall, funcLCDSpectrum, funcLCDNothing, funcPageUp, funcPageDown, funcFA,
|
2023-05-11 23:24:01 +00:00
|
|
|
funcFB
|
2023-04-23 20:29:44 +00:00
|
|
|
};
|
2023-05-15 09:53:52 +00:00
|
|
|
|
2023-04-23 20:29:44 +00:00
|
|
|
|
|
|
|
// Any changes to these strings WILL break rig definitions, add new ones to end. **Missing commas concatenate strings!**
|
|
|
|
static QString funcString[] { "None",
|
2023-04-27 15:39:51 +00:00
|
|
|
"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 Operation", "Duplex Operation", "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 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",
|
2023-05-15 09:53:52 +00:00
|
|
|
"REF Adjust Fine", "ACC1 Mod Level", "ACC2 Mod Level", "USB Mod Level", "LAN Mod Level", "SPDIF Mod Level", "Data Off Mod Input",
|
2023-04-27 15:39:51 +00:00
|
|
|
"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",
|
2023-05-15 09:53:52 +00:00
|
|
|
"AF Mute Status", "Tone Frequency", "TSQL Frequency", "DTCS Code/Polarity", "CSQL Code", "Transceiver Status",
|
2023-04-27 15:39:51 +00:00
|
|
|
"XFC Status", "Read TX Freq", "CI-V Output", "Read TX Freqs", "Read User TX Freqs", "User TX Band Edge Freq",
|
2023-05-15 09:53:52 +00:00
|
|
|
"RIT Frequency", "RIT Status", "RIT TX Status", "Selected Freq", "Selected Mode", "Unselected Freq",
|
|
|
|
"Unselected Mode", "Scope Wave Data",
|
2023-04-27 15:39:51 +00:00
|
|
|
"Scope On/Off", "Scope Data Output", "Scope Main/Sub", "Scope Single/Dual", "Scope Center Fixed", "Scope Center Span",
|
|
|
|
"Scope Edge Number", "Scope Hold", "Scope Ref", "Scope Speed", "Scope During TX", "Scope Center Type",
|
2023-04-29 13:35:55 +00:00
|
|
|
"Scope VBW", "Scope Fixed Freq", "Scope RBW", "Voice TX", "Main/Sub Prefix", "AFC Function",
|
2023-05-15 09:53:52 +00:00
|
|
|
"GPS TX Mode", "Satellite Memory", "GPS Position", "Memory Group", "-Select VFO", "-Seperator",
|
|
|
|
"-LCD Waterfall", "-LCD Spectrum", "-LCD Nothing", "-Page Up", "-Page Down", "Command Error FA",
|
2023-05-11 23:24:01 +00:00
|
|
|
"Command OK FB"
|
2023-04-23 20:29:44 +00:00
|
|
|
};
|
|
|
|
|
2023-04-26 17:41:38 +00:00
|
|
|
|
|
|
|
|
2023-04-23 20:29:44 +00:00
|
|
|
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() {}
|
|
|
|
funcType(funcs cmd, QString name, QByteArray data, int minVal, int maxVal) : cmd(cmd), name(name), data(data), minVal(minVal), maxVal(maxVal) {}
|
|
|
|
funcs cmd;
|
|
|
|
QString name;
|
|
|
|
QByteArray data;
|
|
|
|
int minVal;
|
|
|
|
int maxVal;
|
2023-04-19 13:51:23 +00:00
|
|
|
};
|
|
|
|
|
2023-01-24 18:37:26 +00:00
|
|
|
struct commandtype {
|
|
|
|
cmds cmd;
|
|
|
|
std::shared_ptr<void> data;
|
|
|
|
};
|
|
|
|
|
2023-04-28 12:44:12 +00:00
|
|
|
struct stepType {
|
|
|
|
stepType(){};
|
|
|
|
stepType(unsigned char num, QString name, quint64 hz) : num(num), name(name), hz(hz) {};
|
|
|
|
unsigned char num;
|
|
|
|
QString name;
|
|
|
|
quint64 hz;
|
|
|
|
};
|
|
|
|
|
2023-01-05 19:37:53 +00:00
|
|
|
struct errorType {
|
2023-01-06 10:42:31 +00:00
|
|
|
errorType() : alert(false) {};
|
2023-01-05 19:37:53 +00:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2023-05-09 16:03:03 +00:00
|
|
|
|
|
|
|
struct memoryType {
|
2023-05-02 20:18:41 +00:00
|
|
|
quint16 group=0;
|
2023-05-01 20:56:52 +00:00
|
|
|
quint16 channel=0;
|
2023-05-06 11:36:05 +00:00
|
|
|
quint8 split=0;
|
2023-05-04 20:55:40 +00:00
|
|
|
quint8 scan=0;
|
2023-05-08 12:26:45 +00:00
|
|
|
quint8 vfo=0;
|
|
|
|
quint8 vfoB=0;
|
2023-05-01 20:56:52 +00:00
|
|
|
freqt frequency;
|
2023-05-04 20:55:40 +00:00
|
|
|
freqt frequencyB;
|
2023-05-06 11:36:05 +00:00
|
|
|
quint8 mode=0;
|
|
|
|
quint8 modeB=0;
|
2023-05-01 20:56:52 +00:00
|
|
|
quint8 filter=0;
|
2023-05-04 20:55:40 +00:00
|
|
|
quint8 filterB=0;
|
2023-05-01 20:56:52 +00:00
|
|
|
quint8 datamode=0;
|
2023-05-04 20:55:40 +00:00
|
|
|
quint8 datamodeB=0;
|
2023-05-02 20:18:41 +00:00
|
|
|
quint8 duplex=0;
|
2023-05-06 11:36:05 +00:00
|
|
|
quint8 duplexB=0;
|
2023-05-08 12:26:45 +00:00
|
|
|
quint8 tonemode=0;
|
|
|
|
quint8 tonemodeB=0;
|
2023-05-01 20:56:52 +00:00
|
|
|
quint16 tone=670;
|
2023-05-04 20:55:40 +00:00
|
|
|
quint16 toneB=670;
|
2023-05-01 20:56:52 +00:00
|
|
|
quint16 tsql=670;
|
2023-05-04 20:55:40 +00:00
|
|
|
quint16 tsqlB=670;
|
2023-05-02 20:18:41 +00:00
|
|
|
quint8 dsql=0;
|
2023-05-04 20:55:40 +00:00
|
|
|
quint8 dsqlB=0;
|
2023-05-09 11:11:38 +00:00
|
|
|
quint16 dtcs=0;
|
|
|
|
quint16 dtcsB=0;
|
2023-05-03 12:38:06 +00:00
|
|
|
quint8 dtcsp=0;
|
2023-05-04 20:55:40 +00:00
|
|
|
quint8 dtcspB=0;
|
2023-05-02 20:18:41 +00:00
|
|
|
quint8 dvsql=0;
|
2023-05-04 20:55:40 +00:00
|
|
|
quint8 dvsqlB=0;
|
2023-05-02 20:18:41 +00:00
|
|
|
freqt duplexOffset;
|
2023-05-06 11:36:05 +00:00
|
|
|
freqt duplexOffsetB;
|
2023-05-02 20:18:41 +00:00
|
|
|
char UR[9];
|
2023-05-04 20:55:40 +00:00
|
|
|
char URB[9];
|
2023-05-02 20:18:41 +00:00
|
|
|
char R1[9];
|
|
|
|
char R2[9];
|
2023-05-04 20:55:40 +00:00
|
|
|
char R1B[9];
|
|
|
|
char R2B[9];
|
|
|
|
char name[24]; // 1 more than the absolute max
|
|
|
|
bool sat=false;
|
2023-05-09 16:03:03 +00:00
|
|
|
bool del=false;
|
2023-05-01 20:56:52 +00:00
|
|
|
};
|
|
|
|
|
2023-05-03 12:38:06 +00:00
|
|
|
|
|
|
|
struct memParserFormat{
|
|
|
|
memParserFormat(char spec, int pos, int len) : spec(spec), pos(pos), len(len) {};
|
|
|
|
char spec;
|
|
|
|
int pos;
|
|
|
|
int len;
|
|
|
|
};
|
|
|
|
|
2022-11-27 04:45:32 +00:00
|
|
|
enum audioType {qtAudio,portAudio,rtAudio};
|
2022-12-29 15:26:41 +00:00
|
|
|
enum codecType { LPCM, PCMU, OPUS };
|
2022-11-27 04:45:32 +00:00
|
|
|
|
2023-01-19 16:16:47 +00:00
|
|
|
enum passbandActions {passbandStatic, pbtInnerMove, pbtOuterMove, pbtMoving, passbandResizing};
|
2022-11-27 04:45:32 +00:00
|
|
|
|
2023-03-25 09:09:42 +00:00
|
|
|
enum usbDeviceType { usbNone = 0, shuttleXpress, shuttlePro2,
|
|
|
|
RC28, xBoxGamepad, unknownGamepad, eCoderPlus, QuickKeys,
|
|
|
|
StreamDeckMini,StreamDeckMiniV2,StreamDeckOriginal,StreamDeckOriginalV2,
|
|
|
|
StreamDeckOriginalMK2,StreamDeckXL,StreamDeckXLV2,StreamDeckPedal, StreamDeckPlus
|
|
|
|
};
|
|
|
|
|
2023-04-02 19:07:13 +00:00
|
|
|
enum usbCommandType{ commandButton, commandKnob, commandAny };
|
2023-03-25 09:09:42 +00:00
|
|
|
enum usbFeatureType { featureReset,featureResetKeys, featureEventsA, featureEventsB, featureFirmware, featureSerial, featureButton, featureSensitivity, featureBrightness,
|
2023-04-13 13:36:16 +00:00
|
|
|
featureOrientation, featureSpeed, featureColor, featureOverlay, featureTimeout, featureLCD, featureGraph, featureLEDControl };
|
2023-02-02 23:11:49 +00:00
|
|
|
|
2023-05-15 12:47:45 +00:00
|
|
|
|
|
|
|
Q_DECLARE_METATYPE(freqt)
|
|
|
|
Q_DECLARE_METATYPE(spectrumMode_t)
|
2023-05-15 12:51:04 +00:00
|
|
|
Q_DECLARE_METATYPE(rigMode_t)
|
2023-05-15 12:47:45 +00:00
|
|
|
Q_DECLARE_METATYPE(vfo_t)
|
|
|
|
Q_DECLARE_METATYPE(duplexMode_t)
|
|
|
|
Q_DECLARE_METATYPE(rptAccessTxRx_t)
|
|
|
|
Q_DECLARE_METATYPE(rptrTone_t)
|
|
|
|
Q_DECLARE_METATYPE(rptrAccessData)
|
|
|
|
Q_DECLARE_METATYPE(usbFeatureType)
|
|
|
|
Q_DECLARE_METATYPE(cmds)
|
2023-05-15 13:26:59 +00:00
|
|
|
Q_DECLARE_METATYPE(funcs)
|
2023-05-15 12:47:45 +00:00
|
|
|
Q_DECLARE_METATYPE(memoryType)
|
|
|
|
Q_DECLARE_METATYPE(antennaInfo)
|
|
|
|
Q_DECLARE_METATYPE(scopeData)
|
|
|
|
Q_DECLARE_METATYPE(timekind)
|
|
|
|
Q_DECLARE_METATYPE(datekind)
|
2023-05-15 12:54:57 +00:00
|
|
|
Q_DECLARE_METATYPE(toneInfo)
|
2023-05-15 12:47:45 +00:00
|
|
|
Q_DECLARE_METATYPE(meter_t)
|
|
|
|
|
2022-11-27 04:45:32 +00:00
|
|
|
#endif // WFVIEWTYPES_H
|