* 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 false
pull/2/head
David Freese 2009-03-27 16:16:23 -05:00
rodzic a04d475027
commit aa40d40b8e
4 zmienionych plików z 135 dodań i 2 usunięć

Wyświetl plik

@ -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

Wyświetl plik

@ -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();

Wyświetl plik

@ -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)
{

Wyświetl plik

@ -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();
}
}