From aa40d40b8e756d45c6acebc5917986bf8784e94a Mon Sep 17 00:00:00 2001 From: David Freese Date: Fri, 27 Mar 2009 16:16:23 -0500 Subject: [PATCH] RigCAT mod * Added default xml values. Only used to preset configuration values if present in .xml file: - bbb bbb = true or false - ttt ttt = time in msec - n n = number - ddd ddd = delay in msec - ddd ddd = delay in msec - rrr rrr = 300, 600, 1200 ... - bbb bbb = true or false - bbb bbb = true or false - bbb bbb = true or false --- src/include/rigio.h | 2 + src/include/rigxml.h | 14 ++++++- src/rigcontrol/rigio.cxx | 38 ++++++++++++++++++ src/rigcontrol/rigxml.cxx | 83 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 135 insertions(+), 2 deletions(-) diff --git a/src/include/rigio.h b/src/include/rigio.h index 716ebb00..ef9e0ed6 100644 --- a/src/include/rigio.h +++ b/src/include/rigio.h @@ -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 diff --git a/src/include/rigxml.h b/src/include/rigxml.h index a2551ea3..05026a2d 100644 --- a/src/include/rigxml.h +++ b/src/include/rigxml.h @@ -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 lbws; extern std::list lbwCMD; extern std::list lbwREPLY; extern std::list LSBmodes; -extern XMLRIG rig; +extern XMLRIG xmlrig; extern bool readRigXML(); extern void selectRigXmlFilename(); diff --git a/src/rigcontrol/rigio.cxx b/src/rigcontrol/rigio.cxx index be12fe2d..c4aa689b 100644 --- a/src/rigcontrol/rigio.cxx +++ b/src/rigcontrol/rigio.cxx @@ -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) { diff --git a/src/rigcontrol/rigxml.cxx b/src/rigcontrol/rigxml.cxx index eee28848..07c8af64 100644 --- a/src/rigcontrol/rigxml.cxx +++ b/src/rigcontrol/rigxml.cxx @@ -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 lmodeCMD; list lmodeREPLY; list LSBmodes; -XMLRIG rig; +XMLRIG xmlrig; XMLIOS iosTemp; @@ -98,6 +107,14 @@ TAGS rigdeftags[] = { {"