kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Hamlib mod
* Default values for the following variables are read from
the hamlib backend when a new rig is selected
baudrate, retries, timeout, write_delay, post_write_delay
The respective configuration controls are updated accordingly.
User may over ride the default settings.
pull/2/head
rodzic
b89df53afa
commit
a04d475027
|
|
@ -16,6 +16,7 @@
|
|||
#include "Viewer.h"
|
||||
#include "pskrep.h"
|
||||
#include "logsupport.h"
|
||||
#include "hamlib.h"
|
||||
Fl_Double_Window *dlgConfig;
|
||||
|
||||
void set_qrz_buttons(Fl_Button* b) {
|
||||
|
|
@ -1360,7 +1361,7 @@ Fl_ComboBox *cboHamlibRig=(Fl_ComboBox *)0;
|
|||
static void cb_cboHamlibRig(Fl_ComboBox*, void*) {
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
hamlib_get_defaults();
|
||||
}
|
||||
|
||||
Fl_Input_Choice *inpRIGdev=(Fl_Input_Choice *)0;
|
||||
|
|
@ -1369,7 +1370,6 @@ static void cb_inpRIGdev(Fl_Input_Choice* o, void*) {
|
|||
progdefaults.HamRigDevice = o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Choice *mnuBaudRate=(Fl_Choice *)0;
|
||||
|
|
@ -1378,16 +1378,14 @@ static void cb_mnuBaudRate(Fl_Choice* o, void*) {
|
|||
progdefaults.HamRigBaudrate = o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Counter *cntHamlibtRetries=(Fl_Counter *)0;
|
||||
Fl_Counter *cntHamlibRetries=(Fl_Counter *)0;
|
||||
|
||||
static void cb_cntHamlibtRetries(Fl_Counter* o, void*) {
|
||||
static void cb_cntHamlibRetries(Fl_Counter* o, void*) {
|
||||
progdefaults.HamlibRetries = (int)o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Counter *cntHamlibTimeout=(Fl_Counter *)0;
|
||||
|
|
@ -1396,7 +1394,6 @@ static void cb_cntHamlibTimeout(Fl_Counter* o, void*) {
|
|||
progdefaults.HamlibTimeout = (int)o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Counter *cntHamlibWait=(Fl_Counter *)0;
|
||||
|
|
@ -1405,7 +1402,6 @@ static void cb_cntHamlibWait(Fl_Counter* o, void*) {
|
|||
progdefaults.HamlibWait = (int)o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Input2 *inpHamlibConfig=(Fl_Input2 *)0;
|
||||
|
|
@ -1414,7 +1410,6 @@ static void cb_inpHamlibConfig(Fl_Input2* o, void*) {
|
|||
progdefaults.HamConfig = o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Button *btnInitHAMLIB=(Fl_Button *)0;
|
||||
|
|
@ -1439,7 +1434,6 @@ static void cb_btnHamlibCMDptt(Fl_Round_Button* o, void*) {
|
|||
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnHamlibDTRplus=(Fl_Check_Button *)0;
|
||||
|
|
@ -1448,7 +1442,6 @@ static void cb_btnHamlibDTRplus(Fl_Check_Button* o, void*) {
|
|||
progdefaults.HamlibDTRplus = o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkHamlibRTSplus=(Fl_Check_Button *)0;
|
||||
|
|
@ -1460,7 +1453,6 @@ chkHamlibRTSCTSflow->value(0);
|
|||
}
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkHamlibRTSCTSflow=(Fl_Check_Button *)0;
|
||||
|
|
@ -1474,7 +1466,6 @@ if (o->value() == 1) {
|
|||
}
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkHamlibXONXOFFflow=(Fl_Check_Button *)0;
|
||||
|
|
@ -1487,7 +1478,6 @@ if (o->value() == 1) {
|
|||
}
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Counter *cntHamlibWriteDelay=(Fl_Counter *)0;
|
||||
|
|
@ -1496,7 +1486,6 @@ static void cb_cntHamlibWriteDelay(Fl_Counter* o, void*) {
|
|||
progdefaults.HamlibWriteDelay = (int)o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Group *grpMemmap=(Fl_Group *)0;
|
||||
|
|
@ -2078,6 +2067,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
{ tabOperator = new Fl_Group(0, 25, 500, 345, _("Operator"));
|
||||
tabOperator->callback((Fl_Callback*)cb_tabOperator);
|
||||
tabOperator->when(FL_WHEN_CHANGED);
|
||||
tabOperator->hide();
|
||||
{ Fl_Group* o = new Fl_Group(5, 35, 490, 165, _("Station"));
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
|
|
@ -3429,10 +3419,10 @@ an merging"));
|
|||
tabModems->end();
|
||||
} // Fl_Group* tabModems
|
||||
{ tabRig = new Fl_Group(0, 25, 500, 345, _("Rig"));
|
||||
tabRig->hide();
|
||||
{ tabsRig = new Fl_Tabs(0, 25, 500, 345);
|
||||
tabsRig->selection_color(FL_LIGHT1);
|
||||
{ Fl_Group* o = new Fl_Group(0, 50, 500, 320, _("Hardware PTT"));
|
||||
o->hide();
|
||||
{ grpHWPTT = new Fl_Group(5, 100, 490, 190);
|
||||
grpHWPTT->box(FL_ENGRAVED_FRAME);
|
||||
{ inpTTYdev = new Fl_Input_Choice(200, 143, 150, 22, _("Device:"));
|
||||
|
|
@ -3614,7 +3604,6 @@ an merging"));
|
|||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ tabHamlib = new Fl_Group(0, 50, 500, 320, _("Hamlib"));
|
||||
tabHamlib->hide();
|
||||
{ chkUSEHAMLIB = new Fl_Check_Button(195, 60, 100, 20, _("Use Hamlib"));
|
||||
chkUSEHAMLIB->tooltip(_("Hamlib used for rig control"));
|
||||
chkUSEHAMLIB->down_box(FL_DOWN_BOX);
|
||||
|
|
@ -3649,29 +3638,29 @@ an merging"));
|
|||
o->add(szBaudRates);
|
||||
o->value(progdefaults.HamRigBaudrate);
|
||||
} // Fl_Choice* mnuBaudRate
|
||||
{ Fl_Counter* o = cntHamlibtRetries = new Fl_Counter(15, 140, 75, 20, _("Retries"));
|
||||
cntHamlibtRetries->tooltip(_("Number of times to resend\ncommand before giving up"));
|
||||
cntHamlibtRetries->type(1);
|
||||
cntHamlibtRetries->minimum(1);
|
||||
cntHamlibtRetries->maximum(10);
|
||||
cntHamlibtRetries->step(1);
|
||||
cntHamlibtRetries->value(5);
|
||||
cntHamlibtRetries->callback((Fl_Callback*)cb_cntHamlibtRetries);
|
||||
cntHamlibtRetries->align(FL_ALIGN_TOP_LEFT);
|
||||
{ Fl_Counter* o = cntHamlibRetries = new Fl_Counter(15, 140, 100, 20, _("Retries"));
|
||||
cntHamlibRetries->tooltip(_("Number of times to resend\ncommand before giving up"));
|
||||
cntHamlibRetries->type(1);
|
||||
cntHamlibRetries->minimum(1);
|
||||
cntHamlibRetries->maximum(10);
|
||||
cntHamlibRetries->step(1);
|
||||
cntHamlibRetries->value(5);
|
||||
cntHamlibRetries->callback((Fl_Callback*)cb_cntHamlibRetries);
|
||||
cntHamlibRetries->align(FL_ALIGN_TOP_LEFT);
|
||||
o->value(progdefaults.HamlibRetries);
|
||||
} // Fl_Counter* cntHamlibtRetries
|
||||
{ Fl_Counter* o = cntHamlibTimeout = new Fl_Counter(150, 140, 75, 20, _("Retry interval (ms)"));
|
||||
} // Fl_Counter* cntHamlibRetries
|
||||
{ Fl_Counter* o = cntHamlibTimeout = new Fl_Counter(150, 140, 100, 20, _("Retry interval (ms)"));
|
||||
cntHamlibTimeout->tooltip(_("Msec\'s between retries"));
|
||||
cntHamlibTimeout->type(1);
|
||||
cntHamlibTimeout->minimum(2);
|
||||
cntHamlibTimeout->maximum(200);
|
||||
cntHamlibTimeout->maximum(20000);
|
||||
cntHamlibTimeout->step(1);
|
||||
cntHamlibTimeout->value(10);
|
||||
cntHamlibTimeout->callback((Fl_Callback*)cb_cntHamlibTimeout);
|
||||
cntHamlibTimeout->align(FL_ALIGN_TOP_LEFT);
|
||||
o->value(progdefaults.HamlibTimeout);
|
||||
} // Fl_Counter* cntHamlibTimeout
|
||||
{ Fl_Counter* o = cntHamlibWait = new Fl_Counter(150, 186, 75, 20, _("Post write delay (ms)"));
|
||||
{ Fl_Counter* o = cntHamlibWait = new Fl_Counter(150, 186, 100, 20, _("Post write delay (ms)"));
|
||||
cntHamlibWait->tooltip(_("Msec\'s between sequential commands"));
|
||||
cntHamlibWait->type(1);
|
||||
cntHamlibWait->minimum(0);
|
||||
|
|
@ -3737,7 +3726,7 @@ an merging"));
|
|||
chkHamlibXONXOFFflow->callback((Fl_Callback*)cb_chkHamlibXONXOFFflow);
|
||||
o->value(progdefaults.HamlibXONXOFFflow);
|
||||
} // Fl_Check_Button* chkHamlibXONXOFFflow
|
||||
{ Fl_Counter* o = cntHamlibWriteDelay = new Fl_Counter(15, 186, 75, 20, _("Write delay (ms)"));
|
||||
{ Fl_Counter* o = cntHamlibWriteDelay = new Fl_Counter(15, 186, 100, 20, _("Write delay (ms)"));
|
||||
cntHamlibWriteDelay->tooltip(_("Msec\'s between sequential commands"));
|
||||
cntHamlibWriteDelay->type(1);
|
||||
cntHamlibWriteDelay->minimum(0);
|
||||
|
|
|
|||
|
|
@ -49,6 +49,8 @@ decl {\#include "flinput2.h"} {public
|
|||
|
||||
decl {\#include "logsupport.h"} {}
|
||||
|
||||
decl {\#include "hamlib.h"} {}
|
||||
|
||||
decl {Fl_Double_Window *dlgConfig;} {public
|
||||
}
|
||||
|
||||
|
|
@ -81,8 +83,8 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
} {
|
||||
Fl_Group tabOperator {
|
||||
label Operator
|
||||
callback {progdefaults.changed = true;} open selected
|
||||
xywh {0 25 500 345} when 1
|
||||
callback {progdefaults.changed = true;} open
|
||||
xywh {0 25 500 345} when 1 hide
|
||||
} {
|
||||
Fl_Group {} {
|
||||
label Station open
|
||||
|
|
@ -1400,14 +1402,14 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabRig {
|
||||
label Rig open
|
||||
xywh {0 25 500 345} hide
|
||||
xywh {0 25 500 345}
|
||||
} {
|
||||
Fl_Tabs tabsRig {open
|
||||
xywh {0 25 500 345} selection_color 50
|
||||
} {
|
||||
Fl_Group {} {
|
||||
label {Hardware PTT} open
|
||||
xywh {0 50 500 320}
|
||||
xywh {0 50 500 320} hide
|
||||
} {
|
||||
Fl_Group grpHWPTT {open
|
||||
xywh {5 100 490 190} box ENGRAVED_FRAME
|
||||
|
|
@ -1673,7 +1675,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabHamlib {
|
||||
label Hamlib open
|
||||
xywh {0 50 500 320} hide
|
||||
xywh {0 50 500 320}
|
||||
} {
|
||||
Fl_Check_Button chkUSEHAMLIB {
|
||||
label {Use Hamlib}
|
||||
|
|
@ -1692,14 +1694,14 @@ btnInitHAMLIB->redraw();
|
|||
progdefaults.changed = true;}
|
||||
tooltip {Hamlib used for rig control} xywh {195 60 100 20} down_box DOWN_BOX
|
||||
}
|
||||
Fl_Group grpHamlib {open
|
||||
Fl_Group grpHamlib {open selected
|
||||
xywh {5 83 490 277} box ENGRAVED_FRAME
|
||||
} {
|
||||
Fl_Box cboHamlibRig {
|
||||
label {Rig:}
|
||||
callback {btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
hamlib_get_defaults();}
|
||||
tooltip {Select the rig by name} xywh {65 93 160 22} box DOWN_BOX color 7 align 4
|
||||
code0 {o->readonly();}
|
||||
class Fl_ComboBox
|
||||
|
|
@ -1708,8 +1710,7 @@ progdefaults.changed = true;}
|
|||
label {Device:}
|
||||
callback {progdefaults.HamRigDevice = o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;} open
|
||||
btnInitHAMLIB->redraw_label();} open
|
||||
tooltip {Serial port} xywh {340 93 144 22}
|
||||
code0 {o->value(progdefaults.HamRigDevice.c_str());}
|
||||
} {}
|
||||
|
|
@ -1717,46 +1718,41 @@ progdefaults.changed = true;} open
|
|||
label {Baud rate:}
|
||||
callback {progdefaults.HamRigBaudrate = o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;} open
|
||||
btnInitHAMLIB->redraw_label();} open
|
||||
tooltip {Serial port baud rate} xywh {385 139 99 22} down_box BORDER_BOX align 5
|
||||
code0 {o->add(szBaudRates);}
|
||||
code1 {o->value(progdefaults.HamRigBaudrate);}
|
||||
} {}
|
||||
Fl_Counter cntHamlibtRetries {
|
||||
Fl_Counter cntHamlibRetries {
|
||||
label Retries
|
||||
callback {progdefaults.HamlibRetries = (int)o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Number of times to resend
|
||||
command before giving up} xywh {15 140 75 20} type Simple align 5 minimum 1 maximum 10 step 1 value 5
|
||||
command before giving up} xywh {15 140 100 20} type Simple align 5 minimum 1 maximum 10 step 1 value 5
|
||||
code0 {o->value(progdefaults.HamlibRetries);}
|
||||
}
|
||||
Fl_Counter cntHamlibTimeout {
|
||||
label {Retry interval (ms)}
|
||||
callback {progdefaults.HamlibTimeout = (int)o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
tooltip {Msec's between retries} xywh {150 140 75 20} type Simple align 5 minimum 2 maximum 200 step 1 value 10
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Msec's between retries} xywh {150 140 100 20} type Simple align 5 minimum 2 maximum 20000 step 1 value 10
|
||||
code0 {o->value(progdefaults.HamlibTimeout);}
|
||||
}
|
||||
Fl_Counter cntHamlibWait {
|
||||
label {Post write delay (ms)}
|
||||
callback {progdefaults.HamlibWait = (int)o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
tooltip {Msec's between sequential commands} xywh {150 186 75 20} type Simple align 5 minimum 0 maximum 100 step 1 value 5
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Msec's between sequential commands} xywh {150 186 100 20} type Simple align 5 minimum 0 maximum 100 step 1 value 5
|
||||
code0 {o->value(progdefaults.HamlibWait);}
|
||||
}
|
||||
Fl_Input inpHamlibConfig {
|
||||
label {Advanced configuration:}
|
||||
callback {progdefaults.HamConfig = o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Optional configuration
|
||||
in format: param=val ...} xywh {20 326 320 22} align 5
|
||||
code0 {inpHamlibConfig->value(progdefaults.HamConfig.c_str());}
|
||||
|
|
@ -1781,8 +1777,7 @@ effect when rig mode changes.} xywh {340 217 144 22} down_box BORDER_BOX align 5
|
|||
callback {progdefaults.HamlibCMDptt=o->value();
|
||||
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {PTT is a hamlib command} xywh {45 218 200 20} down_box DIAMOND_DOWN_BOX selection_color 1
|
||||
code0 {o->value(progdefaults.HamlibCMDptt);}
|
||||
}
|
||||
|
|
@ -1790,8 +1785,7 @@ progdefaults.changed = true;}
|
|||
label {DTR +12}
|
||||
callback {progdefaults.HamlibDTRplus = o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Initial state of DTR} xywh {45 248 90 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.HamlibDTRplus);}
|
||||
}
|
||||
|
|
@ -1802,8 +1796,7 @@ if (o->value() == 1) {
|
|||
chkHamlibRTSCTSflow->value(0);
|
||||
}
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Initial state of RTS} xywh {269 248 85 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.HamlibRTSplus);}
|
||||
}
|
||||
|
|
@ -1816,8 +1809,7 @@ if (o->value() == 1) {
|
|||
progdefaults.HamlibXONXOFFflow = false;
|
||||
}
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Rig requires RTS/CTS flow control} xywh {45 281 170 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.HamlibRTSCTSflow);}
|
||||
}
|
||||
|
|
@ -1829,8 +1821,7 @@ if (o->value() == 1) {
|
|||
progdefaults.HamlibRTSCTSflow = false;
|
||||
}
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Rig requires Xon/Xoff flow control} xywh {269 281 185 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.HamlibXONXOFFflow);}
|
||||
}
|
||||
|
|
@ -1838,9 +1829,8 @@ progdefaults.changed = true;}
|
|||
label {Write delay (ms)}
|
||||
callback {progdefaults.HamlibWriteDelay = (int)o->value();
|
||||
btnInitHAMLIB->labelcolor(FL_RED);
|
||||
btnInitHAMLIB->redraw_label();
|
||||
progdefaults.changed = true;}
|
||||
tooltip {Msec's between sequential commands} xywh {15 186 75 20} type Simple align 5 minimum 0 maximum 100 step 1
|
||||
btnInitHAMLIB->redraw_label();}
|
||||
tooltip {Msec's between sequential commands} xywh {15 186 100 20} type Simple align 5 minimum 0 maximum 100 step 1
|
||||
code0 {o->value(progdefaults.HamlibWriteDelay);}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@ extern Fl_Group *grpHamlib;
|
|||
extern Fl_ComboBox *cboHamlibRig;
|
||||
extern Fl_Input_Choice *inpRIGdev;
|
||||
extern Fl_Choice *mnuBaudRate;
|
||||
extern Fl_Counter *cntHamlibtRetries;
|
||||
extern Fl_Counter *cntHamlibRetries;
|
||||
extern Fl_Counter *cntHamlibTimeout;
|
||||
extern Fl_Counter *cntHamlibWait;
|
||||
extern Fl_Input2 *inpHamlibConfig;
|
||||
|
|
|
|||
|
|
@ -377,6 +377,7 @@ struct configuration
|
|||
void testCommPorts();
|
||||
const char* strBaudRate();
|
||||
int BaudRate(size_t);
|
||||
int nBaudRate(const char *);
|
||||
void initFonts(void);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ extern int hamlib_setmode(rmode_t);
|
|||
extern rmode_t hamlib_getmode();
|
||||
extern int hamlib_setwidth(pbwidth_t);
|
||||
extern pbwidth_t hamlib_getwidth();
|
||||
extern void hamlib_get_defaults();
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -668,6 +668,14 @@ const char* configuration::strBaudRate()
|
|||
return (szBaudRates[HamRigBaudrate + 1]);
|
||||
}
|
||||
|
||||
int configuration::nBaudRate(const char *szBR)
|
||||
{
|
||||
for (size_t i = 1; i < sizeof(szBaudRates); i++)
|
||||
if (strcmp(szBaudRates[i], szBR) == 0)
|
||||
return i - 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int configuration::BaudRate(size_t n)
|
||||
{
|
||||
if (n > sizeof(szBaudRates) + 1) return 1200;
|
||||
|
|
|
|||
|
|
@ -71,6 +71,64 @@ void show_error(const char* msg1, const char* msg2 = 0)
|
|||
LOG_ERROR("%s", error.c_str());
|
||||
}
|
||||
|
||||
void hamlib_get_defaults()
|
||||
{
|
||||
char szParam[40];
|
||||
|
||||
progdefaults.HamRigModel = hamlib_get_rig_model(cboHamlibRig->index());
|
||||
|
||||
xcvr->init(progdefaults.HamRigModel);
|
||||
|
||||
if (xcvr->getCaps()->port_type != RIG_PORT_SERIAL) {
|
||||
xcvr->close();
|
||||
return;
|
||||
}
|
||||
|
||||
xcvr->getConf("serial_speed", szParam);
|
||||
progdefaults.HamRigBaudrate = progdefaults.nBaudRate(szParam);
|
||||
mnuBaudRate->value(progdefaults.HamRigBaudrate);
|
||||
|
||||
xcvr->getConf("post_write_delay", szParam);
|
||||
sscanf(szParam, "%d", &progdefaults.HamlibWait);
|
||||
cntHamlibWait->value(progdefaults.HamlibWait);
|
||||
|
||||
xcvr->getConf("write_delay", szParam);
|
||||
sscanf(szParam, "%d", &progdefaults.HamlibWriteDelay);
|
||||
cntHamlibWriteDelay->value(progdefaults.HamlibWriteDelay);
|
||||
|
||||
xcvr->getConf("timeout", szParam);
|
||||
sscanf(szParam, "%d", &progdefaults.HamlibTimeout);
|
||||
cntHamlibTimeout->value(progdefaults.HamlibTimeout);
|
||||
|
||||
xcvr->getConf("retry", szParam);
|
||||
sscanf(szParam, "%d", &progdefaults.HamlibRetries);
|
||||
cntHamlibRetries->value(progdefaults.HamlibRetries);
|
||||
|
||||
xcvr->getConf("rts_state", szParam);
|
||||
if (strcmp(szParam, "ON") == 0)
|
||||
progdefaults.HamlibRTSplus = true;
|
||||
else
|
||||
progdefaults.HamlibRTSplus = false;
|
||||
chkHamlibRTSplus->value(progdefaults.HamlibRTSplus);
|
||||
|
||||
xcvr->getConf("dtr_state", szParam);
|
||||
if (strcmp(szParam, "ON") == 0)
|
||||
progdefaults.HamlibDTRplus = true;
|
||||
else
|
||||
progdefaults.HamlibDTRplus = false;
|
||||
btnHamlibDTRplus->value(progdefaults.HamlibDTRplus);
|
||||
|
||||
progdefaults.HamlibRTSCTSflow = false;
|
||||
progdefaults.HamlibXONXOFFflow = false;
|
||||
xcvr->getConf("serial_handshake", szParam);
|
||||
if (strcmp(szParam, "Hardware") == 0) progdefaults.HamlibRTSCTSflow = true;
|
||||
if (strcmp(szParam, "XONXOFF") == 0) progdefaults.HamlibXONXOFFflow = true;
|
||||
chkHamlibRTSCTSflow->value(progdefaults.HamlibRTSCTSflow);
|
||||
chkHamlibXONXOFFflow->value(progdefaults.HamlibXONXOFFflow);
|
||||
|
||||
xcvr->close();
|
||||
}
|
||||
|
||||
bool hamlib_init(bool bPtt)
|
||||
{
|
||||
freq_t freq;
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue