2023-01-16 12:24:22 +00:00
2022-11-27 04:45:32 +00:00
# ifndef WFVIEWTYPES_H
# define WFVIEWTYPES_H
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 } ;
enum meterKind {
meterNone = 0 ,
meterS ,
meterCenter ,
meterSWR ,
meterPower ,
meterALC ,
meterComp ,
meterVoltage ,
meterCurrent ,
meterRxdB ,
meterTxMod ,
meterRxAudio ,
meterAudio ,
meterLatency
} ;
enum spectrumMode {
spectModeCenter = 0x00 ,
spectModeFixed = 0x01 ,
spectModeScrollC = 0x02 ,
spectModeScrollF = 0x03 ,
spectModeUnknown = 0xff
} ;
2023-01-19 06:27:06 +00:00
enum mode_kind {
modeLSB = 0x00 ,
modeUSB = 0x01 ,
modeAM = 0x02 ,
modeCW = 0x03 ,
modeRTTY = 0x04 ,
modeFM = 0x05 ,
modeCW_R = 0x07 ,
modeRTTY_R = 0x08 ,
modePSK = 0x12 ,
modePSK_R = 0x13 ,
modeLSB_D = 0x80 ,
modeUSB_D = 0x81 ,
modeDV = 0x17 ,
modeDD = 0x27 ,
modeWFM ,
modeS_AMD ,
modeS_AML ,
modeS_AMU ,
modeP25 ,
modedPMR ,
modeNXDN_VN ,
modeNXDN_N ,
modeDCR
} ;
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 ;
} ;
enum duplexMode {
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 {
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)"
} ;
struct rptrAccessData_t {
rptAccessTxRx accessMode = ratrNN ;
bool useSecondaryVFO = false ;
} ;
2023-01-25 08:15:20 +00:00
struct mode_info {
mode_kind mk ;
unsigned char reg ;
unsigned char filter ;
selVFO_t VFO = activeVFO ;
QString name ;
} ;
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 {
cmdNone , cmdGetRigID , cmdGetRigCIV , cmdGetFreq , cmdSetFreq , cmdGetMode , cmdSetMode ,
cmdGetDataMode , cmdSetModeFilter , cmdSetDataModeOn , cmdSetDataModeOff , cmdGetRitEnabled , cmdGetRitValue ,
cmdSpecOn , cmdSpecOff , cmdDispEnable , cmdDispDisable , cmdGetRxGain , cmdSetRxRfGain , cmdGetAfGain , cmdSetAfGain ,
cmdGetSql , cmdSetSql , cmdGetIFShift , cmdSetIFShift , cmdGetTPBFInner , cmdSetTPBFInner ,
2023-01-27 20:44:23 +00:00
cmdGetTPBFOuter , cmdSetTPBFOuter , cmdGetPassband , cmdSetPassband ,
2023-01-24 18:37:26 +00:00
cmdGetCwPitch , cmdGetPskTone , cmdGetRttyMark , cmdSetCwPitch , cmdSetPskTone , cmdSetRttyMark ,
2023-01-27 20:44:23 +00:00
cmdSetATU , cmdStartATU , cmdGetATUStatus ,
cmdGetSpectrumMode , cmdGetSpectrumSpan , cmdScopeCenterMode , cmdScopeFixedMode ,
cmdGetPTT , cmdSetPTT , cmdPTTToggle ,
2023-01-24 18:37:26 +00:00
cmdGetTxPower , cmdSetTxPower , cmdGetMicGain , cmdSetMicGain , cmdSetModLevel ,
cmdGetSpectrumRefLevel , cmdGetDuplexMode , cmdGetModInput , cmdGetModDataInput ,
cmdGetCurrentModLevel , cmdStartRegularPolling , cmdStopRegularPolling , cmdQueNormalSpeed ,
cmdGetVdMeter , cmdGetIdMeter , cmdGetSMeter , cmdGetCenterMeter , cmdGetPowerMeter ,
cmdGetSWRMeter , cmdGetALCMeter , cmdGetCompMeter , cmdGetTxRxMeter ,
2023-01-28 05:42:57 +00:00
cmdGetTone , cmdGetTSQL , cmdGetDTCS , cmdGetRptAccessMode , cmdSetTone , cmdSetTSQL , cmdSetRptAccessMode , cmdSetRptDuplexOffset , cmdGetRptDuplexOffset ,
2023-01-27 22:05:50 +00:00
cmdSelVFO , cmdVFOSwap , cmdVFOEqualAB , cmdVFOEqualMS ,
2023-01-27 20:44:23 +00:00
cmdGetPreamp , cmdGetAttenuator , cmdGetAntenna ,
2023-01-24 18:37:26 +00:00
cmdGetBandStackReg , cmdGetKeySpeed , cmdSetKeySpeed , cmdGetBreakMode , cmdSetBreakMode , cmdSendCW , cmdStopCW ,
2023-01-29 19:26:21 +00:00
cmdSetTime , cmdSetDate , cmdSetUTCOffset ,
2023-01-30 00:31:33 +00:00
cmdSetBandUp , cmdSetBandDown , cmdSetModeUp , cmdSetModeDown , cmdSetStepUp , cmdSetStepDown , cmdSetSpanUp , cmdSetSpanDown // Only used for USB Controller at the moment.
2023-01-24 18:37:26 +00:00
} ;
struct commandtype {
cmds cmd ;
std : : shared_ptr < void > data ;
} ;
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 ;
} ;
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
# endif // WFVIEWTYPES_H