set functions should have ack_len zero, also need to check other rigs

git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2092 7ae35d74-ebe9-4afe-98af-79ac388436b8
Hamlib-1.2.6rc1
Joop Stakenborg, PG4I 2006-03-14 08:36:38 +00:00
rodzic 8ff672d34c
commit c980a9b7fe
1 zmienionych plików z 22 dodań i 22 usunięć

Wyświetl plik

@ -2,7 +2,7 @@
* Hamlib Kenwood backend - main file
* Copyright (c) 2000-2005 by Stephane Fillod and others
*
* $Id: kenwood.c,v 1.91 2006-03-09 19:45:10 pa4tu Exp $
* $Id: kenwood.c,v 1.92 2006-03-14 08:36:38 pa4tu Exp $
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
@ -242,7 +242,6 @@ int kenwood_set_vfo(RIG *rig, vfo_t vfo)
size_t ack_len;
char vfo_function;
ack_len = 50;
switch (vfo) {
case RIG_VFO_VFO:
case RIG_VFO_A: vfo_function = '0'; break;
@ -258,13 +257,15 @@ int kenwood_set_vfo(RIG *rig, vfo_t vfo)
cmd_len = sprintf(cmdbuf, "FR%c%s", vfo_function, cmd_trm(rig));
/* set RX VFO */
ack_len = 0;
retval = kenwood_transaction (rig, cmdbuf, cmd_len, ackbuf, &ack_len);
if (retval != RIG_OK)
return retval;
/* set TX VFO */
ack_len = 0;
cmdbuf[1] = 'T';
ack_len = 50;
ack_len = 0;
retval = kenwood_transaction (rig, cmdbuf, 4, ackbuf, &ack_len);
return retval;
@ -277,7 +278,6 @@ int kenwood_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
size_t ack_len;
unsigned char vfo_function;
ack_len = 50;
if(vfo !=RIG_VFO_CURR) {
switch (vfo) {
case RIG_VFO_VFO:
@ -292,6 +292,7 @@ int kenwood_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
/* set RX VFO */
cmd_len = sprintf(cmdbuf, "FR%c%s", vfo_function, cmd_trm(rig));
ack_len = 0;
retval = kenwood_transaction (rig, cmdbuf, cmd_len, ackbuf, &ack_len);
if (retval != RIG_OK)
return retval;
@ -309,7 +310,7 @@ int kenwood_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
}
/* set TX VFO */
cmd_len = sprintf(cmdbuf, "FT%c%s", vfo_function, cmd_trm(rig));
ack_len = 50;
ack_len = 0;
retval = kenwood_transaction (rig, cmdbuf, cmd_len, ackbuf, &ack_len);
if (retval != RIG_OK)
return retval;
@ -365,7 +366,6 @@ int kenwood_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
unsigned char vfo_letter;
vfo_t tvfo;
ack_len = 50;
tvfo = vfo==RIG_VFO_CURR ? rig->state.current_vfo : vfo;
switch (tvfo) {
@ -379,6 +379,7 @@ int kenwood_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
}
freq_len = sprintf(freqbuf,"F%c%011"PRIll";", vfo_letter, (long long)freq);
ack_len = 0;
retval = kenwood_transaction (rig, freqbuf, freq_len, ackbuf, &ack_len);
return retval;
@ -397,7 +398,6 @@ int kenwood_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
unsigned char vfo_letter;
vfo_t tvfo;
freq_len = 50;
tvfo = vfo==RIG_VFO_CURR ? rig->state.current_vfo : vfo;
switch (tvfo) {
@ -461,7 +461,7 @@ int kenwood_set_rit(RIG * rig, vfo_t vfo, shortfreq_t rit)
int retval, len, i;
size_t info_len;
info_len = 50;
info_len = 0;
if (rit == 0)
return kenwood_transaction(rig, "RC;", 3, infobuf, &info_len);
@ -500,7 +500,7 @@ int kenwood_scan(RIG * rig, vfo_t vfo, scan_t scan, int ch)
char ackbuf[50];
size_t ack_len;
ack_len = 50;
ack_len = 0;
return kenwood_transaction (rig, scan==RIG_SCAN_STOP? "SC0;":"SC1;", 4,
ackbuf, &ack_len);
}
@ -516,7 +516,6 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
int mdbuf_len, kmode, retval;
size_t ack_len;
ack_len = 50;
switch (mode) {
case RIG_MODE_CW: kmode = MD_CW; break;
case RIG_MODE_CWR: kmode = MD_CWR; break;
@ -533,6 +532,7 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
}
mdbuf_len = sprintf(mdbuf, "MD%c;", kmode);
ack_len = 0;
retval = kenwood_transaction (rig, mdbuf, mdbuf_len, ackbuf, &ack_len);
return retval;
@ -587,7 +587,6 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
int i, kenwood_val;
size_t ack_len;
ack_len = 50;
if (RIG_LEVEL_IS_FLOAT(level))
kenwood_val = val.f * 255;
else
@ -632,6 +631,7 @@ int kenwood_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
return -RIG_EINVAL;
}
ack_len = 0;
retval = kenwood_transaction (rig, levelbuf, level_len, ackbuf, &ack_len);
if (retval != RIG_OK)
@ -784,10 +784,10 @@ int kenwood_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
int fct_len;
size_t ack_len;
ack_len = 50;
/* Optimize:
* sort the switch cases with the most frequent first
*/
ack_len = 0;
switch (func) {
case RIG_FUNC_NB:
fct_len = sprintf(fctbuf,"NB%c;", (0==status)?'0':'1');
@ -830,8 +830,8 @@ int kenwood_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
return kenwood_transaction (rig, fctbuf, fct_len, ackbuf, &ack_len);
case RIG_FUNC_LOCK:
fct_len = sprintf(fctbuf,"LK%c;", (0==status)?'0':'1');
return kenwood_transaction (rig, fctbuf, fct_len, ackbuf, &ack_len);
fct_len = sprintf(fctbuf,"LK%c;", (0==status)?'0':'1');
return kenwood_transaction (rig, fctbuf, fct_len, ackbuf, &ack_len);
default:
rig_debug(RIG_DEBUG_ERR,"Unsupported set_func %#x", func);
@ -951,7 +951,6 @@ int kenwood_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
int i;
size_t ack_len;
ack_len = 50;
caps = rig->caps;
/* TODO: replace 200 by something like RIGTONEMAX */
@ -965,6 +964,7 @@ int kenwood_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
/* TODO: replace menu no 57 by a define */
tone_len = sprintf(tonebuf,"EX%03d%04d;", 57, i+1);
ack_len = 0;
return kenwood_transaction (rig, tonebuf, tone_len, ackbuf, &ack_len);
}
@ -1051,7 +1051,7 @@ int kenwood_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
char ackbuf[50];
size_t ack_len;
ack_len = 50;
ack_len = 0;
return kenwood_transaction (rig, ptt==RIG_PTT_ON? "TX;":"RX;", 3,
ackbuf, &ack_len);
}
@ -1093,9 +1093,9 @@ int kenwood_set_trn(RIG *rig, int trn)
int trn_len;
size_t ack_len;
ack_len = 50;
trn_len = sprintf(trnbuf,"AI%c;", trn==RIG_TRN_RIG?'1':'0');
ack_len = 0;
return kenwood_transaction (rig, trnbuf, trn_len, ackbuf, &ack_len);
}
@ -1134,9 +1134,9 @@ int kenwood_set_powerstat(RIG *rig, powerstat_t status)
int pwr_len;
size_t ack_len;
ack_len = 50;
pwr_len = sprintf(pwrbuf,"PS%c;", status==RIG_POWER_ON?'1':'0');
ack_len = 0;
return kenwood_transaction (rig, pwrbuf, pwr_len, ackbuf, &ack_len);
}
@ -1176,7 +1176,6 @@ int kenwood_reset(RIG *rig, reset_t reset)
char rst;
size_t ack_len;
ack_len = 50;
switch(reset) {
case RIG_RESET_VFO: rst='1'; break;
case RIG_RESET_MASTER: rst='2'; break;
@ -1187,6 +1186,7 @@ int kenwood_reset(RIG *rig, reset_t reset)
}
rst_len = sprintf(rstbuf,"SR%c;", rst);
ack_len = 0;
return kenwood_transaction (rig, rstbuf, rst_len, ackbuf, &ack_len);
}
@ -1202,7 +1202,6 @@ int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg)
const char *p;
size_t ack_len;
ack_len = 50;
p = msg;
msg_len = strlen(msg);
@ -1222,6 +1221,7 @@ int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg)
/* morse_len must be 28 */
morse_len = sprintf(morsebuf,"KY %-24s;", m2);
ack_len = 0;
retval = kenwood_transaction (rig, morsebuf, morse_len,
ackbuf, &ack_len);
if (retval != RIG_OK)
@ -1243,7 +1243,6 @@ int kenwood_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
char *cmd, ackbuf[50];
size_t ack_len;
ack_len = 50;
switch(op) {
case RIG_OP_UP: cmd="UP;"; break;
case RIG_OP_DOWN: cmd="DN;"; break;
@ -1254,6 +1253,7 @@ int kenwood_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
op);
return -RIG_EINVAL;
}
ack_len = 0;
return kenwood_transaction (rig, cmd, 3, ackbuf, &ack_len);
}
@ -1267,7 +1267,6 @@ int kenwood_set_mem(RIG *rig, vfo_t vfo, int ch)
int mem_len;
size_t ack_len;
ack_len = 50;
/*
* "MCbmm;"
* where b is the bank number, mm the memory number.
@ -1275,6 +1274,7 @@ int kenwood_set_mem(RIG *rig, vfo_t vfo, int ch)
*/
mem_len = sprintf(membuf, "MC %02d;", ch);
ack_len = 0;
return kenwood_transaction (rig, membuf, mem_len, ackbuf, &ack_len);
}