Icom Manual Notch

* Adjust notch conversions by bandwidth and mode
  * Following Icom transceivers have notch on/off/set
      . IC7000
      . IC7100
      . IC7200
      . IC7300
      . IC746
      . IC746PRO
      . IC756
      . IC756PRO2
      . IC756PRO3
      . IC7600
      . IC7610
      . IC7700
      . IC7800
      . IC7851
      . IC9100
      . IC9700
This commit is contained in:
David Freese 2020-03-05 09:38:04 -06:00
parent cd7e3294b3
commit 205e0e08fe
10 changed files with 509 additions and 71 deletions

View file

@ -96,6 +96,10 @@ public:
void set_band_selection(int v);
void get_band_selection(int v);
bool get_notch(int &val);
void set_notch(bool on, int val);
void get_notch_min_max_step(int &min, int &max, int &step);
};
#endif

View file

@ -106,6 +106,10 @@ public:
void set_band_selection(int v);
void get_band_selection(int v);
bool get_notch(int &val);
void set_notch(bool on, int val);
void get_notch_min_max_step(int &min, int &max, int &step);
};
#endif

View file

@ -115,6 +115,10 @@ public:
void set_band_selection(int v);
void get_band_selection(int v);
bool get_notch(int &val);
void set_notch(bool on, int val);
void get_notch_min_max_step(int &min, int &max, int &step);
void set_xcvr_auto_on();
void set_xcvr_auto_off();
};

View file

@ -1286,27 +1286,42 @@ int RIG_IC7100::get_alc()
return mtr;
}
void RIG_IC7100::set_notch(bool on, int val)
void RIG_IC7100::set_notch(bool on, int freq)
{
int freq = val - 1500;
if (vfo->imode == LSB7100 || vfo->imode == CW7100 ||
vfo->imode == RTTY7100 || vfo->imode == LSBD7100 )
freq = 1500 - val;
if (freq < -1500) freq = 1500;
if (freq > 1500) freq = 1500;
int notch = (int)(freq * 60.0 / 1200.0) + 128;
int hexval;
switch (vfo->imode) {
default: case USB7100: case USBD7100: case RTTYR7100:
hexval = freq - 1500;
break;
case LSB7100: case LSBD7100: case RTTY7100:
hexval = 1500 - freq;
break;
case CW7100:
hexval = progStatus.cw_spot_tone - freq;
break;
case CWR7100:
hexval = freq - progStatus.cw_spot_tone;
break;
}
hexval /= 20;
hexval += 128;
if (hexval < 0) hexval = 0;
if (hexval > 255) hexval = 255;
cmd = pre_to;
cmd.append("\x16\x48");
cmd += on ? '\x01' : '\x00';
cmd.append(post);
waitFB("set notch");
set_trace(2, "set_notch() ", str2hex(cmd.c_str(), cmd.length()));
cmd = pre_to;
cmd.append("\x14\x0D");
cmd.append(to_bcd(notch,3));
cmd.append(to_bcd(hexval,3));
cmd.append(post);
waitFB("set notch val");
set_trace(2, "set_notch_val() ", str2hex(cmd.c_str(), cmd.length()));
}
bool RIG_IC7100::get_notch(int &val)
@ -1321,6 +1336,7 @@ bool RIG_IC7100::get_notch(int &val)
cmd.append(cstr);
cmd.append( post );
if (waitFOR(8, "get notch")) {
get_trace(2, "get_notch()", str2hex(replystr.c_str(), replystr.length()));
size_t p = replystr.rfind(resp);
if (p != string::npos)
on = replystr[p + 6];
@ -1331,14 +1347,28 @@ bool RIG_IC7100::get_notch(int &val)
resp.append(cstr);
cmd.append(post);
if (waitFOR(9, "notch val")) {
get_trace(2, "get_notch_val() ", str2hex(replystr.c_str(), replystr.length()));
size_t p = replystr.rfind(resp);
if (p != string::npos) {
val = (int)ceil(fm_bcd(replystr.substr(p+6),3)) - 128;
if (vfo->imode == LSB7100 || vfo->imode == CW7100 ||
vfo->imode == RTTY7100 || vfo->imode == LSBD7100 )
val = -val;
val = val * 1200 / 60 + 1500;
val = (int)ceil(fm_bcd(replystr.substr(p+6),3));
val -= 128;
val *= 20;
switch (vfo->imode) {
default: case USB7100: case USBD7100: case RTTYR7100:
val = 1500 + val;
break;
case LSB: case LSBD7100: case RTTY7100:
val = 1500 - val;
break;
case CW7100:
val = progStatus.cw_spot_tone - val;
break;
case CWR7100:
val = progStatus.cw_spot_tone + val;
break;
}
}
get_trace(2, "get_notch_val() ", str2hex(replystr.c_str(), replystr.length()));
}
}
return on;
@ -1346,9 +1376,17 @@ bool RIG_IC7100::get_notch(int &val)
void RIG_IC7100::get_notch_min_max_step(int &min, int &max, int &step)
{
min = 0;
max = 3000;
step = 20;
switch (vfo->imode) {
default:
case USB7100: case USBD7100: case RTTYR7100:
case LSB7100: case LSBD7100: case RTTY7100:
min = 0; max = 3000; step = 20; break;
case CW7100: case CWR7100:
min = progStatus.cw_spot_tone - 500;
max = progStatus.cw_spot_tone + 500;
step = 20;
break;
}
}
void RIG_IC7100::set_auto_notch(int val)

