Michael Black W9MDB 2020-10-06 14:44:35 +01:00
rodzic f2f5c9a1af
commit fd8c05b01d
2 zmienionych plików z 22 dodań i 7 usunięć

Wyświetl plik

@ -435,7 +435,7 @@ const struct rig_caps ftdx101d_caps =
RIG_MODEL(RIG_MODEL_FTDX101D),
.model_name = "FT-DX101D",
.mfg_name = "Yaesu",
.version = NEWCAT_VER ".2",
.version = NEWCAT_VER ".3",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@ -468,7 +468,7 @@ const struct rig_caps ftdx101d_caps =
.attenuator = { 6, 12, 18, RIG_DBLST_END, },
.max_rit = Hz(9999),
.max_xit = Hz(9999),
.max_ifshift = Hz(1000),
.max_ifshift = Hz(1200),
.vfo_ops = FTDX5000_VFO_OPS,
.targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_FUNC | RIG_TARGETABLE_PURE,
.transceive = RIG_TRN_OFF, /* May enable later as the 5000 has an Auto Info command */

Wyświetl plik

@ -2624,7 +2624,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
{
return -RIG_ENAVAIL;
}
rig_debug(RIG_DEBUG_TRACE, "%s: LEVEL_IF val.i=%d\n", __func__, val.i);
if (abs(val.i) > rig->caps->max_ifshift)
{
if (val.i > 0)
@ -2637,8 +2637,13 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
}
}
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "IS0%+.4d%c", val.i,
cat_term); /* problem with %+04d */
if (is_ft101)
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "IS%c0%+.4d%c", main_sub_vfo, val.i, cat_term);
}
else {
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "IS%c%+.4d%c", main_sub_vfo, val.i, cat_term);
}
if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE && !is_ft2000)
{
@ -3188,7 +3193,7 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
return -RIG_ENAVAIL;
}
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "IS0%c", cat_term);
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "IS%c%c", main_sub_vfo, cat_term);
if (rig->caps->targetable_vfo & RIG_TARGETABLE_MODE)
{
@ -3519,7 +3524,17 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
case RIG_LEVEL_RAWSTR:
case RIG_LEVEL_KEYSPD:
case RIG_LEVEL_IF:
val->i = atoi(retlvl);
// IS00+0400
rig_debug(RIG_DEBUG_TRACE, "%s: ret_data=%s(%d), retlvl=%s\n", __func__, priv->ret_data, (int)strlen(priv->ret_data), retlvl);
if (strlen(priv->ret_data) == 9) {
int n = sscanf(priv->ret_data,"IS%*c0%d\n", &val->i);
if (n != 1) {
rig_debug(RIG_DEBUG_ERR, "%s: unable to parse level from %s\n", __func__, priv->ret_data);
}
}
else {
val->i = atoi(retlvl);
}
break;
case RIG_LEVEL_NR: