kopia lustrzana https://github.com/Hamlib/Hamlib
Allow rig_set_split_mode to skip setting if mode already set
https://github.com/Hamlib/Hamlib/issues/1056pull/1068/head
rodzic
3b8f52d03d
commit
ce99f4c75d
|
@ -141,7 +141,7 @@ const struct rig_caps ft991_caps =
|
||||||
RIG_MODEL(RIG_MODEL_FT991),
|
RIG_MODEL(RIG_MODEL_FT991),
|
||||||
.model_name = "FT-991",
|
.model_name = "FT-991",
|
||||||
.mfg_name = "Yaesu",
|
.mfg_name = "Yaesu",
|
||||||
.version = NEWCAT_VER ".11",
|
.version = NEWCAT_VER ".12",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_STABLE,
|
.status = RIG_STATUS_STABLE,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
@ -412,6 +412,12 @@ ft991_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
|
||||||
return (rval);
|
return (rval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rig->state.cache.freqMainB == tx_freq)
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_TRACE, "%s: freq %.0f already set on VFOB\n", __func__, tx_freq);
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
|
|
||||||
if (is_split == RIG_SPLIT_OFF)
|
if (is_split == RIG_SPLIT_OFF)
|
||||||
{
|
{
|
||||||
rval = newcat_set_tx_vfo(rig, RIG_VFO_B);
|
rval = newcat_set_tx_vfo(rig, RIG_VFO_B);
|
||||||
|
@ -582,6 +588,12 @@ static int ft991_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode,
|
||||||
return -RIG_EINVAL;
|
return -RIG_EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rig->state.cache.modeMainB == tx_mode)
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_TRACE, "%s: mode %s already set on VFOB\n", __func__, rig_strrmode(tx_mode));
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
|
|
||||||
err = ft991_get_tx_split(rig, &is_split);
|
err = ft991_get_tx_split(rig, &is_split);
|
||||||
|
|
||||||
if (err != RIG_OK)
|
if (err != RIG_OK)
|
||||||
|
|
|
@ -4149,6 +4149,14 @@ int HAMLIB_API rig_set_split_mode(RIG *rig,
|
||||||
RETURNFUNC(-RIG_EINVAL);
|
RETURNFUNC(-RIG_EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// we check both VFOs are in the same tx mode -- the we can ignore
|
||||||
|
// this could be make more intelligent but this should cover all cases where we can skip this
|
||||||
|
if (tx_mode == rig->state.cache.modeMainA && tx_mode == rig->state.cache.modeMainB)
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_TRACE, "%s: mode already %s so no change required\n", __func__, rig_strrmode(tx_mode));
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
|
|
||||||
// do not mess with mode while PTT is on
|
// do not mess with mode while PTT is on
|
||||||
if (rig->state.cache.ptt)
|
if (rig->state.cache.ptt)
|
||||||
{
|
{
|
||||||
|
|
Ładowanie…
Reference in New Issue