kopia lustrzana https://github.com/Hamlib/Hamlib
rodzic
d049c89e5e
commit
69bae15cf2
|
@ -135,14 +135,14 @@ int drake_cleanup(RIG *rig)
|
|||
int drake_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||
{
|
||||
unsigned char freqbuf[16], ackbuf[16];
|
||||
int freq_len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
|
||||
/*
|
||||
* 10Hz resolution
|
||||
* TODO: round nearest?
|
||||
*/
|
||||
freq_len = sprintf((char *) freqbuf, "F%07u" EOM, (unsigned int)freq / 10);
|
||||
retval = drake_transaction(rig, (char *) freqbuf, freq_len, (char *) ackbuf,
|
||||
SNPRINTF((char *) freqbuf, sizeof(freqbuf), "F%07u" EOM, (unsigned int)freq / 10);
|
||||
retval = drake_transaction(rig, (char *) freqbuf, strlen((char*)freqbuf), (char *) ackbuf,
|
||||
&ack_len);
|
||||
|
||||
return retval;
|
||||
|
@ -199,7 +199,7 @@ int drake_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
int drake_set_vfo(RIG *rig, vfo_t vfo)
|
||||
{
|
||||
unsigned char cmdbuf[16], ackbuf[16];
|
||||
int cmd_len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
char vfo_function;
|
||||
|
||||
switch (vfo)
|
||||
|
@ -218,19 +218,17 @@ int drake_set_vfo(RIG *rig, vfo_t vfo)
|
|||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
cmd_len = 0;
|
||||
|
||||
if ((vfo_function == 'A') || (vfo_function == 'B'))
|
||||
{
|
||||
cmd_len = sprintf((char *) cmdbuf, "V%c" EOM, vfo_function);
|
||||
SNPRINTF((char *) cmdbuf, sizeof(cmdbuf), "V%c" EOM, vfo_function);
|
||||
}
|
||||
|
||||
if ((vfo_function == 'F') || (vfo_function == 'C'))
|
||||
{
|
||||
cmd_len = sprintf((char *) cmdbuf, "%c" EOM, vfo_function);
|
||||
SNPRINTF((char *) cmdbuf, sizeof(cmdbuf), "%c" EOM, vfo_function);
|
||||
}
|
||||
|
||||
retval = drake_transaction(rig, (char *) cmdbuf, cmd_len, (char *) ackbuf,
|
||||
retval = drake_transaction(rig, (char *) cmdbuf, strlen((char*)cmdbuf), (char *) ackbuf,
|
||||
&ack_len);
|
||||
return retval;
|
||||
}
|
||||
|
@ -291,7 +289,7 @@ int drake_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
{
|
||||
unsigned char mdbuf[16], ackbuf[16];
|
||||
unsigned char mode_sel;
|
||||
int mdbuf_len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
|
@ -316,8 +314,8 @@ int drake_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
mdbuf_len = sprintf((char *) mdbuf, "M%c" EOM, mode_sel);
|
||||
retval = drake_transaction(rig, (char *) mdbuf, mdbuf_len, (char *) ackbuf,
|
||||
SNPRINTF((char *) mdbuf, sizeof(mdbuf), "M%c" EOM, mode_sel);
|
||||
retval = drake_transaction(rig, (char *) mdbuf, strlen((char*)mdbuf), (char *) ackbuf,
|
||||
&ack_len);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
|
@ -357,8 +355,8 @@ int drake_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
width_sel = '6';
|
||||
}
|
||||
|
||||
mdbuf_len = sprintf((char *) mdbuf, "W%c" EOM, width_sel);
|
||||
retval = drake_transaction(rig, (char *) mdbuf, mdbuf_len, (char *) ackbuf,
|
||||
SNPRINTF((char *) mdbuf, sizeof(mdbuf), "W%c" EOM, width_sel);
|
||||
retval = drake_transaction(rig, (char *) mdbuf, strlen((char*)mdbuf), (char *) ackbuf,
|
||||
&ack_len);
|
||||
}
|
||||
}
|
||||
|
@ -367,11 +365,11 @@ int drake_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
|| (mode == RIG_MODE_ECSSLSB) ||
|
||||
(mode == RIG_MODE_AM) || (mode == RIG_MODE_USB) || (mode == RIG_MODE_LSB))
|
||||
{
|
||||
mdbuf_len = sprintf((char *) mdbuf, "S%c" EOM,
|
||||
SNPRINTF((char *) mdbuf, sizeof(mdbuf), "S%c" EOM,
|
||||
((mode == RIG_MODE_AMS) || (mode == RIG_MODE_ECSSUSB)
|
||||
|| (mode == RIG_MODE_ECSSLSB))
|
||||
? 'O' : 'F');
|
||||
retval = drake_transaction(rig, (char *) mdbuf, mdbuf_len, (char *) ackbuf,
|
||||
retval = drake_transaction(rig, (char *) mdbuf, strlen((char*)mdbuf), (char *) ackbuf,
|
||||
&ack_len);
|
||||
}
|
||||
|
||||
|
@ -492,12 +490,12 @@ int drake_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
|||
int drake_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
|
||||
{
|
||||
unsigned char buf[16], ackbuf[16];
|
||||
int len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
|
||||
len = sprintf((char *) buf, "A%c" EOM,
|
||||
SNPRINTF((char *) buf, sizeof(buf), "A%c" EOM,
|
||||
ant == RIG_ANT_1 ? '1' : (ant == RIG_ANT_2 ? '2' : 'C'));
|
||||
|
||||
retval = drake_transaction(rig, (char *) buf, len, (char *) ackbuf, &ack_len);
|
||||
retval = drake_transaction(rig, (char *) buf, strlen((char*)buf), (char *) ackbuf, &ack_len);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
@ -553,16 +551,16 @@ int drake_get_ant(RIG *rig, vfo_t vfo, ant_t dummy, value_t *option,
|
|||
*/
|
||||
int drake_set_mem(RIG *rig, vfo_t vfo, int ch)
|
||||
{
|
||||
int len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
char buf[16], ackbuf[16];
|
||||
struct drake_priv_data *priv = rig->state.priv;
|
||||
|
||||
priv->curr_ch = ch;
|
||||
|
||||
len = sprintf(buf, "C%03d" EOM, ch);
|
||||
SNPRINTF(buf, sizeof(buf), "C%03d" EOM, ch);
|
||||
|
||||
ack_len = 0; // fix compile-time warning "possibly uninitialized"
|
||||
retval = drake_transaction(rig, buf, len, ackbuf, &ack_len);
|
||||
retval = drake_transaction(rig, buf, strlen(buf), ackbuf, &ack_len);
|
||||
|
||||
if (ack_len != 2)
|
||||
{
|
||||
|
@ -619,7 +617,7 @@ int drake_set_chan(RIG *rig, vfo_t vfo, const channel_t *chan)
|
|||
vfo_t old_vfo;
|
||||
int old_chan;
|
||||
char mdbuf[16], ackbuf[16];
|
||||
int mdbuf_len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
value_t dummy;
|
||||
|
||||
dummy.i = 0;
|
||||
|
@ -654,8 +652,8 @@ int drake_set_chan(RIG *rig, vfo_t vfo, const channel_t *chan)
|
|||
drake_set_func(rig, RIG_VFO_CURR, RIG_FUNC_MN,
|
||||
(chan->funcs & RIG_FUNC_MN) == RIG_FUNC_MN);
|
||||
|
||||
mdbuf_len = sprintf(mdbuf, "PR" EOM "%03d" EOM, chan->channel_num);
|
||||
retval = drake_transaction(rig, mdbuf, mdbuf_len, ackbuf, &ack_len);
|
||||
SNPRINTF(mdbuf, sizeof(mdbuf), "PR" EOM "%03d" EOM, chan->channel_num);
|
||||
retval = drake_transaction(rig, mdbuf, strlen(mdbuf), ackbuf, &ack_len);
|
||||
|
||||
if (old_vfo == RIG_VFO_MEM)
|
||||
{
|
||||
|
@ -890,34 +888,34 @@ int drake_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
|
|||
switch (op)
|
||||
{
|
||||
case RIG_OP_UP:
|
||||
len = sprintf(buf, "U");
|
||||
SNPRINTF(buf, sizeof(buf), "U");
|
||||
break;
|
||||
|
||||
case RIG_OP_DOWN:
|
||||
len = sprintf(buf, "D");
|
||||
SNPRINTF(buf, sizeof(buf), "D");
|
||||
break;
|
||||
|
||||
case RIG_OP_CPY:
|
||||
len = sprintf(buf, "A E B" EOM);
|
||||
SNPRINTF(buf, sizeof(buf), "A E B" EOM);
|
||||
break;
|
||||
|
||||
case RIG_OP_TO_VFO:
|
||||
/* len = sprintf(buf,"C%03d" EOM, priv->curr_ch); */
|
||||
len = sprintf(buf, "F" EOM);
|
||||
/* len = SNPRINTF(buf,"C%03d" EOM, priv->curr_ch); */
|
||||
SNPRINTF(buf, sizeof(buf), "F" EOM);
|
||||
break;
|
||||
|
||||
case RIG_OP_MCL:
|
||||
len = sprintf(buf, "EC%03d" EOM, priv->curr_ch);
|
||||
SNPRINTF(buf, sizeof(buf), "EC%03d" EOM, priv->curr_ch);
|
||||
break;
|
||||
|
||||
case RIG_OP_FROM_VFO:
|
||||
len = sprintf(buf, "PR" EOM "%03d" EOM, priv->curr_ch);
|
||||
SNPRINTF(buf, sizeof(buf), "PR" EOM "%03d" EOM, priv->curr_ch);
|
||||
break;
|
||||
|
||||
default:
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
len = strlen(buf);
|
||||
retval = drake_transaction(rig, buf, len, buf[len - 1] == 0x0d ? ackbuf : NULL,
|
||||
&ack_len);
|
||||
|
||||
|
@ -931,28 +929,28 @@ int drake_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
|
|||
int drake_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
||||
{
|
||||
char buf[16], ackbuf[16];
|
||||
int len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
|
||||
switch (func)
|
||||
{
|
||||
case RIG_FUNC_MN:
|
||||
len = sprintf(buf, "N%c" EOM, status ? 'O' : 'F');
|
||||
SNPRINTF(buf, sizeof(buf), "N%c" EOM, status ? 'O' : 'F');
|
||||
break;
|
||||
|
||||
case RIG_FUNC_LOCK:
|
||||
len = sprintf(buf, "L%c" EOM, status ? 'O' : 'F');
|
||||
SNPRINTF(buf, sizeof(buf), "L%c" EOM, status ? 'O' : 'F');
|
||||
break;
|
||||
|
||||
case RIG_FUNC_NB:
|
||||
/* TODO: NB narrow */
|
||||
len = sprintf(buf, "B%c" EOM, status ? 'W' : 'F');
|
||||
SNPRINTF(buf, sizeof(buf), "B%c" EOM, status ? 'W' : 'F');
|
||||
break;
|
||||
|
||||
default:
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
retval = drake_transaction(rig, buf, len, ackbuf, &ack_len);
|
||||
retval = drake_transaction(rig, buf, strlen(buf), ackbuf, &ack_len);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
@ -1009,20 +1007,20 @@ int drake_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
|
|||
int drake_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
||||
{
|
||||
char buf[16], ackbuf[16];
|
||||
int len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
|
||||
switch (level)
|
||||
{
|
||||
case RIG_LEVEL_PREAMP:
|
||||
len = sprintf(buf, "G%c" EOM, val.i ? '+' : '0');
|
||||
SNPRINTF(buf, sizeof(buf), "G%c" EOM, val.i ? '+' : '0');
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_ATT:
|
||||
len = sprintf(buf, "G%c" EOM, val.i ? '-' : '0');
|
||||
SNPRINTF(buf, sizeof(buf), "G%c" EOM, val.i ? '-' : '0');
|
||||
break;
|
||||
|
||||
case RIG_LEVEL_AGC:
|
||||
len = sprintf(buf, "A%c" EOM,
|
||||
SNPRINTF(buf, sizeof(buf), "A%c" EOM,
|
||||
val.i == RIG_AGC_OFF ? 'O' :
|
||||
(val.i == RIG_AGC_FAST ? 'F' : 'S'));
|
||||
break;
|
||||
|
@ -1031,7 +1029,7 @@ int drake_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
|
|||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
retval = drake_transaction(rig, buf, len, ackbuf, &ack_len);
|
||||
retval = drake_transaction(rig, buf, strlen(buf), ackbuf, &ack_len);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
@ -1159,11 +1157,11 @@ int drake_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
int drake_set_powerstat(RIG *rig, powerstat_t status)
|
||||
{
|
||||
char buf[16], ackbuf[16];
|
||||
int len, ack_len, retval;
|
||||
int ack_len, retval;
|
||||
|
||||
len = sprintf(buf, "P%c" EOM, status == RIG_POWER_OFF ? 'F' : 'O');
|
||||
SNPRINTF(buf, sizeof(buf), "P%c" EOM, status == RIG_POWER_OFF ? 'F' : 'O');
|
||||
|
||||
retval = drake_transaction(rig, buf, len, ackbuf, &ack_len);
|
||||
retval = drake_transaction(rig, buf, strlen(buf), ackbuf, &ack_len);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue