kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Olivia/Contestia start stop tones
* add ability to disable start/stop tones in Olivia and Contestiapull/4/head
rodzic
37175e2ca2
commit
cbff7c3f18
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 |
|
@ -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>
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)", \
|
||||
|
|
|
@ -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;
|
||||
|
|
Ładowanie…
Reference in New Issue