#ifdef BUILD_WFSERVER #include "servermain.h" #else #ifndef WFMAIN_H #define WFMAIN_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "logcategories.h" #include "wfviewtypes.h" #include "prefs.h" #include "commhandler.h" #include "rigcommander.h" #include "rigstate.h" #include "freqmemory.h" #include "rigidentities.h" #include "repeaterattributes.h" #include "packettypes.h" #include "calibrationwindow.h" #include "repeatersetup.h" #include "satellitesetup.h" #include "transceiveradjustments.h" #include "cwsender.h" #include "udpserver.h" #include "qledlabel.h" #include "rigctld.h" #include "aboutbox.h" #include "selectradio.h" #include "colorprefs.h" #include "loggingwindow.h" #include "cluster.h" #include "audiodevices.h" #include "sidebandchooser.h" #include #include #include "usbcontroller.h" #include "controllersetup.h" #include #include #include #ifndef Q_OS_LINUX #include "RtAudio.h" #else #include "rtaudio/RtAudio.h" #endif #ifdef USB_CONTROLLER #ifdef Q_OS_WIN #include #include #define USB_HOTPLUG #elif defined(Q_OS_LINUX) #include #include #define USB_HOTPLUG #endif #endif #define numColorPresetsTotal (5) namespace Ui { class wfmain; } class wfmain : public QMainWindow { Q_OBJECT public: explicit wfmain(const QString settingsFile, const QString logFile, bool debugMode, QWidget *parent = 0); ~wfmain(); static void messageHandler(QtMsgType type, const QMessageLogContext& context, const QString& msg); void handleLogText(QString text); #ifdef USB_HOTPLUG #if defined(Q_OS_WIN) protected: virtual bool nativeEvent(const QByteArray& eventType, void* message, qintptr* result); #elif defined(Q_OS_LINUX) private slots: void uDevEvent(); #endif #endif signals: // Signal levels received to other parts of wfview void sendLevel(cmds cmd, unsigned char level); void usbHotplug(); // Basic to rig: void setCIVAddr(unsigned char newRigCIVAddr); void setRigID(unsigned char rigID); void setRTSforPTT(bool enabled); void sendPowerOn(); void sendPowerOff(); // Frequency, mode, band: void getFrequency(); void getFrequency(unsigned char); void setFrequency(unsigned char vfo, freqt freq); void getMode(); void setMode(unsigned char modeIndex, unsigned char modeFilter); void setMode(mode_info); void selectVFO(vfo_t vfo); void sendVFOSwap(); void sendVFOEqualAB(); void sendVFOEqualMS(); void setDataMode(bool dataOn, unsigned char filter); void getDataMode(); void getModInput(bool dataOn); void setModInput(rigInput input, bool dataOn); void getBandStackReg(char band, char regCode); void getDebug(); void getRitEnabled(); void getRitValue(); void setRitValue(int ritValue); void setRitEnable(bool ritEnabled); // Repeater: void getDuplexMode(); void setQuickSplit(bool qsOn); void getTone(); void getTSQL(); void getDTCS(); void getRptAccessMode(); void setRepeaterAccessMode(rptrAccessData_t rd); void setTone(rptrTone_t t); void setTSQL(rptrTone_t t); void getToneEnabled(); void getTSQLEnabled(); void setToneEnabled(bool enabled); void setTSQLEnabled(bool enabled); void setRptDuplexOffset(freqt f); void getRptDuplexOffset(); // Level get: void getLevels(); // get all levels void getRfGain(); void getAfGain(); void getSql(); void getIfShift(); void getTPBFInner(); void getTPBFOuter(); void getTxPower(); void getMicGain(); void getSpectrumRefLevel(); void getModInputLevel(rigInput input); void getMeters(meterKind meter); void getPassband(); void getVoxGain(); void getAntiVoxGain(); void getMonitorGain(); void getNBLevel(); void getNRLevel(); void getCompLevel(); void getCwPitch(); void getVox(); void getMonitor(); void getCompressor(); void getNB(); void getNR(); void getDashRatio(); void getPskTone(); void getRttyMark(); // Level set: void setRfGain(unsigned char level); void setAfGain(unsigned char level); void setSql(unsigned char level); void setIFShift(unsigned char level); void setTPBFInner(unsigned char level); void setTPBFOuter(unsigned char level); void setIFShiftWindow(unsigned char level); void setTPBFInnerWindow(unsigned char level); void setTPBFOuterWindow(unsigned char level); void setMicGain(unsigned char); void setCompLevel(unsigned char); void setTxPower(unsigned char); void setMonitorGain(unsigned char); void setVoxGain(unsigned char); void setAntiVoxGain(unsigned char); void setNBLevel(unsigned char level); void setNRLevel(unsigned char level); void setVox(bool en); void setMonitor(bool en); void setCompressor(bool en); void setNB(bool en); void setNR(bool en); void setSpectrumRefLevel(int); void setModLevel(rigInput input, unsigned char level); void setACCGain(unsigned char level); void setACCAGain(unsigned char level); void setACCBGain(unsigned char level); void setUSBGain(unsigned char level); void setLANGain(unsigned char level); void setPassband(quint16 pass); // PTT, ATU, ATT, Antenna, Preamp: void getPTT(); void setPTT(bool pttOn); void getAttenuator(); void getPreamp(); void getAntenna(); void setAttenuator(unsigned char att); void setPreamp(unsigned char pre); void setAntenna(unsigned char ant, bool rx); void startATU(); void setATU(bool atuEnabled); void getATUStatus(); // CW Keying: void sendCW(QString message); void stopCW(); void getKeySpeed(); void setKeySpeed(unsigned char wpm); void setCwPitch(unsigned char pitch); void setDashRatio(unsigned char ratio); void setCWBreakMode(unsigned char breakMode); void getCWBreakMode(); // Time and date: void setTime(timekind t); void setDate(datekind d); void setUTCOffset(timekind t); void getRigID(); // this is the model of the rig void getRigCIV(); // get the rig's CIV addr void spectOutputEnable(); void spectOutputDisable(); void scopeDisplayEnable(); void scopeDisplayDisable(); void setScopeMode(spectrumMode spectMode); void setScopeSpan(char span); void setScopeEdge(char edge); void setScopeFixedEdge(double startFreq, double endFreq, unsigned char edgeNumber); void getScopeMode(); void getScopeEdge(); void getScopeSpan(); void sayFrequency(); void sayMode(); void sayAll(); void sendCommSetup(unsigned char rigCivAddr, QString rigSerialPort, quint32 rigBaudRate,QString vsp, quint16 tcp, quint8 wf); void sendCommSetup(unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp, quint16 tcp); void sendCloseComm(); void sendChangeLatency(quint16 latency); void initServer(); void sendRigCaps(rigCapabilities caps); void openShuttle(); void requestRigState(); void stateUpdated(); void initUsbController(QMutex* mutex,usbDevMap* devs ,QVector