Revert "OFDM modes"

This reverts commit abeaaa167e.
This commit is contained in:
dave-w1hkj 2025-06-21 15:34:45 -05:00
parent 739628e31c
commit 92ec81aa67
6 changed files with 18 additions and 53 deletions

View file

@ -878,7 +878,6 @@ static Fl_Menu_Item quick_change_8psk[] = {
{ 0 }
};
/* Commented out pending development work by KL4YFD
static Fl_Menu_Item quick_change_ofdm[] = {
{ mode_info[MODE_OFDM_500F].name, 0, cb_init_mode, (void *)MODE_OFDM_500F },
{ mode_info[MODE_OFDM_750F].name, 0, cb_init_mode, (void *)MODE_OFDM_750F },
@ -887,7 +886,6 @@ static Fl_Menu_Item quick_change_ofdm[] = {
{ mode_info[MODE_OFDM_3500].name, 0, cb_init_mode, (void *)MODE_OFDM_3500 },
{ 0 }
};
*/
static Fl_Menu_Item quick_change_pskr[] = {
{ mode_info[MODE_PSK125R].name, 0, cb_init_mode, (void *)MODE_PSK125R },
@ -1930,8 +1928,8 @@ void init_modem(trx_mode mode, int freq)
quick_change = quick_change_8psk;
// modem_config_tab = tabPSK;
break;
/* commented out pending further development by KL4YFD
case MODE_OFDM_500F:
case MODE_OFDM_750F:
// case MODE_OFDM_2000F:
@ -1942,7 +1940,7 @@ void init_modem(trx_mode mode, int freq)
quick_change = quick_change_ofdm;
// modem_config_tab = tabPSK;
break;
*/
case MODE_PSK125R: case MODE_PSK250R: case MODE_PSK500R:
case MODE_PSK1000R:
@ -6065,7 +6063,6 @@ Fl_Menu_Item menu_[] = {
{ mode_info[MODE_MT63_2000L].name, 0, cb_init_mode, (void *)MODE_MT63_2000L, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
/* Commented out pending development work by KL4YFD
{"OFDM", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OFDM_500F].name, 0, cb_init_mode, (void *)MODE_OFDM_500F, 0, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OFDM_750F].name, 0, cb_init_mode, (void *)MODE_OFDM_750F, FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0},
@ -6073,7 +6070,7 @@ Fl_Menu_Item menu_[] = {
//{ mode_info[MODE_OFDM_2000].name, 0, cb_init_mode, (void *)MODE_OFDM_2000, FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OFDM_3500].name, 0, cb_init_mode, (void *)MODE_OFDM_3500, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
*/
{ OLIVIA_MLABEL, 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OLIVIA_4_125].name, 0, cb_init_mode, (void *)MODE_OLIVIA_4_125, 0, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OLIVIA_4_250].name, 0, cb_init_mode, (void *)MODE_OLIVIA_4_250, 0, FL_NORMAL_LABEL, 0, 14, 0},
@ -7695,7 +7692,6 @@ static Fl_Menu_Item alt_menu_[] = {
{ mode_info[MODE_MT63_2000L].name, 0, cb_init_mode, (void *)MODE_MT63_2000L, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
/* Commented out pending development work by KL4YFD
{"OFDM", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OFDM_500F].name, 0, cb_init_mode, (void *)MODE_OFDM_500F, 0, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OFDM_750F].name, 0, cb_init_mode, (void *)MODE_OFDM_750F, FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0},
@ -7703,7 +7699,7 @@ static Fl_Menu_Item alt_menu_[] = {
//{ mode_info[MODE_OFDM_2000].name, 0, cb_init_mode, (void *)MODE_OFDM_2000, 0, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OFDM_3500].name, 0, cb_init_mode, (void *)MODE_OFDM_3500, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
*/
{"Olivia", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OLIVIA_4_125].name, 0, cb_init_mode, (void *)MODE_OLIVIA_4_125, 0, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_OLIVIA_4_250].name, 0, cb_init_mode, (void *)MODE_OLIVIA_4_250, 0, FL_NORMAL_LABEL, 0, 14, 0},
@ -11328,14 +11324,10 @@ void change_menu_fonts( Fl_Font font, int size)
quick_change_pskr[n].labelfont_ = font;
quick_change_pskr[n].labelsize_ = size;
}
/* Commented out pending development work by KL4YFD
for (size_t n = 0; n < sizeof(quick_change_ofdm) / sizeof(*quick_change_ofdm); n++) {
quick_change_ofdm[n].labelfont_ = font;
quick_change_ofdm[n].labelsize_ = size;
}
*/
for (size_t n = 0; n < sizeof(quick_change_8psk) / sizeof(*quick_change_8psk); n++) {
quick_change_8psk[n].labelfont_ = font;
quick_change_8psk[n].labelsize_ = size;

View file

@ -157,13 +157,11 @@ const struct mode_info_t mode_info[NUM_MODES] = {
{MODE_8PSK1000F,&_8psk1000f_modem,"8PSK1000F","8PSK-1000F","8PSK1000F","8PSK1000F","PSK","","8PSK1000F", ARQ_IO | KISS_IO },
{MODE_8PSK1200F,&_8psk1200f_modem,"8PSK1200F","8PSK-1200F","8PSK1200F","8PSK1200F","PSK","","8PSK1200F", ARQ_IO | KISS_IO },
/* Commented out pending development work by KL4YFD
{MODE_OFDM_500F,&ofdm_500f_modem,"OFDM500F","OFDM-500F","OFDM500F","OFDM500F","OFDM","","OFDM500F", ARQ_IO | KISS_IO },
{MODE_OFDM_750F,&ofdm_750f_modem,"OFDM750F","OFDM-750F","OFDM750F","OFDM750F","OFDM","","OFDM750F", ARQ_IO | KISS_IO },
//{MODE_OFDM_2000F,&ofdm_2000f_modem,"OFDM2000F","OFDM-2000F","OFDM2000F","OFDM2000F","OFDM","","OFDM2000F", ARQ_IO | KISS_IO },
//{MODE_OFDM_2000,&ofdm_2000_modem,"OFDM2000","OFDM-2000","OFDM2000","OFDM2000","OFDM","","OFDM2000", ARQ_IO | KISS_IO },
{MODE_OFDM_3500,&ofdm_3500_modem,"OFDM3500","OFDM-3500","OFDM3500","OFDM3500","OFDM","","OFDM3500", ARQ_IO | KISS_IO },
*/
{MODE_OLIVIA,&olivia_modem,"OLIVIA","OLIVIA","OLIVIA","OLIVIA","OLIVIA","","OL", DISABLED_IO },

View file

@ -160,15 +160,13 @@ enum {
MODE_8PSK1200F,
MODE_8PSK_FIRST = MODE_8PSK125,
MODE_8PSK_LAST = MODE_8PSK1200F,
/* Commented out pending development work by KL4YFD
MODE_OFDM_500F,
MODE_OFDM_750F,
// MODE_OFDM_2000F,
// MODE_OFDM_2000,
MODE_OFDM_3500,
*/
MODE_OLIVIA,
MODE_OLIVIA_4_125,
MODE_OLIVIA_4_250,

View file

@ -226,12 +226,10 @@ void psk::tx_init()
vphase = 0;
maxamp = 0;
/* Commented out pending development work by KL4YFD
if (mode == MODE_OFDM_500F || mode == MODE_OFDM_750F) { // || mode == MODE_OFDM_2000F) {
enc->init();
Txinlv->flush();
}
*/
}
@ -302,7 +300,6 @@ void psk::init()
set_freqlock(false); // re-lock modems after setting center-frequency.
/* Commented out pending development work by KL4YFD
// if (mode == MODE_OFDM_2000F || mode == MODE_OFDM_2000)
// set_freq(1325);
// else
@ -310,9 +307,7 @@ void psk::init()
set_freq(2250);
else if (mode == MODE_OFDM_500F || mode == MODE_OFDM_750F)
set_freq(1500);
else
*/
if (progdefaults.StartAtSweetSpot)
else if (progdefaults.StartAtSweetSpot)
set_freq(progdefaults.PSKsweetspot);
else if (progStatus.carrier != 0) {
set_freq(progStatus.carrier);
@ -322,11 +317,10 @@ void psk::init()
} else
set_freq(wf->Carrier());
/* Commented out pending development work by KL4YFD
// if (mode == MODE_OFDM_2000 || mode == MODE_OFDM_2000F || mode == MODE_OFDM_3500)
if (mode == MODE_OFDM_3500)
set_freqlock(true);
*/
}
psk::~psk()
@ -460,7 +454,6 @@ FIR_TYPE fir_type = PSK_CORE;
fir_type = PSK_CORE;
break;
/* Commented out pending development work by KL4YFD
// OFDM modes
case MODE_OFDM_500F: // 62.5 baud xPSK | 4 carriers | 250 bits/sec @ 1/2 FEC
symbollen = 256;
@ -536,7 +529,6 @@ FIR_TYPE fir_type = PSK_CORE;
fir_type = SINC;
break;
// End OFDM modes
*/
// 8psk modes without FEC
case MODE_8PSK125: // 125 baud | 375 bits/sec No FEC
@ -1008,7 +1000,6 @@ FIR_TYPE fir_type = PSK_CORE;
dec2 = new viterbi(K16, K16_POLY1, K16_POLY2);
dec2->setchunksize(4);
/* Commented out pending development work by KL4YFD
} else if (mode == MODE_OFDM_500F) {
enc = new encoder(THOR_K15, K15_POLY1, K15_POLY2);
dec = new viterbi(THOR_K15, K15_POLY1, K15_POLY2);
@ -1020,7 +1011,7 @@ FIR_TYPE fir_type = PSK_CORE;
// dec = new viterbi(K11, K11_POLY1, K11_POLY2);
// dec->setchunksize(4);
// dec->settraceback(K11 * 14); // OFDM-2000F is a punctured code
*/
} else if (_xpsk || _8psk || _16psk) {
enc = new encoder(K13, K13_POLY1, K13_POLY2);
dec = new viterbi(K13, K13_POLY1, K13_POLY2);
@ -1099,7 +1090,6 @@ FIR_TYPE fir_type = PSK_CORE;
for (int i = 0; i < 11; i++) sfft_bins[i] = cmplx(0,0);
}
/* Commented out pending development work by KL4YFD
// if (mode == MODE_OFDM_2000 || mode == MODE_OFDM_2000F) {
// set_freqlock(false);
// set_freq(1325);
@ -1110,7 +1100,6 @@ FIR_TYPE fir_type = PSK_CORE;
set_freq(2250);
set_freqlock(true);
}
*/
}
//=============================================================================
@ -1480,12 +1469,9 @@ void psk::phaseafc()
void psk::afc()
{
/* Commented out pending development work by KL4YFD
if (mode >= MODE_OFDM_500F && mode <= MODE_OFDM_3500) // MODE_OFDM_2000)
return vestigial_afc();
else
*/
if (!progStatus.afconoff)
else if (!progStatus.afconoff)
return;
else if (dcd == true || acquire)
phaseafc();
@ -1683,13 +1669,10 @@ void psk::rx_symbol(cmplx symbol, int car)
default:
if (metric > progStatus.sldrSquelchValue || progStatus.sqlonoff == false) {
dcd = true;
}
/* Commented out pending development work by KL4YFD
// FIXME BUG OFDM FEC modes have NO DCD OFF yet. TODO KL4YFD MAR2021
else if (mode != MODE_OFDM_500F && mode != MODE_OFDM_750F) { // && mode != MODE_OFDM_2000F) {
} else if (mode != MODE_OFDM_500F && mode != MODE_OFDM_750F) { // && mode != MODE_OFDM_2000F) {
dcd = false;
}
*/
dcdOFFcounter -= 1; // If no DCD-off sequence seen in bitshreg, then subtract 1 from counter (to prevent a accumulative-triggering bug)
if (dcdOFFcounter < 0) dcdOFFcounter = 0; // prevent wraparound to negative
break;
@ -2588,7 +2571,6 @@ int psk::tx_process()
preamble = 0;
return 0;
/* Commented out pending development work by KL4YFD
} else if (mode == MODE_OFDM_500F || mode == MODE_OFDM_750F ) { //|| mode == MODE_OFDM_2000F) {
// RSID is used for frequency-setting and AFC: no preamble needed or used. Just send a header.
clearbits();
@ -2598,7 +2580,7 @@ int psk::tx_process()
tx_char(10); // <LF> newline as first character
preamble = 0;
return 0;
*/
} else if (_8psk) {
if (!_disablefec) clearbits();
if(progStatus.psk8DCDShortFlag)

View file

@ -300,6 +300,9 @@ const int cRsId::rsid_ids_size1 = sizeof(rsid_ids_1)/sizeof(*rsid_ids_1) - 1;
ELEM2_(1239, PSK8P125FL, MODE_8PSK125FL) \
ELEM2_(2052, PSK8P250FL, MODE_8PSK250FL) \
\
ELEM2_(2053, OFDM500F, MODE_OFDM_500F) \
ELEM2_(2094, OFDM7F0F, MODE_OFDM_750F) \
\
ELEM2_(1171, IFKP, MODE_IFKP) \
\
ELEM2_(0, NONE2, NUM_MODES)
@ -314,10 +317,7 @@ const RSIDs cRsId::rsid_ids_2[] = { RSID_LIST2 };
const int cRsId::rsid_ids_size2 = sizeof(rsid_ids_2)/sizeof(*rsid_ids_2) - 1;
/* Commented out pending development work by KL4YFD
ELEM2_(2053, OFDM500F, MODE_OFDM_500F) \
ELEM2_(2094, OFDM7F0F, MODE_OFDM_750F) \
\
/*
ELEM2_(2118, OFDM2000, MODE_OFDM_2000) \
ELEM2_(2110, OFDM2000F, MODE_OFDM_2000F) \
*/

View file

@ -336,12 +336,10 @@ void trx_trx_receive_loop()
QRUNNER_DROP(true);
if (progdefaults.rsid)
ReedSolomon->receive(fbuf, numread);
/* Commented out pending development work by KL4YFD
else if (active_modem->get_mode() == MODE_OFDM_500F
|| active_modem->get_mode() == MODE_OFDM_750F)
// || active_modem->get_mode() == MODE_OFDM_2000F)
ReedSolomon->receive(fbuf, numread); // OFDM modes use RSID as AFC mechanism. Force RxRSID.
*/
active_modem->HistoryON(true);
active_modem->rx_process(hsbuff, numread);
QRUNNER_DROP(false);
@ -368,12 +366,10 @@ void trx_trx_receive_loop()
if (progdefaults.rsid)
ReedSolomon->receive(fbuf, numread);
/* Commented out pending development work by KL4YFD
else if (active_modem->get_mode() == MODE_OFDM_500F
|| active_modem->get_mode() == MODE_OFDM_750F)
// || active_modem->get_mode() == MODE_OFDM_2000F)
ReedSolomon->receive(fbuf, numread); // OFDM modes use RSID as AFC mechanism. Force RxRSID.
*/
dtmf->receive(fbuf, numread);
} else {
bool afc = progStatus.afconoff;
@ -442,13 +438,12 @@ void trx_trx_transmit_loop()
bool _txrsid = false;
if ( ReedSolomon->assigned(active_modem->get_mode()) && (progdefaults.TransmitRSid || progStatus.n_rsids != 0))
_txrsid = true;
/* Commented out pending development work by KL4YFD
else if (ReedSolomon->assigned(active_modem->get_mode()) &&
(active_modem->get_mode() == MODE_OFDM_500F
|| active_modem->get_mode() == MODE_OFDM_750F))
// || active_modem->get_mode() == MODE_OFDM_2000F) )
_txrsid = true; // RSID is used as header/preamble for OFDM modes. Make mandatory.
*/
if (_txrsid) {
if (progStatus.n_rsids < 0) {
for (int i = 0; i > progStatus.n_rsids; i--) {