kopia lustrzana https://github.com/Hamlib/Hamlib
Merge pull request #1073 from mikaelnousiainen/fix-kenwood-rfpower
Fix Kenwood RFPOWER min/max communicationpull/1077/head
commit
0b6161c8e4
|
@ -2742,8 +2742,9 @@ static int kenwood_get_micgain_minmax(RIG *rig, int *micgain_now,
|
||||||
int *micgain_max,
|
int *micgain_max,
|
||||||
int restore)
|
int restore)
|
||||||
{
|
{
|
||||||
|
int expected_length = 18;
|
||||||
int retval;
|
int retval;
|
||||||
char levelbuf[19];
|
char levelbuf[expected_length + 1];
|
||||||
// read micgain_now, set 0, read micgain_min, set 255, read_micgain_max; set 0
|
// read micgain_now, set 0, read micgain_min, set 255, read_micgain_max; set 0
|
||||||
// we set back to 0 for safety and if restore is true we restore micgain_min
|
// we set back to 0 for safety and if restore is true we restore micgain_min
|
||||||
// otherwise we expect calling routine to be setting new micgain level
|
// otherwise we expect calling routine to be setting new micgain level
|
||||||
|
@ -2801,8 +2802,10 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min,
|
||||||
int *power_max,
|
int *power_max,
|
||||||
int restore)
|
int restore)
|
||||||
{
|
{
|
||||||
int retval, expval;
|
int max_length = 18;
|
||||||
char levelbuf[19];
|
int expected_length;
|
||||||
|
int retval;
|
||||||
|
char levelbuf[max_length + 1];
|
||||||
// read power_now, set 0, read power_min, set 255, read_power_max; set 0
|
// read power_now, set 0, read power_min, set 255, read_power_max; set 0
|
||||||
// we set back to 0 for safety and if restore is true we restore power_min
|
// we set back to 0 for safety and if restore is true we restore power_min
|
||||||
// otherwise we expect calling routine to be setting new power level
|
// otherwise we expect calling routine to be setting new power level
|
||||||
|
@ -2858,23 +2861,23 @@ static int kenwood_get_power_minmax(RIG *rig, int *power_now, int *power_min,
|
||||||
|
|
||||||
if (retval != RIG_OK) { RETURNFUNC(retval); }
|
if (retval != RIG_OK) { RETURNFUNC(retval); }
|
||||||
|
|
||||||
retval = read_string(&rs->rigport, (unsigned char *) levelbuf, sizeof(levelbuf),
|
|
||||||
NULL, 0, 0, 1);
|
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_TRACE, "%s: retval=%d\n", __func__, retval);
|
|
||||||
|
|
||||||
if (RIG_IS_TS890S || RIG_IS_TS480)
|
if (RIG_IS_TS890S || RIG_IS_TS480)
|
||||||
{
|
{
|
||||||
expval = 6;
|
expected_length = 6;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
expval = 18;
|
expected_length = 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (retval != expval)
|
retval = read_string(&rs->rigport, (unsigned char *) levelbuf, expected_length + 1,
|
||||||
|
NULL, 0, 0, 1);
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_TRACE, "%s: retval=%d\n", __func__, retval);
|
||||||
|
|
||||||
|
if (retval != expected_length)
|
||||||
{
|
{
|
||||||
rig_debug(RIG_DEBUG_ERR, "%s: expected %d, got %d in '%s'\n", __func__, expval,
|
rig_debug(RIG_DEBUG_ERR, "%s: expected %d, got %d in '%s'\n", __func__, expected_length,
|
||||||
retval,
|
retval,
|
||||||
levelbuf);
|
levelbuf);
|
||||||
RETURNFUNC(-RIG_EPROTO);
|
RETURNFUNC(-RIG_EPROTO);
|
||||||
|
|
Ładowanie…
Reference in New Issue