diff --git a/rigs/yaesu/ft2000.c b/rigs/yaesu/ft2000.c index be49c6d63..b8b87c109 100644 --- a/rigs/yaesu/ft2000.c +++ b/rigs/yaesu/ft2000.c @@ -133,7 +133,7 @@ const struct rig_caps ft2000_caps = RIG_MODEL(RIG_MODEL_FT2000), .model_name = "FT-2000", .mfg_name = "Yaesu", - .version = NEWCAT_VER ".2", + .version = NEWCAT_VER ".3", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -173,7 +173,7 @@ const struct rig_caps ft2000_caps = .max_ifshift = Hz(1000), .vfo_ops = FT2000_VFO_OPS, .scan_ops = RIG_SCAN_VFO, - .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE, + .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_TONE, .transceive = RIG_TRN_OFF, /* May enable later as the 2000 has an Auto Info command */ .bank_qty = 0, .chan_desc_sz = 0, diff --git a/rigs/yaesu/ft2000.h b/rigs/yaesu/ft2000.h index 93df3e856..fb71a5360 100644 --- a/rigs/yaesu/ft2000.h +++ b/rigs/yaesu/ft2000.h @@ -62,7 +62,7 @@ RIG_LEVEL_BAND_SELECT) #define FT2000_FUNCS (RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_LOCK|\ - RIG_FUNC_MON|RIG_FUNC_NB|RIG_FUNC_NR|RIG_FUNC_VOX|\ + RIG_FUNC_MON|RIG_FUNC_NB|RIG_FUNC_NB2|RIG_FUNC_NR|RIG_FUNC_VOX|\ RIG_FUNC_FBKIN|RIG_FUNC_COMP|RIG_FUNC_ANF|RIG_FUNC_MN|\ RIG_FUNC_RIT|RIG_FUNC_XIT|\ RIG_FUNC_TUNER|RIG_FUNC_APF) diff --git a/rigs/yaesu/ft710.c b/rigs/yaesu/ft710.c index 270ee459d..5840329d6 100644 --- a/rigs/yaesu/ft710.c +++ b/rigs/yaesu/ft710.c @@ -137,7 +137,7 @@ const struct rig_caps ft710_caps = RIG_MODEL(RIG_MODEL_FT710), .model_name = "FT-710", .mfg_name = "Yaesu", - .version = NEWCAT_VER ".1", + .version = NEWCAT_VER ".2", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -179,7 +179,7 @@ const struct rig_caps ft710_caps = .agc_levels = { RIG_AGC_OFF, RIG_AGC_FAST, RIG_AGC_MEDIUM, RIG_AGC_SLOW, RIG_AGC_AUTO }, .vfo_ops = FTDX10_VFO_OPS, .scan_ops = RIG_SCAN_VFO, - .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_COMMON, + .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_COMMON | RIG_TARGETABLE_TONE | RIG_TARGETABLE_MODE, .transceive = RIG_TRN_OFF, /* May enable later as the FTDX10 has an Auto Info command */ .bank_qty = 0, .chan_desc_sz = 0, diff --git a/rigs/yaesu/ft9000.c b/rigs/yaesu/ft9000.c index 395c0f7b4..3180f7193 100644 --- a/rigs/yaesu/ft9000.c +++ b/rigs/yaesu/ft9000.c @@ -91,7 +91,7 @@ const struct rig_caps ft9000_caps = .agc_levels = { RIG_AGC_OFF, RIG_AGC_FAST, RIG_AGC_MEDIUM, RIG_AGC_SLOW, RIG_AGC_AUTO }, .vfo_ops = FT9000_VFO_OPS, .scan_ops = RIG_SCAN_VFO, - .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_ANT, + .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_ANT | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_TONE, .transceive = RIG_TRN_OFF, /* May enable later as the 9000 has an Auto Info command */ .bank_qty = 0, .chan_desc_sz = 0, diff --git a/rigs/yaesu/ftdx10.c b/rigs/yaesu/ftdx10.c index cb17833a9..9daf52414 100644 --- a/rigs/yaesu/ftdx10.c +++ b/rigs/yaesu/ftdx10.c @@ -137,7 +137,7 @@ const struct rig_caps ftdx10_caps = RIG_MODEL(RIG_MODEL_FTDX10), .model_name = "FTDX-10", .mfg_name = "Yaesu", - .version = NEWCAT_VER ".4", + .version = NEWCAT_VER ".5", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -179,7 +179,7 @@ const struct rig_caps ftdx10_caps = .agc_levels = { RIG_AGC_OFF, RIG_AGC_FAST, RIG_AGC_MEDIUM, RIG_AGC_SLOW, RIG_AGC_AUTO }, .vfo_ops = FTDX10_VFO_OPS, .scan_ops = RIG_SCAN_VFO, - .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_COMMON, + .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_COMMON | RIG_TARGETABLE_TONE, .transceive = RIG_TRN_OFF, /* May enable later as the FTDX10 has an Auto Info command */ .bank_qty = 0, .chan_desc_sz = 0, diff --git a/rigs/yaesu/ftdx101.c b/rigs/yaesu/ftdx101.c index 22b8a5cdb..e1b35be70 100644 --- a/rigs/yaesu/ftdx101.c +++ b/rigs/yaesu/ftdx101.c @@ -137,7 +137,7 @@ const struct rig_caps ftdx101d_caps = RIG_MODEL(RIG_MODEL_FTDX101D), .model_name = "FTDX-101D", .mfg_name = "Yaesu", - .version = NEWCAT_VER ".16", + .version = NEWCAT_VER ".17", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -179,7 +179,7 @@ const struct rig_caps ftdx101d_caps = .agc_levels = { RIG_AGC_OFF, RIG_AGC_FAST, RIG_AGC_MEDIUM, RIG_AGC_SLOW, RIG_AGC_AUTO }, .vfo_ops = FTDX101_VFO_OPS, .scan_ops = RIG_SCAN_VFO, - .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_COMMON | RIG_TARGETABLE_ANT | RIG_TARGETABLE_ROOFING, + .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_COMMON | RIG_TARGETABLE_ANT | RIG_TARGETABLE_ROOFING | RIG_TARGETABLE_TONE, .transceive = RIG_TRN_OFF, /* May enable later as the FTDX101 has an Auto Info command */ .bank_qty = 0, .chan_desc_sz = 0, diff --git a/rigs/yaesu/ftdx101mp.c b/rigs/yaesu/ftdx101mp.c index fb5f0ae1c..8e7e35c3e 100644 --- a/rigs/yaesu/ftdx101mp.c +++ b/rigs/yaesu/ftdx101mp.c @@ -75,7 +75,7 @@ const struct rig_caps ftdx101mp_caps = RIG_MODEL(RIG_MODEL_FTDX101MP), .model_name = "FTDX-101MP", .mfg_name = "Yaesu", - .version = NEWCAT_VER ".7", + .version = NEWCAT_VER ".8", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -113,7 +113,7 @@ const struct rig_caps ftdx101mp_caps = .max_ifshift = Hz(1200), .vfo_ops = FTDX101_VFO_OPS, .scan_ops = RIG_SCAN_VFO, - .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_COMMON | RIG_TARGETABLE_ANT, + .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_LEVEL | RIG_TARGETABLE_COMMON | RIG_TARGETABLE_ANT | RIG_TARGETABLE_ROOFING | RIG_TARGETABLE_TONE, .transceive = RIG_TRN_OFF, /* May enable later as the FTDX101 has an Auto Info command */ .bank_qty = 0, .chan_desc_sz = 0, diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 14a1587d8..c021e5431 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -3030,7 +3030,7 @@ int newcat_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone) RETURNFUNC(err); } - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_TONE) { main_sub_vfo = (RIG_VFO_B == vfo || RIG_VFO_SUB == vfo) ? '1' : '0'; } @@ -3097,7 +3097,7 @@ int newcat_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone) RETURNFUNC(err); } - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_TONE) { main_sub_vfo = (RIG_VFO_B == vfo || RIG_VFO_SUB == vfo) ? '1' : '0'; } @@ -3639,7 +3639,7 @@ int newcat_get_ant(RIG *rig, vfo_t vfo, ant_t dummy, value_t *option, RETURNFUNC(err); } - if ((rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) && !is_ft2000) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_ANT) { main_sub_vfo = (RIG_VFO_B == vfo || RIG_VFO_SUB == vfo) ? '1' : '0'; } @@ -3810,6 +3810,9 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) if (val.f > 1.0) { RETURNFUNC(-RIG_EINVAL); } fpf = newcat_scale_float(255, val.f); + + if (is_ftdx10 || is_ft710) main_sub_vfo = 0; + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "AG%c%03d%c", main_sub_vfo, fpf, cat_term); break; @@ -3846,7 +3849,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) RETURNFUNC(-RIG_EINVAL); } - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -3888,6 +3891,11 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "IS%c0%+.4d%c", main_sub_vfo, val.i, cat_term); } + else if (is_ftdx10 || is_ft710) + { + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "IS00%+.4d%c", + val.i, cat_term); + } else if (is_ft891) { SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "IS0%d%+.4d%c", @@ -3900,7 +3908,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) val.i, cat_term); } - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE && !is_ft2000) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4083,7 +4091,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "PA00%c", cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE && !is_ft2000) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4107,7 +4115,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) RETURNFUNC(-RIG_EINVAL); } - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4124,7 +4132,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "RA00%c", cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE && !is_ft2000) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4148,7 +4156,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) RETURNFUNC(-RIG_EINVAL); } - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4169,6 +4177,8 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { scale = 255; } + + if (is_ftdx10 || is_ft710) main_sub_vfo = 0; fpf = newcat_scale_float(scale, val.f); SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "RG%c%03d%c", main_sub_vfo, fpf, @@ -4221,7 +4231,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "RL0%02d%c", fpf, cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE && !is_ft2000) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4363,6 +4373,12 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) fpf = newcat_scale_float(scale, val.f); SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "SQ%c%03d%c", main_sub_vfo, fpf, cat_term); + + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ftdx10 && !is_ft710) + { + priv->cmd_str[2] = main_sub_vfo; + } + break; case RIG_LEVEL_VOXDELAY: @@ -4539,7 +4555,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) { SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "BP%03d%c", val.i, cat_term); } - else if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + else if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4611,6 +4627,11 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) } SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "NL00%02d%c", fpf, cat_term); + + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ftdx10 && !is_ft710 && !is_ftdx101mp) + { + priv->cmd_str[2] = main_sub_vfo; + } break; @@ -4673,7 +4694,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "PA0%c", cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4688,6 +4709,12 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "AG%c%c", main_sub_vfo, cat_term); + + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ftdx10 && !is_ft710) + { + priv->cmd_str[2] = main_sub_vfo; + } + break; case RIG_LEVEL_AGC: @@ -4698,6 +4725,12 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "GT%c%c", main_sub_vfo, cat_term); + + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ftdx10 && !is_ft710) + { + priv->cmd_str[2] = main_sub_vfo; + } + break; case RIG_LEVEL_IF: @@ -4719,7 +4752,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "IS%c%c", main_sub_vfo, cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4804,7 +4837,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "RA0%c", cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4838,7 +4871,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "RL0%c", cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -4862,6 +4895,12 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "SQ%c%c", main_sub_vfo, cat_term); + + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ftdx10 && !is_ft710) + { + priv->cmd_str[2] = main_sub_vfo; + } + break; case RIG_LEVEL_VOXDELAY: @@ -4891,6 +4930,12 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) } SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "NL0%c", cat_term); + + if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ftdx10 && !is_ft710 && !is_ftdx101mp) + { + priv->cmd_str[2] = main_sub_vfo; + } + break; /* @@ -5081,7 +5126,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "BP%c", cat_term); } - else if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + else if (rig->caps->targetable_vfo & RIG_TARGETABLE_LEVEL && !is_ft2000 && !is_ftdx10 && !is_ft710) { priv->cmd_str[2] = main_sub_vfo; } @@ -5696,7 +5741,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) RETURNFUNC(err); } - if (rig->caps->targetable_vfo & (RIG_TARGETABLE_MODE | RIG_TARGETABLE_TONE)) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_FUNC) { main_sub_vfo = (RIG_VFO_B == vfo || RIG_VFO_SUB == vfo) ? '1' : '0'; } @@ -5722,7 +5767,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "BC0%d%c", status ? 1 : 0, cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE && !is_ft2000) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_FUNC && !is_ft2000 && !is_ftdx10) { priv->cmd_str[2] = main_sub_vfo; } @@ -5759,7 +5804,7 @@ int newcat_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "BP00%03d%c", status ? 1 : 0, cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE && !is_ft2000) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_FUNC && !is_ft2000 && !is_ftdx10) { priv->cmd_str[2] = main_sub_vfo; } @@ -6080,7 +6125,7 @@ int newcat_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) ENTERFUNC; - if (rig->caps->targetable_vfo & (RIG_TARGETABLE_MODE | RIG_TARGETABLE_TONE)) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_FUNC) { main_sub_vfo = (RIG_VFO_B == vfo || RIG_VFO_SUB == vfo) ? '1' : '0'; } @@ -6219,7 +6264,7 @@ int newcat_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "NB0%c", cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_FUNC) { priv->cmd_str[2] = main_sub_vfo; } @@ -6234,7 +6279,7 @@ int newcat_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "NR0%c", cat_term); - if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE) + if (rig->caps->targetable_vfo & RIG_TARGETABLE_FUNC) { priv->cmd_str[2] = main_sub_vfo; }