Fir FT747GX get_freq -- was reading 2 bytes too many

Shorten up reading 345th byte from 100ms to 20ms timeout
https://github.com/Hamlib/Hamlib/issues/995
pull/1001/head
Mike Black W9MDB 2022-03-22 23:06:32 -05:00
rodzic 3686a308d8
commit b40ec940e8
1 zmienionych plików z 6 dodań i 5 usunięć

Wyświetl plik

@ -304,7 +304,7 @@ const struct rig_caps ft747_caps =
RIG_MODEL(RIG_MODEL_FT747), RIG_MODEL(RIG_MODEL_FT747),
.model_name = "FT-747GX", .model_name = "FT-747GX",
.mfg_name = "Yaesu", .mfg_name = "Yaesu",
.version = "20200323.0", .version = "20220322.0",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_MOBILE, .rig_type = RIG_TYPE_MOBILE,
@ -595,19 +595,20 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
return ret; return ret;
} }
// the leading 2 bytes are zero so we just use 4 bytes for the freq
switch (vfo) switch (vfo)
{ {
case RIG_VFO_CURR: case RIG_VFO_CURR:
/* grab freq and convert */ /* grab freq and convert */
f = from_bcd_be(&(p->update_data[FT747_SUMO_DISPLAYED_FREQ]), 10); f = from_bcd_be(&(p->update_data[FT747_SUMO_DISPLAYED_FREQ]), 8);
break; break;
case RIG_VFO_A: case RIG_VFO_A:
f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_A_FREQ]), 10); f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_A_FREQ]), 8);
break; break;
case RIG_VFO_B: case RIG_VFO_B:
f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_B_FREQ]), 10); f = from_bcd_be(&(p->update_data[FT747_SUMO_VFO_B_FREQ]), 8);
break; break;
default: default:
@ -1024,7 +1025,7 @@ static int ft747_get_update_data(RIG *rig)
} }
port_timeout = rigport->timeout; port_timeout = rigport->timeout;
rigport->timeout = 100; /* ms */ rigport->timeout = 20; /* ms */
/* read sometimes-missing last byte (345th), but don't fail */ /* read sometimes-missing last byte (345th), but don't fail */
read_block(rigport, &last_byte, 1); read_block(rigport, &last_byte, 1);
rigport->timeout = port_timeout; rigport->timeout = port_timeout;