kopia lustrzana https://github.com/jamescoxon/dl-fldigi
RigCAT mod
* Added default xml values. Only used to preset configuration values if present in <rig>.xml file: - <ECHO>bbb</ECHO> bbb = true or false - <TIMEOUT>ttt</TIMEOUT> ttt = time in msec - <RETRIES>n</RETRIES> n = number - <WRITE_DELAY>ddd</WRITE_DELAY> ddd = delay in msec - <POST_WRITE_DELAY>ddd</POST_WRITE_DELAY> ddd = delay in msec - <BAUDRATE>rrr</BAUDRATE> rrr = 300, 600, 1200 ... - <RTSCTS>bbb</RTSCTS> bbb = true or false - <ECHO>bbb</ECHO> bbb = true or false - <CMDPTT>bbb</CMDPTT> bbb = true or falsepull/2/head
rodzic
a04d475027
commit
aa40d40b8e
|
@ -24,5 +24,7 @@ extern bool rigCAT_init(bool);
|
||||||
extern void rigCAT_set_ptt(int);
|
extern void rigCAT_set_ptt(int);
|
||||||
extern void rigCAT_set_qsy(long long f, long long fmid);
|
extern void rigCAT_set_qsy(long long f, long long fmid);
|
||||||
|
|
||||||
|
extern void rigCAT_defaults();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,12 @@ struct XMLRIG {
|
||||||
bool rts;
|
bool rts;
|
||||||
bool rtsptt;
|
bool rtsptt;
|
||||||
bool rtscts;
|
bool rtscts;
|
||||||
|
int write_delay;
|
||||||
|
int post_write_delay;
|
||||||
|
int timeout;
|
||||||
|
int retries;
|
||||||
|
bool echo;
|
||||||
|
bool cmdptt;
|
||||||
void clear() {
|
void clear() {
|
||||||
port = "";
|
port = "";
|
||||||
baud = 1200;
|
baud = 1200;
|
||||||
|
@ -79,6 +85,12 @@ struct XMLRIG {
|
||||||
rts = false;
|
rts = false;
|
||||||
rtsptt = false;
|
rtsptt = false;
|
||||||
rtscts = false;
|
rtscts = false;
|
||||||
|
echo = false;
|
||||||
|
cmdptt = false;
|
||||||
|
write_delay = 0;
|
||||||
|
post_write_delay = 50;
|
||||||
|
timeout = 200;
|
||||||
|
retries = 5;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -91,7 +103,7 @@ extern std::list<BW> lbws;
|
||||||
extern std::list<BW> lbwCMD;
|
extern std::list<BW> lbwCMD;
|
||||||
extern std::list<BW> lbwREPLY;
|
extern std::list<BW> lbwREPLY;
|
||||||
extern std::list<std::string> LSBmodes;
|
extern std::list<std::string> LSBmodes;
|
||||||
extern XMLRIG rig;
|
extern XMLRIG xmlrig;
|
||||||
|
|
||||||
extern bool readRigXML();
|
extern bool readRigXML();
|
||||||
extern void selectRigXmlFilename();
|
extern void selectRigXmlFilename();
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "threads.h"
|
#include "threads.h"
|
||||||
#include "qrunner.h"
|
#include "qrunner.h"
|
||||||
|
#include "confdialog.h"
|
||||||
|
|
||||||
LOG_SET_SOURCE(debug::LOG_RIGCONTROL);
|
LOG_SET_SOURCE(debug::LOG_RIGCONTROL);
|
||||||
|
|
||||||
|
@ -917,6 +918,43 @@ void rigCAT_sendINIT()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rigCAT_defaults()
|
||||||
|
{
|
||||||
|
progdefaults.XmlRigBaudrate = xmlrig.baud;
|
||||||
|
mnuXmlRigBaudrate->value(xmlrig.baud);
|
||||||
|
|
||||||
|
progdefaults.RigCatRTSplus = xmlrig.rts;
|
||||||
|
btnRigCatRTSplus->value(xmlrig.rts);
|
||||||
|
|
||||||
|
progdefaults.RigCatDTRplus = xmlrig.dtr;
|
||||||
|
btnRigCatDTRplus->value(xmlrig.dtr);
|
||||||
|
|
||||||
|
progdefaults.RigCatRTSptt = xmlrig.rtsptt;
|
||||||
|
btnRigCatRTSptt->value(xmlrig.rtsptt);
|
||||||
|
|
||||||
|
progdefaults.RigCatDTRptt = xmlrig.dtrptt;
|
||||||
|
btnRigCatDTRptt->value(xmlrig.dtrptt);
|
||||||
|
|
||||||
|
progdefaults.RigCatRTSCTSflow = xmlrig.rtscts;
|
||||||
|
chkRigCatRTSCTSflow->value(xmlrig.rtscts);
|
||||||
|
|
||||||
|
progdefaults.RigCatRetries = xmlrig.retries;
|
||||||
|
cntRigCatRetries->value(xmlrig.retries);
|
||||||
|
|
||||||
|
progdefaults.RigCatTimeout = xmlrig.timeout;
|
||||||
|
cntRigCatTimeout->value(xmlrig.timeout);
|
||||||
|
|
||||||
|
progdefaults.RigCatWait = xmlrig.write_delay;
|
||||||
|
cntRigCatWait->value(xmlrig.write_delay);
|
||||||
|
|
||||||
|
progdefaults.RigCatECHO = xmlrig.echo;
|
||||||
|
btnRigCatEcho->value(xmlrig.echo);
|
||||||
|
|
||||||
|
progdefaults.RigCatCMDptt = xmlrig.cmdptt;
|
||||||
|
btnRigCatCMDptt->value(xmlrig.cmdptt);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
bool rigCAT_init(bool useXML)
|
bool rigCAT_init(bool useXML)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,15 @@ void parseLSBMODES(size_t &);
|
||||||
void parseCOMMENTS(size_t &);
|
void parseCOMMENTS(size_t &);
|
||||||
void parseDISCARD(size_t &);
|
void parseDISCARD(size_t &);
|
||||||
|
|
||||||
|
void parseWRITE_DELAY(size_t &);
|
||||||
|
void parsePOST_WRITE_DELAY(size_t &);
|
||||||
|
void parseRETRIES(size_t &);
|
||||||
|
void parseTIMEOUT(size_t &);
|
||||||
|
void parseBAUDRATE(size_t &);
|
||||||
|
void parseRTSCTS(size_t &);
|
||||||
|
void parseCMDPTT(size_t &);
|
||||||
|
void parseECHO(size_t &);
|
||||||
|
|
||||||
void parseIOSsymbol(size_t &);
|
void parseIOSsymbol(size_t &);
|
||||||
void parseIOSsize(size_t &);
|
void parseIOSsize(size_t &);
|
||||||
void parseIOSbytes(size_t &);
|
void parseIOSbytes(size_t &);
|
||||||
|
@ -76,7 +85,7 @@ list<MODE> lmodeCMD;
|
||||||
list<MODE> lmodeREPLY;
|
list<MODE> lmodeREPLY;
|
||||||
list<string> LSBmodes;
|
list<string> LSBmodes;
|
||||||
|
|
||||||
XMLRIG rig;
|
XMLRIG xmlrig;
|
||||||
|
|
||||||
XMLIOS iosTemp;
|
XMLIOS iosTemp;
|
||||||
|
|
||||||
|
@ -98,6 +107,14 @@ TAGS rigdeftags[] = {
|
||||||
{"<!--", parseCOMMENTS},
|
{"<!--", parseCOMMENTS},
|
||||||
{"<PROGRAMMER", parseDISCARD},
|
{"<PROGRAMMER", parseDISCARD},
|
||||||
{"<STATUS", parseDISCARD},
|
{"<STATUS", parseDISCARD},
|
||||||
|
{"<WRITE_DELAY", parseWRITE_DELAY},
|
||||||
|
{"<POST_WRITE_DELAY", parsePOST_WRITE_DELAY},
|
||||||
|
{"<RETRIES", parseRETRIES},
|
||||||
|
{"<TIMEOUT", parseTIMEOUT},
|
||||||
|
{"<BAUDRATE", parseBAUDRATE},
|
||||||
|
{"<RTSCTS", parseRTSCTS},
|
||||||
|
{"<ECHO", parseECHO},
|
||||||
|
{"<CMDPTT", parseCMDPTT},
|
||||||
{0, 0}
|
{0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -454,6 +471,68 @@ void parseRIG(size_t &p0)
|
||||||
p0 = pend;
|
p0 = pend;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
// Parse Baudrate, write_delay, post_write_delay, timeout, retries
|
||||||
|
// RTSCTS handshake
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
void parseBAUDRATE(size_t &p0)
|
||||||
|
{
|
||||||
|
string sVal = getElement(p0);
|
||||||
|
xmlrig.baud = progdefaults.nBaudRate(sVal.c_str());
|
||||||
|
size_t pend = tagEnd(p0);
|
||||||
|
p0 = pend;
|
||||||
|
}
|
||||||
|
|
||||||
|
void parseWRITE_DELAY(size_t &p0){
|
||||||
|
int val = getInt(p0);
|
||||||
|
xmlrig.write_delay = val;
|
||||||
|
size_t pend = tagEnd(p0);
|
||||||
|
p0 = pend;
|
||||||
|
}
|
||||||
|
|
||||||
|
void parsePOST_WRITE_DELAY(size_t &p0){
|
||||||
|
int val = getInt(p0);
|
||||||
|
xmlrig.post_write_delay = val;
|
||||||
|
size_t pend = tagEnd(p0);
|
||||||
|
p0 = pend;
|
||||||
|
}
|
||||||
|
|
||||||
|
void parseRETRIES(size_t &p0){
|
||||||
|
int val = getInt(p0);
|
||||||
|
xmlrig.retries = val;
|
||||||
|
size_t pend = tagEnd(p0);
|
||||||
|
p0 = pend;
|
||||||
|
}
|
||||||
|
|
||||||
|
void parseTIMEOUT(size_t &p0){
|
||||||
|
int val = getInt(p0);
|
||||||
|
xmlrig.timeout = val;
|
||||||
|
size_t pend = tagEnd(p0);
|
||||||
|
p0 = pend;
|
||||||
|
}
|
||||||
|
|
||||||
|
void parseRTSCTS(size_t &p0){
|
||||||
|
bool val = getBool(p0);
|
||||||
|
xmlrig.rtscts = val;
|
||||||
|
size_t pend = tagEnd(p0);
|
||||||
|
p0 = pend;
|
||||||
|
}
|
||||||
|
|
||||||
|
void parseCMDPTT(size_t &p0) {
|
||||||
|
bool val = getBool(p0);
|
||||||
|
xmlrig.cmdptt = val;
|
||||||
|
size_t pend = tagEnd(p0);
|
||||||
|
p0 = pend;
|
||||||
|
}
|
||||||
|
|
||||||
|
void parseECHO(size_t &p0) {
|
||||||
|
bool val = getBool(p0);
|
||||||
|
xmlrig.echo = val;
|
||||||
|
size_t pend = tagEnd(p0);
|
||||||
|
p0 = pend;
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------
|
//---------------------------------------------------------------------
|
||||||
// Parse IOS (serial stream format) definitions
|
// Parse IOS (serial stream format) definitions
|
||||||
//---------------------------------------------------------------------
|
//---------------------------------------------------------------------
|
||||||
|
@ -722,5 +801,7 @@ void selectRigXmlFilename()
|
||||||
if (p) {
|
if (p) {
|
||||||
progdefaults.XmlRigFilename = p;
|
progdefaults.XmlRigFilename = p;
|
||||||
txtXmlRigFilename->value(fl_filename_name(p));
|
txtXmlRigFilename->value(fl_filename_name(p));
|
||||||
|
readRigXML();
|
||||||
|
rigCAT_defaults();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue