Upstream version 2.05d

pull/2/head
Stelios Bounanos 2007-12-05 18:13:05 +00:00
rodzic e229f2849c
commit 4aba0d51f2
7 zmienionych plików z 131 dodań i 111 usunięć

Wyświetl plik

@ -4,7 +4,7 @@
# Copyright (C) 2007 Stelios Bounanos, M0GLD (m0gld AT enotty DOT net)
AC_PREREQ(2.61)
AC_INIT([fldigi], [2.05c], [w1hkj AT w1hkj DOT com])
AC_INIT([fldigi], [2.05d], [w1hkj AT w1hkj DOT com])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([-Wall foreign 1.9.6])
AM_MAINTAINER_MODE

Wyświetl plik

@ -303,12 +303,54 @@ void init_modem(trx_mode mode)
modem_config_tab = tabsModems->child(0);
switch (mode) {
case MODE_MFSK16: case MODE_MFSK8:
case MODE_NEXT:
if ((mode = active_modem->get_mode() + 1) == NUM_MODES)
mode = 0;
return init_modem(mode);
case MODE_PREV:
if ((mode = active_modem->get_mode() - 1) < 0)
mode = NUM_MODES - 1;
return init_modem(mode);
case MODE_CW:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem : new cw);
modem_config_tab = tabCW;
break;
case MODE_DOMINOEX4: case MODE_DOMINOEX5: case MODE_DOMINOEX8:
case MODE_DOMINOEX11: case MODE_DOMINOEX16: case MODE_DOMINOEX22:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new dominoex(mode));
quick_change = quick_change_domino;
modem_config_tab = tabDomEX;
break;
case MODE_FELDHELL: case MODE_FSKHELL: case MODE_FSKH105:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new feld(mode));
quick_change = quick_change_feld;
modem_config_tab = tabFeld;
break;
case MODE_MFSK8: case MODE_MFSK16:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new mfsk(mode));
quick_change = quick_change_mfsk;
break;
case MODE_BPSK31: case MODE_PSK63: case MODE_PSK125: case MODE_PSK250:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new psk(mode));
quick_change = quick_change_psk;
modem_config_tab = tabPSK;
break;
case MODE_QPSK31: case MODE_QPSK63: case MODE_QPSK125: case MODE_QPSK250:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new psk(mode));
quick_change = quick_change_qpsk;
modem_config_tab = tabPSK;
break;
case MODE_OLIVIA:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new olivia);
@ -328,39 +370,6 @@ void init_modem(trx_mode mode)
quick_change = quick_change_throb;
break;
case MODE_BPSK31: case MODE_PSK63: case MODE_PSK125: case MODE_PSK250:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new psk(mode));
quick_change = quick_change_psk;
modem_config_tab = tabPSK;
break;
case MODE_QPSK31: case MODE_QPSK63: case MODE_QPSK125: case MODE_QPSK250:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new psk(mode));
quick_change = quick_change_qpsk;
modem_config_tab = tabPSK;
break;
case MODE_FELDHELL: case MODE_FSKHELL: case MODE_FSKH105:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new feld(mode));
quick_change = quick_change_feld;
modem_config_tab = tabFeld;
break;
case MODE_CW:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem : new cw);
modem_config_tab = tabCW;
break;
case MODE_DOMINOEX4: case MODE_DOMINOEX5: case MODE_DOMINOEX8:
case MODE_DOMINOEX11: case MODE_DOMINOEX16: case MODE_DOMINOEX22:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new dominoex(mode));
quick_change = quick_change_domino;
modem_config_tab = tabDomEX;
break;
case MODE_WWV:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new wwv);

Wyświetl plik