View file

@ -34,6 +34,12 @@ const char IC7200name_[] = "IC-7200";
#define NUM_FILTERS 3
#define NUM_MODES 9
enum {
LSB7200, USB7200, AM7200,
CW7200, RTTY7200,
CWR7200, RTTYR7200,
LSBD7200, USBD7200 };
static int mode_filterA[NUM_MODES] = {1,1,1,1,1,1,1,1,1};
static int mode_filterB[NUM_MODES] = {1,1,1,1,1,1,1,1,1};
@ -1362,30 +1368,46 @@ void RIG_IC7200::set_vox_onoff()
static bool IC7200_notchon = false;
void RIG_IC7200::set_notch(bool on, int val)
void RIG_IC7200::set_notch(bool on, int freq)
{
int notch = val / 20 + 53;
if (notch > 255) notch = 255;
if (on != IC7200_notchon) {
cmd = pre_to;
cmd.append("\x16\x48");
cmd += on ? '\x01' : '\x00';
cmd.append(post);
waitFB("set notch");
IC7200_notchon = on;
set_trace(2, "set_notch_on_off()", str2hex(cmd.c_str(), cmd.length()));
int hexval;
switch (vfo->imode) {
default: case USB7200: case USBD7200: case RTTYR7200:
hexval = freq - 1500;
break;
case LSB7200: case LSBD7200: case RTTY7200:
hexval = 1500 - freq;
break;
case CW7200:
hexval = progStatus.cw_spot_tone - freq;
break;
case CWR7200:
hexval = freq - progStatus.cw_spot_tone;
break;
}
hexval /= 20;
hexval += 128;
if (hexval < 0) hexval = 0;
if (hexval > 255) hexval = 255;
cmd = pre_to;
cmd.append("\x16\x48");
cmd += on ? '\x01' : '\x00';
cmd.append(post);
waitFB("set notch");
cmd = pre_to;
cmd.append("\x14\x0D");
cmd.append(to_bcd(notch,3));
cmd.append(to_bcd(hexval,3));
cmd.append(post);
waitFB("set notch val");
set_trace(2, "set_notch_val()", str2hex(cmd.c_str(), cmd.length()));
}
bool RIG_IC7200::get_notch(int &val)
{
bool on = false;
val = 1500;
string cstr = "\x16\x48";
string resp = pre_fm;
@ -1394,24 +1416,35 @@ bool RIG_IC7200::get_notch(int &val)
cmd.append(cstr);
cmd.append( post );
if (waitFOR(8, "get notch")) {
get_trace(2, "get_notch_on_off()", str2hex(replystr.c_str(), replystr.length()));
size_t p = replystr.rfind(resp);
if (p != string::npos)
on = replystr[p + 6] ? 1 : 0;
on = replystr[p + 6];
cmd = pre_to;
resp = pre_fm;
cstr = "\x14\x0D";
cmd.append(cstr);
resp.append(cstr);
cmd.append(post);
if (waitFOR(9, "get notch val")) {
get_trace(2, "get_notch_val()", str2hex(replystr.c_str(), replystr.length()));
if (waitFOR(9, "notch val")) {
size_t p = replystr.rfind(resp);
if (p != string::npos) {
val = fm_bcd(replystr.substr(p+6),3);
val = (val - 53) * 20;
if (val < 0) val = 0;
if (val > 4040) val = 4040;
val = (int)ceil(fm_bcd(replystr.substr(p+6),3));
val -= 128;
val *= 20;
switch (vfo->imode) {
default: case USB7200: case USBD7200: case RTTYR7200:
val = 1500 + val;
break;
case LSB: case LSBD7200: case RTTY7200:
val = 1500 - val;
break;
case CW7200:
val = progStatus.cw_spot_tone - val;
break;
case CWR7200:
val = progStatus.cw_spot_tone + val;
break;
}
}
}
}
@ -1420,9 +1453,17 @@ bool RIG_IC7200::get_notch(int &val)
void RIG_IC7200::get_notch_min_max_step(int &min, int &max, int &step)
{
min = 0;
max = 4040;
step = 20;
switch (vfo->imode) {
default:
case USB7200: case USBD7200: case RTTYR7200:
case LSB7200: case LSBD7200: case RTTY7200:
min = 0; max = 3000; step = 20; break;
case CW7200: case CWR7200:
min = progStatus.cw_spot_tone - 500;
max = progStatus.cw_spot_tone + 500;
step = 20;
break;
}
}
static int agcval = 0;

View file

@ -51,8 +51,8 @@ static int mode_bwB[NUM_MODES] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
static const char *szfilter[NUM_FILTERS] = {"1", "2", "3"};
enum {
m73LSB, m73USB, m73AM, m73FM, m73CW, m73CWR, m73RTTY, m73RTTYR,
m73LSBD, m73USBD, m73AMD, m73FMD
LSB7300, USB7300, AM7300, FM7300, CW7300, CWR7300, RTTY7300, RTTYR7300,
LSBD7300, USBD7300, AMD7300, FMD7300
};
const char *IC7300modes_[] = {
@ -455,7 +455,7 @@ int RIG_IC7300::get_modeA()
if (p == string::npos)
goto end_wait_modeA;
for (md = 0; md < m73LSBD; md++) {
for (md = 0; md < LSBD7300; md++) {
if (replystr[p+6] == IC7300_mode_nbr[md]) {
A.imode = md;
if (replystr[p+7] == 0x01 && A.imode < 4)
@ -490,7 +490,7 @@ void RIG_IC7300::set_modeA(int val)
else
cmd += '\x00'; // selected vfo
cmd += IC7300_mode_nbr[A.imode]; // operating mode
if (A.imode >= m73LSBD)
if (A.imode >= LSBD7300)
cmd += '\x01'; // data mode
else
cmd += '\x00';
@ -521,7 +521,7 @@ int RIG_IC7300::get_modeB()
if (p == string::npos)
goto end_wait_modeB;
for (md = 0; md < m73LSBD; md++) {
for (md = 0; md < LSBD7300; md++) {
if (replystr[p+6] == IC7300_mode_nbr[md]) {
B.imode = md;
if (replystr[p+7] == 0x01 && B.imode < 4)
@ -554,7 +554,7 @@ void RIG_IC7300::set_modeB(int val)
else
cmd += '\x01'; // unselected vfo
cmd += IC7300_mode_nbr[B.imode]; // operating mode
if (B.imode >= m73LSBD)
if (B.imode >= LSBD7300)
cmd += '\x01'; // data mode
else
cmd += '\x00';
@ -583,7 +583,7 @@ void RIG_IC7300::set_FILT(int filter)
cmd += '\x26';
cmd += '\x00'; // selected vfo
cmd += IC7300_mode_nbr[B.imode]; // operating mode
if (B.imode >= m73LSBD) cmd += '\x01'; // data mode
if (B.imode >= LSBD7300) cmd += '\x01'; // data mode
else cmd += '\x00';
cmd += filter; // filter
cmd.append( post );
@ -597,7 +597,7 @@ void RIG_IC7300::set_FILT(int filter)
cmd += '\x26';
cmd += '\x00'; // selected vfo
cmd += IC7300_mode_nbr[A.imode]; // operating mode
if (A.imode >= m73LSBD) cmd += '\x01'; // data mode
if (A.imode >= LSBD7300) cmd += '\x01'; // data mode
else cmd += '\x00';
cmd += filter; // filter
cmd.append( post );
@ -1662,28 +1662,48 @@ int RIG_IC7300::get_auto_notch()
static bool IC7300_notchon = false;
void RIG_IC7300::set_notch(bool on, int val)
void RIG_IC7300::set_notch(bool on, int freq)
{
int notch = val / 20 + 53;
minmax(0, 255, notch);
if (on != IC7300_notchon) {
cmd = pre_to;
cmd.append("\x16\x48");
cmd += on ? '\x01' : '\x00';
cmd.append(post);
waitFB("set notch");
IC7300_notchon = on;
int hexval;
switch (vfo->imode) {
default: case USB7300: case USBD7300: case RTTYR7300:
hexval = freq - 1500;
break;
case LSB7300: case LSBD7300: case RTTY7300:
hexval = 1500 - freq;
break;
case CW7300:
hexval = progStatus.cw_spot_tone - freq;
break;
case CWR7300:
hexval = freq - progStatus.cw_spot_tone;
break;
}
hexval /= 20;
hexval += 128;
if (hexval < 0) hexval = 0;
if (hexval > 255) hexval = 255;
cmd = pre_to;
cmd.append("\x16\x48");
cmd += on ? '\x01' : '\x00';
cmd.append(post);
waitFB("set notch");
set_trace(2, "set_notch() ", str2hex(cmd.c_str(), cmd.length()));
cmd = pre_to;
cmd.append("\x14\x0D");
cmd.append(to_bcd(notch,3));
cmd.append(to_bcd(hexval,3));
cmd.append(post);
waitFB("set notch val");
set_trace(2, "set_notch_val() ", str2hex(cmd.c_str(), cmd.length()));
}
bool RIG_IC7300::get_notch(int &val)
{
bool on = false;
val = 1500;
string cstr = "\x16\x48";
string resp = pre_fm;
@ -1692,35 +1712,57 @@ bool RIG_IC7300::get_notch(int &val)
cmd.append(cstr);
cmd.append( post );
if (waitFOR(8, "get notch")) {
get_trace(2, "get_notch()", str2hex(replystr.c_str(), replystr.length()));
size_t p = replystr.rfind(resp);
if (p != string::npos)
on = replystr[p + 6] ? 1 : 0;
on = replystr[p + 6];
cmd = pre_to;
resp = pre_fm;
cstr = "\x14\x0D";
cmd.append(cstr);
resp.append(cstr);
cmd.append(post);
if (waitFOR(9, "get notch val")) {
if (waitFOR(9, "notch val")) {
size_t p = replystr.rfind(resp);
if (p != string::npos) {
val = fm_bcd(replystr.substr(p+6),3);
val = (val - 53) * 20;
if (val < 0) val = 0;
if (val > 4040) val = 4040;
val = (int)ceil(fm_bcd(replystr.substr(p+6),3));
val -= 128;
val *= 20;
switch (vfo->imode) {
default: case USB7300: case USBD7300: case RTTYR7300:
val = 1500 + val;
break;
case LSB: case LSBD7300: case RTTY7300:
val = 1500 - val;
break;
case CW7300:
val = progStatus.cw_spot_tone - val;
break;
case CWR7300:
val = progStatus.cw_spot_tone + val;
break;
}
}
get_trace(2, "get_notch_val() ", str2hex(replystr.c_str(), replystr.length()));
}
}
return (IC7300_notchon = on);
return on;
}
void RIG_IC7300::get_notch_min_max_step(int &min, int &max, int &step)
{
min = 0;
max = 4040;
step = 20;
switch (vfo->imode) {
default:
case USB7300: case USBD7300: case RTTYR7300:
case LSB7300: case LSBD7300: case RTTY7300:
min = 0; max = 3000; step = 20; break;
case CW7300: case CWR7300:
min = progStatus.cw_spot_tone - 500;
max = progStatus.cw_spot_tone + 500;
step = 20;
break;
}
}
static int agcval = 3;
int RIG_IC7300::get_agc()
{

View file

@ -842,3 +842,101 @@ void RIG_IC7700::set_band_selection(int v)
igett("get band stack");
}
void RIG_IC7700::set_notch(bool on, int freq)
{
int hexval;
switch (vfo->imode) {
default: case USB7700: case USBD7700: case RTTYR7700:
hexval = freq - 1500;
break;
case LSB7700: case LSBD7700: case RTTY7700:
hexval = 1500 - freq;
break;
case CW7700:
hexval = progStatus.cw_spot_tone - freq;
break;
case CWR7700:
hexval = freq - progStatus.cw_spot_tone;
break;
}
hexval /= 20;
hexval += 128;
if (hexval < 0) hexval = 0;
if (hexval > 255) hexval = 255;
cmd = pre_to;
cmd.append("\x16\x48");
cmd += on ? '\x01' : '\x00';
cmd.append(post);
waitFB("set notch");
cmd = pre_to;
cmd.append("\x14\x0D");
cmd.append(to_bcd(hexval,3));
cmd.append(post);
waitFB("set notch val");
}
bool RIG_IC7700::get_notch(int &val)
{
bool on = false;
val = 1500;
string cstr = "\x16\x48";
string resp = pre_fm;
resp.append(cstr);
cmd = pre_to;
cmd.append(cstr);
cmd.append( post );
if (waitFOR(8, "get notch")) {
size_t p = replystr.rfind(resp);
if (p != string::npos)
on = replystr[p + 6];
cmd = pre_to;
resp = pre_fm;
cstr = "\x14\x0D";
cmd.append(cstr);
resp.append(cstr);
cmd.append(post);
if (waitFOR(9, "notch val")) {
size_t p = replystr.rfind(resp);
if (p != string::npos) {
val = (int)ceil(fm_bcd(replystr.substr(p+6),3));
val -= 128;
val *= 20;
switch (vfo->imode) {
default: case USB7700: case USBD7700: case RTTYR7700:
val = 1500 + val;
break;
case LSB: case LSBD7700: case RTTY7700:
val = 1500 - val;
break;
case CW7700:
val = progStatus.cw_spot_tone - val;
break;
case CWR7700:
val = progStatus.cw_spot_tone + val;
break;
}
}
}
}
return on;
}
void RIG_IC7700::get_notch_min_max_step(int &min, int &max, int &step)
{
switch (vfo->imode) {
default:
case USB7700: case USBD7700: case RTTYR7700:
case LSB7700: case LSBD7700: case RTTY7700:
min = 0; max = 3000; step = 20; break;
case CW7700: case CWR7700:
min = progStatus.cw_spot_tone - 500;
max = progStatus.cw_spot_tone + 500;
step = 20;
break;
}
}

View file

@ -869,3 +869,101 @@ void RIG_IC7800::set_band_selection(int v)
waitFOR(23, "get band stack");
}
void RIG_IC7800::set_notch(bool on, int freq)
{
int hexval;
switch (vfo->imode) {
default: case USB7800: case USBD7800: case RTTYR7800:
hexval = freq - 1500;
break;
case LSB7800: case LSBD7800: case RTTY7800:
hexval = 1500 - freq;
break;
case CW7800:
hexval = progStatus.cw_spot_tone - freq;
break;
case CWR7800:
hexval = freq - progStatus.cw_spot_tone;
break;
}
hexval /= 20;
hexval += 128;
if (hexval < 0) hexval = 0;
if (hexval > 255) hexval = 255;
cmd = pre_to;
cmd.append("\x16\x48");
cmd += on ? '\x01' : '\x00';
cmd.append(post);
waitFB("set notch");
cmd = pre_to;
cmd.append("\x14\x0D");
cmd.append(to_bcd(hexval,3));
cmd.append(post);
waitFB("set notch val");
}
bool RIG_IC7800::get_notch(int &val)
{
bool on = false;
val = 1500;
string cstr = "\x16\x48";
string resp = pre_fm;
resp.append(cstr);
cmd = pre_to;
cmd.append(cstr);
cmd.append( post );
if (waitFOR(8, "get notch")) {
size_t p = replystr.rfind(resp);
if (p != string::npos)
on = replystr[p + 6];
cmd = pre_to;
resp = pre_fm;
cstr = "\x14\x0D";
cmd.append(cstr);
resp.append(cstr);
cmd.append(post);
if (waitFOR(9, "notch val")) {
size_t p = replystr.rfind(resp);
if (p != string::npos) {
val = (int)ceil(fm_bcd(replystr.substr(p+6),3));
val -= 128;
val *= 20;
switch (vfo->imode) {
default: case USB7800: case USBD7800: case RTTYR7800:
val = 1500 + val;
break;
case LSB: case LSBD7800: case RTTY7800:
val = 1500 - val;
break;
case CW7800:
val = progStatus.cw_spot_tone - val;
break;
case CWR7800:
val = progStatus.cw_spot_tone + val;
break;
}
}
}
}
return on;
}
void RIG_IC7800::get_notch_min_max_step(int &min, int &max, int &step)
{
switch (vfo->imode) {
default:
case USB7800: case USBD7800: case RTTYR7800:
case LSB7800: case LSBD7800: case RTTY7800:
min = 0; max = 3000; step = 20; break;
case CW7800: case CWR7800:
min = progStatus.cw_spot_tone - 500;
max = progStatus.cw_spot_tone + 500;
step = 20;
break;
}
}

View file

@ -27,6 +27,12 @@ bool IC7851_DEBUG = true;
const char IC7851name_[] = "IC-7851";
enum {
LSB7851, USB7851, AM7851, CW7851, RTTY7851,
FM7851, CWR7851, RTTYR7851, PSK7851, PSKR7851,
LSBD17851, LSBD27851, LSBD37851,
USBD17851, USBD27851, USBD37851 };
const char *IC7851modes_[] = {
"LSB", "USB", "AM", "CW", "RTTY",
"FM", "CW-R", "RTTY-R", "PSK", "PSK-R",
@ -1093,3 +1099,104 @@ void RIG_IC7851::set_band_selection(int v)
waitFOR(23, "get band stack");
}
void RIG_IC7851::set_notch(bool on, int freq)
{
int hexval;
switch (vfo->imode) {
default:
case USB7851: case USBD17851: case USBD27851: case USBD37851: case RTTYR7851:
hexval = freq - 1500;
break;
case LSB7851: case LSBD17851: case LSBD27851: case LSBD37851: case RTTY7851:
hexval = 1500 - freq;
break;
case CW7851:
hexval = progStatus.cw_spot_tone - freq;
break;
case CWR7851:
hexval = freq - progStatus.cw_spot_tone;
break;
}
hexval /= 20;
hexval += 128;
if (hexval < 0) hexval = 0;
if (hexval > 255) hexval = 255;
cmd = pre_to;
cmd.append("\x16\x48");
cmd += on ? '\x01' : '\x00';
cmd.append(post);
waitFB("set notch");
cmd = pre_to;
cmd.append("\x14\x0D");
cmd.append(to_bcd(hexval,3));
cmd.append(post);
waitFB("set notch val");
}
bool RIG_IC7851::get_notch(int &val)
{
bool on = false;
val = 1500;
string cstr = "\x16\x48";
string resp = pre_fm;
resp.append(cstr);
cmd = pre_to;
cmd.append(cstr);
cmd.append( post );
if (waitFOR(8, "get notch")) {
size_t p = replystr.rfind(resp);
if (p != string::npos)
on = replystr[p + 6];
cmd = pre_to;
resp = pre_fm;
cstr = "\x14\x0D";
cmd.append(cstr);
resp.append(cstr);
cmd.append(post);
if (waitFOR(9, "notch val")) {
size_t p = replystr.rfind(resp);
if (p != string::npos) {
val = (int)ceil(fm_bcd(replystr.substr(p+6),3));
val -= 128;
val *= 20;
switch (vfo->imode) {
default:
case USB7851: case USBD17851: case USBD27851: case USBD37851: case RTTYR7851:
val = 1500 + val;
break;
case LSB: case LSBD17851: case LSBD27851: case LSBD37851: case RTTY7851:
val = 1500 - val;
break;
case CW7851:
val = progStatus.cw_spot_tone - val;
break;
case CWR7851:
val = progStatus.cw_spot_tone + val;
break;
}
}
}
}
return on;
}
void RIG_IC7851::get_notch_min_max_step(int &min, int &max, int &step)
{
switch (vfo->imode) {
default:
case USB7851: case USBD17851: case USBD27851: case USBD37851: case RTTYR7851:
case LSB7851: case LSBD17851: case LSBD27851: case LSBD37851: case RTTY7851:
min = 0; max = 3000; step = 20; break;
case CW7851: case CWR7851:
min = progStatus.cw_spot_tone - 500;
max = progStatus.cw_spot_tone + 500;
step = 20;
break;
}
}

View file

@ -59,6 +59,7 @@ using namespace std;
rigbase *selrig = rigs[0];
extern bool test;
void init_notch_control();
bool flrig_abort = false;
@ -345,6 +346,7 @@ void setModeControl(void *)
if (spnrIFSHIFT) spnrIFSHIFT->deactivate();
}
}
init_notch_control();
}
void setFILTER(void *)