kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Upstream version 3.04AS
rodzic
a5062ae24e
commit
dfa8465b94
|
@ -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, [4AR])
|
||||
m4_define(FLDIGI_PATCH, [4AS])
|
||||
|
||||
AC_INIT([fldigi], FLDIGI_MAJOR.FLDIGI_MINOR[FLDIGI_PATCH], [w1hkj AT w1hkj DOT com])
|
||||
|
||||
|
|
|
@ -919,6 +919,13 @@ static void cb_btnDockedScope(Fl_Check_Button* o, void*) {
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnDockedRigControl=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_btnDockedRigControl(Fl_Check_Button* o, void*) {
|
||||
progdefaults.docked_rig_control = o->value();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Group *tabRSid=(Fl_Group *)0;
|
||||
|
||||
Fl_Check_Button *chkTransmitRSid=(Fl_Check_Button *)0;
|
||||
|
@ -1579,6 +1586,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
tabWaterfall->hide();
|
||||
{ Fl_Tabs* o = new Fl_Tabs(0, 25, 410, 195);
|
||||
{ Fl_Group* o = new Fl_Group(0, 50, 400, 170, "Filters/Colors");
|
||||
o->hide();
|
||||
{ Fl_Group* o = new Fl_Group(10, 84, 385, 96);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
{ WF_Palette = new colorbox(28, 107, 260, 24, "Palette:");
|
||||
|
@ -1699,7 +1707,6 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ Fl_Group* o = new Fl_Group(5, 54, 393, 166, "Misc");
|
||||
o->hide();
|
||||
{ Fl_Group* o = new Fl_Group(8, 60, 390, 158);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
{ Fl_Check_Button* o = btnUseCursorLines = new Fl_Check_Button(58, 79, 100, 20, "Cursor BW");
|
||||
|
@ -2000,6 +2007,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
{ tabQRZ = new Fl_Group(0, 25, 400, 195, "qrz");
|
||||
tabQRZ->color((Fl_Color)51);
|
||||
tabQRZ->selection_color((Fl_Color)51);
|
||||
tabQRZ->hide();
|
||||
{ Fl_Check_Button* o = btnQRZnotavailable = new Fl_Check_Button(12, 45, 110, 20, "Not available");
|
||||
btnQRZnotavailable->down_box(FL_DOWN_BOX);
|
||||
btnQRZnotavailable->value(1);
|
||||
|
@ -2205,9 +2213,9 @@ l with your sound hardware.");
|
|||
{ tabMisc = new Fl_Group(0, 25, 405, 200, "Misc");
|
||||
tabMisc->color((Fl_Color)51);
|
||||
tabMisc->selection_color((Fl_Color)51);
|
||||
tabMisc->hide();
|
||||
{ tabsMisc = new Fl_Tabs(0, 25, 400, 195);
|
||||
{ tabCPUspeed = new Fl_Group(0, 50, 400, 170, "CPU speed");
|
||||
tabCPUspeed->hide();
|
||||
{ Fl_Group* o = new Fl_Group(5, 62, 390, 43);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
|
@ -2240,7 +2248,6 @@ l with your sound hardware.");
|
|||
tabMacros->end();
|
||||
} // Fl_Group* tabMacros
|
||||
{ tabMainWindow = new Fl_Group(0, 50, 400, 170, "Main window");
|
||||
tabMainWindow->hide();
|
||||
{ Fl_Group* o = new Fl_Group(5, 60, 390, 125, "Changes take effect on startup");
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP|FL_ALIGN_INSIDE);
|
||||
|
@ -2272,6 +2279,12 @@ l with your sound hardware.");
|
|||
btnDockedScope->callback((Fl_Callback*)cb_btnDockedScope);
|
||||
btnDockedScope->value(progdefaults.docked_scope);
|
||||
} // Fl_Check_Button* btnDockedScope
|
||||
{ Fl_Check_Button* o = btnDockedRigControl = new Fl_Check_Button(200, 150, 160, 20, "Docked Rig Control");
|
||||
btnDockedRigControl->down_box(FL_DOWN_BOX);
|
||||
btnDockedRigControl->value(1);
|
||||
btnDockedRigControl->callback((Fl_Callback*)cb_btnDockedRigControl);
|
||||
o->value(progdefaults.docked_rig_control);
|
||||
} // Fl_Check_Button* btnDockedRigControl
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
tabMainWindow->end();
|
||||
|
|
|
@ -116,7 +116,7 @@ progdefaults.changed = true;}
|
|||
} {
|
||||
Fl_Group {} {
|
||||
label {Filters/Colors} open
|
||||
xywh {0 50 400 170}
|
||||
xywh {0 50 400 170} hide
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {10 84 385 96} box ENGRAVED_FRAME
|
||||
|
@ -290,7 +290,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group {} {
|
||||
label Misc open
|
||||
xywh {5 54 393 166} hide
|
||||
xywh {5 54 393 166}
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {8 60 390 158} box ENGRAVED_FRAME
|
||||
|
@ -743,7 +743,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabQRZ {
|
||||
label qrz open
|
||||
xywh {0 25 400 195} color 51 selection_color 51
|
||||
xywh {0 25 400 195} color 51 selection_color 51 hide
|
||||
} {
|
||||
Fl_Check_Button btnQRZnotavailable {
|
||||
label {Not available}
|
||||
|
@ -797,7 +797,7 @@ btnQRZnotavailable->value(0);
|
|||
btnQRZsocket->value(0);
|
||||
progdefaults.QRZ = 3;
|
||||
}
|
||||
progdefaults.changed = true;} selected
|
||||
progdefaults.changed = true;}
|
||||
tooltip {You need a paid Hamcall on-line subscription to access} xywh {12 119 205 20} down_box DOWN_BOX
|
||||
code0 {if (progdefaults.QRZ == 3) o->value(1); else o->value(0);}
|
||||
}
|
||||
|
@ -1040,14 +1040,14 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabMisc {
|
||||
label Misc open
|
||||
xywh {0 25 405 200} color 51 selection_color 51 hide
|
||||
xywh {0 25 405 200} color 51 selection_color 51
|
||||
} {
|
||||
Fl_Tabs tabsMisc {open
|
||||
xywh {0 25 400 195}
|
||||
} {
|
||||
Fl_Group tabCPUspeed {
|
||||
label {CPU speed} open
|
||||
xywh {0 50 400 170}
|
||||
xywh {0 50 400 170} hide
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {5 62 390 43} box ENGRAVED_FRAME align 21
|
||||
|
@ -1087,7 +1087,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabMainWindow {
|
||||
label {Main window} open
|
||||
xywh {0 50 400 170} hide
|
||||
xywh {0 50 400 170}
|
||||
} {
|
||||
Fl_Group {} {
|
||||
label {Changes take effect on startup} open
|
||||
|
@ -1114,6 +1114,13 @@ progdefaults.changed = true;}
|
|||
tooltip {Restart fldigi for this option to take effect} xywh {30 150 125 20} down_box DOWN_BOX
|
||||
code0 {btnDockedScope->value(progdefaults.docked_scope);}
|
||||
}
|
||||
Fl_Check_Button btnDockedRigControl {
|
||||
label {Docked Rig Control}
|
||||
callback {progdefaults.docked_rig_control = o->value();
|
||||
progdefaults.changed = true;} selected
|
||||
xywh {200 150 160 20} down_box DOWN_BOX value 1
|
||||
code0 {o->value(progdefaults.docked_rig_control);}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Group tabRSid {
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
#include "raster.h"
|
||||
#include "progress.h"
|
||||
#include "afcind.h"
|
||||
#include "rigdialog.h"
|
||||
|
||||
#include "main.h"
|
||||
#include "threads.h"
|
||||
|
@ -1487,7 +1488,7 @@ Fl_Menu_Item menu_[] = {
|
|||
{"Digiscope", 0, (Fl_Callback*)cb_mnuDigiscope, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{"MFSK Image", 0, (Fl_Callback*)cb_mnuPicViewer, 0, FL_MENU_INACTIVE, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{"PSK Browser", 0, (Fl_Callback*)cb_mnuViewer, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
//{"Rig Control", 0, (Fl_Callback*)cb_mnuRig, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{"Rig Control", 0, (Fl_Callback*)cb_mnuRig, 0, 0, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
{0,0,0,0,0,0,0,0,0},
|
||||
|
||||
{" ", 0, 0, 0, FL_MENU_INACTIVE, FL_NORMAL_LABEL, 0, 14, 0},
|
||||
|
@ -1528,23 +1529,24 @@ Fl_Menu_Item *getMenuItem(const char *caption)
|
|||
return item;
|
||||
}
|
||||
|
||||
//void activate_rig_menu_item(bool b)
|
||||
//{
|
||||
// Fl_Menu_Item *rig = getMenuItem("Rig Control");
|
||||
// if (!rig)
|
||||
// return;
|
||||
|
||||
// if (b) {
|
||||
// bSaveFreqList = true;
|
||||
void activate_rig_menu_item(bool b)
|
||||
{
|
||||
Fl_Menu_Item *rig = getMenuItem("Rig Control");
|
||||
if (!rig)
|
||||
return;
|
||||
if (b) {
|
||||
bSaveFreqList = true;
|
||||
rig->show();
|
||||
// rig->activate();
|
||||
|
||||
// } else {
|
||||
} else {
|
||||
rig->hide();
|
||||
// rig->deactivate();
|
||||
// if (rigcontrol)
|
||||
// rigcontrol->hide();
|
||||
// }
|
||||
// mnu->redraw();
|
||||
//}
|
||||
if (rigcontrol)
|
||||
rigcontrol->hide();
|
||||
}
|
||||
mnu->redraw();
|
||||
}
|
||||
|
||||
void activate_mfsk_image_item(bool b)
|
||||
{
|
||||
|
@ -1719,6 +1721,27 @@ void cb_qso_opBrowser(Fl_Browser*, void*)
|
|||
}
|
||||
}
|
||||
|
||||
void show_frequency(long long freq)
|
||||
{
|
||||
FreqDisp->value(freq); // REQ is built in to the widget
|
||||
if (progdefaults.docked_rig_control)
|
||||
qsoFreqDisp->value(freq);
|
||||
}
|
||||
|
||||
void show_mode(string sMode)
|
||||
{
|
||||
REQ(&Fl_ComboBox::put_value, opMODE, sMode.c_str());
|
||||
if (progdefaults.docked_rig_control)
|
||||
REQ(&Fl_ComboBox::put_value, qso_opMODE, sMode.c_str());
|
||||
}
|
||||
|
||||
void show_bw(string sWidth)
|
||||
{
|
||||
REQ(&Fl_ComboBox::put_value, opBW, sWidth.c_str());
|
||||
if (progdefaults.docked_rig_control)
|
||||
REQ(&Fl_ComboBox::put_value, qso_opBW, sWidth.c_str());
|
||||
}
|
||||
|
||||
void create_fl_digi_main() {
|
||||
|
||||
int pad = 1; //wSpace;
|
||||
|
@ -1726,7 +1749,6 @@ void create_fl_digi_main() {
|
|||
|
||||
IMAGE_WIDTH = progdefaults.wfwidth;
|
||||
Hwfall = progdefaults.wfheight;
|
||||
// Wwfall = DEFAULT_HNOM + 2 * BEZEL;
|
||||
HNOM = DEFAULT_HNOM;
|
||||
|
||||
WNOM = DEFAULT_HNOM;
|
||||
|
@ -1734,10 +1756,6 @@ void create_fl_digi_main() {
|
|||
Wwfall = WNOM - 2 * BEZEL - Hwfall + 24;
|
||||
else
|
||||
Wwfall = WNOM - 2 * BEZEL - 2 * DEFAULT_SW;
|
||||
// if (progdefaults.docked_scope)
|
||||
// WNOM = Wwfall;
|
||||
// else
|
||||
// WNOM = Wwfall + 2 * DEFAULT_SW;
|
||||
|
||||
update_main_title();
|
||||
fl_digi_main = new Fl_Double_Window(WNOM, HNOM, main_window_title.c_str());
|
||||
|
@ -1774,13 +1792,14 @@ void create_fl_digi_main() {
|
|||
#define FREQHEIGHT 30
|
||||
#define BTNWIDTH 30
|
||||
|
||||
int qh = Hqsoframe / 2;
|
||||
int qfy = Hmenu + qh - pad;
|
||||
int rig_control_width = FREQWIDTH + 4;
|
||||
|
||||
Fl_Group *TopFrame = new Fl_Group(0, Hmenu, WNOM, Hqsoframe + Hnotes);
|
||||
|
||||
// leftmost frame
|
||||
int qh = Hqsoframe / 2;
|
||||
int qfy = Hmenu + qh - pad;
|
||||
int rig_control_width = FREQWIDTH + 4;
|
||||
|
||||
if (progdefaults.docked_rig_control) {
|
||||
|
||||
RigControlFrame = new Fl_Group(0, Hmenu,
|
||||
rig_control_width, Hqsoframe + Hnotes);
|
||||
|
||||
|
@ -1908,6 +1927,8 @@ void create_fl_digi_main() {
|
|||
RigViewerFrame->hide();
|
||||
|
||||
QsoButtonFrame = new Fl_Group(rightof(RigControlFrame), Hmenu, BTNWIDTH, Hqsoframe + Hnotes);
|
||||
btnQRZ = new Fl_Button(rightof(RigControlFrame) + pad, Hmenu + 1,
|
||||
BTNWIDTH - 2*pad, qh - pad);
|
||||
btnQRZ = new Fl_Button(rightof(RigControlFrame) + pad, Hmenu + 1,
|
||||
BTNWIDTH - 2*pad, qh - pad);
|
||||
btnQRZ->image(new Fl_Pixmap(net_icon));
|
||||
|
@ -1926,6 +1947,29 @@ void create_fl_digi_main() {
|
|||
qsoSave->callback(qsoSave_cb, 0);
|
||||
qsoSave->tooltip("Save");
|
||||
QsoButtonFrame->end();
|
||||
|
||||
} else {
|
||||
|
||||
QsoButtonFrame = new Fl_Group(0, Hmenu, BTNWIDTH, Hqsoframe + Hnotes);
|
||||
btnQRZ = new Fl_Button(pad, Hmenu + 1,
|
||||
BTNWIDTH - 2*pad, qh - pad);
|
||||
btnQRZ->image(new Fl_Pixmap(net_icon));
|
||||
btnQRZ->callback(cb_QRZ, 0);
|
||||
btnQRZ->tooltip("QRZ");
|
||||
|
||||
qsoClear = new Fl_Button(pad, Hmenu + qh + 1,
|
||||
BTNWIDTH - 2*pad, qh - pad);
|
||||
qsoClear->image(new Fl_Pixmap(clear_icon));
|
||||
qsoClear->callback(qsoClear_cb, 0);
|
||||
qsoClear->tooltip("Clear");
|
||||
|
||||
qsoSave = new Fl_Button(pad, Hmenu + Hqsoframe + 1,
|
||||
BTNWIDTH - 2*pad, qh - pad);
|
||||
qsoSave->image(new Fl_Pixmap(save_icon));
|
||||
qsoSave->callback(qsoSave_cb, 0);
|
||||
qsoSave->tooltip("Save");
|
||||
QsoButtonFrame->end();
|
||||
}
|
||||
|
||||
int w_inpFreq = 80;
|
||||
int w_inpTime = 38;
|
||||
|
@ -1959,7 +2003,8 @@ void create_fl_digi_main() {
|
|||
inpRstOut = new Fl_Input(rightof(inpRstIn) + pad, qfy, w_inpRstOut, qh, "Out");
|
||||
inpRstOut->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
|
||||
|
||||
inpQth = new Fl_Input(rightof(inpRstOut) + pad, qfy, 20, Hnotes, "Qth");
|
||||
inpQth = new Fl_Input(rightof(inpRstOut) + pad, qfy,
|
||||
WNOM - rightof(inpRstOut) - pad, Hnotes, "Qth");
|
||||
inpQth->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
|
||||
|
||||
QsoInfoFrame1->resizable(inpQth);
|
||||
|
@ -1979,13 +2024,16 @@ void create_fl_digi_main() {
|
|||
inpAZ = new Fl_Input(leftof(inpRstOut), Y, 28, Hnotes, "Az");
|
||||
inpAZ->align(FL_ALIGN_LEFT);
|
||||
|
||||
inpNotes = new Fl_Input(leftof(inpQth), Y, 20, Hnotes, "");
|
||||
inpNotes = new Fl_Input(leftof(inpQth), Y,
|
||||
inpQth->w(), Hnotes, "");
|
||||
inpNotes->value("Notes");
|
||||
inpNotes->align(FL_ALIGN_INSIDE);
|
||||
|
||||
QsoInfoFrame2->resizable(inpNotes);
|
||||
|
||||
QsoInfoFrame2->end();
|
||||
|
||||
QsoInfoFrame->resizable(QsoInfoFrame2);
|
||||
|
||||
QsoInfoFrame->end();
|
||||
|
||||
|
@ -2272,6 +2320,9 @@ void create_fl_digi_main() {
|
|||
scopeview->end();
|
||||
scopeview->hide();
|
||||
|
||||
if (progdefaults.docked_rig_control)
|
||||
activate_rig_menu_item(false);
|
||||
|
||||
}
|
||||
|
||||
void put_freq(double frequency)
|
||||
|
|
|
@ -132,6 +132,7 @@ extern Fl_Group *tabMainWindow;
|
|||
extern Fl_Counter *cntrWfwidth;
|
||||
extern Fl_Counter *cntrWfheight;
|
||||
extern Fl_Check_Button *btnDockedScope;
|
||||
extern Fl_Check_Button *btnDockedRigControl;
|
||||
extern Fl_Group *tabRSid;
|
||||
extern Fl_Check_Button *chkTransmitRSid;
|
||||
extern Fl_Check_Button *chkRSidWideSearch;
|
||||
|
|
|
@ -147,8 +147,9 @@
|
|||
ELEM_(bool, ID_SMALL, "IDSMALL", true) \
|
||||
ELEM_(bool, macrotextid, "", false) \
|
||||
ELEM_(bool, docked_scope, "DOCKEDSCOPE", false) \
|
||||
ELEM_(bool, docked_rig_control, "DOCKEDRIGCONTROL", true) \
|
||||
ELEM_(int, wfwidth, "WFWIDTH", 3000) \
|
||||
ELEM_(int, wfheight, "WFHEIGHT", 125) \
|
||||
ELEM_(int, wfheight, "WFHEIGHT", 125) \
|
||||
/* QRZ */ \
|
||||
ELEM_(int, QRZ, "QRZTYPE", 0) /* Not available */ \
|
||||
ELEM_(std::string, QRZpathname, "QRZPATHNAME", "") \
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
|
||||
#define fl_digi_h
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/Fl_Double_Window.H>
|
||||
#include <FL/Fl_Menu_Bar.H>
|
||||
|
@ -48,6 +50,8 @@
|
|||
#include "progress.h"
|
||||
#include "FreqControl.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
extern Fl_Double_Window *fl_digi_main;
|
||||
extern Fl_Double_Window *scopeview;
|
||||
//extern Fl_Double_Window *opBrowserView;
|
||||
|
@ -79,6 +83,8 @@ extern Fl_Button *qsoSave;
|
|||
extern Fl_Box *txtRigName;
|
||||
|
||||
extern Fl_Group *qsoFrameView;
|
||||
extern Fl_Group *QsoButtonFrame;
|
||||
extern Fl_Group *QsoInfoFrame;
|
||||
extern cFreqControl *qsoFreqDisp;
|
||||
extern Fl_ComboBox *qso_opMODE;
|
||||
extern Fl_ComboBox *qso_opBW;
|
||||
|
@ -145,6 +151,10 @@ extern void put_Status2(const char *msg, double timeout = 0.0, status_timeout ac
|
|||
extern void set_AFCind( double val );
|
||||
extern void set_AFCrange(double val);
|
||||
|
||||
extern void show_frequency(long long);
|
||||
extern void show_mode(string);
|
||||
extern void show_bw(string sWidth);
|
||||
|
||||
extern void put_WARNstatus(double);
|
||||
|
||||
extern void put_rx_data(int *data, int len);
|
||||
|
|
|
@ -603,16 +603,16 @@ bool riginitOK = false;
|
|||
if (rigMEM_init()) {
|
||||
btnPTT[2]->activate();
|
||||
wf->setQSY(1);
|
||||
// activate_rig_menu_item(true);
|
||||
qsoFreqDisp->activate();
|
||||
if (docked_rig_control)
|
||||
qsoFreqDisp->activate();
|
||||
riginitOK = true;
|
||||
}
|
||||
} else if (chkUSERIGCATis) { // start the rigCAT thread
|
||||
if (rigCAT_init(true)) {
|
||||
wf->USB(true);
|
||||
wf->setQSY(1);
|
||||
// activate_rig_menu_item(true);
|
||||
qsoFreqDisp->activate();
|
||||
if (docked_rig_control)
|
||||
qsoFreqDisp->activate();
|
||||
riginitOK = true;
|
||||
}
|
||||
#if USE_HAMLIB
|
||||
|
@ -620,8 +620,8 @@ bool riginitOK = false;
|
|||
if (hamlib_init(btnPTTis == 1 ? true : false) == false) {
|
||||
wf->USB(true);
|
||||
wf->setQSY(1);
|
||||
// activate_rig_menu_item(true);
|
||||
qsoFreqDisp->activate();
|
||||
if (docked_rig_control)
|
||||
qsoFreqDisp->activate();
|
||||
riginitOK = true;
|
||||
}
|
||||
#endif
|
||||
|
@ -633,8 +633,8 @@ bool riginitOK = false;
|
|||
rigCAT_init(false);
|
||||
wf->USB(true);
|
||||
wf->setQSY(0);
|
||||
// activate_rig_menu_item(true);
|
||||
qsoFreqDisp->activate();
|
||||
if (docked_rig_control)
|
||||
qsoFreqDisp->activate();
|
||||
}
|
||||
|
||||
push2talk->reset(btnPTTis);
|
||||
|
|
|
@ -286,7 +286,7 @@ void cFreqControl::freq_input_cb(Fl_Widget*, void* arg)
|
|||
{
|
||||
cFreqControl* fc = reinterpret_cast<cFreqControl*>(arg);
|
||||
double val = strtod(fc->finp->value(), NULL);
|
||||
if (val >= 0.0 && val < pow(10, MAX_DIGITS - 3)) {
|
||||
if (val >= 0.0 && val < pow(10.0, MAX_DIGITS - 3)) {
|
||||
val *= 1e3;
|
||||
val += 0.5;
|
||||
fc->val = (long)val;
|
||||
|
|
|
@ -98,6 +98,9 @@ bool hamlib_init(bool bPtt)
|
|||
|
||||
try {
|
||||
model = (*prig)->rig_model;
|
||||
LOG_DEBUG("model %d", model);
|
||||
LOG_DEBUG("port %s", port.c_str());
|
||||
LOG_DEBUG("speed %s", spd.c_str());
|
||||
xcvr->init(model);
|
||||
xcvr->setConf("rig_pathname", port.c_str());
|
||||
xcvr->setConf("serial_speed", spd.c_str());
|
||||
|
@ -351,8 +354,7 @@ static void *hamlib_loop(void *args)
|
|||
|
||||
if (freqok && freq && (freq != hamlib_freq)) {
|
||||
hamlib_freq = freq;
|
||||
FreqDisp->value(hamlib_freq);
|
||||
qsoFreqDisp->value(hamlib_freq);
|
||||
show_frequency(hamlib_freq);
|
||||
wf->rfcarrier(hamlib_freq);
|
||||
}
|
||||
|
||||
|
@ -363,10 +365,13 @@ static void *hamlib_loop(void *args)
|
|||
hamlib_rmode == RIG_MODE_CWR ||
|
||||
hamlib_rmode == RIG_MODE_PKTLSB ||
|
||||
hamlib_rmode == RIG_MODE_ECSSLSB ||
|
||||
hamlib_rmode == RIG_MODE_RTTYR)
|
||||
hamlib_rmode == RIG_MODE_RTTYR) {
|
||||
wf->USB(false);
|
||||
else
|
||||
show_mode("LSB");
|
||||
} else {
|
||||
wf->USB(true);
|
||||
show_mode("USB");
|
||||
}
|
||||
}
|
||||
|
||||
if (hamlib_exit)
|
||||
|
|
|
@ -120,12 +120,12 @@ void Rig::setFreq(freq_t freq, vfo_t vfo)
|
|||
|
||||
freq_t Rig::getFreq(vfo_t vfo)
|
||||
{
|
||||
freq_t freq;
|
||||
for (int i = 0; i < NUMTRIES; i++) {
|
||||
freq_t freq = 0;
|
||||
int i;
|
||||
for (i = 0; i < NUMTRIES; i++)
|
||||
if (rig_get_freq(theRig, vfo, &freq) == RIG_OK)
|
||||
return freq;
|
||||
}
|
||||
return 0;
|
||||
break;
|
||||
return freq;
|
||||
}
|
||||
|
||||
void Rig::setMode(rmode_t mode, pbwidth_t width, vfo_t vfo)
|
||||
|
|
|
@ -1104,15 +1104,13 @@ static void *rigCAT_loop(void *args)
|
|||
|
||||
if ((freq > 0) && (freq != llFreq)) {
|
||||
llFreq = freq;
|
||||
FreqDisp->value(freq); // REQ is built in to the widget
|
||||
qsoFreqDisp->value(freq);
|
||||
show_frequency(freq);
|
||||
wf->rfcarrier(freq);
|
||||
}
|
||||
|
||||
if (sWidth.size() && sWidth != sRigWidth) {
|
||||
sRigWidth = sWidth;
|
||||
REQ(&Fl_ComboBox::put_value, opBW, sWidth.c_str());
|
||||
REQ(&Fl_ComboBox::put_value, qso_opBW, sWidth.c_str());
|
||||
show_bw(sWidth);
|
||||
}
|
||||
|
||||
if (sMode.size() && sMode != sRigMode) {
|
||||
|
@ -1121,8 +1119,7 @@ static void *rigCAT_loop(void *args)
|
|||
wf->USB(false);
|
||||
else
|
||||
wf->USB(true);
|
||||
REQ(&Fl_ComboBox::put_value, opMODE, sMode.c_str());
|
||||
REQ(&Fl_ComboBox::put_value, qso_opMODE, sMode.c_str());
|
||||
show_mode(sMode);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -92,7 +92,8 @@ void selFreq(long int f)
|
|||
void initOptionMenus()
|
||||
{
|
||||
opMODE->clear();
|
||||
qso_opMODE->clear();
|
||||
if (progdefaults.docked_rig_control)
|
||||
qso_opMODE->clear();
|
||||
list<MODE>::iterator MD;
|
||||
list<MODE> *pMD = 0;
|
||||
if (lmodes.empty() == false)
|
||||
|
@ -104,21 +105,26 @@ void initOptionMenus()
|
|||
MD = pMD->begin();
|
||||
while (MD != pMD->end()) {
|
||||
opMODE->add( (*MD).SYMBOL.c_str());
|
||||
qso_opMODE->add( (*MD).SYMBOL.c_str());
|
||||
if (progdefaults.docked_rig_control)
|
||||
qso_opMODE->add( (*MD).SYMBOL.c_str());
|
||||
MD++;
|
||||
}
|
||||
opMODE->activate();
|
||||
opMODE->index(0);
|
||||
qso_opMODE->activate();
|
||||
qso_opMODE->index(0);
|
||||
if (progdefaults.docked_rig_control) {
|
||||
qso_opMODE->activate();
|
||||
qso_opMODE->index(0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
opMODE->deactivate();
|
||||
qso_opMODE->deactivate();
|
||||
if (progdefaults.docked_rig_control)
|
||||
qso_opMODE->deactivate();
|
||||
}
|
||||
|
||||
opBW->clear();
|
||||
qso_opBW->clear();
|
||||
if (progdefaults.docked_rig_control)
|
||||
qso_opBW->clear();
|
||||
list<BW>::iterator bw;
|
||||
list<BW> *pBW = 0;
|
||||
if (lbws.empty() == false)
|
||||
|
@ -130,17 +136,21 @@ void initOptionMenus()
|
|||
bw = pBW->begin();
|
||||
while (bw != pBW->end()) {
|
||||
opBW->add( (*bw).SYMBOL.c_str());
|
||||
qso_opBW->add( (*bw).SYMBOL.c_str());
|
||||
if (progdefaults.docked_rig_control)
|
||||
qso_opBW->add( (*bw).SYMBOL.c_str());
|
||||
bw++;
|
||||
}
|
||||
opBW->activate();
|
||||
opBW->index(0);
|
||||
qso_opBW->activate();
|
||||
qso_opBW->index(0);
|
||||
if (progdefaults.docked_rig_control) {
|
||||
qso_opBW->activate();
|
||||
qso_opBW->index(0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
opBW->deactivate();
|
||||
qso_opBW->deactivate();
|
||||
if (progdefaults.docked_rig_control)
|
||||
qso_opBW->deactivate();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -148,7 +158,8 @@ void clearList()
|
|||
{
|
||||
freqlist.clear();
|
||||
FreqSelect->clear();
|
||||
qso_opBrowser->clear();
|
||||
if (progdefaults.docked_rig_control)
|
||||
qso_opBrowser->clear();
|
||||
}
|
||||
|
||||
void qso_clearList()
|
||||
|
@ -163,7 +174,8 @@ void updateSelect()
|
|||
return;
|
||||
for (size_t i = 0; i < freqlist.size(); i++) {
|
||||
FreqSelect->add(freqlist[i].str().c_str());
|
||||
qso_opBrowser->add(freqlist[i].str().c_str());
|
||||
if (progdefaults.docked_rig_control)
|
||||
qso_opBrowser->add(freqlist[i].str().c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -303,13 +315,15 @@ void setMode()
|
|||
hamlib_setmode(mode_nums[opMODE->value()]);
|
||||
#endif
|
||||
if (progdefaults.chkUSERIGCATis)
|
||||
rigCAT_setmode(qso_opMODE->value());
|
||||
rigCAT_setmode(opMODE->value());
|
||||
if (progdefaults.chkUSEMEMMAPis)
|
||||
rigMEM_setmode(qso_opMODE->value());
|
||||
rigMEM_setmode(opMODE->value());
|
||||
}
|
||||
|
||||
int cb_qso_opMODE()
|
||||
{
|
||||
if (!progdefaults.docked_rig_control) return 0;
|
||||
|
||||
#if USE_HAMLIB
|
||||
if (progdefaults.chkUSEHAMLIBis)
|
||||
hamlib_setmode(mode_nums[qso_opMODE->value()]);
|
||||
|
@ -328,6 +342,7 @@ void setBW()
|
|||
|
||||
int cb_qso_opBW()
|
||||
{
|
||||
if (!progdefaults.docked_rig_control) return 0;
|
||||
rigCAT_setwidth (qso_opBW->value());
|
||||
return 0;
|
||||
}
|
||||
|
@ -352,6 +367,7 @@ int movFreq()
|
|||
|
||||
int qso_movFreq()
|
||||
{
|
||||
if (!progdefaults.docked_rig_control) return 0;
|
||||
long int f;
|
||||
f = qsoFreqDisp->value();
|
||||
#if USE_HAMLIB
|
||||
|
@ -392,6 +408,8 @@ void selectFreq()
|
|||
|
||||
void qso_selectFreq()
|
||||
{
|
||||
if (!progdefaults.docked_rig_control) return;
|
||||
|
||||
int n = qso_opBrowser->value();
|
||||
if (!n) return;
|
||||
|
||||
|
@ -417,6 +435,8 @@ void qso_selectFreq()
|
|||
|
||||
void qso_setFreq()
|
||||
{
|
||||
if (!progdefaults.docked_rig_control) return;
|
||||
|
||||
int n = qso_opBrowser->value();
|
||||
if (!n) return;
|
||||
|
||||
|
@ -440,6 +460,8 @@ void delFreq()
|
|||
|
||||
void qso_delFreq()
|
||||
{
|
||||
if (!progdefaults.docked_rig_control) return;
|
||||
|
||||
int v = qso_opBrowser->value() - 1;
|
||||
|
||||
if (v >= 0) {
|
||||
|
@ -461,6 +483,8 @@ void addFreq()
|
|||
|
||||
void qso_addFreq()
|
||||
{
|
||||
if (!progdefaults.docked_rig_control) return;
|
||||
|
||||
long freq = qsoFreqDisp->value();
|
||||
if (freq) {
|
||||
size_t pos = addtoList(freq);
|
||||
|
@ -473,10 +497,12 @@ void setTitle()
|
|||
{
|
||||
if (windowTitle.length() > 0) {
|
||||
rigcontrol->label(windowTitle.c_str());
|
||||
txtRigName->label(windowTitle.c_str());
|
||||
if (progdefaults.docked_rig_control)
|
||||
txtRigName->label(windowTitle.c_str());
|
||||
} else {
|
||||
rigcontrol->label("");
|
||||
txtRigName->label("Non CAT mode");
|
||||
if (progdefaults.docked_rig_control)
|
||||
txtRigName->label("Non CAT mode");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -503,12 +529,14 @@ LOG_DEBUG("no rig");
|
|||
opMODE->index(0);
|
||||
opMODE->activate();
|
||||
|
||||
qso_opBW->deactivate();
|
||||
qso_opMODE->clear();
|
||||
qso_opMODE->add("LSB");
|
||||
qso_opMODE->add("USB");
|
||||
qso_opMODE->index(0);
|
||||
qso_opMODE->activate();
|
||||
if (progdefaults.docked_rig_control) {
|
||||
qso_opBW->deactivate();
|
||||
qso_opMODE->clear();
|
||||
qso_opMODE->add("LSB");
|
||||
qso_opMODE->add("USB");
|
||||
qso_opMODE->index(0);
|
||||
qso_opMODE->activate();
|
||||
}
|
||||
|
||||
windowTitle = "Rig Not Specified";
|
||||
setTitle();
|
||||
|
@ -529,12 +557,14 @@ LOG_DEBUG("Mem Mapped rig");
|
|||
opMODE->index(0);
|
||||
opMODE->activate();
|
||||
|
||||
qso_opBW->deactivate();
|
||||
qso_opMODE->clear();
|
||||
qso_opMODE->add("LSB");
|
||||
qso_opMODE->add("USB");
|
||||
qso_opMODE->index(0);
|
||||
qso_opMODE->activate();
|
||||
if (progdefaults.docked_rig_control) {
|
||||
qso_opBW->deactivate();
|
||||
qso_opMODE->clear();
|
||||
qso_opMODE->add("LSB");
|
||||
qso_opMODE->add("USB");
|
||||
qso_opMODE->index(0);
|
||||
qso_opMODE->activate();
|
||||
}
|
||||
|
||||
windowTitle = "Memory Mapped Rig";
|
||||
setTitle();
|
||||
|
|
Ładowanie…
Reference in New Issue