@ -40,39 +40,6 @@ const char *state_names[] = {
// Elements are in enum trx_mode order. Mode name video-id uses the
// first string (sname), so its length should be a multiple of 2.
const struct mode_info_t mode_info[NUM_MODES] = {
{ MODE_MFSK16, &mfsk16_modem, "MFSK16", "MFSK-16", "MFSK8" },
{ MODE_MFSK8, &mfsk8_modem, "MFSK-8", "MFSK-8", "MFSK16" },
{ MODE_OLIVIA, &olivia_modem, "OLIVIA", "Olivia", "" },
{ MODE_RTTY, &rtty_modem, "RTTY", "RTTY", "RTTY" },
{ MODE_THROB1, &throb1_modem, "THROB1", "Throb 1", "" },
{ MODE_THROB2, &throb2_modem, "THROB2", "Throb 2", "" },
{ MODE_THROB4, &throb4_modem, "THROB4", "Throb 4", "" },
{ MODE_THROBX1, &throbx1_modem, "THRBX1", "ThrobX 1", "" },
{ MODE_THROBX2, &throbx2_modem, "THRBX2", "ThrobX 2", "" },
{ MODE_THROBX4, &throbx4_modem, "THRBX4", "ThrobX 4", "" },
{ MODE_BPSK31, &psk31_modem, "BPSK31", "BPSK-31", "PSK31" },
{ MODE_QPSK31, &qpsk31_modem, "QPSK31", "QPSK-31", "QPSK31" },
{ MODE_PSK63, &psk63_modem, "PSK-63", "BPSK-63", "PSK63" },
{ MODE_QPSK63, &qpsk63_modem, "QPSK63", "QPSK-63", "QPSK63" },
{ MODE_PSK125, &psk125_modem, "PSK125", "BPSK-125", "PSK125" },
{ MODE_QPSK125, &qpsk125_modem, "QPSK-125", "QPSK-125", "QPSK125" },
{ MODE_PSK250, &psk250_modem, "PSK-250", "BPSK-250", "PSK250" },
{ MODE_QPSK250, &qpsk250_modem, "QPSK-250", "QPSK-250", "QPSK250" },
{ MODE_MT63, 0, "MT63", "MT-63", "" },
{ MODE_FELDHELL, &feld_modem, "FELDHELL", "Feld Hell", "" },
{ MODE_FSKHELL, &feld_FMmodem, "FSK-HELL", "FSK Hell", "" },
{ MODE_FSKH105, &feld_FM105modem, "FSK-H105", "FSK Hell-105", "" },
{ MODE_CW, &cw_modem, "CW", "CW", "CW" },
{ MODE_DOMINOEX4, &dominoex4_modem, "DomEX4", "DominoEX 4", "DOMINOEX4" },
@ -82,6 +49,36 @@ const struct mode_info_t mode_info[NUM_MODES] = {
{ MODE_DOMINOEX16, &dominoex16_modem, "DomX16", "DominoEX 16", "DOMINOEX16" },
{ MODE_DOMINOEX22, &dominoex22_modem, "DomX22", "DominoEX 22", "DOMINOEX22" },
{ MODE_FELDHELL, &feld_modem, "FELDHELL", "Feld Hell", "" },
{ MODE_FSKHELL, &feld_FMmodem, "FSK-HELL", "FSK Hell", "" },
{ MODE_FSKH105, &feld_FM105modem, "FSK-H105", "FSK Hell-105", "" },
{ MODE_MFSK8, &mfsk8_modem, "MFSK-8", "MFSK-8", "MFSK16" },
{ MODE_MFSK16, &mfsk16_modem, "MFSK16", "MFSK-16", "MFSK8" },
{ MODE_BPSK31, &psk31_modem, "BPSK31", "BPSK-31", "PSK31" },
{ MODE_QPSK31, &qpsk31_modem, "QPSK31", "QPSK-31", "QPSK31" },
{ MODE_PSK63, &psk63_modem, "PSK-63", "BPSK-63", "PSK63" },
{ MODE_QPSK63, &qpsk63_modem, "QPSK63", "QPSK-63", "QPSK63" },
{ MODE_PSK125, &psk125_modem, "PSK125", "BPSK-125", "PSK125" },
{ MODE_QPSK125, &qpsk125_modem, "QPSK-125", "QPSK-125", "QPSK125" },
{ MODE_PSK250, &psk250_modem, "PSK-250", "BPSK-250", "PSK250" },
{ MODE_QPSK250, &qpsk250_modem, "QPSK-250", "QPSK-250", "QPSK250" },
{ MODE_OLIVIA, &olivia_modem, "OLIVIA", "Olivia", "" },
{ MODE_RTTY, &rtty_modem, "RTTY", "RTTY", "RTTY" },
{ MODE_THROB1, &throb1_modem, "THROB1", "Throb 1", "" },
{ MODE_THROB2, &throb2_modem, "THROB2", "Throb 2", "" },
{ MODE_THROB4, &throb4_modem, "THROB4", "Throb 4", "" },
{ MODE_THROBX1, &throbx1_modem, "THRBX1", "ThrobX 1", "" },
{ MODE_THROBX2, &throbx2_modem, "THRBX2", "ThrobX 2", "" },
{ MODE_THROBX4, &throbx4_modem, "THRBX4", "ThrobX 4", "" },
// { MODE_MT63, 0, "MT63", "MT-63", "" },
{ MODE_WWV, &wwv_modem, "WWV", "WWV", "" },
{ MODE_ANALYSIS, &anal_modem, "ANALYSIS", "Freq Analysis", "" }
};

Wyświetl plik

@ -43,16 +43,25 @@ enum state_t {
extern const char *state_names[];
enum {
MODE_MFSK16 = 0,
MODE_PREV = -2,
MODE_NEXT,
MODE_CW,
MODE_DOMINOEX4,
MODE_DOMINOEX5,
MODE_DOMINOEX8,
MODE_DOMINOEX11,
MODE_DOMINOEX16,
MODE_DOMINOEX22,
MODE_FELDHELL,
MODE_FSKHELL,
MODE_FSKH105,
MODE_MFSK8,
MODE_OLIVIA,
MODE_RTTY,
MODE_THROB1,
MODE_THROB2,
MODE_THROB4,
MODE_THROBX1,
MODE_THROBX2,
MODE_THROBX4,
MODE_MFSK16,
MODE_BPSK31,
MODE_QPSK31,
MODE_PSK63,
@ -61,19 +70,23 @@ enum {
MODE_QPSK125,
MODE_PSK250,
MODE_QPSK250,
MODE_MT63,
MODE_FELDHELL,
MODE_FSKHELL,
MODE_FSKH105,
MODE_CW,
MODE_DOMINOEX4,
MODE_DOMINOEX5,
MODE_DOMINOEX8,
MODE_DOMINOEX11,
MODE_DOMINOEX16,
MODE_DOMINOEX22,
MODE_OLIVIA,
MODE_RTTY,
MODE_THROB1,
MODE_THROB2,
MODE_THROB4,
MODE_THROBX1,
MODE_THROBX2,
MODE_THROBX4,
// MODE_MT63,
MODE_WWV,
MODE_ANALYSIS,
NUM_MODES
};
typedef int trx_mode;

Wyświetl plik

@ -24,7 +24,7 @@ bool pskmail_text_available = false;
void ParseMode(string src)
{
for (size_t i = 0; i < sizeof(mode_info)/sizeof(mode_info[0]); ++i) {
for (size_t i = 0; i < NUM_MODES; ++i) {
if (src.find(mode_info[i].pskmail_name) != string::npos)
init_modem(mode_info[i].mode);
else if (src.find("PTTTUNE") != string::npos) {

Wyświetl plik

@ -1023,7 +1023,7 @@ void btnRev_cb(Fl_Widget *w, void *v) {
void btnMem_cb(Fl_Widget *, void *menu_event)
{
static std::vector<struct qrg_mode_t> qrg_list;
enum { SELECT, APPEND, REPLACE, REMOVE };
enum { SELECT, APPEND, REPLACE, REMOVE, CLEAR };
int op = SELECT, elem = 0;
if (menu_event) { // event on popup menu
@ -1034,10 +1034,7 @@ void btnMem_cb(Fl_Widget *, void *menu_event)
op = REPLACE;
break;
case FL_LEFT_MOUSE: case FL_RIGHT_MOUSE: default:
if (Fl::event_state() & FL_SHIFT)
op = REMOVE;
else
op = SELECT;
op = (Fl::event_state() & FL_SHIFT) ? REMOVE : SELECT;
break;
}
}
@ -1051,7 +1048,7 @@ void btnMem_cb(Fl_Widget *, void *menu_event)
op = SELECT;
break;
case FL_LEFT_MOUSE: default:
op = APPEND;
op = (Fl::event_state() & FL_SHIFT) ? CLEAR : APPEND;
break;
}
}
@ -1078,6 +1075,10 @@ void btnMem_cb(Fl_Widget *, void *menu_event)
wf->mbtnMem->remove(elem);
qrg_list.erase(qrg_list.begin() + elem);
break;
case CLEAR:
wf->mbtnMem->clear();
qrg_list.clear();
break;
case APPEND: case REPLACE:
m.rfcarrier = wf->rfcarrier();
m.carrier = active_modem->get_freq();
@ -1349,22 +1350,23 @@ int waterfall::handle(int event)
if ( !((d = Fl::event_dy()) || (d = Fl::event_dx())) )
return 1;
Fl_Valuator *val;
if (Fl::event_inside(sldrSquelch) || Fl::event_inside(pgrsSquelch))
val = sldrSquelch;
else if (Fl::event_inside(wfcarrier))
val = wfcarrier;
else if (Fl::event_inside(wfRefLevel))
val = wfRefLevel;
else if (Fl::event_inside(wfAmpSpan))
val = wfAmpSpan;
else
return 0;
Fl_Valuator* v[] = { sldrSquelch, wfcarrier, wfRefLevel, wfAmpSpan };
for (size_t i = 0; i < sizeof(v)/sizeof(v[0]); i++) {
if (Fl::event_inside(v[i])) {
v[i]->value(v[i]->clamp(v[i]->increment(v[i]->value(), -d)));
v[i]->do_callback();
return 1;
}
}
val->value(val->clamp(val->increment(val->value(), -d)));
val->do_callback();
// this does not belong here, but we don't have access to this widget's
// handle method (or its parent's)
if (Fl::event_inside(MODEstatus)) {
init_modem(d > 0 ? MODE_NEXT : MODE_PREV);
return 1;
}
return 1;
return 0;
}
static void hide_cursor(void *w)

Wyświetl plik

@ -39,6 +39,7 @@ void anal::tx_init(cSound *sc)
void anal::rx_init()
{
phaseacc = 0;
put_MODEstatus(mode);
}
void anal::init()
@ -74,8 +75,6 @@ void anal::restart()
sum = 0.0;
fout_1 = fout_2 = 0.0;
put_MODEstatus(mode);
}
anal::anal()