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_qsy(long long f, long long fmid);
|
||||
|
||||
extern void rigCAT_defaults();
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -71,6 +71,12 @@ struct XMLRIG {
|
|||
bool rts;
|
||||
bool rtsptt;
|
||||
bool rtscts;
|
||||
int write_delay;
|
||||
int post_write_delay;
|
||||
int timeout;
|
||||
int retries;
|
||||
bool echo;
|
||||
bool cmdptt;
|
||||
void clear() {
|
||||
port = "";
|
||||
baud = 1200;
|
||||
|
@ -79,6 +85,12 @@ struct XMLRIG {
|
|||
rts = false;
|
||||
rtsptt = 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> lbwREPLY;
|
||||
extern std::list<std::string> LSBmodes;
|
||||
extern XMLRIG rig;
|
||||
extern XMLRIG xmlrig;
|
||||
|
||||
extern bool readRigXML();
|
||||
extern void selectRigXmlFilename();
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include "debug.h"
|
||||
#include "threads.h"
|
||||
#include "qrunner.h"
|
||||
#include "confdialog.h"
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
|
|
|
@ -43,6 +43,15 @@ void parseLSBMODES(size_t &);
|
|||
void parseCOMMENTS(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 parseIOSsize(size_t &);
|
||||
void parseIOSbytes(size_t &);
|
||||
|
@ -76,7 +85,7 @@ list<MODE> lmodeCMD;
|
|||
list<MODE> lmodeREPLY;
|
||||
list<string> LSBmodes;
|
||||
|
||||
XMLRIG rig;
|
||||
XMLRIG xmlrig;
|
||||
|
||||
XMLIOS iosTemp;
|
||||
|
||||
|
@ -98,6 +107,14 @@ TAGS rigdeftags[] = {
|
|||
{"<!--", parseCOMMENTS},
|
||||
{"<PROGRAMMER", 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}
|
||||
};
|
||||
|
||||
|
@ -454,6 +471,68 @@ void parseRIG(size_t &p0)
|
|||
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
|
||||
//---------------------------------------------------------------------
|
||||
|
@ -722,5 +801,7 @@ void selectRigXmlFilename()
|
|||
if (p) {
|
||||
progdefaults.XmlRigFilename = p;
|
||||
txtXmlRigFilename->value(fl_filename_name(p));
|
||||
readRigXML();
|
||||
rigCAT_defaults();
|
||||
}
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue