diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index f509c3be1..deee900b2 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -724,6 +724,7 @@ int kenwood_open(RIG *rig) rig_debug(RIG_DEBUG_TRACE, "%s: got PS0 so powerup\n", __func__); rig_set_powerstat(rig, 1); } + priv->poweron = 1; err = RIG_OK; // reset our err back to OK for later checks @@ -2153,8 +2154,14 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) break; case RIG_LEVEL_AF: - snprintf(levelbuf, sizeof(levelbuf), "AG%03d", kenwood_val); - break; + { + // some rigs only recognize 0 for vfo_set + // hopefully they are asking for VFOA or Main otherwise this might not work + // https://github.com/Hamlib/Hamlib/issues/304 + int vfo_set = vfo == RIG_VFO_A || vfo == RIG_VFO_MAIN ? 0 : 1; + snprintf(levelbuf, sizeof(levelbuf), "AG%1d%03d", vfo_set, kenwood_val); + } + break; case RIG_LEVEL_RF: /* XXX check level range */ diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index 364675cd1..f793068a8 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -27,7 +27,7 @@ #include #include "token.h" -#define BACKEND_VER "20200614" +#define BACKEND_VER "20200615" #define EOM_KEN ';' #define EOM_TH '\r'