diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 9762d21b4..066db1875 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -341,6 +341,7 @@ enum agc_level_e { RIG_AGC_MEDIUM, RIG_AGC_AUTO, RIG_AGC_LONG, + RIG_AGC_ON /*< Turns AGC ON -- Kenwood -- restores last level set */ }; diff --git a/rigs/kenwood/ts2000.c b/rigs/kenwood/ts2000.c index 44dada1e6..6e70c5676 100644 --- a/rigs/kenwood/ts2000.c +++ b/rigs/kenwood/ts2000.c @@ -167,6 +167,8 @@ const struct rig_caps ts2000_caps = .max_ifshift = kHz(1), .targetable_vfo = RIG_TARGETABLE_FREQ, .transceive = RIG_TRN_RIG, + .agc_level_count = 5, + .agc_levels = { RIG_AGC_OFF, RIG_AGC_SLOW, RIG_AGC_MEDIUM, RIG_AGC_FAST, RIG_AGC_ON }, .bank_qty = 0, .chan_desc_sz = 7, diff --git a/src/misc.c b/src/misc.c index c0ab50713..008b17542 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1282,6 +1282,8 @@ static const struct { RIG_AGC_USER, "USER" }, { RIG_AGC_MEDIUM, "MEDIUM" }, { RIG_AGC_AUTO, "AUTO" }, + { RIG_AGC_LONG, "LONG" }, + { RIG_AGC_ON, "ON" }, { -1, "" }, }; diff --git a/src/sprintflst.c b/src/sprintflst.c index f50062008..0e4ed55a2 100644 --- a/src/sprintflst.c +++ b/src/sprintflst.c @@ -919,8 +919,7 @@ int rig_sprintf_agc_levels(RIG *rig, char *str, int lenstr) { if (strlen(str) > 0) { strcat(str, " "); } - sprintf(tmpbuf, "%d=%s", priv_caps->agc_levels[i].level, - rig_stragclevel(priv_caps->agc_levels[i].level)); + sprintf(tmpbuf, "%d=%s", priv_caps->agc_levels[i].icom_level, rig_stragclevel(priv_caps->agc_levels[i].level)); if (strlen(str) + strlen(tmpbuf) < lenstr - 1) { @@ -939,7 +938,7 @@ int rig_sprintf_agc_levels(RIG *rig, char *str, int lenstr) { if (strlen(str) > 0) { strcat(str, " "); } - sprintf(tmpbuf, "%d=%s", rig->caps->agc_levels[i], + sprintf(tmpbuf, "%d=%s", i, rig_stragclevel(rig->caps->agc_levels[i])); if (strlen(str) + strlen(tmpbuf) < lenstr - 1)