kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Upstream version 3.03AM
rodzic
4975a5d6ea
commit
28abb21cfd
|
@ -35,6 +35,12 @@ Change Log:
|
|||
replays audio history buffer.
|
||||
20) OS X resize handle / button overlay fixed
|
||||
21) Modified sound port Event Log message.
|
||||
22) Added Callsign to Title Bar "NO CALLSIGN SET" if the MyCallsign is
|
||||
void.
|
||||
23) Added "log.clear" to xmlrpc command set - clears the data in the
|
||||
logbook fields.
|
||||
24) If compiled into the executable the xmlrpc server is always started.
|
||||
ARQ server is also started. Both can be serviced concurrently.
|
||||
|
||||
3.02
|
||||
1) Added hamlib interface for rig control
|
||||
|
|
|
@ -9,7 +9,7 @@ dnl major and minor must be integers; patch may
|
|||
dnl contain other characters or be empty
|
||||
m4_define(FLDIGI_MAJOR, [3])
|
||||
m4_define(FLDIGI_MINOR, [0])
|
||||
m4_define(FLDIGI_PATCH, [3AL])
|
||||
m4_define(FLDIGI_PATCH, [3AM])
|
||||
|
||||
AC_INIT([fldigi], FLDIGI_MAJOR.FLDIGI_MINOR[FLDIGI_PATCH], [w1hkj AT w1hkj DOT com])
|
||||
|
||||
|
|
|
@ -30,6 +30,8 @@ progdefaults.secText = o->value();
|
|||
progdefaults.secText.append(" ");
|
||||
txtSecondary->value(progdefaults.secText.c_str());
|
||||
}
|
||||
progdefaults.myCall = o->value();
|
||||
update_main_title();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
|
@ -405,45 +407,13 @@ o->value(1);
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkUSERIGCAT=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkUSERIGCAT(Fl_Check_Button* o, void*) {
|
||||
if (o->value() == 1) {
|
||||
chkUSEHAMLIB->value(0);
|
||||
chkUSEMEMMAP->value(0);
|
||||
btnPTT[1]->value(0);
|
||||
btnPTT[1]->deactivate();
|
||||
btnPTT[2]->value(0);
|
||||
btnPTT[2]->deactivate();
|
||||
btnPTT[3]->activate();
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
} else {
|
||||
if (btnPTT[3]->value() == 1)
|
||||
btnPTT[0]->value(1);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
}
|
||||
for (int i = 0; i < 4; btnPTT[i++]->redraw());
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
static void cb_btnPTT2(Fl_Round_Button* o, void*) {
|
||||
btnPTT[0]->value(0);
|
||||
btnPTT[1]->value(0);
|
||||
btnPTT[2]->value(0);
|
||||
btnPTT[4]->value(0);
|
||||
o->value(1);
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkUSEHAMLIB=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkUSEHAMLIB(Fl_Check_Button* o, void*) {
|
||||
if (o->value() == 1) {
|
||||
chkUSEMEMMAP->value(0);
|
||||
chkUSERIGCAT->value(0);
|
||||
chkUSEXMLRPC->value(0);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
btnPTT[2]->value(0);
|
||||
|
@ -477,7 +447,7 @@ static void cb_mnuBaudRate(Fl_Choice*, void*) {
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
static void cb_btnPTT3(Fl_Round_Button* o, void*) {
|
||||
static void cb_btnPTT2(Fl_Round_Button* o, void*) {
|
||||
btnPTT[0]->value(0);
|
||||
btnPTT[2]->value(0);
|
||||
btnPTT[3]->value(0);
|
||||
|
@ -492,12 +462,47 @@ static void cb_inpRIGdev(Fl_Input_Choice*, void*) {
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkUSERIGCAT=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkUSERIGCAT(Fl_Check_Button* o, void*) {
|
||||
if (o->value() == 1) {
|
||||
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();
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
} else {
|
||||
if (btnPTT[3]->value() == 1)
|
||||
btnPTT[0]->value(1);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
}
|
||||
for (int i = 0; i < 4; btnPTT[i++]->redraw());
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
static void cb_btnPTT3(Fl_Round_Button* o, void*) {
|
||||
btnPTT[0]->value(0);
|
||||
btnPTT[1]->value(0);
|
||||
btnPTT[2]->value(0);
|
||||
btnPTT[4]->value(0);
|
||||
o->value(1);
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkUSEMEMMAP=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkUSEMEMMAP(Fl_Check_Button* o, void*) {
|
||||
if(o->value() == 1){
|
||||
chkUSEHAMLIB->value(0);
|
||||
chkUSERIGCAT->value(0);
|
||||
chkUSEXMLRPC->value(0);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
btnPTT[1]->value(0);
|
||||
|
@ -525,6 +530,26 @@ o->value(1);
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *chkUSEXMLRPC=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_chkUSEXMLRPC(Fl_Check_Button* o, void*) {
|
||||
if(o->value() == 1){
|
||||
chkUSEHAMLIB->value(0);
|
||||
chkUSERIGCAT->value(0);
|
||||
chkUSEMEMMAP->value(0);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
btnPTT[1]->value(0);
|
||||
btnPTT[1]->deactivate();
|
||||
btnPTT[2]->activate();
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
}
|
||||
for (int i = 0; i < 4; btnPTT[i++]->redraw());
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Button *btnInit_Interface=(Fl_Button *)0;
|
||||
|
||||
static void cb_btnInit_Interface(Fl_Button*, void*) {
|
||||
|
@ -1416,6 +1441,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
tabOperator->selection_color((Fl_Color)51);
|
||||
tabOperator->callback((Fl_Callback*)cb_tabOperator);
|
||||
tabOperator->when(FL_WHEN_CHANGED);
|
||||
tabOperator->hide();
|
||||
{ inpMyCallsign = new Fl_Input(78, 36, 85, 24, "Callsign:");
|
||||
inpMyCallsign->callback((Fl_Callback*)cb_inpMyCallsign);
|
||||
} // Fl_Input* inpMyCallsign
|
||||
|
@ -1626,7 +1652,8 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
o->hide();
|
||||
{ Fl_Group* o = new Fl_Group(5, 56, 390, 158);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
{ Fl_Check_Button* o = btnWaterfallHistoryDefault = new Fl_Check_Button(15, 66, 170, 20, "Click Replays History");
|
||||
{ Fl_Check_Button* o = btnWaterfallHistoryDefault = new Fl_Check_Button(15, 66, 266, 20, "Lft/Rt Click Replays History always");
|
||||
btnWaterfallHistoryDefault->tooltip("Disabled - Ctrl-Lft click plays history");
|
||||
btnWaterfallHistoryDefault->down_box(FL_DOWN_BOX);
|
||||
btnWaterfallHistoryDefault->callback((Fl_Callback*)cb_btnWaterfallHistoryDefault);
|
||||
o->value(progdefaults.WaterfallHistoryDefault);
|
||||
|
@ -1713,7 +1740,6 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
tabVideo->end();
|
||||
} // Fl_Group* tabVideo
|
||||
{ tabRig = new Fl_Group(0, 25, 400, 195, "Rig");
|
||||
tabRig->hide();
|
||||
{ Fl_Group* o = new Fl_Group(10, 36, 185, 150, "Ptt");
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
|
@ -1756,24 +1782,8 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
} // Fl_Round_Button* btnPTT[4]
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ Fl_Tabs* o = new Fl_Tabs(200, 34, 200, 152);
|
||||
{ Fl_Group* o = new Fl_Group(200, 60, 200, 120, "RigCAT");
|
||||
{ chkUSERIGCAT = new Fl_Check_Button(345, 75, 20, 20, "use rigCAT");
|
||||
chkUSERIGCAT->down_box(FL_DOWN_BOX);
|
||||
chkUSERIGCAT->callback((Fl_Callback*)cb_chkUSERIGCAT);
|
||||
chkUSERIGCAT->align(FL_ALIGN_LEFT);
|
||||
} // Fl_Check_Button* chkUSERIGCAT
|
||||
{ btnPTT[3] = new Fl_Round_Button(345, 105, 20, 19, "use RigCAT PTT");
|
||||
btnPTT[3]->down_box(FL_DIAMOND_DOWN_BOX);
|
||||
btnPTT[3]->selection_color((Fl_Color)1);
|
||||
btnPTT[3]->callback((Fl_Callback*)cb_btnPTT2);
|
||||
btnPTT[3]->align(FL_ALIGN_LEFT);
|
||||
btnPTT[3]->deactivate();
|
||||
} // Fl_Round_Button* btnPTT[3]
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ Fl_Group* o = new Fl_Group(200, 60, 200, 120, "Hamlib");
|
||||
o->hide();
|
||||
{ Fl_Tabs* o = new Fl_Tabs(200, 34, 200, 150);
|
||||
{ Fl_Group* o = new Fl_Group(200, 60, 200, 120, "Ham");
|
||||
{ chkUSEHAMLIB = new Fl_Check_Button(350, 64, 20, 20, "use Hamlib");
|
||||
chkUSEHAMLIB->down_box(FL_DOWN_BOX);
|
||||
chkUSEHAMLIB->callback((Fl_Callback*)cb_chkUSEHAMLIB);
|
||||
|
@ -1802,7 +1812,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
{ btnPTT[1] = new Fl_Round_Button(350, 83, 20, 20, "use Hamlib PTT");
|
||||
btnPTT[1]->down_box(FL_DIAMOND_DOWN_BOX);
|
||||
btnPTT[1]->selection_color((Fl_Color)1);
|
||||
btnPTT[1]->callback((Fl_Callback*)cb_btnPTT3);
|
||||
btnPTT[1]->callback((Fl_Callback*)cb_btnPTT2);
|
||||
btnPTT[1]->align(FL_ALIGN_LEFT);
|
||||
btnPTT[1]->deactivate();
|
||||
} // Fl_Round_Button* btnPTT[1]
|
||||
|
@ -1812,20 +1822,63 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
} // Fl_Input_Choice* inpRIGdev
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ Fl_Group* o = new Fl_Group(200, 60, 200, 120, "Memmap");
|
||||
{ Fl_Group* o = new Fl_Group(200, 60, 200, 120, "RigCAT");
|
||||
o->hide();
|
||||
{ chkUSEMEMMAP = new Fl_Check_Button(345, 75, 20, 20, "use Memmap");
|
||||
{ chkUSERIGCAT = new Fl_Check_Button(350, 121, 20, 20, "use rigCAT");
|
||||
chkUSERIGCAT->down_box(FL_DOWN_BOX);
|
||||
chkUSERIGCAT->callback((Fl_Callback*)cb_chkUSERIGCAT);
|
||||
chkUSERIGCAT->align(FL_ALIGN_LEFT);
|
||||
} // Fl_Check_Button* chkUSERIGCAT
|
||||
{ btnPTT[3] = new Fl_Round_Button(350, 147, 20, 19, "use RigCAT PTT");
|
||||
btnPTT[3]->down_box(FL_DIAMOND_DOWN_BOX);
|
||||
btnPTT[3]->selection_color((Fl_Color)1);
|
||||
btnPTT[3]->callback((Fl_Callback*)cb_btnPTT3);
|
||||
btnPTT[3]->align(FL_ALIGN_LEFT);
|
||||
btnPTT[3]->deactivate();
|
||||
} // Fl_Round_Button* btnPTT[3]
|
||||
{ Fl_Output* o = new Fl_Output(205, 65, 190, 50);
|
||||
o->type(12);
|
||||
o->box(FL_BORDER_BOX);
|
||||
o->color(FL_LIGHT1);
|
||||
o->value("Control specified in rig.xml\nfile");
|
||||
} // Fl_Output* o
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ Fl_Group* o = new Fl_Group(200, 60, 200, 120, "Mem");
|
||||
o->hide();
|
||||
{ chkUSEMEMMAP = new Fl_Check_Button(350, 131, 20, 20, "use Memmap");
|
||||
chkUSEMEMMAP->down_box(FL_DOWN_BOX);
|
||||
chkUSEMEMMAP->callback((Fl_Callback*)cb_chkUSEMEMMAP);
|
||||
chkUSEMEMMAP->align(FL_ALIGN_LEFT);
|
||||
} // Fl_Check_Button* chkUSEMEMMAP
|
||||
{ btnPTT[2] = new Fl_Round_Button(345, 105, 20, 20, "use Memmap PTT");
|
||||
{ btnPTT[2] = new Fl_Round_Button(350, 151, 20, 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_btnPTT4);
|
||||
btnPTT[2]->align(FL_ALIGN_LEFT);
|
||||
btnPTT[2]->deactivate();
|
||||
} // Fl_Round_Button* btnPTT[2]
|
||||
{ Fl_Output* o = new Fl_Output(205, 70, 190, 58);
|
||||
o->type(12);
|
||||
o->box(FL_BORDER_BOX);
|
||||
o->color(FL_LIGHT1);
|
||||
o->value("Control via Memory Mapped\nshared variables\nie: Kachina program");
|
||||
} // Fl_Output* o
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ Fl_Group* o = new Fl_Group(200, 60, 200, 120, "Ext");
|
||||
o->hide();
|
||||
{ chkUSEXMLRPC = new Fl_Check_Button(366, 142, 20, 20, "use xmlrpc program");
|
||||
chkUSEXMLRPC->down_box(FL_DOWN_BOX);
|
||||
chkUSEXMLRPC->callback((Fl_Callback*)cb_chkUSEXMLRPC);
|
||||
chkUSEXMLRPC->align(FL_ALIGN_LEFT);
|
||||
} // Fl_Check_Button* chkUSEXMLRPC
|
||||
{ Fl_Output* o = new Fl_Output(205, 67, 190, 58);
|
||||
o->type(12);
|
||||
o->box(FL_BORDER_BOX);
|
||||
o->color(FL_LIGHT1);
|
||||
o->value("Rig control via external\nprogram using xmlrpc\nremote calls.");
|
||||
} // Fl_Output* o
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
o->end();
|
||||
|
|
|
@ -46,8 +46,8 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
} {
|
||||
Fl_Group tabOperator {
|
||||
label Oper
|
||||
callback {progdefaults.changed = true;} open selected
|
||||
xywh {0 25 400 195} color 51 selection_color 51 when 1
|
||||
callback {progdefaults.changed = true;} open
|
||||
xywh {0 25 400 195} color 51 selection_color 51 when 1 hide
|
||||
} {
|
||||
Fl_Input inpMyCallsign {
|
||||
label {Callsign:}
|
||||
|
@ -61,6 +61,8 @@ progdefaults.secText = o->value();
|
|||
progdefaults.secText.append(" ");
|
||||
txtSecondary->value(progdefaults.secText.c_str());
|
||||
}
|
||||
progdefaults.myCall = o->value();
|
||||
update_main_title();
|
||||
progdefaults.changed = true;}
|
||||
xywh {78 36 85 24}
|
||||
}
|
||||
|
@ -359,10 +361,10 @@ progdefaults.changed = true;
|
|||
xywh {5 56 390 158} box ENGRAVED_FRAME
|
||||
} {
|
||||
Fl_Check_Button btnWaterfallHistoryDefault {
|
||||
label {Click Replays History}
|
||||
label {Lft/Rt Click Replays History always}
|
||||
callback {progdefaults.WaterfallHistoryDefault = o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {15 66 170 20} down_box DOWN_BOX
|
||||
tooltip {Disabled - Ctrl-Lft click plays history} xywh {15 66 266 20} down_box DOWN_BOX
|
||||
code0 {o->value(progdefaults.WaterfallHistoryDefault);}
|
||||
}
|
||||
}
|
||||
|
@ -445,8 +447,8 @@ progdefaults.changed = true;}
|
|||
}
|
||||
}
|
||||
Fl_Group tabRig {
|
||||
label Rig
|
||||
xywh {0 25 400 195} hide
|
||||
label Rig open
|
||||
xywh {0 25 400 195}
|
||||
} {
|
||||
Fl_Group {} {
|
||||
label Ptt open
|
||||
|
@ -507,55 +509,18 @@ progdefaults.changed = true;}
|
|||
}
|
||||
}
|
||||
Fl_Tabs {} {open
|
||||
xywh {200 34 200 152}
|
||||
xywh {200 34 200 150}
|
||||
} {
|
||||
Fl_Group {} {
|
||||
label RigCAT open
|
||||
label Ham open selected
|
||||
xywh {200 60 200 120}
|
||||
} {
|
||||
Fl_Check_Button chkUSERIGCAT {
|
||||
label {use rigCAT}
|
||||
callback {if (o->value() == 1) {
|
||||
chkUSEHAMLIB->value(0);
|
||||
chkUSEMEMMAP->value(0);
|
||||
btnPTT[1]->value(0);
|
||||
btnPTT[1]->deactivate();
|
||||
btnPTT[2]->value(0);
|
||||
btnPTT[2]->deactivate();
|
||||
btnPTT[3]->activate();
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
} else {
|
||||
if (btnPTT[3]->value() == 1)
|
||||
btnPTT[0]->value(1);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
}
|
||||
for (int i = 0; i < 4; btnPTT[i++]->redraw());
|
||||
progdefaults.changed = true;}
|
||||
xywh {345 75 20 20} down_box DOWN_BOX align 4
|
||||
}
|
||||
Fl_Round_Button {btnPTT[3]} {
|
||||
label {use RigCAT PTT}
|
||||
callback {btnPTT[0]->value(0);
|
||||
btnPTT[1]->value(0);
|
||||
btnPTT[2]->value(0);
|
||||
btnPTT[4]->value(0);
|
||||
o->value(1);
|
||||
progdefaults.changed = true;}
|
||||
xywh {345 105 20 19} down_box DIAMOND_DOWN_BOX selection_color 1 align 4 deactivate
|
||||
}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label Hamlib open
|
||||
xywh {200 60 200 120} hide
|
||||
} {
|
||||
Fl_Check_Button chkUSEHAMLIB {
|
||||
label {use Hamlib}
|
||||
callback {if (o->value() == 1) {
|
||||
chkUSEMEMMAP->value(0);
|
||||
chkUSERIGCAT->value(0);
|
||||
chkUSEXMLRPC->value(0);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
btnPTT[2]->value(0);
|
||||
|
@ -602,12 +567,55 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Input_Choice inpRIGdev {
|
||||
label {Port:}
|
||||
callback {progdefaults.changed = true;} open selected
|
||||
callback {progdefaults.changed = true;} open
|
||||
xywh {246 130 144 22} deactivate
|
||||
} {}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label Memmap open
|
||||
label RigCAT open
|
||||
xywh {200 60 200 120} hide
|
||||
} {
|
||||
Fl_Check_Button chkUSERIGCAT {
|
||||
label {use rigCAT}
|
||||
callback {if (o->value() == 1) {
|
||||
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();
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
} else {
|
||||
if (btnPTT[3]->value() == 1)
|
||||
btnPTT[0]->value(1);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
}
|
||||
for (int i = 0; i < 4; btnPTT[i++]->redraw());
|
||||
progdefaults.changed = true;}
|
||||
xywh {350 121 20 20} down_box DOWN_BOX align 4
|
||||
}
|
||||
Fl_Round_Button {btnPTT[3]} {
|
||||
label {use RigCAT PTT}
|
||||
callback {btnPTT[0]->value(0);
|
||||
btnPTT[1]->value(0);
|
||||
btnPTT[2]->value(0);
|
||||
btnPTT[4]->value(0);
|
||||
o->value(1);
|
||||
progdefaults.changed = true;}
|
||||
xywh {350 147 20 19} down_box DIAMOND_DOWN_BOX selection_color 1 align 4 deactivate
|
||||
}
|
||||
Fl_Output {} {
|
||||
xywh {205 65 190 50} type Multiline box BORDER_BOX color 50
|
||||
code0 {o->value("Control specified in rig.xml\\nfile");}
|
||||
}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label Mem open
|
||||
xywh {200 60 200 120} hide
|
||||
} {
|
||||
Fl_Check_Button chkUSEMEMMAP {
|
||||
|
@ -615,6 +623,7 @@ progdefaults.changed = true;}
|
|||
callback {if(o->value() == 1){
|
||||
chkUSEHAMLIB->value(0);
|
||||
chkUSERIGCAT->value(0);
|
||||
chkUSEXMLRPC->value(0);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
btnPTT[1]->value(0);
|
||||
|
@ -631,7 +640,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
for (int i = 0; i < 4; btnPTT[i++]->redraw());
|
||||
progdefaults.changed = true;}
|
||||
xywh {345 75 20 20} down_box DOWN_BOX align 4
|
||||
xywh {350 131 20 20} down_box DOWN_BOX align 4
|
||||
}
|
||||
Fl_Round_Button {btnPTT[2]} {
|
||||
label {use Memmap PTT}
|
||||
|
@ -641,7 +650,39 @@ btnPTT[3]->value(0);
|
|||
btnPTT[4]->value(0);
|
||||
o->value(1);
|
||||
progdefaults.changed = true;}
|
||||
xywh {345 105 20 20} down_box DIAMOND_DOWN_BOX selection_color 1 align 4 deactivate
|
||||
xywh {350 151 20 20} down_box DIAMOND_DOWN_BOX selection_color 1 align 4 deactivate
|
||||
}
|
||||
Fl_Output {} {
|
||||
xywh {205 70 190 58} type Multiline box BORDER_BOX color 50
|
||||
code0 {o->value("Control via Memory Mapped\\nshared variables\\nie: Kachina program");}
|
||||
}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label Ext open
|
||||
xywh {200 60 200 120} hide
|
||||
} {
|
||||
Fl_Check_Button chkUSEXMLRPC {
|
||||
label {use xmlrpc program}
|
||||
callback {if(o->value() == 1){
|
||||
chkUSEHAMLIB->value(0);
|
||||
chkUSERIGCAT->value(0);
|
||||
chkUSEMEMMAP->value(0);
|
||||
btnPTT[3]->value(0);
|
||||
btnPTT[3]->deactivate();
|
||||
btnPTT[1]->value(0);
|
||||
btnPTT[1]->deactivate();
|
||||
btnPTT[2]->activate();
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
}
|
||||
for (int i = 0; i < 4; btnPTT[i++]->redraw());
|
||||
progdefaults.changed = true;}
|
||||
xywh {366 142 20 20} down_box DOWN_BOX align 4
|
||||
}
|
||||
Fl_Output {} {
|
||||
xywh {205 67 190 58} type Multiline box BORDER_BOX color 50
|
||||
code0 {o->value("Rig control via external\\nprogram using xmlrpc\\nremote calls.");}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1608,6 +1608,15 @@ int below(Fl_Widget* w)
|
|||
return (a & FL_ALIGN_BOTTOM) ? w->y() + w->h() + FL_NORMAL_SIZE : w->y() + w->h();
|
||||
}
|
||||
|
||||
char main_window_title[256];
|
||||
void update_main_title() {
|
||||
snprintf(main_window_title, sizeof(main_window_title),
|
||||
"%s %s -- %s",
|
||||
PACKAGE_NAME, PACKAGE_VERSION,
|
||||
progdefaults.myCall.empty() ? "NO CALLSIGN SET" : progdefaults.myCall.c_str());
|
||||
if (fl_digi_main != NULL)
|
||||
fl_digi_main->label(main_window_title);
|
||||
}
|
||||
|
||||
|
||||
void create_fl_digi_main() {
|
||||
|
@ -1616,7 +1625,8 @@ void create_fl_digi_main() {
|
|||
|
||||
if (twoscopes) WNOM -= 2*DEFAULT_SW;
|
||||
|
||||
fl_digi_main = new Fl_Double_Window(WNOM, HNOM, PACKAGE_NAME" "PACKAGE_VERSION);//"fldigi");
|
||||
update_main_title();
|
||||
fl_digi_main = new Fl_Double_Window(WNOM, HNOM, main_window_title);
|
||||
mnu = new Fl_Menu_Bar(0, 0, WNOM - 150 - pad, Hmenu);
|
||||
// FL_NORMAL_SIZE may have changed; update the menu items
|
||||
for (size_t i = 0; i < sizeof(menu_)/sizeof(menu_[0]); i++)
|
||||
|
|
|
@ -80,12 +80,12 @@ const struct mode_info_t mode_info[NUM_MODES] = {
|
|||
|
||||
{ MODE_BPSK31, &psk31_modem, "BPSK31", "BPSK-31", "PSK31", "PSK31" },
|
||||
{ MODE_QPSK31, &qpsk31_modem, "QPSK31", "QPSK-31", "QPSK31", "QPSK31" },
|
||||
{ MODE_PSK63, &psk63_modem, "PSK-63", "BPSK-63", "PSK63", "PSK63" },
|
||||
{ MODE_PSK63, &psk63_modem, "BPSK63", "BPSK-63", "PSK63", "PSK63" },
|
||||
{ MODE_QPSK63, &qpsk63_modem, "QPSK63", "QPSK-63", "QPSK63", "QPSK63" },
|
||||
{ MODE_PSK125, &psk125_modem, "PSK125", "BPSK-125", "PSK125", "PSK125" },
|
||||
{ MODE_QPSK125, &qpsk125_modem, "QPSK-125", "QPSK-125", "QPSK125", "PSK125" },
|
||||
{ MODE_PSK250, &psk250_modem, "PSK-250", "BPSK-250", "PSK250", "PSK250" },
|
||||
{ MODE_QPSK250, &qpsk250_modem, "QPSK-250", "QPSK-250", "QPSK250", "QPSK250" },
|
||||
{ MODE_PSK125, &psk125_modem, "BPSK125", "BPSK-125", "PSK125", "PSK125" },
|
||||
{ MODE_QPSK125, &qpsk125_modem, "QPSK125", "QPSK-125", "QPSK125", "PSK125" },
|
||||
{ MODE_PSK250, &psk250_modem, "BPSK250", "BPSK-250", "PSK250", "PSK250" },
|
||||
{ MODE_QPSK250, &qpsk250_modem, "QPSK250", "QPSK-250", "QPSK250", "QPSK250" },
|
||||
|
||||
{ MODE_OLIVIA, &olivia_modem, "OLIVIA", "Olivia", "", "OLIVIA" },
|
||||
|
||||
|
|
|
@ -67,13 +67,15 @@ extern Fl_Round_Button *btnDTRplusV;
|
|||
#include <FL/Fl_Input_Choice.H>
|
||||
extern Fl_Input_Choice *inpTTYdev;
|
||||
extern Fl_Round_Button *btnPTT[5];
|
||||
extern Fl_Check_Button *chkUSERIGCAT;
|
||||
extern Fl_Check_Button *chkUSEHAMLIB;
|
||||
extern Fl_ComboBox *cboHamlibRig;
|
||||
#include <FL/Fl_Choice.H>
|
||||
extern Fl_Choice *mnuBaudRate;
|
||||
extern Fl_Input_Choice *inpRIGdev;
|
||||
extern Fl_Check_Button *chkUSERIGCAT;
|
||||
#include <FL/Fl_Output.H>
|
||||
extern Fl_Check_Button *chkUSEMEMMAP;
|
||||
extern Fl_Check_Button *chkUSEXMLRPC;
|
||||
extern Fl_Button *btnInit_Interface;
|
||||
extern Fl_Group *tabQRZ;
|
||||
extern Fl_Check_Button *btnQRZnotavailable;
|
||||
|
|
|
@ -141,6 +141,7 @@ struct configuration {
|
|||
int chkUSEMEMMAPis;
|
||||
int chkUSEHAMLIBis;
|
||||
int chkUSERIGCATis;
|
||||
int chkUSEXMLRPCis;
|
||||
string PTTdev;
|
||||
string CWFSKport;
|
||||
string HamRigDevice;
|
||||
|
|
|
@ -95,6 +95,7 @@ extern Digiscope *digiscope;
|
|||
extern void toggleRSID();
|
||||
|
||||
extern void create_fl_digi_main();
|
||||
extern void update_main_title();
|
||||
extern Fl_Menu_Item menu_[];
|
||||
extern Fl_Menu_Item *getMenuItem(const char *caption);
|
||||
extern void activate_rig_menu_item(bool b);
|
||||
|
|
|
@ -359,6 +359,9 @@ public:
|
|||
qsy->deactivate();
|
||||
wfdisp->useBands(!on);
|
||||
}
|
||||
void setXMLRPC(bool on) {
|
||||
wfdisp->useBands(!on);
|
||||
}
|
||||
double Pwr(int i) { return wfdisp->Pwr(i); }
|
||||
|
||||
int handle(int event);
|
||||
|
|
|
@ -273,7 +273,7 @@ int main(int argc, char ** argv)
|
|||
arq_init();
|
||||
|
||||
#if USE_XMLRPC
|
||||
if (progdefaults.xmlrpc_server)
|
||||
// if (progdefaults.xmlrpc_server)
|
||||
XML_RPC_Server::start(progdefaults.xmlrpc_address.c_str(), progdefaults.xmlrpc_port.c_str());
|
||||
#endif
|
||||
|
||||
|
@ -442,7 +442,7 @@ int parse_args(int argc, char **argv, int& idx)
|
|||
#endif
|
||||
OPT_CONFIG_DIR, OPT_EXPERIMENTAL, OPT_ARQ_ADDRESS, OPT_ARQ_PORT,
|
||||
#if USE_XMLRPC
|
||||
OPT_CONFIG_XMLRPC, OPT_CONFIG_XMLRPC_ADDRESS, OPT_CONFIG_XMLRPC_PORT,
|
||||
OPT_CONFIG_XMLRPC_ADDRESS, OPT_CONFIG_XMLRPC_PORT,
|
||||
#endif
|
||||
OPT_FONT, OPT_WFALL_WIDTH, OPT_WFALL_HEIGHT,
|
||||
OPT_WINDOW_WIDTH, OPT_WINDOW_HEIGHT,
|
||||
|
@ -468,7 +468,6 @@ int parse_args(int argc, char **argv, int& idx)
|
|||
{ "arq-server-port", 1, 0, OPT_ARQ_PORT },
|
||||
|
||||
#if USE_XMLRPC
|
||||
{ "xmlrpc-server", 0, 0, OPT_CONFIG_XMLRPC },
|
||||
{ "xmlrpc-server-address", 1, 0, OPT_CONFIG_XMLRPC_ADDRESS },
|
||||
{ "xmlrpc-server-port", 1, 0, OPT_CONFIG_XMLRPC_PORT },
|
||||
#endif
|
||||
|
@ -536,9 +535,6 @@ int parse_args(int argc, char **argv, int& idx)
|
|||
break;
|
||||
|
||||
#if USE_XMLRPC
|
||||
case OPT_CONFIG_XMLRPC:
|
||||
progdefaults.xmlrpc_server = true;
|
||||
break;
|
||||
case OPT_CONFIG_XMLRPC_ADDRESS:
|
||||
progdefaults.xmlrpc_address = optarg;
|
||||
break;
|
||||
|
|
|
@ -144,8 +144,10 @@ bool bSend0x06 = false;
|
|||
|
||||
void process_msgque()
|
||||
{
|
||||
memset(txmsgst.buffer, ARQBUFSIZ, 0);
|
||||
int nbytes = msgrcv (txmsgid, (void *)&txmsgst, ARQBUFSIZ, 0, IPC_NOWAIT);
|
||||
if (nbytes > 0) {
|
||||
arqtext.clear();
|
||||
arqtext = txmsgst.buffer;
|
||||
parse_arqtext();
|
||||
if (arqtext.length() > 0) {
|
||||
|
|
|
@ -160,6 +160,7 @@ configuration progdefaults = {
|
|||
0, // int chkUSEMEMMAPis
|
||||
0, // int chkUSEHAMLIBis
|
||||
0, // int chkUSERIGCATis
|
||||
0, // int chkUSEXMLRPCis
|
||||
#if defined(__linux__)
|
||||
"/dev/ttyS0", // string PTTdev
|
||||
"/dev/ttyS1", // string CWFSKport
|
||||
|
@ -317,7 +318,7 @@ enum TAG { \
|
|||
BTNUSB, BTNPTTIS,
|
||||
RTSPTT, DTRPTT, RTSPLUS, DTRPLUS,
|
||||
CHOICEHAMLIBIS, CHKUSEMEMMAPIS,
|
||||
CHKUSEHAMLIBIS, CHKUSERIGCATIS,
|
||||
CHKUSEHAMLIBIS, CHKUSERIGCATIS, CHKUSEXMLRPCIS,
|
||||
HAMRIGNAME, HAMRIGDEVICE, HAMRIGBAUDRATE,
|
||||
PTTDEV,
|
||||
SECONDARYTEXT,
|
||||
|
@ -507,6 +508,7 @@ void configuration::writeDefaultsXML()
|
|||
writeXMLint(f, "CHKUSEMEMMAPIS", chkUSEMEMMAPis);
|
||||
writeXMLint(f, "CHKUSEHAMLIBIS", chkUSEHAMLIBis);
|
||||
writeXMLint(f, "CHKUSERIGCATIS", chkUSERIGCATis);
|
||||
writeXMLint(f, "CHKUSEXMLRPCIS", chkUSEXMLRPCis);
|
||||
writeXMLstr(f, "HAMRIGNAME", HamRigName);
|
||||
writeXMLstr(f, "HAMRIGDEVICE", HamRigDevice);
|
||||
writeXMLint(f, "HAMRIGBAUDRATE", HamRigBaudrate);
|
||||
|
@ -921,6 +923,9 @@ bool configuration::readDefaultsXML()
|
|||
case CHKUSERIGCATIS :
|
||||
chkUSERIGCATis = atoi(xml->getNodeData());
|
||||
break;
|
||||
case CHKUSEXMLRPCIS :
|
||||
chkUSEXMLRPCis = atoi(xml->getNodeData());
|
||||
break;
|
||||
case HAMRIGNAME :
|
||||
HamRigName = xml->getNodeData();
|
||||
break;
|
||||
|
@ -1266,6 +1271,7 @@ bool configuration::readDefaultsXML()
|
|||
else if (!strcmp("CHKUSEMEMMAPIS", nodeName)) tag = CHKUSEMEMMAPIS;
|
||||
else if (!strcmp("CHKUSEHAMLIBIS", nodeName)) tag = CHKUSEHAMLIBIS;
|
||||
else if (!strcmp("CHKUSERIGCATIS", nodeName)) tag = CHKUSERIGCATIS;
|
||||
else if (!strcmp("CHKUSEXMLRPCIS", nodeName)) tag = CHKUSEXMLRPCIS;
|
||||
else if (!strcmp("HAMRIGNAME", nodeName)) tag = HAMRIGNAME;
|
||||
else if (!strcmp("HAMRIGDEVICE", nodeName)) tag = HAMRIGDEVICE;
|
||||
else if (!strcmp("HAMRIGBAUDRATE", nodeName)) tag = HAMRIGBAUDRATE;
|
||||
|
@ -1470,25 +1476,36 @@ int configuration::setDefaults() {
|
|||
inpTTYdev->value(PTTdev.c_str());
|
||||
|
||||
if(chkUSEMEMMAPis) {
|
||||
chkUSEMEMMAP->value(1); chkUSEHAMLIB->value(0); chkUSERIGCAT->value(0);
|
||||
chkUSEMEMMAP->value(1);
|
||||
chkUSEHAMLIB->value(0); chkUSERIGCAT->value(0); chkUSEXMLRPC->value(0);
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
btnPTT[1]->deactivate(); btnPTT[2]->activate(); btnPTT[3]->deactivate();
|
||||
} else if (chkUSEHAMLIBis) {
|
||||
chkUSEMEMMAP->value(0); chkUSERIGCAT->value(0); chkUSEHAMLIB->value(1);
|
||||
chkUSEHAMLIB->value(1);
|
||||
chkUSEMEMMAP->value(0); chkUSERIGCAT->value(0); chkUSEXMLRPC->value(0);
|
||||
cboHamlibRig->activate();
|
||||
inpRIGdev->activate();
|
||||
mnuBaudRate->activate();
|
||||
btnPTT[1]->activate(); btnPTT[2]->deactivate(); btnPTT[3]->deactivate();
|
||||
} else if (chkUSERIGCATis) {
|
||||
chkUSEMEMMAP->value(0); chkUSEHAMLIB->value(0); chkUSERIGCAT->value(1);
|
||||
chkUSERIGCAT->value(1);
|
||||
chkUSEMEMMAP->value(0); chkUSEHAMLIB->value(0); chkUSEXMLRPC->value(0);
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
btnPTT[1]->deactivate(); btnPTT[2]->deactivate(); btnPTT[3]->activate();
|
||||
} else {
|
||||
} else if (chkUSEXMLRPCis) {
|
||||
chkUSEXMLRPC->value(1);
|
||||
chkUSEMEMMAP->value(0); chkUSEHAMLIB->value(0); chkUSERIGCAT->value(0);
|
||||
cboHamlibRig->deactivate();
|
||||
inpRIGdev->deactivate();
|
||||
mnuBaudRate->deactivate();
|
||||
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();
|
||||
}
|
||||
|
||||
|
@ -1689,6 +1706,12 @@ void configuration::initInterface() {
|
|||
activate_rig_menu_item(true);
|
||||
}
|
||||
#endif
|
||||
} else if (chkUSEXMLRPCis) {
|
||||
cboBand->hide();
|
||||
btnSideband->hide();
|
||||
wf->USB(true);
|
||||
wf->setXMLRPC(1);
|
||||
activate_rig_menu_item(false);
|
||||
} else {
|
||||
wf->USB(true);
|
||||
cboBand->show();
|
||||
|
|
|
@ -55,6 +55,8 @@
|
|||
#include "rigio.h"
|
||||
#include "debug.h"
|
||||
|
||||
string strOK = "OK";
|
||||
|
||||
using namespace std;
|
||||
|
||||
struct rpc_method
|
||||
|
@ -586,7 +588,8 @@ public:
|
|||
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
|
||||
{
|
||||
REQ(&modem::searchUp, active_modem);
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -601,7 +604,8 @@ public:
|
|||
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
|
||||
{
|
||||
REQ(&modem::searchDown, active_modem);
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -663,6 +667,19 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
void xmlrpc_set_qsy(long long f, long long fmid)
|
||||
{
|
||||
LOG_DEBUG("rfc = %ld, audio = %ld", f, fmid);
|
||||
if (active_modem->freqlocked() == true) {
|
||||
active_modem->set_freqlock(false);
|
||||
active_modem->set_freq((int)fmid);
|
||||
active_modem->set_freqlock(true);
|
||||
} else
|
||||
active_modem->set_freq((int)fmid);
|
||||
wf->rfcarrier(f);
|
||||
wf->movetocenter();
|
||||
}
|
||||
|
||||
class Main_set_freq : public xmlrpc_c::method
|
||||
{
|
||||
public:
|
||||
|
@ -673,13 +690,18 @@ public:
|
|||
}
|
||||
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
|
||||
{
|
||||
double d = wf->rfcarrier();
|
||||
double rfc = params.getDouble(0, 0.0);
|
||||
double d = params.getDouble(0, 0.0);
|
||||
long long int rfc = (long long int)d;
|
||||
int mc = active_modem->get_freq();
|
||||
rigCAT_set_qsy((long long int)rfc, mc);
|
||||
rigMEM_set_qsy((long long int)rfc, mc);
|
||||
if (progdefaults.chkUSEXMLRPCis)
|
||||
xmlrpc_set_qsy(rfc, mc);
|
||||
if (progdefaults.chkUSERIGCATis)
|
||||
rigCAT_set_qsy(rfc, mc);
|
||||
if (progdefaults.chkUSEMEMMAPis)
|
||||
rigMEM_set_qsy(rfc, mc);
|
||||
#if USE_HAMLIB
|
||||
hamlib_set_qsy((long long int)rfc, mc);
|
||||
if (progdefaults.chkUSEHAMLIBis)
|
||||
hamlib_set_qsy(rfc, mc);
|
||||
#endif
|
||||
*retval = xmlrpc_c::value_double(d);
|
||||
}
|
||||
|
@ -697,10 +719,15 @@ public:
|
|||
{
|
||||
double rfc = wf->rfcarrier() + params.getDouble(0);
|
||||
int mc = active_modem->get_freq();
|
||||
rigCAT_set_qsy((long long int)rfc, mc);
|
||||
rigMEM_set_qsy((long long int)rfc, mc);
|
||||
if (progdefaults.chkUSEXMLRPCis)
|
||||
xmlrpc_set_qsy((long long int)rfc, mc);
|
||||
if (progdefaults.chkUSERIGCATis)
|
||||
rigCAT_set_qsy((long long int)rfc, mc);
|
||||
if (progdefaults.chkUSEMEMMAPis)
|
||||
rigMEM_set_qsy((long long int)rfc, mc);
|
||||
#if USE_HAMLIB
|
||||
hamlib_set_qsy((long long int)rfc, mc);
|
||||
if (progdefaults.chkUSEHAMLIBis)
|
||||
hamlib_set_qsy((long long int)rfc, mc);
|
||||
#endif
|
||||
*retval = xmlrpc_c::value_double(rfc);
|
||||
}
|
||||
|
@ -992,7 +1019,8 @@ public:
|
|||
REQ(set_button, btnRSID, false);
|
||||
REQ(set_button, wf->xmtrcv, true);
|
||||
}
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1011,7 +1039,8 @@ public:
|
|||
REQ(set_button, btnRSID, false);
|
||||
REQ(set_button, btnTune, !btnTune->value());
|
||||
}
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1029,7 +1058,8 @@ public:
|
|||
REQ(set_button, wf->xmtrcv, false);
|
||||
else if (btnRSID->value())
|
||||
REQ(set_button, btnRSID, false);
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1045,7 +1075,8 @@ public:
|
|||
{
|
||||
if (trx_state == STATE_TX || trx_state == STATE_TUNE)
|
||||
REQ(abort_tx);
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1060,7 +1091,8 @@ public:
|
|||
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
|
||||
{
|
||||
REQ(&Main_run_macro::run_macro, params.getInt(0, 0, MAXMACROS-1));
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
static void run_macro(int i) { macros.execute(i); }
|
||||
};
|
||||
|
@ -1091,7 +1123,8 @@ public:
|
|||
{
|
||||
if (!(wf->xmtrcv->value() || btnTune->value() || btnRSID->value()))
|
||||
REQ(set_button, btnRSID, true);
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1265,6 +1298,22 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
class Log_clear : public xmlrpc_c::method
|
||||
{
|
||||
public:
|
||||
Log_clear()
|
||||
{
|
||||
_signature = "s:n";
|
||||
_help = "Clears the contents of the log fields.";
|
||||
}
|
||||
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
|
||||
{
|
||||
REQ(clearQSO);
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class Text_get_rx_length : public xmlrpc_c::method
|
||||
|
@ -1278,6 +1327,8 @@ public:
|
|||
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
|
||||
{
|
||||
*retval = xmlrpc_c::value_int(ReceiveText->buffer()->length());
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1319,7 +1370,8 @@ public:
|
|||
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
|
||||
{
|
||||
REQ(&FTextBase::clear, ReceiveText);
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1371,7 +1423,8 @@ public:
|
|||
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
|
||||
{
|
||||
REQ(&FTextBase::clear, TransmitText);
|
||||
*retval = xmlrpc_c::value_nil();
|
||||
// *retval = xmlrpc_c::value_nil();
|
||||
*retval = xmlrpc_c::value_string(strOK);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1463,6 +1516,7 @@ void XML_RPC_Server::add_methods(void)
|
|||
methods->push_back(rpc_method(new Log_get_notes, "log.get_notes"));
|
||||
methods->push_back(rpc_method(new Log_get_locator, "log.get_locator"));
|
||||
methods->push_back(rpc_method(new Log_get_az, "log.get_az"));
|
||||
methods->push_back(rpc_method(new Log_clear, "log.clear"));
|
||||
|
||||
methods->push_back(rpc_method(new Text_get_rx_length, "text.get_rx_length"));
|
||||
methods->push_back(rpc_method(new Text_get_rx, "text.get_rx"));
|
||||
|
|
|
@ -48,8 +48,6 @@ static long int hamlib_freq;
|
|||
static rmode_t hamlib_rmode = RIG_MODE_USB;
|
||||
static pbwidth_t hamlib_pbwidth = 3000;
|
||||
|
||||
// FIXME: remove static int ioctl_bits;
|
||||
|
||||
static int dummy = 0;
|
||||
|
||||
static void *hamlib_loop(void *args);
|
||||
|
@ -63,35 +61,6 @@ void show_error(const char* msg1, const char* msg2 = 0)
|
|||
LOG_ERROR("%s", error.c_str());
|
||||
}
|
||||
|
||||
/* FIXME: remove this function
|
||||
bool hamlib_setRTSDTR()
|
||||
{
|
||||
if (progdefaults.RTSplus == false && progdefaults.DTRplus == false)
|
||||
return true;
|
||||
|
||||
int hamlibfd = open(progdefaults.HamRigDevice.c_str(), O_RDWR | O_NOCTTY | O_NDELAY);
|
||||
|
||||
if (hamlibfd < 0) {
|
||||
show_error("Cannot open PTT device", progdefaults.HamRigDevice.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
ioctl(hamlibfd, TIOCMGET, &ioctl_bits);
|
||||
|
||||
if (progdefaults.RTSplus)
|
||||
ioctl_bits |= TIOCM_RTS; // set RTS bit
|
||||
else
|
||||
ioctl_bits &= ~TIOCM_RTS; // clear RTS bit
|
||||
if (progdefaults.DTRplus)
|
||||
ioctl_bits |= TIOCM_DTR; // set DTR bit
|
||||
else
|
||||
ioctl_bits &= ~TIOCM_DTR; // clear DTR bit
|
||||
ioctl(hamlibfd, TIOCMSET, &ioctl_bits);
|
||||
close(hamlibfd);
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
|
||||
#ifdef __CYGWIN__
|
||||
// convert COMx to /dev/ttySy with y = x - 1
|
||||
static void adjust_port(string& port)
|
||||
|
@ -148,10 +117,6 @@ bool hamlib_init(bool bPtt)
|
|||
return false;
|
||||
}
|
||||
|
||||
// if (hamlib_setRTSDTR() == false) {
|
||||
// return -1;
|
||||
// }
|
||||
|
||||
try {
|
||||
model = (*prig)->rig_model;
|
||||
xcvr->init(model);
|
||||
|
@ -169,21 +134,14 @@ bool hamlib_init(bool bPtt)
|
|||
return false;
|
||||
}
|
||||
|
||||
// if (hamlib_setRTSDTR() == false)
|
||||
// return -1;
|
||||
|
||||
MilliSleep(200);
|
||||
|
||||
// char temp[80];
|
||||
// xcvr->getConf("dtr_state", temp);
|
||||
// LOG_DEBUG("Hamlib DTR = %s", temp);
|
||||
|
||||
try {
|
||||
need_freq = true;
|
||||
freq = xcvr->getFreq();
|
||||
if (freq == 0) {
|
||||
xcvr->close();
|
||||
show_error(__func__, "transceiver not responding");
|
||||
show_error(__func__, "Rig not responding");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -239,7 +197,6 @@ void hamlib_close(void)
|
|||
hamlib_exit = true;
|
||||
int count = 20;
|
||||
while (!hamlib_closed) {
|
||||
// cerr << "." << flush;
|
||||
MilliSleep(50);
|
||||
if (!count--) {
|
||||
show_error(__func__, "Hamlib stuck, transceiver on fire");
|
||||
|
@ -389,9 +346,8 @@ static void *hamlib_loop(void *args)
|
|||
}
|
||||
}
|
||||
catch (const RigException& Ex) {
|
||||
show_error(__func__, "No transceiver comms");
|
||||
show_error(__func__, "Rig not responding: freq");
|
||||
freqok = false;
|
||||
hamlib_exit = true;
|
||||
}
|
||||
}
|
||||
if (hamlib_exit)
|
||||
|
@ -403,9 +359,8 @@ static void *hamlib_loop(void *args)
|
|||
modeok = true;
|
||||
}
|
||||
catch (const RigException& Ex) {
|
||||
show_error(__func__, "No transceiver comms");
|
||||
show_error(__func__, "Rig not responding: mode");
|
||||
modeok = false;
|
||||
hamlib_exit = true;
|
||||
}
|
||||
}
|
||||
fl_unlock (&hamlib_mutex);
|
||||
|
|
|
@ -441,7 +441,7 @@ void rigCAT_setfreq(long long f)
|
|||
list<XMLIOS>::iterator itrCmd;
|
||||
string strCmd;
|
||||
|
||||
LOG_DEBUG("set frequency");
|
||||
LOG_DEBUG("set frequency %ld", f);
|
||||
|
||||
itrCmd = commands.begin();
|
||||
while (itrCmd != commands.end()) {
|
||||
|
|
Ładowanie…
Reference in New Issue