Change kenwood set_rit to determine # of loops based on current rit

pull/224/head
Michael Black 2020-04-01 16:48:04 -05:00
rodzic ee87d5e6df
commit 8089eff320
1 zmienionych plików z 12 dodań i 8 usunięć

Wyświetl plik

@ -1544,8 +1544,16 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit)
{ {
char buf[4]; char buf[4];
int retval, i; int retval, i;
shortfreq_t curr_rit;
int diff;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); rig_debug(RIG_DEBUG_VERBOSE, "%s called: vfo=%s, rit=%ld\n", __func__, rig_strvfo(vfo), rit);
retval = kenwood_get_rit(rig, vfo, &curr_rit);
if (retval != RIG_OK)
{
return retval;
}
if (rit == 0) if (rit == 0)
{ {
@ -1554,14 +1562,10 @@ int kenwood_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit)
snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D'); snprintf(buf, sizeof(buf), "R%c", (rit > 0) ? 'U' : 'D');
retval = kenwood_transaction(rig, "RC", NULL, 0); diff = (rit - curr_rit)/10;
rig_debug(RIG_DEBUG_TRACE, "%s: rit change=%d\n", __func__, diff);
if (retval != RIG_OK) for (i = 0; i < diff; i++)
{
return retval;
}
for (i = 0; i < labs(lrint(rit / 10)); i++)
{ {
retval = kenwood_transaction(rig, buf, NULL, 0); retval = kenwood_transaction(rig, buf, NULL, 0);
} }