Olivia/Contestia start stop tones

* add ability to disable start/stop tones in Olivia and
    Contestia
pull/4/head
David Freese 2015-09-13 16:17:16 -05:00
rodzic 37175e2ca2
commit cbff7c3f18
9 zmienionych plików z 74 dodań i 10 usunięć

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 45 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 25 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 48 KiB

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 32 KiB

Wyświetl plik

@ -23,6 +23,12 @@ rate, and excessive latency which is the apparent typing delay caused
by the integration period.
<br>
Each Olivia transmission can start and end with two distinctive tones. These tones
are exactly at the lowest and uppermost tones for the selection of tones and bandwidth.
They can assist the receiving station in tuning the Olivia signal on the waterfall.
The start/stop tones can be disabled.
See \ref olivia_page "Operating Olivia" for additional information.
<br>

Wyświetl plik

@ -91,6 +91,8 @@ void contestia::rx_flush()
void contestia::send_tones()
{
if (!progdefaults.contestia_start_tones) return;
double freqa, freqb;
tone_bw = bandwidth;
tone_midfreq = txbasefreq;

Wyświetl plik

@ -3200,6 +3200,13 @@ static void cb_btnOlivia_8bit(Fl_Check_Button* o, void*) {
progdefaults.changed = true;
}
Fl_Check_Button *btnOlivia_start_stop_tones=(Fl_Check_Button *)0;
static void cb_btnOlivia_start_stop_tones(Fl_Check_Button* o, void*) {
progdefaults.olivia_start_tones = o->value();
progdefaults.changed = true;
}
Fl_Group *tabContestia=(Fl_Group *)0;
Fl_ListBox *i_listbox_contestia_bandwidth=(Fl_ListBox *)0;
@ -3243,6 +3250,13 @@ static void cb_btnContestia_8bit(Fl_Check_Button* o, void*) {
progdefaults.changed = true;
}
Fl_Check_Button *btnContestia_start_stop_tones=(Fl_Check_Button *)0;
static void cb_btnContestia_start_stop_tones(Fl_Check_Button* o, void*) {
progdefaults.contestia_start_tones = o->value();
progdefaults.changed = true;
}
Fl_Group *tabPSK=(Fl_Group *)0;
Fl_Tabs *tabsPSK=(Fl_Tabs *)0;
@ -8488,7 +8502,7 @@ i on a\ntouch screen device such as a tablet."));
i_listbox_olivia_bandwidth->when(FL_WHEN_RELEASE);
o->add(szOliviaBandwidth);
o->index(progdefaults.oliviabw);
o->labelsize(FL_NORMAL_SIZE);
o->labelsize(FL_NORMAL_SIZE);
i_listbox_olivia_bandwidth->end();
} // Fl_ListBox* i_listbox_olivia_bandwidth
{ Fl_ListBox* o = i_listbox_olivia_tones = new Fl_ListBox(371, 96, 70, 22, _("Tones"));
@ -8505,7 +8519,7 @@ i on a\ntouch screen device such as a tablet."));
i_listbox_olivia_tones->when(FL_WHEN_RELEASE);
o->add(szOliviaTones);
o->index(progdefaults.oliviatones);
o->labelsize(FL_NORMAL_SIZE);
o->labelsize(FL_NORMAL_SIZE);
i_listbox_olivia_tones->end();
} // Fl_ListBox* i_listbox_olivia_tones
{ Fl_Group* o = new Fl_Group(110, 135, 379, 133, _("Receive synchronizer"));
@ -8529,6 +8543,7 @@ i on a\ntouch screen device such as a tablet."));
cntOlivia_smargin->align(Fl_Align(FL_ALIGN_RIGHT));
cntOlivia_smargin->when(FL_WHEN_CHANGED);
o->labelsize(FL_NORMAL_SIZE);
o->value(progdefaults.oliviasmargin);
} // Fl_Counter2* cntOlivia_smargin
{ Fl_Counter2* o = cntOlivia_sinteg = new Fl_Counter2(125, 198, 70, 22, _("Integration period (FEC blocks)"));
cntOlivia_sinteg->tooltip(_("Change ONLY to experiment"));
@ -8548,6 +8563,7 @@ i on a\ntouch screen device such as a tablet."));
cntOlivia_sinteg->align(Fl_Align(FL_ALIGN_RIGHT));
cntOlivia_sinteg->when(FL_WHEN_CHANGED);
o->labelsize(FL_NORMAL_SIZE);
o->value(progdefaults.oliviasinteg);
} // Fl_Counter2* cntOlivia_sinteg
{ Fl_Check_Button* o = btn_olivia_reset_fec = new Fl_Check_Button(126, 230, 349, 20, _("Reset FEC blocks when changing BW or Tones"));
btn_olivia_reset_fec->tooltip(_("Enable this for UTF-8 character transmission"));
@ -8557,18 +8573,25 @@ i on a\ntouch screen device such as a tablet."));
} // Fl_Check_Button* btn_olivia_reset_fec
o->end();
} // Fl_Group* o
{ btnOlivia_8bit = new Fl_Check_Button(131, 291, 265, 20, _("8-bit extended characters (UTF-8)"));
{ Fl_Check_Button* o = btnOlivia_8bit = new Fl_Check_Button(131, 291, 265, 20, _("8-bit extended characters (UTF-8)"));
btnOlivia_8bit->tooltip(_("Enable this for UTF-8 character transmission"));
btnOlivia_8bit->down_box(FL_DOWN_BOX);
btnOlivia_8bit->callback((Fl_Callback*)cb_btnOlivia_8bit);
o->value(progdefaults.olivia8bit);
} // Fl_Check_Button* btnOlivia_8bit
{ Fl_Check_Button* o = btnOlivia_start_stop_tones = new Fl_Check_Button(131, 315, 265, 20, _("xmt start/stop tones"));
btnOlivia_start_stop_tones->tooltip(_("Enable this to send start/stop tones"));
btnOlivia_start_stop_tones->down_box(FL_DOWN_BOX);
btnOlivia_start_stop_tones->callback((Fl_Callback*)cb_btnOlivia_start_stop_tones);
o->value(progdefaults.olivia_start_tones);
} // Fl_Check_Button* btnOlivia_start_stop_tones
o->end();
} // Fl_Group* o
tabOlivia->end();
} // Fl_Group* tabOlivia
{ tabContestia = new Fl_Group(0, 50, 600, 330, _("Cont"));
tabContestia->hide();
{ Fl_Group* o = new Fl_Group(55, 80, 490, 200);
{ Fl_Group* o = new Fl_Group(55, 80, 490, 235);
o->box(FL_ENGRAVED_FRAME);
{ Fl_ListBox* o = i_listbox_contestia_bandwidth = new Fl_ListBox(110, 100, 85, 22, _("Bandwidth"));
i_listbox_contestia_bandwidth->tooltip(_("Select bandwidth"));
@ -8653,6 +8676,12 @@ i on a\ntouch screen device such as a tablet."));
btnContestia_8bit->callback((Fl_Callback*)cb_btnContestia_8bit);
btnContestia_8bit->hide();
} // Fl_Check_Button* btnContestia_8bit
{ Fl_Check_Button* o = btnContestia_start_stop_tones = new Fl_Check_Button(141, 280, 265, 20, _("xmt start/stop tones"));
btnContestia_start_stop_tones->tooltip(_("Enable this to send start/stop tones"));
btnContestia_start_stop_tones->down_box(FL_DOWN_BOX);
btnContestia_start_stop_tones->callback((Fl_Callback*)cb_btnContestia_start_stop_tones);
o->value(progdefaults.contestia_start_tones);
} // Fl_Check_Button* btnContestia_start_stop_tones
o->end();
} // Fl_Group* o
tabContestia->end();

Wyświetl plik

@ -3880,7 +3880,7 @@ progdefaults.changed = true;}
label Oliv open
xywh {0 50 600 330} hide
} {
Fl_Group {} {
Fl_Group {} {open
xywh {55 76 490 280} box ENGRAVED_FRAME
} {
Fl_Group i_listbox_olivia_bandwidth {
@ -3891,8 +3891,8 @@ resetOLIVIA();
progdefaults.changed = true;} open
tooltip {Select bandwidth} xywh {110 96 85 22} box DOWN_BOX color 7 align 8
code0 {o->add(szOliviaBandwidth);}
code1 {o->index(progdefaults.oliviabw);
o->labelsize(FL_NORMAL_SIZE);}
code1 {o->index(progdefaults.oliviabw);}
code2 {o->labelsize(FL_NORMAL_SIZE);}
class Fl_ListBox
} {}
Fl_Group i_listbox_olivia_tones {
@ -3903,8 +3903,8 @@ resetOLIVIA();
progdefaults.changed = true;} open
tooltip {Select number of tones} xywh {371 96 70 22} box DOWN_BOX color 7 align 8
code0 {o->add(szOliviaTones);}
code1 {o->index(progdefaults.oliviatones);
o->labelsize(FL_NORMAL_SIZE);}
code1 {o->index(progdefaults.oliviatones);}
code2 {o->labelsize(FL_NORMAL_SIZE);}
class Fl_ListBox
} {}
Fl_Group {} {
@ -3918,6 +3918,7 @@ resetOLIVIA();
progdefaults.changed = true;}
tooltip {Change ONLY to experiment} xywh {125 166 70 22} type Simple align 8 minimum 2 maximum 128 step 1 value 8
code0 {o->labelsize(FL_NORMAL_SIZE);}
code1 {o->value(progdefaults.oliviasmargin);}
class Fl_Counter2
}
Fl_Counter cntOlivia_sinteg {
@ -3927,6 +3928,7 @@ resetOLIVIA();
progdefaults.changed = true;}
tooltip {Change ONLY to experiment} xywh {125 198 70 22} type Simple align 8 minimum 2 maximum 128 step 1 value 4
code0 {o->labelsize(FL_NORMAL_SIZE);}
code1 {o->value(progdefaults.oliviasinteg);}
class Fl_Counter2
}
Fl_Check_Button btn_olivia_reset_fec {
@ -3942,6 +3944,14 @@ progdefaults.changed = true;}
callback {progdefaults.olivia8bit = o->value();
progdefaults.changed = true;}
tooltip {Enable this for UTF-8 character transmission} xywh {131 291 265 20} down_box DOWN_BOX
code0 {o->value(progdefaults.olivia8bit);}
}
Fl_Check_Button btnOlivia_start_stop_tones {
label {xmt start/stop tones}
callback {progdefaults.olivia_start_tones = o->value();
progdefaults.changed = true;}
tooltip {Enable this to send start/stop tones} xywh {131 315 265 20} down_box DOWN_BOX
code0 {o->value(progdefaults.olivia_start_tones);}
}
}
}
@ -3950,7 +3960,7 @@ progdefaults.changed = true;}
xywh {0 50 600 330} hide
} {
Fl_Group {} {open
xywh {55 80 490 200} box ENGRAVED_FRAME
xywh {55 80 490 235} box ENGRAVED_FRAME
} {
Fl_Group i_listbox_contestia_bandwidth {
label Bandwidth
@ -4005,6 +4015,13 @@ progdefaults.changed = true;}
progdefaults.changed = true;}
tooltip {Enable this for Latin-1 accented characters} xywh {79 249 200 20} down_box DOWN_BOX hide
}
Fl_Check_Button btnContestia_start_stop_tones {
label {xmt start/stop tones}
callback {progdefaults.contestia_start_tones = o->value();
progdefaults.changed = true;}
tooltip {Enable this to send start/stop tones} xywh {141 280 265 20} down_box DOWN_BOX
code0 {o->value(progdefaults.contestia_start_tones);}
}
}
}
Fl_Group tabPSK {

Wyświetl plik

@ -357,12 +357,14 @@ extern Fl_Counter2 *cntOlivia_smargin;
extern Fl_Counter2 *cntOlivia_sinteg;
extern Fl_Check_Button *btn_olivia_reset_fec;
extern Fl_Check_Button *btnOlivia_8bit;
extern Fl_Check_Button *btnOlivia_start_stop_tones;
extern Fl_Group *tabContestia;
extern Fl_ListBox *i_listbox_contestia_bandwidth;
extern Fl_ListBox *i_listbox_contestia_tones;
extern Fl_Counter2 *cntContestia_smargin;
extern Fl_Counter2 *cntContestia_sinteg;
extern Fl_Check_Button *btnContestia_8bit;
extern Fl_Check_Button *btnContestia_start_stop_tones;
extern Fl_Group *tabPSK;
extern Fl_Tabs *tabsPSK;
extern Fl_Group *grpPSK;

Wyświetl plik

@ -517,6 +517,9 @@
ELEM_(bool, olivia8bit, "OLIVIA8BIT", \
"8-bit extended characters", \
true) \
ELEM_(bool, olivia_start_tones, "OLIVIASTARTTONES", \
"Send start/stop tones", \
true) \
/* CONTESTIA */ \
ELEM_(int, contestiatones, "CONTESTIATONES", \
"Number of tones. Values are as follows:\n" \
@ -538,6 +541,9 @@
ELEM_(bool, contestia_reset_fec, "CONTESTIARESETFEC", \
"Force Integration (FEC) depth to be reset when new BW/Tones selected", \
false) \
ELEM_(bool, contestia_start_tones, "CONTESTIASTARTTONES", \
"Send start/stop tones", \
true) \
/* THOR */ \
ELEM_(double, THOR_BW, "THORBW", \
"Filter bandwidth factor (bandwidth relative to signal width)", \

Wyświetl plik

@ -105,6 +105,8 @@ void olivia::rx_flush()
void olivia::send_tones()
{
if (!progdefaults.olivia_start_tones) return;
double freqa, freqb;
tone_bw = bandwidth;
tone_midfreq = txbasefreq;