1 #ifndef RIGCONTROL_H 2 #define RIGCONTROL_H 3 4 #include <hamlib/rig.h> 5 #include "xmlinterface.h" 6 7 #include <QObject> 8 #include <QComboBox> 9 10 extern "C" int write_block(hamlib_port_t *p, const char *txbuffer, size_t count); 11 extern "C" int read_block(hamlib_port_t *p, char *rxbuffer, size_t count); 12 13 #define RIGCMDTRIES 4 14 15 16 17 bool model_Sort(const rig_caps *caps1,const rig_caps *caps2); 18 19 struct scatParams 20 { 21 QString configLabel; 22 QString serialPort; /**< serial port device*/ 23 QString radioModel; 24 int radioModelNumber; 25 QString civAddress; 26 int baudrate; /**< serial port baudrate*/ 27 QString parity; 28 int stopbits; 29 int databits; 30 QString handshake; 31 bool enableCAT; 32 bool enableSerialPTT; 33 QString pttSerialPort; 34 bool activeRTS; 35 bool activeDTR; 36 bool nactiveRTS; 37 bool nactiveDTR; 38 ptt_type_t pttType; 39 bool enableXMLRPC; 40 int XMLRPCPort; 41 double txOnDelay; 42 43 }; 44 45 class rigControl: public QObject 46 { 47 Q_OBJECT 48 public: 49 rigControl(int radioIndex); 50 ~rigControl(); 51 bool init(); enabled()52 bool enabled() {return rigControlEnabled;} 53 bool getFrequency(double &frequency); 54 bool setFrequency(double frequency); 55 bool getMode(QString &mode); 56 bool setMode(QString mode, QString passBand); 57 int getModelNumber(int idx); 58 int getRadioModelIndex(); 59 bool getRadioList(QComboBox *cb); 60 void disable(); params()61 scatParams* params() {return &catParams;} 62 void activatePTT(bool b); getTxDelay()63 double getTxDelay() {return catParams.txOnDelay;} 64 int rawCommand(QByteArray ba); 65 QString initError; 66 67 private: 68 69 RIG *my_rig; // handle to rig (nstance) 70 freq_t freq; // frequency 71 rmode_t rmode; // radio mode of operation 72 pbwidth_t width; 73 vfo_t vfo; // vfo selection 74 int strength; // S-Meter level 75 int retcode; // generic return code from functions 76 rig_model_t myrig_model; 77 bool rigControlEnabled; 78 void errorMessage(int errorCode,QString command); 79 void getRadioList(); 80 scatParams catParams; 81 int serialP; 82 bool setPTT(bool On); 83 double lastFrequency; 84 QStringList xmlModes; 85 bool canSetFreq; 86 bool canGetFreq; 87 bool canSetMode; 88 bool canGetMode; 89 bool canSetPTT; 90 bool canGetPTT; 91 92 93 94 }; 95 96 97 #endif 98