diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 17c6aa76c..24ba8f0ee 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -3683,8 +3683,15 @@ int icom_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) icom_val = 900; } else + { icom_val = val.i; - //icom_val = (int) lroundf(((float) icom_val - 300) * (255.0f / 600.0f)); + } + + if (!RIG_IS_ICR75) + { + //interpolate to return knob value + icom_val = (int) lroundf(((float) icom_val - 300) * (255.0f / 600.0f)); + } break; default: @@ -3877,7 +3884,6 @@ int icom_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) } else { - // Legacy mapping that does not apply to all rigs switch (val.i) { case RIG_AGC_OFF: @@ -4686,8 +4692,15 @@ int icom_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) break; case RIG_LEVEL_CWPITCH: - //val->i = (int) lroundf(300.0f + ((float) icom_val * 600.0f / 255.0f)); - val->i = icom_val; + if (!RIG_IS_ICR75) + { + //use knob value and interpolate + val->i = (int) lroundf(300.0f + ((float) icom_val * 600.0f / 255.0f)); + } + else + { + val->i = icom_val; + } break; case RIG_LEVEL_KEYSPD: diff --git a/rigs/icom/icom_alt_agc.c b/rigs/icom/icom_alt_agc.c index 0de9f9592..0f163e320 100644 --- a/rigs/icom/icom_alt_agc.c +++ b/rigs/icom/icom_alt_agc.c @@ -19,25 +19,11 @@ * */ -//#include -//#include /* String function definitions */ -//#include /* UNIX standard function definitions */ -//#include - -//#include -//#include -//#include -//#include -//#include - #include "icom.h" #include "icom_defs.h" #include "icom_alt_agc.h" #include "frame.h" #include "misc.h" -//#include "event.h" -//#include "cache.h" - /* * Note: @@ -259,7 +245,6 @@ int icom_rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) } else { - //struct rig_state *rs = STATE(rig); unsigned char cmdbuf[MAXFRAMELEN], ackbuf[MAXFRAMELEN]; int cmd_len, ack_len = sizeof(ackbuf); int lvl_cn, lvl_sc; /* Command Number, Subcommand */ @@ -387,7 +372,6 @@ int icom_rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) } else { - //struct rig_state *rs; unsigned char cmdbuf[MAXFRAMELEN], respbuf[MAXFRAMELEN]; int cmd_len, resp_len; int lvl_cn, lvl_sc; /* Command Number, Subcommand */ @@ -413,8 +397,6 @@ int icom_rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) rig_debug(RIG_DEBUG_TRACE, "%s: no extcmd found\n", __func__); - //rs = STATE(rig); - cmd_len = 0; lvl_cn = C_CTL_FUNC; diff --git a/rigs/icom/icom_defs.h b/rigs/icom/icom_defs.h index 0776a1287..6313ec2de 100644 --- a/rigs/icom/icom_defs.h +++ b/rigs/icom/icom_defs.h @@ -233,11 +233,11 @@ * Set AGC (S_FUNC_AGC) data */ #define D_AGC_OFF 0x00 -#define D_AGC_SUPERFAST 0x01 //was 0x03 /* IC746 pro */ -#define D_AGC_FAST 0x02 //was 0x00 -#define D_AGC_SLOW 0x03 //was 0x02 +#define D_AGC_SUPERFAST 0x01 +#define D_AGC_FAST 0x02 +#define D_AGC_SLOW 0x03 #define D_AGC_USER 0x04 -#define D_AGC_MID 0x05 //was 0x01 +#define D_AGC_MID 0x05 #define D_AGC_AUTO 0x06 /*