Rig Control modifications

* RigCAT - change method of controlling RTS/CTS handshake
    * RigCAT - change method of controlling RTS ptt
    * RigCAT - change method of controlling DTR ptt
    * added separate UHrouter checkbox
    * added separate PPort checkbox
    * UHrouter/PPort widgets hidden if not available on system
pull/2/head
David Freese 2009-03-13 21:46:36 -05:00
rodzic 1155b533fc
commit 867ee123e7
7 zmienionych plików z 344 dodań i 502 usunięć

Wyświetl plik

@ -4,9 +4,10 @@
#include "confdialog.h"
#include <config.h>
#include <FL/Fl_Tooltip.H>
#include <FL/filename.H>
#include "main.h"
#include "fl_digi.h"
#include "soundconf.h"
#include "combo.h"
#include "colorsfonts.h"
#include "waterfall.h"
#include "rigxml.h"
@ -14,7 +15,6 @@
#include "icons.h"
#include "Viewer.h"
#include "pskrep.h"
#include "flinput2.h"
#include "logsupport.h"
Fl_Double_Window *dlgConfig;
@ -1084,18 +1084,6 @@ Fl_Group *tabRig=(Fl_Group *)0;
Fl_Tabs *tabsRig=(Fl_Tabs *)0;
static void cb_btnPTT(Fl_Round_Button* o, void*) {
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
o->value(1);
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;
}
Fl_Group *grpHWPTT=(Fl_Group *)0;
Fl_Input_Choice *inpTTYdev=(Fl_Input_Choice *)0;
@ -1146,16 +1134,11 @@ o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;
}
static void cb_btnPTT1(Fl_Round_Button* o, void*) {
if (o->value() == 1) {
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[5]->value(0);
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
Fl_Round_Button *btnTTYptt=(Fl_Round_Button *)0;
static void cb_btnTTYptt(Fl_Round_Button* o, void*) {
progdefaults.TTYptt=o->value();
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;
@ -1168,6 +1151,20 @@ static void cb_btnPTTrightchannel(Fl_Check_Button* o, void*) {
progdefaults.changed = true;
}
Fl_Check_Button *btnUsePPortPTT=(Fl_Check_Button *)0;
static void cb_btnUsePPortPTT(Fl_Check_Button* o, void*) {
progdefaults.UsePPortPTT=o->value();
progdefaults.changed = true;
}
Fl_Check_Button *btnUseUHrouterPTT=(Fl_Check_Button *)0;
static void cb_btnUseUHrouterPTT(Fl_Check_Button* o, void*) {
progdefaults.UseUHrouterPTT = o->value();
progdefaults.changed = true;
}
Fl_Check_Button *chkUSERIGCAT=(Fl_Check_Button *)0;
static void cb_chkUSERIGCAT(Fl_Check_Button* o, void*) {
@ -1175,27 +1172,11 @@ static void cb_chkUSERIGCAT(Fl_Check_Button* o, void*) {
chkUSEHAMLIB->value(0);
chkUSEMEMMAP->value(0);
chkUSEXMLRPC->value(0);
btnPTT[1]->value(0);
btnPTT[1]->deactivate();
btnPTT[2]->value(0);
btnPTT[2]->deactivate();
btnPTT[3]->activate();
btnPTT[5]->activate();
progdefaults.chkUSEMEMMAPis = false;
progdefaults.chkUSEHAMLIBis = false;
progdefaults.chkUSERIGCATis = true;
progdefaults.chkUSEXMLRPCis = false;
} else {
btnPTT[0]->value(1);
btnPTT[3]->value(0);
btnPTT[3]->deactivate();
btnPTT[5]->value(0);
btnPTT[5]->deactivate();
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
btnRigCatRTSplus->value(0);
btnRigCatDTRplus->value(0);
chkRigCatRTSCTSflow->value(0);
progdefaults.chkUSERIGCATis = false;
}
btnInitRIGCAT->labelcolor(FL_RED);
@ -1277,37 +1258,33 @@ btnInitRIGCAT->redraw_label();
progdefaults.changed = true;
}
static void cb_btnPTT2(Fl_Round_Button* o, void*) {
if (o->value()== 1) {
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
Fl_Round_Button *btnRigCatCMDptt=(Fl_Round_Button *)0;
static void cb_btnRigCatCMDptt(Fl_Round_Button* o, void*) {
progdefaults.RigCatCMDptt=o->value();
if (o->value()== 1) {
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
progdefaults.RigCatRTSptt = false;
progdefaults.RigCatDTRptt = false;
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
Fl_Group *grpRigCATPTT=(Fl_Group *)0;
Fl_Round_Button *btnRigCatRTSptt=(Fl_Round_Button *)0;
static void cb_btnRigCatRTSptt(Fl_Round_Button* o, void*) {
if (o->value() == 1) {
progdefaults.RigCatRTSptt = o->value();
if (o->value() == 1) {
btnRigCatDTRptt->value(0);
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
progdefaults.RigCatRTSptt = true;
btnRigCatCMDptt->value(0);
progdefaults.RigCatDTRptt = false;
} else
progdefaults.RigCatRTSptt = false;
progdefaults.RigCatCMDptt = false;
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;
@ -1316,17 +1293,14 @@ progdefaults.changed = true;
Fl_Round_Button *btnRigCatDTRptt=(Fl_Round_Button *)0;
static void cb_btnRigCatDTRptt(Fl_Round_Button* o, void*) {
if (o->value() == 1) {
progdefaults.RigCatDTRptt=o->value();
if (o->value() == 1) {
btnRigCatRTSptt->value(0);
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
progdefaults.RigCatDTRptt = true;
btnRigCatCMDptt->value(0);
progdefaults.RigCatRTSptt = false;
} else
progdefaults.RigCatDTRptt = false;
progdefaults.RigCatCMDptt = false;
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;
@ -1359,47 +1333,21 @@ btnInitRIGCAT->redraw_label();
progdefaults.changed = true;
}
Fl_Round_Button *btnPTT[6]={(Fl_Round_Button *)0};
static void cb_btnPTT3(Fl_Round_Button* o, void*) {
if (o->value()== 1) {
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
Fl_Group *tabHamlib=(Fl_Group *)0;
Fl_Check_Button *chkUSEHAMLIB=(Fl_Check_Button *)0;
static void cb_chkUSEHAMLIB(Fl_Check_Button* o, void*) {
if (o->value() == 1) {
progdefaults.chkUSEHAMLIBis = o->value();
if (o->value() == 1) {
chkUSEMEMMAP->value(0);
chkUSERIGCAT->value(0);
chkUSEXMLRPC->value(0);
btnPTT[3]->value(0);
btnPTT[3]->deactivate();
btnPTT[5]->value(0);
btnPTT[5]->deactivate();
btnPTT[2]->value(0);
btnPTT[2]->deactivate();
btnPTT[1]->activate();
progdefaults.chkUSEMEMMAPis = false;
progdefaults.chkUSEHAMLIBis = true;
progdefaults.chkUSERIGCATis = false;
progdefaults.chkUSEXMLRPCis = false;
} else {
btnPTT[0]->value(1);
btnPTT[1]->value(0);
btnPTT[1]->deactivate();
progdefaults.chkUSEHAMLIBis = false;
}
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
@ -1484,23 +1432,16 @@ static void cb_mnuSideband(Fl_Choice* o, void*) {
progdefaults.changed = true;
}
static void cb_btnPTT4(Fl_Round_Button* o, void*) {
if (o->value() == 1) {
btnPTT[0]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
Fl_Round_Button *btnHamlibCMDptt=(Fl_Round_Button *)0;
static void cb_btnHamlibCMDptt(Fl_Round_Button* o, void*) {
progdefaults.HamlibCMDptt=o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;
}
Fl_Group *grpHamlibPTT=(Fl_Group *)0;
Fl_Check_Button *btnHamlibDTRplus=(Fl_Check_Button *)0;
static void cb_btnHamlibDTRplus(Fl_Check_Button* o, void*) {
@ -1516,7 +1457,6 @@ static void cb_chkHamlibRTSplus(Fl_Check_Button* o, void*) {
progdefaults.HamlibRTSplus = o->value();
if (o->value() == 1) {
chkHamlibRTSCTSflow->value(0);
progdefaults.HamlibRTSCTSflow = false;
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
@ -1528,7 +1468,6 @@ Fl_Check_Button *chkHamlibRTSCTSflow=(Fl_Check_Button *)0;
static void cb_chkHamlibRTSCTSflow(Fl_Check_Button* o, void*) {
progdefaults.HamlibRTSCTSflow = o->value();
if (o->value() == 1) {
chkHamlibRTSplus->value(0);
progdefaults.HamlibRTSplus = false;
chkHamlibXONXOFFflow->value(0);
progdefaults.HamlibXONXOFFflow = false;
@ -1556,41 +1495,26 @@ Fl_Group *grpMemmap=(Fl_Group *)0;
Fl_Check_Button *chkUSEMEMMAP=(Fl_Check_Button *)0;
static void cb_chkUSEMEMMAP(Fl_Check_Button* o, void*) {
if(o->value() == 1){
progdefaults.chkUSEMEMMAPis = o->value();
if(o->value() == 1){
chkUSEHAMLIB->value(0);
chkUSERIGCAT->value(0);
chkUSEXMLRPC->value(0);
btnPTT[3]->value(0);
btnPTT[3]->deactivate();
btnPTT[1]->value(0);
btnPTT[1]->deactivate();
btnPTT[2]->activate();
progdefaults.chkUSEMEMMAPis = true;
progdefaults.chkUSEHAMLIBis = false;
progdefaults.chkUSERIGCATis = false;
progdefaults.chkUSEXMLRPCis = false;
} else {
if (btnPTT[2]->value()==1)
btnPTT[0]->value(1);
btnPTT[2]->value(0);
btnPTT[2]->deactivate();
progdefaults.chkUSEMEMMAPis = false;
}
}
btnInitMEMMAP->labelcolor(FL_RED);
btnInitMEMMAP->redraw_label();
progdefaults.changed = true;
}
static void cb_btnPTT5(Fl_Round_Button* o, void*) {
if (o->value() == 1) {
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
Fl_Round_Button *btnMEMMAPptt=(Fl_Round_Button *)0;
static void cb_btnMEMMAPptt(Fl_Round_Button* o, void*) {
progdefaults.MEMMAPptt=o->value();
btnInitMEMMAP->labelcolor(FL_RED);
btnInitMEMMAP->redraw_label();
progdefaults.changed = true;
@ -1611,23 +1535,16 @@ Fl_Group *grpXMLRPC=(Fl_Group *)0;
Fl_Check_Button *chkUSEXMLRPC=(Fl_Check_Button *)0;
static void cb_chkUSEXMLRPC(Fl_Check_Button* o, void*) {
if(o->value() == 1){
progdefaults.chkUSEXMLRPCis = o->value();
if(o->value() == 1){
chkUSEHAMLIB->value(0);
chkUSERIGCAT->value(0);
chkUSEMEMMAP->value(0);
btnPTT[0]->value(1);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
progdefaults.chkUSEMEMMAPis = false;
progdefaults.chkUSEHAMLIBis = false;
progdefaults.chkUSERIGCATis = false;
progdefaults.chkUSEXMLRPCis = true;
} else {
progdefaults.chkUSEXMLRPCis = false;
}
}
btnInitXMLRPC->labelcolor(FL_RED);
btnInitXMLRPC->redraw_label();
progdefaults.changed = true;
@ -2152,6 +2069,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);
@ -3503,61 +3421,71 @@ 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();
{ btnPTT[0] = new Fl_Round_Button(45, 68, 165, 20, _("No H/W PTT available"));
btnPTT[0]->down_box(FL_DIAMOND_DOWN_BOX);
btnPTT[0]->value(1);
btnPTT[0]->selection_color((Fl_Color)1);
btnPTT[0]->callback((Fl_Callback*)cb_btnPTT);
} // Fl_Round_Button* btnPTT[0]
{ grpHWPTT = new Fl_Group(5, 140, 490, 190);
{ grpHWPTT = new Fl_Group(5, 100, 490, 190);
grpHWPTT->box(FL_ENGRAVED_FRAME);
{ inpTTYdev = new Fl_Input_Choice(200, 183, 150, 22, _("Device:"));
{ inpTTYdev = new Fl_Input_Choice(200, 143, 150, 22, _("Device:"));
inpTTYdev->tooltip(_("Select serial port"));
inpTTYdev->callback((Fl_Callback*)cb_inpTTYdev);
} // Fl_Input_Choice* inpTTYdev
{ btnRTSptt = new Fl_Round_Button(147, 223, 85, 20, _("Use RTS"));
{ btnRTSptt = new Fl_Round_Button(147, 183, 85, 20, _("Use RTS"));
btnRTSptt->tooltip(_("RTS is ptt signal line"));
btnRTSptt->down_box(FL_DOWN_BOX);
btnRTSptt->callback((Fl_Callback*)cb_btnRTSptt);
} // Fl_Round_Button* btnRTSptt
{ btnRTSplusV = new Fl_Round_Button(262, 223, 100, 20, _("RTS = +V"));
{ btnRTSplusV = new Fl_Round_Button(262, 183, 100, 20, _("RTS = +V"));
btnRTSplusV->tooltip(_("Initial voltage on RTS"));
btnRTSplusV->down_box(FL_DOWN_BOX);
btnRTSplusV->callback((Fl_Callback*)cb_btnRTSplusV);
} // Fl_Round_Button* btnRTSplusV
{ btnDTRptt = new Fl_Round_Button(147, 253, 85, 20, _("Use DTR"));
{ btnDTRptt = new Fl_Round_Button(147, 213, 85, 20, _("Use DTR"));
btnDTRptt->tooltip(_("DTR is ptt signal line"));
btnDTRptt->down_box(FL_DOWN_BOX);
btnDTRptt->callback((Fl_Callback*)cb_btnDTRptt);
} // Fl_Round_Button* btnDTRptt
{ btnDTRplusV = new Fl_Round_Button(262, 253, 100, 20, _("DTR = +V"));
{ btnDTRplusV = new Fl_Round_Button(262, 213, 100, 20, _("DTR = +V"));
btnDTRplusV->tooltip(_("Initial voltage on DTR"));
btnDTRplusV->down_box(FL_DOWN_BOX);
btnDTRplusV->callback((Fl_Callback*)cb_btnDTRplusV);
} // Fl_Round_Button* btnDTRplusV
{ btnInitHWPTT = new Fl_Button(188, 291, 113, 24, _("Initialize"));
{ btnInitHWPTT = new Fl_Button(188, 251, 113, 24, _("Initialize"));
btnInitHWPTT->tooltip(_("Initialize the H/W PTT interface"));
btnInitHWPTT->callback((Fl_Callback*)cb_btnInitHWPTT);
} // Fl_Button* btnInitHWPTT
{ btnPTT[4] = new Fl_Round_Button(145, 151, 220, 20, _("Use separate serial port PTT"));
btnPTT[4]->tooltip(_("Serial port H/W used for PTT"));
btnPTT[4]->down_box(FL_DIAMOND_DOWN_BOX);
btnPTT[4]->selection_color((Fl_Color)1);
btnPTT[4]->callback((Fl_Callback*)cb_btnPTT1);
} // Fl_Round_Button* btnPTT[4]
{ btnTTYptt = new Fl_Round_Button(145, 111, 220, 20, _("Use separate serial port PTT"));
btnTTYptt->tooltip(_("Serial port H/W used for PTT"));
btnTTYptt->down_box(FL_DIAMOND_DOWN_BOX);
btnTTYptt->selection_color((Fl_Color)1);
btnTTYptt->callback((Fl_Callback*)cb_btnTTYptt);
} // Fl_Round_Button* btnTTYptt
grpHWPTT->end();
} // Fl_Group* grpHWPTT
{ Fl_Check_Button* o = btnPTTrightchannel = new Fl_Check_Button(45, 105, 275, 20, _("Enable right audio channel PTT tone"));
btnPTTrightchannel->tooltip(_("Can be used in lieu of or in addition to other PTT types"));
btnPTTrightchannel->down_box(FL_DOWN_BOX);
btnPTTrightchannel->callback((Fl_Callback*)cb_btnPTTrightchannel);
o->value(progdefaults.PTTrightchannel);
} // Fl_Check_Button* btnPTTrightchannel
{ Fl_Group* o = new Fl_Group(5, 65, 490, 32);
o->box(FL_ENGRAVED_FRAME);
{ Fl_Check_Button* o = btnPTTrightchannel = new Fl_Check_Button(130, 69, 275, 20, _("Enable right audio channel PTT tone"));
btnPTTrightchannel->tooltip(_("Can be used in lieu of or in addition to other PTT types"));
btnPTTrightchannel->down_box(FL_DOWN_BOX);
btnPTTrightchannel->callback((Fl_Callback*)cb_btnPTTrightchannel);
o->value(progdefaults.PTTrightchannel);
} // Fl_Check_Button* btnPTTrightchannel
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(5, 292, 490, 72);
o->box(FL_ENGRAVED_FRAME);
{ Fl_Check_Button* o = btnUsePPortPTT = new Fl_Check_Button(154, 304, 191, 15, _("use parallel port for PTT"));
btnUsePPortPTT->down_box(FL_DOWN_BOX);
btnUsePPortPTT->callback((Fl_Callback*)cb_btnUsePPortPTT);
o->value(progdefaults.UsePPortPTT);
} // Fl_Check_Button* btnUsePPortPTT
{ Fl_Check_Button* o = btnUseUHrouterPTT = new Fl_Check_Button(154, 330, 191, 15, _("use UHrouter for PTT"));
btnUseUHrouterPTT->down_box(FL_DOWN_BOX);
btnUseUHrouterPTT->callback((Fl_Callback*)cb_btnUseUHrouterPTT);
o->value(progdefaults.UseUHrouterPTT);
} // Fl_Check_Button* btnUseUHrouterPTT
o->end();
} // Fl_Group* o
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(0, 50, 500, 320, _("RigCAT"));
@ -3568,7 +3496,7 @@ an merging"));
chkUSERIGCAT->down_box(FL_DOWN_BOX);
chkUSERIGCAT->callback((Fl_Callback*)cb_chkUSERIGCAT);
} // Fl_Check_Button* chkUSERIGCAT
{ grpRigCAT = new Fl_Group(5, 85, 490, 142);
{ grpRigCAT = new Fl_Group(5, 83, 490, 279);
grpRigCAT->box(FL_ENGRAVED_FRAME);
{ Fl_Output* o = txtXmlRigFilename = new Fl_Output(15, 107, 130, 22, _("Rig description file:"));
txtXmlRigFilename->tooltip(_("Use Open to select descriptor file"));
@ -3585,14 +3513,14 @@ an merging"));
inpXmlRigDevice->callback((Fl_Callback*)cb_inpXmlRigDevice);
o->value(progdefaults.XmlRigDevice.c_str());
} // Fl_Input_Choice* inpXmlRigDevice
{ Fl_Choice* o = mnuXmlRigBaudrate = new Fl_Choice(386, 147, 99, 22, _("Baud rate:"));
{ Fl_Choice* o = mnuXmlRigBaudrate = new Fl_Choice(386, 154, 99, 22, _("Baud rate:"));
mnuXmlRigBaudrate->tooltip(_("Pick baud rate from list"));
mnuXmlRigBaudrate->down_box(FL_BORDER_BOX);
mnuXmlRigBaudrate->callback((Fl_Callback*)cb_mnuXmlRigBaudrate);
o->add(szBaudRates);
o->value(progdefaults.XmlRigBaudrate);
} // Fl_Choice* mnuXmlRigBaudrate
{ Fl_Counter* o = cntRigCatRetries = new Fl_Counter(15, 148, 75, 20, _("Retries"));
{ Fl_Counter* o = cntRigCatRetries = new Fl_Counter(15, 150, 75, 20, _("Retries"));
cntRigCatRetries->tooltip(_("Number of times to resend\ncommand before giving up"));
cntRigCatRetries->type(1);
cntRigCatRetries->minimum(1);
@ -3603,7 +3531,7 @@ an merging"));
cntRigCatRetries->align(FL_ALIGN_TOP);
o->value(progdefaults.RigCatRetries);
} // Fl_Counter* cntRigCatRetries
{ Fl_Counter* o = cntRigCatTimeout = new Fl_Counter(153, 148, 75, 20, _("Retry interval (ms)"));
{ Fl_Counter* o = cntRigCatTimeout = new Fl_Counter(153, 155, 75, 20, _("Retry interval (ms)"));
cntRigCatTimeout->tooltip(_("Time between retires is msec"));
cntRigCatTimeout->type(1);
cntRigCatTimeout->minimum(2);
@ -3614,7 +3542,7 @@ an merging"));
cntRigCatTimeout->align(FL_ALIGN_TOP);
o->value(progdefaults.RigCatTimeout);
} // Fl_Counter* cntRigCatTimeout
{ Fl_Counter* o = cntRigCatWait = new Fl_Counter(15, 175, 75, 20, _("Command interval (ms)"));
{ Fl_Counter* o = cntRigCatWait = new Fl_Counter(15, 185, 75, 20, _("Command interval (ms)"));
cntRigCatWait->tooltip(_("Millseconds between sequential commands"));
cntRigCatWait->type(1);
cntRigCatWait->minimum(0);
@ -3625,75 +3553,65 @@ an merging"));
cntRigCatWait->align(FL_ALIGN_RIGHT);
o->value(progdefaults.RigCatWait);
} // Fl_Counter* cntRigCatWait
{ btnInitRIGCAT = new Fl_Button(372, 193, 113, 24, _("Initialize"));
{ btnInitRIGCAT = new Fl_Button(365, 321, 113, 24, _("Initialize"));
btnInitRIGCAT->tooltip(_("Initialize RigCAT interface"));
btnInitRIGCAT->callback((Fl_Callback*)cb_btnInitRIGCAT);
} // Fl_Button* btnInitRIGCAT
{ Fl_Check_Button* o = btnRigCatEcho = new Fl_Check_Button(74, 201, 192, 22, _("Commands are echoed"));
{ Fl_Check_Button* o = btnRigCatEcho = new Fl_Check_Button(50, 216, 192, 22, _("Commands are echoed"));
btnRigCatEcho->tooltip(_("Rig or interface echos serial data"));
btnRigCatEcho->down_box(FL_DOWN_BOX);
btnRigCatEcho->callback((Fl_Callback*)cb_btnRigCatEcho);
o->value(progdefaults.RigCatECHO);
} // Fl_Check_Button* btnRigCatEcho
grpRigCAT->end();
} // Fl_Group* grpRigCAT
{ btnPTT[3] = new Fl_Round_Button(20, 232, 180, 20, _("PTT via CAT command"));
btnPTT[3]->tooltip(_("PTT is a CAT command (not hardware)"));
btnPTT[3]->down_box(FL_DIAMOND_DOWN_BOX);
btnPTT[3]->selection_color((Fl_Color)1);
btnPTT[3]->callback((Fl_Callback*)cb_btnPTT2);
btnPTT[3]->deactivate();
} // Fl_Round_Button* btnPTT[3]
{ grpRigCATPTT = new Fl_Group(5, 256, 490, 100);
grpRigCATPTT->box(FL_ENGRAVED_FRAME);
{ Fl_Round_Button* o = btnRigCatRTSptt = new Fl_Round_Button(74, 268, 160, 20, _("Toggle RTS for PTT"));
{ Fl_Round_Button* o = btnRigCatCMDptt = new Fl_Round_Button(256, 217, 207, 20, _("CAT command for PTT"));
btnRigCatCMDptt->tooltip(_("PTT is a CAT command (not hardware)"));
btnRigCatCMDptt->down_box(FL_ROUND_DOWN_BOX);
btnRigCatCMDptt->selection_color((Fl_Color)1);
btnRigCatCMDptt->callback((Fl_Callback*)cb_btnRigCatCMDptt);
o->value(progdefaults.RigCatCMDptt);
} // Fl_Round_Button* btnRigCatCMDptt
{ Fl_Round_Button* o = btnRigCatRTSptt = new Fl_Round_Button(50, 250, 160, 20, _("Toggle RTS for PTT"));
btnRigCatRTSptt->tooltip(_("RTS is ptt line"));
btnRigCatRTSptt->down_box(FL_ROUND_DOWN_BOX);
btnRigCatRTSptt->callback((Fl_Callback*)cb_btnRigCatRTSptt);
o->value(progdefaults.RigCatRTSptt);
} // Fl_Round_Button* btnRigCatRTSptt
{ Fl_Round_Button* o = btnRigCatDTRptt = new Fl_Round_Button(249, 268, 160, 20, _("Toggle DTR for PTT"));
{ Fl_Round_Button* o = btnRigCatDTRptt = new Fl_Round_Button(256, 250, 160, 20, _("Toggle DTR for PTT"));
btnRigCatDTRptt->tooltip(_("DTR is ptt line"));
btnRigCatDTRptt->down_box(FL_ROUND_DOWN_BOX);
btnRigCatDTRptt->callback((Fl_Callback*)cb_btnRigCatDTRptt);
o->value(progdefaults.RigCatDTRptt);
} // Fl_Round_Button* btnRigCatDTRptt
{ Fl_Check_Button* o = btnRigCatRTSplus = new Fl_Check_Button(74, 298, 100, 20, _("RTS +12 v"));
{ Fl_Check_Button* o = btnRigCatRTSplus = new Fl_Check_Button(50, 285, 100, 20, _("RTS +12 v"));
btnRigCatRTSplus->tooltip(_("Initial state of RTS"));
btnRigCatRTSplus->down_box(FL_DOWN_BOX);
btnRigCatRTSplus->callback((Fl_Callback*)cb_btnRigCatRTSplus);
o->value(progdefaults.RigCatRTSplus);
} // Fl_Check_Button* btnRigCatRTSplus
{ Fl_Check_Button* o = btnRigCatDTRplus = new Fl_Check_Button(250, 298, 100, 20, _("DTR +12 v"));
{ Fl_Check_Button* o = btnRigCatDTRplus = new Fl_Check_Button(256, 285, 100, 20, _("DTR +12 v"));
btnRigCatDTRplus->tooltip(_("Initial state of DTR"));
btnRigCatDTRplus->down_box(FL_DOWN_BOX);
btnRigCatDTRplus->callback((Fl_Callback*)cb_btnRigCatDTRplus);
o->value(progdefaults.RigCatDTRplus);
} // Fl_Check_Button* btnRigCatDTRplus
{ Fl_Check_Button* o = chkRigCatRTSCTSflow = new Fl_Check_Button(74, 328, 170, 20, _("RTS/CTS flow control"));
{ Fl_Check_Button* o = chkRigCatRTSCTSflow = new Fl_Check_Button(50, 320, 170, 20, _("RTS/CTS flow control"));
chkRigCatRTSCTSflow->tooltip(_("Rig uses RTS/CTS handshake"));
chkRigCatRTSCTSflow->down_box(FL_DOWN_BOX);
chkRigCatRTSCTSflow->callback((Fl_Callback*)cb_chkRigCatRTSCTSflow);
o->value(progdefaults.RigCatRTSCTSflow);
} // Fl_Check_Button* chkRigCatRTSCTSflow
grpRigCATPTT->end();
} // Fl_Group* grpRigCATPTT
{ btnPTT[5] = new Fl_Round_Button(275, 232, 180, 20, _("PTT via serial port"));
btnPTT[5]->tooltip(_("PTT uses serial port RTS or DTR"));
btnPTT[5]->down_box(FL_DIAMOND_DOWN_BOX);
btnPTT[5]->selection_color((Fl_Color)1);
btnPTT[5]->callback((Fl_Callback*)cb_btnPTT3);
btnPTT[5]->deactivate();
} // Fl_Round_Button* btnPTT[5]
grpRigCAT->end();
} // Fl_Group* grpRigCAT
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);
chkUSEHAMLIB->callback((Fl_Callback*)cb_chkUSEHAMLIB);
} // Fl_Check_Button* chkUSEHAMLIB
{ grpHamlib = new Fl_Group(5, 85, 490, 166);
{ grpHamlib = new Fl_Group(5, 85, 490, 277);
grpHamlib->box(FL_ENGRAVED_FRAME);
{ Fl_ComboBox* o = cboHamlibRig = new Fl_ComboBox(46, 95, 160, 22, _("Rig:"));
cboHamlibRig->tooltip(_("Select the rig by name"));
@ -3709,12 +3627,12 @@ an merging"));
cboHamlibRig->when(FL_WHEN_RELEASE);
o->readonly();
} // Fl_ComboBox* cboHamlibRig
{ Fl_Input_Choice* o = inpRIGdev = new Fl_Input_Choice(341, 95, 144, 22, _("Device:"));
{ Fl_Input_Choice* o = inpRIGdev = new Fl_Input_Choice(340, 95, 144, 22, _("Device:"));
inpRIGdev->tooltip(_("Serial port"));
inpRIGdev->callback((Fl_Callback*)cb_inpRIGdev);
o->value(progdefaults.HamRigDevice.c_str());
} // Fl_Input_Choice* inpRIGdev
{ Fl_Choice* o = mnuBaudRate = new Fl_Choice(386, 127, 99, 22, _("Baud rate:"));
{ Fl_Choice* o = mnuBaudRate = new Fl_Choice(385, 127, 99, 22, _("Baud rate:"));
mnuBaudRate->tooltip(_("Serial port baud rate"));
mnuBaudRate->down_box(FL_BORDER_BOX);
mnuBaudRate->callback((Fl_Callback*)cb_mnuBaudRate);
@ -3754,7 +3672,7 @@ an merging"));
cntHamlibWait->align(FL_ALIGN_RIGHT);
o->value(progdefaults.HamlibWait);
} // Fl_Counter* cntHamlibWait
{ inpHamlibConfig = new Fl_Input2(15, 224, 320, 22, _("Advanced configuration:"));
{ inpHamlibConfig = new Fl_Input2(20, 328, 320, 22, _("Advanced configuration:"));
inpHamlibConfig->tooltip(_("Optional configuration\nin format: param=val ..."));
inpHamlibConfig->box(FL_DOWN_BOX);
inpHamlibConfig->color(FL_BACKGROUND2_COLOR);
@ -3768,53 +3686,49 @@ an merging"));
inpHamlibConfig->when(FL_WHEN_RELEASE);
inpHamlibConfig->value(progdefaults.HamConfig.c_str());
} // Fl_Input2* inpHamlibConfig
{ btnInitHAMLIB = new Fl_Button(372, 222, 113, 24, _("Initialize"));
{ btnInitHAMLIB = new Fl_Button(371, 327, 113, 24, _("Initialize"));
btnInitHAMLIB->tooltip(_("Initialize hamlib interface"));
btnInitHAMLIB->callback((Fl_Callback*)cb_btnInitHAMLIB);
} // Fl_Button* btnInitHAMLIB
{ mnuSideband = new Fl_Choice(341, 175, 144, 22, _("Sideband:"));
{ mnuSideband = new Fl_Choice(340, 175, 144, 22, _("Sideband:"));
mnuSideband->tooltip(_("Force the rig sideband. Takes\neffect when rig mode changes."));
mnuSideband->down_box(FL_BORDER_BOX);
mnuSideband->callback((Fl_Callback*)cb_mnuSideband);
mnuSideband->align(FL_ALIGN_TOP);
} // Fl_Choice* mnuSideband
grpHamlib->end();
} // Fl_Group* grpHamlib
{ btnPTT[1] = new Fl_Round_Button(163, 258, 200, 20, _("PTT via Hamlib command"));
btnPTT[1]->tooltip(_("PTT is a hamlib command"));
btnPTT[1]->down_box(FL_DIAMOND_DOWN_BOX);
btnPTT[1]->selection_color((Fl_Color)1);
btnPTT[1]->callback((Fl_Callback*)cb_btnPTT4);
btnPTT[1]->deactivate();
} // Fl_Round_Button* btnPTT[1]
{ grpHamlibPTT = new Fl_Group(5, 285, 490, 80);
grpHamlibPTT->box(FL_ENGRAVED_FRAME);
{ Fl_Check_Button* o = btnHamlibDTRplus = new Fl_Check_Button(54, 298, 90, 20, _("DTR +12"));
{ Fl_Round_Button* o = btnHamlibCMDptt = new Fl_Round_Button(45, 215, 200, 20, _("PTT via Hamlib command"));
btnHamlibCMDptt->tooltip(_("PTT is a hamlib command"));
btnHamlibCMDptt->down_box(FL_DIAMOND_DOWN_BOX);
btnHamlibCMDptt->selection_color((Fl_Color)1);
btnHamlibCMDptt->callback((Fl_Callback*)cb_btnHamlibCMDptt);
o->value(progdefaults.HamlibCMDptt);
} // Fl_Round_Button* btnHamlibCMDptt
{ Fl_Check_Button* o = btnHamlibDTRplus = new Fl_Check_Button(45, 246, 90, 20, _("DTR +12"));
btnHamlibDTRplus->tooltip(_("Initial state of DTR"));
btnHamlibDTRplus->down_box(FL_DOWN_BOX);
btnHamlibDTRplus->callback((Fl_Callback*)cb_btnHamlibDTRplus);
o->value(progdefaults.HamlibDTRplus);
} // Fl_Check_Button* btnHamlibDTRplus
{ Fl_Check_Button* o = chkHamlibRTSplus = new Fl_Check_Button(273, 298, 85, 20, _("RTS +12"));
{ Fl_Check_Button* o = chkHamlibRTSplus = new Fl_Check_Button(269, 246, 85, 20, _("RTS +12"));
chkHamlibRTSplus->tooltip(_("Initial state of RTS"));
chkHamlibRTSplus->down_box(FL_DOWN_BOX);
chkHamlibRTSplus->callback((Fl_Callback*)cb_chkHamlibRTSplus);
o->value(progdefaults.HamlibRTSplus);
} // Fl_Check_Button* chkHamlibRTSplus
{ Fl_Check_Button* o = chkHamlibRTSCTSflow = new Fl_Check_Button(54, 332, 170, 20, _("RTS/CTS flow control"));
{ Fl_Check_Button* o = chkHamlibRTSCTSflow = new Fl_Check_Button(45, 280, 170, 20, _("RTS/CTS flow control"));
chkHamlibRTSCTSflow->tooltip(_("Rig requires RTS/CTS flow control"));
chkHamlibRTSCTSflow->down_box(FL_DOWN_BOX);
chkHamlibRTSCTSflow->callback((Fl_Callback*)cb_chkHamlibRTSCTSflow);
o->value(progdefaults.HamlibRTSCTSflow);
} // Fl_Check_Button* chkHamlibRTSCTSflow
{ Fl_Check_Button* o = chkHamlibXONXOFFflow = new Fl_Check_Button(273, 332, 185, 20, _("XON/XOFF flow control"));
{ Fl_Check_Button* o = chkHamlibXONXOFFflow = new Fl_Check_Button(269, 280, 185, 20, _("XON/XOFF flow control"));
chkHamlibXONXOFFflow->tooltip(_("Rig requires Xon/Xoff flow control"));
chkHamlibXONXOFFflow->down_box(FL_DOWN_BOX);
chkHamlibXONXOFFflow->callback((Fl_Callback*)cb_chkHamlibXONXOFFflow);
o->value(progdefaults.HamlibXONXOFFflow);
} // Fl_Check_Button* chkHamlibXONXOFFflow
grpHamlibPTT->end();
} // Fl_Group* grpHamlibPTT
grpHamlib->end();
} // Fl_Group* grpHamlib
tabHamlib->end();
} // Fl_Group* tabHamlib
{ Fl_Group* o = new Fl_Group(0, 50, 500, 320, _("MemMap"));
@ -3827,17 +3741,17 @@ an merging"));
o->color(FL_LIGHT1);
o->value("Control via Memory Mapped\nshared variables\ni.e.: Kachina program");
} // Fl_Output* o
{ chkUSEMEMMAP = new Fl_Check_Button(160, 147, 120, 20, _("Use Memmap"));
{ Fl_Check_Button* o = chkUSEMEMMAP = new Fl_Check_Button(160, 147, 120, 20, _("Use Memmap"));
chkUSEMEMMAP->tooltip(_("Rig control via memory mapped Kachina"));
chkUSEMEMMAP->down_box(FL_DOWN_BOX);
chkUSEMEMMAP->callback((Fl_Callback*)cb_chkUSEMEMMAP);
o->value(progdefaults.chkUSEMEMMAPis);
} // Fl_Check_Button* chkUSEMEMMAP
{ btnPTT[2] = new Fl_Round_Button(160, 177, 150, 20, _("Use Memmap PTT"));
btnPTT[2]->down_box(FL_DIAMOND_DOWN_BOX);
btnPTT[2]->selection_color((Fl_Color)1);
btnPTT[2]->callback((Fl_Callback*)cb_btnPTT5);
btnPTT[2]->deactivate();
} // Fl_Round_Button* btnPTT[2]
{ btnMEMMAPptt = new Fl_Round_Button(160, 177, 150, 20, _("Use Memmap PTT"));
btnMEMMAPptt->down_box(FL_DIAMOND_DOWN_BOX);
btnMEMMAPptt->selection_color((Fl_Color)1);
btnMEMMAPptt->callback((Fl_Callback*)cb_btnMEMMAPptt);
} // Fl_Round_Button* btnMEMMAPptt
{ btnInitMEMMAP = new Fl_Button(197, 207, 113, 24, _("Initialize"));
btnInitMEMMAP->tooltip(_("Initialize Memmap interface"));
btnInitMEMMAP->callback((Fl_Callback*)cb_btnInitMEMMAP);

Wyświetl plik

@ -9,8 +9,12 @@ decl {\#include <config.h>} {}
decl {\#include <FL/Fl_Tooltip.H>} {}
decl {\#include <FL/filename.H>} {}
decl {\#include "main.h"} {}
decl {\#include "fl_digi.h"} {}
decl {\#include "soundconf.h"} {}
decl {\#include "globals.h"} {public
@ -22,7 +26,8 @@ decl {\#include "modem.h"} {public
decl {\#include "configuration.h"} {public
}
decl {\#include "combo.h"} {}
decl {\#include "combo.h"} {public
}
decl {\#include "colorsfonts.h"} {}
@ -39,7 +44,7 @@ decl {\#include "Viewer.h"} {}
decl {\#include "pskrep.h"} {global
}
decl {\#include "flinput2.h"} {global
decl {\#include "flinput2.h"} {public
}
decl {\#include "logsupport.h"} {}
@ -76,8 +81,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
@ -1395,96 +1400,98 @@ 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} hide
xywh {0 50 500 320}
} {
Fl_Round_Button {btnPTT[0]} {
label {No H/W PTT available}
callback {btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
o->value(1);
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
xywh {45 68 165 20} down_box DIAMOND_DOWN_BOX value 1 selection_color 1
}
Fl_Group grpHWPTT {open
xywh {5 140 490 190} box ENGRAVED_FRAME
xywh {5 100 490 190} box ENGRAVED_FRAME
} {
Fl_Input_Choice inpTTYdev {
label {Device:}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;} open
tooltip {Select serial port} xywh {200 183 150 22}
tooltip {Select serial port} xywh {200 143 150 22}
} {}
Fl_Round_Button btnRTSptt {
label {Use RTS}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {RTS is ptt signal line} xywh {147 223 85 20} down_box DOWN_BOX
tooltip {RTS is ptt signal line} xywh {147 183 85 20} down_box DOWN_BOX
}
Fl_Round_Button btnRTSplusV {
label {RTS = +V}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {Initial voltage on RTS} xywh {262 223 100 20} down_box DOWN_BOX
tooltip {Initial voltage on RTS} xywh {262 183 100 20} down_box DOWN_BOX
}
Fl_Round_Button btnDTRptt {
label {Use DTR}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {DTR is ptt signal line} xywh {147 253 85 20} down_box DOWN_BOX
tooltip {DTR is ptt signal line} xywh {147 213 85 20} down_box DOWN_BOX
}
Fl_Round_Button btnDTRplusV {
label {DTR = +V}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {Initial voltage on DTR} xywh {262 253 100 20} down_box DOWN_BOX
tooltip {Initial voltage on DTR} xywh {262 213 100 20} down_box DOWN_BOX
}
Fl_Button btnInitHWPTT {
label Initialize
callback {progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;}
tooltip {Initialize the H/W PTT interface} xywh {188 291 113 24}
tooltip {Initialize the H/W PTT interface} xywh {188 251 113 24}
}
Fl_Round_Button {btnPTT[4]} {
Fl_Round_Button btnTTYptt {
label {Use separate serial port PTT}
callback {if (o->value() == 1) {
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[5]->value(0);
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
callback {progdefaults.TTYptt=o->value();
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {Serial port H/W used for PTT} xywh {145 151 220 20} down_box DIAMOND_DOWN_BOX selection_color 1
tooltip {Serial port H/W used for PTT} xywh {145 111 220 20} down_box DIAMOND_DOWN_BOX selection_color 1
}
}
Fl_Check_Button btnPTTrightchannel {
label {Enable right audio channel PTT tone}
callback {progdefaults.PTTrightchannel = o->value();
Fl_Group {} {open
xywh {5 65 490 32} box ENGRAVED_FRAME
} {
Fl_Check_Button btnPTTrightchannel {
label {Enable right audio channel PTT tone}
callback {progdefaults.PTTrightchannel = o->value();
progdefaults.changed = true;}
tooltip {Can be used in lieu of or in addition to other PTT types} xywh {45 105 275 20} down_box DOWN_BOX
code0 {o->value(progdefaults.PTTrightchannel);}
tooltip {Can be used in lieu of or in addition to other PTT types} xywh {130 69 275 20} down_box DOWN_BOX
code0 {o->value(progdefaults.PTTrightchannel);}
}
}
Fl_Group {} {open selected
xywh {5 292 490 72} box ENGRAVED_FRAME
} {
Fl_Check_Button btnUsePPortPTT {
label {use parallel port for PTT}
callback {progdefaults.UsePPortPTT=o->value();
progdefaults.changed = true;}
xywh {154 304 191 15} down_box DOWN_BOX
code0 {o->value(progdefaults.UsePPortPTT);}
}
Fl_Check_Button btnUseUHrouterPTT {
label {use UHrouter for PTT}
callback {progdefaults.UseUHrouterPTT = o->value();
progdefaults.changed = true;}
xywh {154 330 191 15} down_box DOWN_BOX
code0 {o->value(progdefaults.UseUHrouterPTT);}
}
}
}
Fl_Group {} {
@ -1497,27 +1504,11 @@ progdefaults.changed = true;}
chkUSEHAMLIB->value(0);
chkUSEMEMMAP->value(0);
chkUSEXMLRPC->value(0);
btnPTT[1]->value(0);
btnPTT[1]->deactivate();
btnPTT[2]->value(0);
btnPTT[2]->deactivate();
btnPTT[3]->activate();
btnPTT[5]->activate();
progdefaults.chkUSEMEMMAPis = false;
progdefaults.chkUSEHAMLIBis = false;
progdefaults.chkUSERIGCATis = true;
progdefaults.chkUSEXMLRPCis = false;
} else {
btnPTT[0]->value(1);
btnPTT[3]->value(0);
btnPTT[3]->deactivate();
btnPTT[5]->value(0);
btnPTT[5]->deactivate();
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
btnRigCatRTSplus->value(0);
btnRigCatDTRplus->value(0);
chkRigCatRTSCTSflow->value(0);
progdefaults.chkUSERIGCATis = false;
}
btnInitRIGCAT->labelcolor(FL_RED);
@ -1526,7 +1517,7 @@ progdefaults.changed = true;}
tooltip {RigCAT used for rig control} xywh {195 60 110 20} down_box DOWN_BOX
}
Fl_Group grpRigCAT {open
xywh {5 85 490 142} box ENGRAVED_FRAME
xywh {5 83 490 279} box ENGRAVED_FRAME
} {
Fl_Output txtXmlRigFilename {
label {Rig description file:}
@ -1555,7 +1546,7 @@ progdefaults.changed = true;} open
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;} open
tooltip {Pick baud rate from list} xywh {386 147 99 22} down_box BORDER_BOX
tooltip {Pick baud rate from list} xywh {386 154 99 22} down_box BORDER_BOX
code0 {o->add(szBaudRates);}
code1 {o->value(progdefaults.XmlRigBaudrate);}
} {}
@ -1566,7 +1557,7 @@ btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {Number of times to resend
command before giving up} xywh {15 148 75 20} type Simple align 1 minimum 1 maximum 10 step 1 value 5
command before giving up} xywh {15 150 75 20} type Simple align 1 minimum 1 maximum 10 step 1 value 5
code0 {o->value(progdefaults.RigCatRetries);}
}
Fl_Counter cntRigCatTimeout {
@ -1575,7 +1566,7 @@ command before giving up} xywh {15 148 75 20} type Simple align 1 minimum 1 maxi
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {Time between retires is msec} xywh {153 148 75 20} type Simple align 1 minimum 2 maximum 200 step 1 value 10
tooltip {Time between retires is msec} xywh {153 155 75 20} type Simple align 1 minimum 2 maximum 200 step 1 value 10
code0 {o->value(progdefaults.RigCatTimeout);}
}
Fl_Counter cntRigCatWait {
@ -1584,7 +1575,7 @@ progdefaults.changed = true;}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {Millseconds between sequential commands} xywh {15 175 75 20} type Simple align 8 minimum 0 maximum 100 step 1 value 5
tooltip {Millseconds between sequential commands} xywh {15 185 75 20} type Simple align 8 minimum 0 maximum 100 step 1 value 5
code0 {o->value(progdefaults.RigCatWait);}
}
Fl_Button btnInitRIGCAT {
@ -1592,7 +1583,7 @@ progdefaults.changed = true;}
callback {progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;}
tooltip {Initialize RigCAT interface} xywh {372 193 113 24}
tooltip {Initialize RigCAT interface} xywh {365 321 113 24}
}
Fl_Check_Button btnRigCatEcho {
label {Commands are echoed}
@ -1600,65 +1591,55 @@ progdefaults.changed = true;}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {Rig or interface echos serial data} xywh {74 201 192 22} down_box DOWN_BOX
tooltip {Rig or interface echos serial data} xywh {50 216 192 22} down_box DOWN_BOX
code0 {o->value(progdefaults.RigCatECHO);}
}
}
Fl_Round_Button {btnPTT[3]} {
label {PTT via CAT command}
callback {if (o->value()== 1) {
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
Fl_Round_Button btnRigCatCMDptt {
label {CAT command for PTT}
callback {progdefaults.RigCatCMDptt=o->value();
if (o->value()== 1) {
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
progdefaults.RigCatRTSptt = false;
progdefaults.RigCatDTRptt = false;
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {PTT is a CAT command (not hardware)} xywh {20 232 180 20} down_box DIAMOND_DOWN_BOX selection_color 1 deactivate
}
Fl_Group grpRigCATPTT {open
xywh {5 256 490 100} box ENGRAVED_FRAME
} {
tooltip {PTT is a CAT command (not hardware)} xywh {256 217 207 20} down_box ROUND_DOWN_BOX selection_color 1
code0 {o->value(progdefaults.RigCatCMDptt);}
}
Fl_Round_Button btnRigCatRTSptt {
label {Toggle RTS for PTT}
callback {if (o->value() == 1) {
callback {progdefaults.RigCatRTSptt = o->value();
if (o->value() == 1) {
btnRigCatDTRptt->value(0);
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
progdefaults.RigCatRTSptt = true;
btnRigCatCMDptt->value(0);
progdefaults.RigCatDTRptt = false;
} else
progdefaults.RigCatRTSptt = false;
progdefaults.RigCatCMDptt = false;
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {RTS is ptt line} xywh {74 268 160 20} down_box ROUND_DOWN_BOX
tooltip {RTS is ptt line} xywh {50 250 160 20} down_box ROUND_DOWN_BOX
code0 {o->value(progdefaults.RigCatRTSptt);}
}
Fl_Round_Button btnRigCatDTRptt {
label {Toggle DTR for PTT}
callback {if (o->value() == 1) {
callback {progdefaults.RigCatDTRptt=o->value();
if (o->value() == 1) {
btnRigCatRTSptt->value(0);
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
progdefaults.RigCatDTRptt = true;
btnRigCatCMDptt->value(0);
progdefaults.RigCatRTSptt = false;
} else
progdefaults.RigCatDTRptt = false;
progdefaults.RigCatCMDptt = false;
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {DTR is ptt line} xywh {249 268 160 20} down_box ROUND_DOWN_BOX
tooltip {DTR is ptt line} xywh {256 250 160 20} down_box ROUND_DOWN_BOX
code0 {o->value(progdefaults.RigCatDTRptt);}
}
Fl_Check_Button btnRigCatRTSplus {
@ -1667,7 +1648,7 @@ progdefaults.changed = true;}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {Initial state of RTS} xywh {74 298 100 20} down_box DOWN_BOX
tooltip {Initial state of RTS} xywh {50 285 100 20} down_box DOWN_BOX
code0 {o->value(progdefaults.RigCatRTSplus);}
}
Fl_Check_Button btnRigCatDTRplus {
@ -1676,7 +1657,7 @@ progdefaults.changed = true;}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {Initial state of DTR} xywh {250 298 100 20} down_box DOWN_BOX
tooltip {Initial state of DTR} xywh {256 285 100 20} down_box DOWN_BOX
code0 {o->value(progdefaults.RigCatDTRplus);}
}
Fl_Check_Button chkRigCatRTSCTSflow {
@ -1685,59 +1666,34 @@ progdefaults.changed = true;}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw_label();
progdefaults.changed = true;}
tooltip {Rig uses RTS/CTS handshake} xywh {74 328 170 20} down_box DOWN_BOX
tooltip {Rig uses RTS/CTS handshake} xywh {50 320 170 20} down_box DOWN_BOX
code0 {o->value(progdefaults.RigCatRTSCTSflow);}
}
}
Fl_Round_Button {btnPTT[5]} {
label {PTT via serial port}
callback {if (o->value()== 1) {
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {PTT uses serial port RTS or DTR} xywh {275 232 180 20} down_box DIAMOND_DOWN_BOX selection_color 1 deactivate
}
}
Fl_Group tabHamlib {
label Hamlib open
xywh {0 50 500 320}
xywh {0 50 500 320} hide
} {
Fl_Check_Button chkUSEHAMLIB {
label {Use Hamlib}
callback {if (o->value() == 1) {
callback {progdefaults.chkUSEHAMLIBis = o->value();
if (o->value() == 1) {
chkUSEMEMMAP->value(0);
chkUSERIGCAT->value(0);
chkUSEXMLRPC->value(0);
btnPTT[3]->value(0);
btnPTT[3]->deactivate();
btnPTT[5]->value(0);
btnPTT[5]->deactivate();
btnPTT[2]->value(0);
btnPTT[2]->deactivate();
btnPTT[1]->activate();
progdefaults.chkUSEMEMMAPis = false;
progdefaults.chkUSEHAMLIBis = true;
progdefaults.chkUSERIGCATis = false;
progdefaults.chkUSEXMLRPCis = false;
} else {
btnPTT[0]->value(1);
btnPTT[1]->value(0);
btnPTT[1]->deactivate();
progdefaults.chkUSEHAMLIBis = false;
}
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {Hamlib used for rig control} xywh {195 60 100 20} down_box DOWN_BOX
}
Fl_Group grpHamlib {open
xywh {5 85 490 166} box ENGRAVED_FRAME
xywh {5 85 490 277} box ENGRAVED_FRAME
} {
Fl_Box cboHamlibRig {
label {Rig:}
@ -1754,7 +1710,7 @@ progdefaults.changed = true;}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;} open
tooltip {Serial port} xywh {341 95 144 22}
tooltip {Serial port} xywh {340 95 144 22}
code0 {o->value(progdefaults.HamRigDevice.c_str());}
} {}
Fl_Choice mnuBaudRate {
@ -1763,7 +1719,7 @@ progdefaults.changed = true;} open
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;} open
tooltip {Serial port baud rate} xywh {386 127 99 22} down_box BORDER_BOX
tooltip {Serial port baud rate} xywh {385 127 99 22} down_box BORDER_BOX
code0 {o->add(szBaudRates);}
code1 {o->value(progdefaults.HamRigBaudrate);}
} {}
@ -1802,7 +1758,7 @@ btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;}
tooltip {Optional configuration
in format: param=val ...} xywh {15 224 320 22} align 1
in format: param=val ...} xywh {20 328 320 22} align 1
code0 {inpHamlibConfig->value(progdefaults.HamConfig.c_str());}
class Fl_Input2
}
@ -1811,42 +1767,32 @@ in format: param=val ...} xywh {15 224 320 22} align 1
callback {progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;}
tooltip {Initialize hamlib interface} xywh {372 222 113 24}
tooltip {Initialize hamlib interface} xywh {371 327 113 24}
}
Fl_Choice mnuSideband {
label {Sideband:}
callback {progdefaults.HamlibSideband = o->value();
progdefaults.changed = true;} open
tooltip {Force the rig sideband. Takes
effect when rig mode changes.} xywh {341 175 144 22} down_box BORDER_BOX align 1
effect when rig mode changes.} xywh {340 175 144 22} down_box BORDER_BOX align 1
} {}
}
Fl_Round_Button {btnPTT[1]} {
label {PTT via Hamlib command}
callback {if (o->value() == 1) {
btnPTT[0]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
Fl_Round_Button btnHamlibCMDptt {
label {PTT via Hamlib command}
callback {progdefaults.HamlibCMDptt=o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;}
tooltip {PTT is a hamlib command} xywh {163 258 200 20} down_box DIAMOND_DOWN_BOX selection_color 1 deactivate
}
Fl_Group grpHamlibPTT {open
xywh {5 285 490 80} box ENGRAVED_FRAME
} {
tooltip {PTT is a hamlib command} xywh {45 215 200 20} down_box DIAMOND_DOWN_BOX selection_color 1
code0 {o->value(progdefaults.HamlibCMDptt);}
}
Fl_Check_Button btnHamlibDTRplus {
label {DTR +12}
callback {progdefaults.HamlibDTRplus = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;}
tooltip {Initial state of DTR} xywh {54 298 90 20} down_box DOWN_BOX
tooltip {Initial state of DTR} xywh {45 246 90 20} down_box DOWN_BOX
code0 {o->value(progdefaults.HamlibDTRplus);}
}
Fl_Check_Button chkHamlibRTSplus {
@ -1854,19 +1800,17 @@ progdefaults.changed = true;}
callback {progdefaults.HamlibRTSplus = o->value();
if (o->value() == 1) {
chkHamlibRTSCTSflow->value(0);
progdefaults.HamlibRTSCTSflow = false;
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;}
tooltip {Initial state of RTS} xywh {273 298 85 20} down_box DOWN_BOX
tooltip {Initial state of RTS} xywh {269 246 85 20} down_box DOWN_BOX
code0 {o->value(progdefaults.HamlibRTSplus);}
}
Fl_Check_Button chkHamlibRTSCTSflow {
label {RTS/CTS flow control}
callback {progdefaults.HamlibRTSCTSflow = o->value();
if (o->value() == 1) {
chkHamlibRTSplus->value(0);
progdefaults.HamlibRTSplus = false;
chkHamlibXONXOFFflow->value(0);
progdefaults.HamlibXONXOFFflow = false;
@ -1874,7 +1818,7 @@ if (o->value() == 1) {
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;}
tooltip {Rig requires RTS/CTS flow control} xywh {54 332 170 20} down_box DOWN_BOX
tooltip {Rig requires RTS/CTS flow control} xywh {45 280 170 20} down_box DOWN_BOX
code0 {o->value(progdefaults.HamlibRTSCTSflow);}
}
Fl_Check_Button chkHamlibXONXOFFflow {
@ -1887,7 +1831,7 @@ if (o->value() == 1) {
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw_label();
progdefaults.changed = true;}
tooltip {Rig requires Xon/Xoff flow control} xywh {273 332 185 20} down_box DOWN_BOX
tooltip {Rig requires Xon/Xoff flow control} xywh {269 280 185 20} down_box DOWN_BOX
code0 {o->value(progdefaults.HamlibXONXOFFflow);}
}
}
@ -1905,46 +1849,30 @@ progdefaults.changed = true;}
}
Fl_Check_Button chkUSEMEMMAP {
label {Use Memmap}
callback {if(o->value() == 1){
callback {progdefaults.chkUSEMEMMAPis = o->value();
if(o->value() == 1){
chkUSEHAMLIB->value(0);
chkUSERIGCAT->value(0);
chkUSEXMLRPC->value(0);
btnPTT[3]->value(0);
btnPTT[3]->deactivate();
btnPTT[1]->value(0);
btnPTT[1]->deactivate();
btnPTT[2]->activate();
progdefaults.chkUSEMEMMAPis = true;
progdefaults.chkUSEHAMLIBis = false;
progdefaults.chkUSERIGCATis = false;
progdefaults.chkUSEXMLRPCis = false;
} else {
if (btnPTT[2]->value()==1)
btnPTT[0]->value(1);
btnPTT[2]->value(0);
btnPTT[2]->deactivate();
progdefaults.chkUSEMEMMAPis = false;
}
}
btnInitMEMMAP->labelcolor(FL_RED);
btnInitMEMMAP->redraw_label();
progdefaults.changed = true;}
tooltip {Rig control via memory mapped Kachina} xywh {160 147 120 20} down_box DOWN_BOX
code0 {o->value(progdefaults.chkUSEMEMMAPis);}
}
Fl_Round_Button {btnPTT[2]} {
Fl_Round_Button btnMEMMAPptt {
label {Use Memmap PTT}
callback {if (o->value() == 1) {
btnPTT[0]->value(0);
btnPTT[1]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
callback {progdefaults.MEMMAPptt=o->value();
btnInitMEMMAP->labelcolor(FL_RED);
btnInitMEMMAP->redraw_label();
progdefaults.changed = true;}
xywh {160 177 150 20} down_box DIAMOND_DOWN_BOX selection_color 1 deactivate
xywh {160 177 150 20} down_box DIAMOND_DOWN_BOX selection_color 1
}
Fl_Button btnInitMEMMAP {
label Initialize
@ -1968,23 +1896,16 @@ progdefaults.changed = true;}
}
Fl_Check_Button chkUSEXMLRPC {
label {Use XML-RPC program}
callback {if(o->value() == 1){
callback {progdefaults.chkUSEXMLRPCis = o->value();
if(o->value() == 1){
chkUSEHAMLIB->value(0);
chkUSERIGCAT->value(0);
chkUSEMEMMAP->value(0);
btnPTT[0]->value(1);
btnPTT[1]->value(0);
btnPTT[2]->value(0);
btnPTT[3]->value(0);
btnPTT[4]->value(0);
btnPTT[5]->value(0);
progdefaults.chkUSEMEMMAPis = false;
progdefaults.chkUSEHAMLIBis = false;
progdefaults.chkUSERIGCATis = false;
progdefaults.chkUSEXMLRPCis = true;
} else {
progdefaults.chkUSEXMLRPCis = false;
}
}
btnInitXMLRPC->labelcolor(FL_RED);
btnInitXMLRPC->redraw_label();
progdefaults.changed = true;}

Wyświetl plik

@ -6,6 +6,8 @@
#include "globals.h"
#include "modem.h"
#include "configuration.h"
#include "combo.h"
#include "flinput2.h"
extern Fl_Double_Window *dlgConfig;
void set_qrz_buttons(Fl_Button* b);
#include <FL/Fl_Double_Window.H>
@ -178,16 +180,19 @@ extern Fl_Value_Slider *valThorCWI;
extern Fl_Counter *valTHOR_PATHS;
extern Fl_Group *tabRig;
extern Fl_Tabs *tabsRig;
#include <FL/Fl_Round_Button.H>
extern Fl_Group *grpHWPTT;
#include <FL/Fl_Input_Choice.H>
extern Fl_Input_Choice *inpTTYdev;
#include <FL/Fl_Round_Button.H>
extern Fl_Round_Button *btnRTSptt;
extern Fl_Round_Button *btnRTSplusV;
extern Fl_Round_Button *btnDTRptt;
extern Fl_Round_Button *btnDTRplusV;
extern Fl_Button *btnInitHWPTT;
extern Fl_Round_Button *btnTTYptt;
extern Fl_Check_Button *btnPTTrightchannel;
extern Fl_Check_Button *btnUsePPortPTT;
extern Fl_Check_Button *btnUseUHrouterPTT;
extern Fl_Check_Button *chkUSERIGCAT;
extern Fl_Group *grpRigCAT;
#include <FL/Fl_Output.H>
@ -200,13 +205,12 @@ extern Fl_Counter *cntRigCatTimeout;
extern Fl_Counter *cntRigCatWait;
extern Fl_Button *btnInitRIGCAT;
extern Fl_Check_Button *btnRigCatEcho;
extern Fl_Group *grpRigCATPTT;
extern Fl_Round_Button *btnRigCatCMDptt;
extern Fl_Round_Button *btnRigCatRTSptt;
extern Fl_Round_Button *btnRigCatDTRptt;
extern Fl_Check_Button *btnRigCatRTSplus;
extern Fl_Check_Button *btnRigCatDTRplus;
extern Fl_Check_Button *chkRigCatRTSCTSflow;
extern Fl_Round_Button *btnPTT[6];
extern Fl_Group *tabHamlib;
extern Fl_Check_Button *chkUSEHAMLIB;
extern Fl_Group *grpHamlib;
@ -219,13 +223,14 @@ extern Fl_Counter *cntHamlibWait;
extern Fl_Input2 *inpHamlibConfig;
extern Fl_Button *btnInitHAMLIB;
extern Fl_Choice *mnuSideband;
extern Fl_Group *grpHamlibPTT;
extern Fl_Round_Button *btnHamlibCMDptt;
extern Fl_Check_Button *btnHamlibDTRplus;
extern Fl_Check_Button *chkHamlibRTSplus;
extern Fl_Check_Button *chkHamlibRTSCTSflow;
extern Fl_Check_Button *chkHamlibXONXOFFflow;
extern Fl_Group *grpMemmap;
extern Fl_Check_Button *chkUSEMEMMAP;
extern Fl_Round_Button *btnMEMMAPptt;
extern Fl_Button *btnInitMEMMAP;
extern Fl_Group *tabXMLRPC;
extern Fl_Group *grpXMLRPC;

Wyświetl plik

@ -185,13 +185,11 @@
ELEM_(bool, QRZchanged, "", false) \
/* Rig control */ \
ELEM_(bool, btnusb, "BTNUSB", true) \
ELEM_(int, btnPTTis, "BTNPTTIS", 0) \
ELEM_(bool, RTSptt, "RTSPTT", false) \
ELEM_(bool, DTRptt, "DTRPTT", false) \
ELEM_(bool, RTSplus, "RTSPLUS", false) \
ELEM_(bool, DTRplus, "DTRPLUS", false) \
ELEM_(bool, PTTrightchannel, "PTTRIGHTCHANNEL", false) \
ELEM_(int, choiceHAMLIBis, "CHOICEHAMLIBIS", 0) \
ELEM_(int, chkUSEMEMMAPis, "CHKUSEMEMMAPIS", 0) \
ELEM_(int, chkUSEHAMLIBis, "CHKUSEHAMLIBIS", 0) \
ELEM_(int, chkUSERIGCATis, "CHKUSERIGCATIS", 0) \
@ -206,6 +204,12 @@
ELEM_(std::string, XmlRigFilename, "XMLRIGFILENAME", "") \
ELEM_(std::string, XmlRigDevice, "XMLRIGDEVICE", DEFAULT_HAMRIGDEVICE) \
ELEM_(int, XmlRigBaudrate, "XMLRIGBAUDRATE", 1) \
ELEM_(bool, TTYptt, "TTYPTT", false) \
ELEM_(bool, HamlibCMDptt, "HAMLIBCMDPTT", false) \
ELEM_(bool, RigCatCMDptt, "RIGCATCMDPTT", false) \
ELEM_(bool, MEMMAPptt, "MEMMAPPTT", false) \
ELEM_(bool, UseUHrouterPTT, "USEUHROUTERPTT", false) \
ELEM_(bool, UsePPortPTT, "USEPPORTPTT", false) \
/* RigCAT parameters */ \
ELEM_(bool, RigCatRTSplus, "RIGCATRTSPLUS", 0) \
ELEM_(bool, RigCatDTRplus, "RIGCATDTRPLUS", 0) \

Wyświetl plik

@ -51,15 +51,11 @@ struct termios;
class PTT {
public:
// The ptt_t enums must be defined even if the corresponding
// code is not compiled. New tags go to the end of the list.
enum ptt_t {
PTT_INVALID = -1, PTT_NONE, PTT_HAMLIB, PTT_MEMMAP,
PTT_RIGCAT, PTT_TTY, PTT_RIGCAT_HW,
#if HAVE_PARPORT
PTT_PARPORT,
#endif
#if HAVE_UHROUTER
PTT_UHROUTER,
#endif
PTT_RIGCAT, PTT_TTY, PTT_PARPORT, PTT_UHROUTER,
};
PTT(ptt_t dev = PTT_NONE);

Wyświetl plik

@ -377,19 +377,17 @@ int configuration::setDefaults()
valDominoEX_PATHS->value(DOMINOEX_PATHS);
valDomCWI->value(DomCWI);
for (size_t i = 0; i < sizeof(btnPTT)/sizeof(*btnPTT); i++) {
btnPTT[i]->value(0);
btnPTT[i]->activate();
}
btnPTT[btnPTTis]->value(1);
btnMEMMAPptt->value(MEMMAPptt);
btnRigCatCMDptt->value(RigCatCMDptt);
btnTTYptt->value(TTYptt);
#if USE_HAMLIB
mnuSideband->add("Rig mode");
mnuSideband->add("Always LSB");
mnuSideband->add("Always USB");
mnuSideband->value(HamlibSideband);
btnPTT[1]->activate();
chkUSEHAMLIB->activate();
inpRIGdev->show();
btnHamlibCMDptt->value(HamlibCMDptt);
inpRIGdev->show();
mnuBaudRate->show();
cboHamlibRig->show();
cboHamlibRig->value(HamRigName.c_str());
@ -406,23 +404,18 @@ int configuration::setDefaults()
if(chkUSEMEMMAPis) {
chkUSEMEMMAP->value(1);
chkUSEHAMLIB->value(0); chkUSERIGCAT->value(0); chkUSEXMLRPC->value(0);
btnPTT[1]->deactivate(); btnPTT[2]->activate(); btnPTT[3]->deactivate();
} else if (chkUSEHAMLIBis) {
chkUSEHAMLIB->value(1);
chkUSEMEMMAP->value(0); chkUSERIGCAT->value(0); chkUSEXMLRPC->value(0);
btnPTT[1]->activate(); btnPTT[2]->deactivate(); btnPTT[3]->deactivate();
} else if (chkUSERIGCATis) {
chkUSERIGCAT->value(1);
chkUSEMEMMAP->value(0); chkUSEHAMLIB->value(0); chkUSEXMLRPC->value(0);
btnPTT[1]->deactivate(); btnPTT[2]->deactivate(); btnPTT[3]->activate();
} else if (chkUSEXMLRPCis) {
chkUSEXMLRPC->value(1);
chkUSEMEMMAP->value(0); chkUSEHAMLIB->value(0); chkUSERIGCAT->value(0);
btnPTT[1]->deactivate(); btnPTT[2]->deactivate(); btnPTT[3]->deactivate();
} else {
chkUSEMEMMAP->value(0); chkUSEHAMLIB->value(0);
chkUSERIGCAT->value(0); chkUSEHAMLIB->value(0); chkUSEXMLRPC->value(0);
btnPTT[1]->deactivate(); btnPTT[2]->deactivate(); btnPTT[3]->deactivate();
}
inpRIGdev->value(HamRigDevice.c_str());
@ -535,6 +528,18 @@ int configuration::setDefaults()
wf->setcolors();
setColorButtons();
#if HAVE_UHROUTER
btnUseUHrouterPTT->show();
#else
btnUseUHrouterPTT->hide();
#endif
#if HAVE_PARPORT
btnUsePPortPTT->show();
#else
btnUsePPortPTT->hide();
#endif
return 1;
}
@ -571,12 +576,9 @@ void configuration::initInterface()
rigCAT_close();
// MilliSleep(100);
btnPTTis = (btnPTT[0]->value() ? 0 :
btnPTT[1]->value() ? 1 :
btnPTT[2]->value() ? 2 :
btnPTT[3]->value() ? 3 :
btnPTT[4]->value() ? 4 :
btnPTT[5]->value() ? 5 : 0); // default is None
MEMMAPptt = btnMEMMAPptt->value();
RigCatCMDptt = btnRigCatCMDptt->value();
TTYptt = btnTTYptt->value();
RTSptt = btnRTSptt->value();
DTRptt = btnDTRptt->value();
@ -587,6 +589,7 @@ void configuration::initInterface()
#if USE_HAMLIB
chkUSEHAMLIBis = chkUSEHAMLIB->value();
HamlibCMDptt = btnHamlibCMDptt->value();
#endif
chkUSEMEMMAPis = chkUSEMEMMAP->value();
chkUSERIGCATis = chkUSERIGCAT->value();
@ -608,7 +611,6 @@ void configuration::initInterface()
if (chkUSEMEMMAPis) {// start the memory mapped i/o thread
if (rigMEM_init()) {
btnPTT[2]->activate();
wf->setQSY(1);
if (docked_rig_control)
qsoFreqDisp->activate();
@ -624,7 +626,7 @@ void configuration::initInterface()
}
#if USE_HAMLIB
} else if (chkUSEHAMLIBis) { // start the hamlib thread
if (hamlib_init(btnPTTis == 1 ? true : false)) {
if (hamlib_init(true)) {
wf->USB(true);
wf->setQSY(1);
if (docked_rig_control)
@ -644,7 +646,17 @@ void configuration::initInterface()
qsoFreqDisp->activate();
}
push2talk->reset(static_cast<PTT::ptt_t>(btnPTTis));
if (HamlibCMDptt && chkUSEHAMLIBis)
push2talk->reset(PTT::PTT_HAMLIB);
else if (MEMMAPptt && chkUSEMEMMAPis)
push2talk->reset(PTT::PTT_MEMMAP);
else if ((RigCatCMDptt || RigCatRTSptt || RigCatDTRptt) && chkUSERIGCATis)
push2talk->reset(PTT::PTT_RIGCAT);
else if (TTYptt)
push2talk->reset(PTT::PTT_TTY);
else
push2talk->reset(PTT::PTT_NONE);
wf->setRefLevel();
wf->setAmpSpan();
cntLowFreqCutoff->value(LowFreqCutoff);

Wyświetl plik

@ -73,37 +73,30 @@ void PTT::reset(ptt_t dev)
close_all();
switch (pttdev = dev) {
case PTT_INVALID: default:
LOG_ERROR("Bad PTT device type %d. Disabling PTT.", pttdev);
pttdev = PTT_NONE;
// fall through
case PTT_NONE: case PTT_HAMLIB: case PTT_MEMMAP:
case PTT_RIGCAT: case PTT_RIGCAT_HW :
break; // nothing to open
case PTT_TTY:
#if HAVE_UHROUTER
if (progdefaults.PTTdev.find(UHROUTER_FIFO_PREFIX) == 0) {
pttdev = PTT_UHROUTER;
open_uhrouter();
break;
}
case PTT_UHROUTER:
if (progdefaults.PTTdev.find(UHROUTER_FIFO_PREFIX) == 0) {
pttdev = PTT_UHROUTER;
open_uhrouter();
break;
} else {
pttdev = PTT_NONE;
break;
}
#endif
#if HAVE_PARPORT
open_parport();
if (pttfd >= 0)
pttdev = PTT_PARPORT;
else
#endif
open_tty();
break;
#if HAVE_UHROUTER
case PTT_UHROUTER:
open_uhrouter();
break;
case PTT_PARPORT:
open_parport();
if (pttfd < 0)
pttdev = PTT_NONE;
break;
#endif
case PTT_TTY:
open_tty();
break;
default:
break; // nothing to open
}
set(false);
}
@ -127,9 +120,6 @@ void PTT::set(bool ptt)
case PTT_RIGCAT:
rigCAT_set_ptt(ptt);
break;
case PTT_RIGCAT_HW :
rigCAT_set_ptt(ptt);
break;
case PTT_TTY:
set_tty(ptt);
break;