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; ENTERFUNC;
*status = RIG_POWER_OFF; // default return until proven otherwise
/* r75 has no way to get power status, so fake it */ /* r75 has no way to get power status, so fake it */
if (rig->caps->rig_model == RIG_MODEL_ICR75) 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) if (rig->caps->rig_model == RIG_MODEL_IC7300)
{ {
freq_t freq; freq_t freq;
int retrysave = rig->caps->retry;
rig->caps->retry = 0;
int retval = rig_get_freq(rig, RIG_VFO_A, &freq); 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; return retval;
} }
else else

Wyświetl plik

@ -36,6 +36,7 @@ int ptt = 0;
int satmode = 0; int satmode = 0;
int agc_time = 1; int agc_time = 1;
int ovf_status = 0; int ovf_status = 0;
int powerstat = 0;
void dumphex(unsigned char *buf, int n) void dumphex(unsigned char *buf, int n)
{ {
@ -99,7 +100,8 @@ void frameParse(int fd, unsigned char *frame, int len)
} }
frame[10] = 0xfd; frame[10] = 0xfd;
n = write(fd, frame, 11); if (powerstat)
n = write(fd, frame, 11);
break; break;
case 0x04: case 0x04:
@ -524,7 +526,12 @@ int main(int argc, char **argv)
fd = openPort(argv[1]); fd = openPort(argv[1]);
} }
if (powerstat)
frameParse(fd, buf, len); frameParse(fd, buf, len);
else
{
usleep(1000*1000);
}
rigStatus(); 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) if (rig->caps->get_powerstat == NULL)
{ {
*status = RIG_POWER_ON; // default to power if not available
RETURNFUNC(-RIG_ENAVAIL); RETURNFUNC(-RIG_ENAVAIL);
} }
*status = RIG_POWER_OFF; // default now to power off until proven otherwise in get_powerstat
HAMLIB_TRACE; HAMLIB_TRACE;
retcode = rig->caps->get_powerstat(rig, status); retcode = rig->caps->get_powerstat(rig, status);
RETURNFUNC(retcode); RETURNFUNC(retcode);