Fix IC-7300 rig power on hopefully

https://github.com/Hamlib/Hamlib/issues/1142
pull/1148/head
Mike Black W9MDB 2022-11-08 10:47:57 -06:00
rodzic 24eb991f55
commit fde9ad706c
3 zmienionych plików z 16 dodań i 1 usunięć

Wyświetl plik

@ -8047,6 +8047,8 @@ int icom_get_powerstat(RIG *rig, powerstat_t *status)
ENTERFUNC;
*status = RIG_POWER_OFF; // default return until proven otherwise
/* r75 has no way to get power status, so fake it */
if (rig->caps->rig_model == RIG_MODEL_ICR75)
{
@ -8070,7 +8072,11 @@ int icom_get_powerstat(RIG *rig, powerstat_t *status)
if (rig->caps->rig_model == RIG_MODEL_IC7300)
{
freq_t freq;
int retrysave = rig->caps->retry;
rig->caps->retry = 0;
int retval = rig_get_freq(rig, RIG_VFO_A, &freq);
rig->caps->retry = retrysave;
*status = retval==RIG_OK ? RIG_POWER_ON : RIG_POWER_OFF;
return retval;
}
else

Wyświetl plik

@ -36,6 +36,7 @@ int ptt = 0;
int satmode = 0;
int agc_time = 1;
int ovf_status = 0;
int powerstat = 0;
void dumphex(unsigned char *buf, int n)
{
@ -99,7 +100,8 @@ void frameParse(int fd, unsigned char *frame, int len)
}
frame[10] = 0xfd;
n = write(fd, frame, 11);
if (powerstat)
n = write(fd, frame, 11);
break;
case 0x04:
@ -524,7 +526,12 @@ int main(int argc, char **argv)
fd = openPort(argv[1]);
}
if (powerstat)
frameParse(fd, buf, len);
else
{
usleep(1000*1000);
}
rigStatus();
}

Wyświetl plik

@ -5860,9 +5860,11 @@ int HAMLIB_API rig_get_powerstat(RIG *rig, powerstat_t *status)
if (rig->caps->get_powerstat == NULL)
{
*status = RIG_POWER_ON; // default to power if not available
RETURNFUNC(-RIG_ENAVAIL);
}
*status = RIG_POWER_OFF; // default now to power off until proven otherwise in get_powerstat
HAMLIB_TRACE;
retcode = rig->caps->get_powerstat(rig, status);
RETURNFUNC(retcode);