kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Upstream version 2.11AC
rodzic
ffc692c17c
commit
66da44c68e
|
@ -9,7 +9,7 @@ dnl major and minor must be integers; patch may
|
|||
dnl contain other characters or be empty
|
||||
m4_define(FLDIGI_MAJOR, [2])
|
||||
m4_define(FLDIGI_MINOR, [11])
|
||||
m4_define(FLDIGI_PATCH, [AB])
|
||||
m4_define(FLDIGI_PATCH, [AC])
|
||||
|
||||
AC_INIT([fldigi], FLDIGI_MAJOR.FLDIGI_MINOR[FLDIGI_PATCH], [w1hkj AT w1hkj DOT com])
|
||||
|
||||
|
|
|
@ -967,8 +967,7 @@ progdefaults.changed = true;
|
|||
Fl_Value_Slider *sldrHellBW=(Fl_Value_Slider *)0;
|
||||
|
||||
static void cb_sldrHellBW(Fl_Value_Slider*, void*) {
|
||||
active_modem->set_bandwidth(sldrHellBW->value());
|
||||
progdefaults.changed = true;
|
||||
progdefaults.HELL_BW = sldrHellBW->value();
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnHellXmtWidth=(Fl_Check_Button *)0;
|
||||
|
@ -1739,6 +1738,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
{ tabSoundCard = new Fl_Group(0, 25, 400, 195, "SndCrd");
|
||||
tabSoundCard->color((Fl_Color)51);
|
||||
tabSoundCard->selection_color((Fl_Color)51);
|
||||
tabSoundCard->hide();
|
||||
{ tabsSoundCard = new Fl_Tabs(0, 25, 400, 195);
|
||||
tabsSoundCard->selection_color((Fl_Color)10);
|
||||
{ tabAudio = new Fl_Group(0, 50, 400, 170, "Audio devices");
|
||||
|
@ -1940,7 +1940,6 @@ l with your sound hardware.");
|
|||
{ tabModems = new Fl_Group(0, 25, 401, 195, "Modem");
|
||||
tabModems->color((Fl_Color)51);
|
||||
tabModems->selection_color((Fl_Color)51);
|
||||
tabModems->hide();
|
||||
{ tabsModems = new Fl_Tabs(0, 25, 401, 195);
|
||||
tabsModems->color((Fl_Color)51);
|
||||
tabsModems->selection_color((Fl_Color)10);
|
||||
|
@ -2097,6 +2096,7 @@ l with your sound hardware.");
|
|||
{ tabDEX = new Fl_Group(0, 44, 400, 170, "Dex");
|
||||
tabDEX->color((Fl_Color)51);
|
||||
tabDEX->selection_color((Fl_Color)51);
|
||||
tabDEX->hide();
|
||||
{ txtDEXSecondary = new Fl_Input(20, 75, 360, 44, "Secondary Text");
|
||||
txtDEXSecondary->type(4);
|
||||
txtDEXSecondary->callback((Fl_Callback*)cb_txtDEXSecondary);
|
||||
|
@ -2173,7 +2173,6 @@ l with your sound hardware.");
|
|||
{ tabFeld = new Fl_Group(0, 50, 400, 170, "Feld");
|
||||
tabFeld->color((Fl_Color)51);
|
||||
tabFeld->selection_color((Fl_Color)51);
|
||||
tabFeld->hide();
|
||||
{ Fl_Choice* o = selHellFont = new Fl_Choice(175, 62, 122, 20, "Feld Hell Font:");
|
||||
selHellFont->down_box(FL_BORDER_BOX);
|
||||
selHellFont->labelfont(4);
|
||||
|
@ -2182,7 +2181,7 @@ l with your sound hardware.");
|
|||
o->add(szFeldFonts);
|
||||
o->value(progdefaults.feldfontnbr);
|
||||
} // Fl_Choice* selHellFont
|
||||
{ sldrHellBW = new Fl_Value_Slider(30, 190, 345, 20, "Filter BW");
|
||||
{ Fl_Value_Slider* o = sldrHellBW = new Fl_Value_Slider(30, 190, 345, 20, "Filter BW");
|
||||
sldrHellBW->type(1);
|
||||
sldrHellBW->color((Fl_Color)215);
|
||||
sldrHellBW->minimum(10);
|
||||
|
@ -2192,6 +2191,7 @@ l with your sound hardware.");
|
|||
sldrHellBW->textsize(14);
|
||||
sldrHellBW->callback((Fl_Callback*)cb_sldrHellBW);
|
||||
sldrHellBW->align(FL_ALIGN_TOP_LEFT);
|
||||
o->value(progdefaults.HELL_BW);
|
||||
} // Fl_Value_Slider* sldrHellBW
|
||||
{ btnHellXmtWidth = new Fl_Check_Button(40, 93, 113, 15, "2x Xmt Width");
|
||||
btnHellXmtWidth->down_box(FL_DOWN_BOX);
|
||||
|
|
|
@ -671,7 +671,7 @@ o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");}
|
|||
}
|
||||
Fl_Group tabSoundCard {
|
||||
label SndCrd open
|
||||
xywh {0 25 400 195} color 51 selection_color 51
|
||||
xywh {0 25 400 195} color 51 selection_color 51 hide
|
||||
} {
|
||||
Fl_Tabs tabsSoundCard {open
|
||||
xywh {0 25 400 195} selection_color 10
|
||||
|
@ -808,7 +808,7 @@ progdefaults.changed = true;} open
|
|||
label Capture
|
||||
callback {progdefaults.in_sample_rate = o->value() > 1 ? strtol(o->mvalue()->text, 0, 10) : o->value();
|
||||
resetSoundCard();
|
||||
progdefaults.changed = true;} open selected
|
||||
progdefaults.changed = true;} open
|
||||
tooltip {Force a specific sample rate. Select "Native" if "Auto" does not work well with your sound hardware.} xywh {8 62 85 25} down_box BORDER_BOX align 8
|
||||
code0 {//extern Fl_Menu_Item sample_rate_menu[];}
|
||||
code1 {//o->menu(sample_rate_menu);}
|
||||
|
@ -924,7 +924,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabModems {
|
||||
label Modem open
|
||||
xywh {0 25 401 195} color 51 selection_color 51 hide
|
||||
xywh {0 25 401 195} color 51 selection_color 51
|
||||
} {
|
||||
Fl_Tabs tabsModems {open
|
||||
xywh {0 25 401 195} color 51 selection_color 10 align 9
|
||||
|
@ -1056,7 +1056,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabDEX {
|
||||
label Dex open
|
||||
xywh {0 44 400 170} color 51 selection_color 51
|
||||
xywh {0 44 400 170} color 51 selection_color 51 hide
|
||||
} {
|
||||
Fl_Input txtDEXSecondary {
|
||||
label {Secondary Text}
|
||||
|
@ -1131,7 +1131,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabFeld {
|
||||
label Feld open
|
||||
xywh {0 50 400 170} color 51 selection_color 51 hide
|
||||
xywh {0 50 400 170} color 51 selection_color 51
|
||||
} {
|
||||
Fl_Choice selHellFont {
|
||||
label {Feld Hell Font:}
|
||||
|
@ -1144,9 +1144,9 @@ progdefaults.changed = true;} open
|
|||
} {}
|
||||
Fl_Value_Slider sldrHellBW {
|
||||
label {Filter BW}
|
||||
callback {active_modem->set_bandwidth(sldrHellBW->value());
|
||||
progdefaults.changed = true;}
|
||||
callback {progdefaults.HELL_BW = sldrHellBW->value();} selected
|
||||
xywh {30 190 345 20} type Horizontal color 215 align 5 minimum 10 maximum 2400 step 5 value 400 textsize 14
|
||||
code0 {o->value(progdefaults.HELL_BW);}
|
||||
}
|
||||
Fl_Check_Button btnHellXmtWidth {
|
||||
label {2x Xmt Width}
|
||||
|
|
|
@ -261,6 +261,7 @@ void startup_modem(modem *m)
|
|||
ReceiveText->hide();
|
||||
FHdisp->show();
|
||||
sldrHellBW->value(m->get_bandwidth());
|
||||
progdefaults.HELL_BW = m->get_bandwidth();
|
||||
} else {
|
||||
ReceiveText->show();
|
||||
FHdisp->hide();
|
||||
|
|
|
@ -77,6 +77,11 @@ void feld::init()
|
|||
put_MODEstatus(mode);
|
||||
}
|
||||
|
||||
void feld::restart()
|
||||
{
|
||||
set_bandwidth(hell_bandwidth);
|
||||
}
|
||||
|
||||
feld::~feld()
|
||||
{
|
||||
if (hilbert) delete hilbert;
|
||||
|
@ -127,12 +132,15 @@ feld::feld(trx_mode m)
|
|||
|
||||
hell_bandwidth = txpixrate;
|
||||
|
||||
set_bandwidth(hell_bandwidth);
|
||||
if (hell_bandwidth != progdefaults.HELL_BW) {
|
||||
progdefaults.HELL_BW = hell_bandwidth;
|
||||
set_bandwidth(hell_bandwidth);
|
||||
}
|
||||
|
||||
hilbert = new C_FIR_filter();
|
||||
hilbert->init_hilbert(37, 1);
|
||||
|
||||
lp = 1.5 * bandwidth / samplerate;
|
||||
lp = 1.5 * hell_bandwidth / samplerate;
|
||||
|
||||
bpfilt = new fftfilt(0, lp, 1024);
|
||||
|
||||
|
@ -266,24 +274,15 @@ int feld::rx_process(const double *buf, int len)
|
|||
FL_LOCK_D();
|
||||
halfwidth = btnHellRcvWidth->value();
|
||||
blackboard = btnBlackboard->value();
|
||||
// squelch = progdefaults.sldrSquelchValue;
|
||||
// squelchon = progdefaults.sqlonoff;
|
||||
FL_UNLOCK_D();
|
||||
|
||||
// switch (mode) {
|
||||
// default:
|
||||
if (bandwidth != hell_bandwidth) {
|
||||
double lp;
|
||||
hell_bandwidth = bandwidth;
|
||||
lp = 1.5 * bandwidth / 2.0 / samplerate;
|
||||
bpfilt->create_filter(0, lp);
|
||||
}
|
||||
// break;
|
||||
// case MODE_FSKHELL:
|
||||
// case MODE_FSKH105:
|
||||
// case MODE_HELL80:
|
||||
// break;
|
||||
// }
|
||||
if (progdefaults.HELL_BW != hell_bandwidth) {
|
||||
double lp;
|
||||
hell_bandwidth = progdefaults.HELL_BW;
|
||||
set_bandwidth(hell_bandwidth);
|
||||
lp = 1.5 * hell_bandwidth / 2.0 / samplerate;
|
||||
bpfilt->create_filter(0, lp);
|
||||
}
|
||||
|
||||
while (len-- > 0) {
|
||||
/* create analytic signal... */
|
||||
|
|
|
@ -67,6 +67,7 @@ struct configuration {
|
|||
int CWIDwpm;
|
||||
// FELD-HELL
|
||||
bool FELD_IDLE;
|
||||
double HELL_BW;
|
||||
// OLIVIA
|
||||
int oliviatones;
|
||||
int oliviabw;
|
||||
|
|
|
@ -104,7 +104,7 @@ public:
|
|||
void init();
|
||||
void rx_init();
|
||||
void tx_init(SoundBase *sc);
|
||||
void restart() {};
|
||||
void restart();
|
||||
int rx_process(const double *buf, int len);
|
||||
int tx_process();
|
||||
int get_font_data(unsigned char c, int col);
|
||||
|
|
|
@ -72,6 +72,7 @@ configuration progdefaults = {
|
|||
|
||||
// FELD-HELL
|
||||
false, // bool FELD_IDLE;
|
||||
150.0, // double HELL_BW;
|
||||
// OLIVIA
|
||||
2, // int oliviatones;
|
||||
2, // int oliviabw;
|
||||
|
|
Ładowanie…
Reference in New Issue