Fix powerstat 1 for 115,200 on ic7300 (and perhaps others)

This commit is contained in:
Michael Black 2019-12-16 11:55:09 -06:00
parent ff969113fa
commit 935baaad24
No known key found for this signature in database
GPG Key ID: 6599353EC683404D

View File

@ -4410,7 +4410,10 @@ int icom_set_powerstat(RIG *rig, powerstat_t status)
unsigned char ackbuf[200]; unsigned char ackbuf[200];
int ack_len = sizeof(ackbuf), retval; int ack_len = sizeof(ackbuf), retval;
int pwr_sc; int pwr_sc;
unsigned char fe_buf[200]; // for FE's to power up // 175 0xfe's are workign for 38,400 but not 57,600
// so we'll do up to 175*3 for 115,200
int fe_max = 175*3;
unsigned char fe_buf[fe_max]; // for FE's to power up
int fe_len = 0; int fe_len = 0;
int i; int i;
int retry; int retry;
@ -4424,7 +4427,7 @@ int icom_set_powerstat(RIG *rig, powerstat_t status)
// ic7300 manual says ~150 for 115,200 // ic7300 manual says ~150 for 115,200
// we'll just send 175 to be sure for all speeds // we'll just send 175 to be sure for all speeds
for (fe_len = 0; fe_len < 175; ++fe_len) for (fe_len = 0; fe_len < fe_max; ++fe_len)
{ {
fe_buf[fe_len] = 0xfe; fe_buf[fe_len] = 0xfe;
} }
@ -4438,13 +4441,13 @@ int icom_set_powerstat(RIG *rig, powerstat_t status)
// we can ignore this retval // we can ignore this retval
// sending more than enough 0xfe's to wake up the rs232 // sending more than enough 0xfe's to wake up the rs232
icom_transaction(rig, 0xfe, 0xfe, fe_buf, fe_len, ackbuf, &ack_len); icom_transaction(rig, 0xfe, 0xfe, fe_buf, fe_max, ackbuf, &ack_len);
retval = icom_transaction(rig, C_SET_PWR, pwr_sc, NULL, 0, ackbuf, &ack_len); retval = icom_transaction(rig, C_SET_PWR, pwr_sc, NULL, 0, ackbuf, &ack_len);
rig_debug(RIG_DEBUG_VERBOSE, "%s #2 called retval=%d\n", __func__, retval); rig_debug(RIG_DEBUG_VERBOSE, "%s #2 called retval=%d\n", __func__, retval);
i = 0; i = 0;
retry = 3 / rig->state.rigport.retry; retry = 10;
if (status == RIG_POWER_ON) // wait for wakeup only if (status == RIG_POWER_ON) // wait for wakeup only
{ {