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