Change get_ant to add another option for icom rigs (and others if needed)

pull/185/head
Michael Black 2020-01-21 17:53:12 -06:00
rodzic 04ba2f9806
commit d853c36fb3
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6599353EC683404D
31 zmienionych plików z 134 dodań i 89 usunięć

Wyświetl plik

@ -344,7 +344,7 @@ typedef channel_t * const_channel_t_p;
METHOD3(set_rit, shortfreq_t) METHOD3(set_rit, shortfreq_t)
METHOD3(set_xit, shortfreq_t) METHOD3(set_xit, shortfreq_t)
METHOD3(set_ts, shortfreq_t) METHOD3(set_ts, shortfreq_t)
METHOD3(set_ant, ant_t) METHOD2(set_ant, ant_t, value_t)
METHOD2(set_func, setting_t, int) METHOD2(set_func, setting_t, int)
METHOD3(set_bank, int) METHOD3(set_bank, int)
METHOD3(set_mem, int) METHOD3(set_mem, int)
@ -436,7 +436,7 @@ typedef channel_t * const_channel_t_p;
METHOD1VGET(get_rit, shortfreq_t) METHOD1VGET(get_rit, shortfreq_t)
METHOD1VGET(get_xit, shortfreq_t) METHOD1VGET(get_xit, shortfreq_t)
METHOD1VGET(get_ts, shortfreq_t) METHOD1VGET(get_ts, shortfreq_t)
METHOD1VGET(get_ant, ant_t) extern void get_ant(value_t * OUTPUT, ant_t * OUTPUT, vfo_t vfo = RIG_VFO_CURR);
METHOD1VGET(get_mem, int) METHOD1VGET(get_mem, int)
METHOD1GET(get_powerstat, powerstat_t) METHOD1GET(get_powerstat, powerstat_t)
METHOD1GET(get_trn, int) METHOD1GET(get_trn, int)
@ -557,6 +557,11 @@ void Rig_get_split_mode(Rig *self, rmode_t *mode, pbwidth_t *width, vfo_t vfo)
self->error_status = rig_get_split_mode(self->rig, vfo, mode, width); self->error_status = rig_get_split_mode(self->rig, vfo, mode, width);
} }
void Rig_get_ant(Rig *self, value_t *option, ant_t *ant, vfo_t vfo)
{
self->error_status = rig_get_ant(self->rig, vfo, ant, option);
}
struct channel *Rig_get_chan_all(Rig *self) struct channel *Rig_get_chan_all(Rig *self)
{ {
struct channel *chans; struct channel *chans;

Wyświetl plik

@ -535,16 +535,14 @@ shortfreq_t Rig::getXit(vfo_t vfo)
return xit; return xit;
} }
void Rig::setAnt(ant_t ant, vfo_t vfo) void Rig::setAnt(value_t option, ant_t ant, vfo_t vfo)
{ {
CHECK_RIG(rig_set_ant(theRig, vfo, ant)); CHECK_RIG(rig_set_ant(theRig, vfo, ant, option));
} }
ant_t Rig::getAnt(vfo_t vfo) ant_t Rig::getAnt(value_t &option, ant_t &ant, vfo_t vfo)
{ {
ant_t ant; CHECK_RIG( rig_get_ant(theRig, vfo, &ant, &option) );
CHECK_RIG( rig_get_ant(theRig, vfo, &ant) );
return ant; return ant;
} }

Wyświetl plik

@ -54,6 +54,7 @@ struct dummy_priv_data
powerstat_t powerstat; powerstat_t powerstat;
int bank; int bank;
value_t parms[RIG_SETTING_MAX]; value_t parms[RIG_SETTING_MAX];
int ant_option;
channel_t *curr; /* points to vfo_a, vfo_b or mem[] */ channel_t *curr; /* points to vfo_a, vfo_b or mem[] */
@ -1302,25 +1303,27 @@ static int dummy_get_ext_parm(RIG *rig, token_t token, value_t *val)
static int dummy_set_ant(RIG *rig, vfo_t vfo, ant_t ant) static int dummy_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
struct dummy_priv_data *priv = (struct dummy_priv_data *)rig->state.priv; struct dummy_priv_data *priv = (struct dummy_priv_data *)rig->state.priv;
channel_t *curr = priv->curr; channel_t *curr = priv->curr;
curr->ant = ant; curr->ant = ant;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); priv->ant_option = option.i;
rig_debug(RIG_DEBUG_VERBOSE, "%s called ant=%d, option=%d\n", __func__, ant, option.i);
return RIG_OK; return RIG_OK;
} }
static int dummy_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) static int dummy_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
struct dummy_priv_data *priv = (struct dummy_priv_data *)rig->state.priv; struct dummy_priv_data *priv = (struct dummy_priv_data *)rig->state.priv;
channel_t *curr = priv->curr; channel_t *curr = priv->curr;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
*ant = curr->ant; *ant = curr->ant;
option->i = priv->ant_option;
return RIG_OK; return RIG_OK;
} }

Wyświetl plik

@ -1730,7 +1730,7 @@ static int netrigctl_get_parm(RIG *rig, setting_t parm, value_t *val)
} }
static int netrigctl_set_ant(RIG *rig, vfo_t vfo, ant_t ant) static int netrigctl_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
int ret, len; int ret, len;
char cmd[CMD_MAX]; char cmd[CMD_MAX];
@ -1743,7 +1743,7 @@ static int netrigctl_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
if (ret != RIG_OK) { return ret; } if (ret != RIG_OK) { return ret; }
len = sprintf(cmd, "Y%s %d\n", vfostr, ant); len = sprintf(cmd, "Y%s %d %d\n", vfostr, ant, option.i);
ret = netrigctl_transaction(rig, cmd, len, buf); ret = netrigctl_transaction(rig, cmd, len, buf);
@ -1758,9 +1758,9 @@ static int netrigctl_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
} }
static int netrigctl_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) static int netrigctl_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
int ret, len; int ret, len, ioption;
char cmd[CMD_MAX]; char cmd[CMD_MAX];
char buf[BUF_MAX]; char buf[BUF_MAX];
char vfostr[6] = ""; char vfostr[6] = "";
@ -1780,7 +1780,30 @@ static int netrigctl_get_ant(RIG *rig, vfo_t vfo, ant_t *ant)
return (ret < 0) ? ret : -RIG_EPROTO; return (ret < 0) ? ret : -RIG_EPROTO;
} }
*ant = atoi(buf); rig_debug(RIG_DEBUG_TRACE, "%s: buf='%s'\n", __func__, buf);
ret = sscanf(buf, "%d\n", ant);
if (ret != 1)
{
rig_debug(RIG_DEBUG_ERR, "%s: expected 1 ant integer in '%s', got %d\n", __func__, buf,
ret);
}
ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1);
if (ret <= 0)
{
return (ret < 0) ? ret : -RIG_EPROTO;
}
ret = sscanf(buf, "%d\n",&(option->i));
if (ret != 1)
{
rig_debug(RIG_DEBUG_ERR, "%s: expected 1 option integer in '%s', got %d\n", __func__, buf,
ret);
}
return RIG_OK; return RIG_OK;
} }

Wyświetl plik

@ -1568,8 +1568,8 @@ struct rig_caps {
int (*reset)(RIG *rig, reset_t reset); int (*reset)(RIG *rig, reset_t reset);
int (*set_ant)(RIG *rig, vfo_t vfo, ant_t ant); int (*set_ant)(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
int (*get_ant)(RIG *rig, vfo_t vfo, ant_t *ant); int (*get_ant)(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option);
int (*set_level)(RIG *rig, vfo_t vfo, setting_t level, value_t val); int (*set_level)(RIG *rig, vfo_t vfo, setting_t level, value_t val);
int (*get_level)(RIG *rig, vfo_t vfo, setting_t level, value_t *val); int (*get_level)(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
@ -2151,11 +2151,13 @@ rig_cleanup HAMLIB_PARAMS((RIG *rig));
extern HAMLIB_EXPORT(int) extern HAMLIB_EXPORT(int)
rig_set_ant HAMLIB_PARAMS((RIG *rig, rig_set_ant HAMLIB_PARAMS((RIG *rig,
vfo_t vfo, vfo_t vfo,
ant_t ant)); /* antenna */ ant_t ant, /* antenna */
value_t option)); /* optional ant info */
extern HAMLIB_EXPORT(int) extern HAMLIB_EXPORT(int)
rig_get_ant HAMLIB_PARAMS((RIG *rig, rig_get_ant HAMLIB_PARAMS((RIG *rig,
vfo_t vfo, vfo_t vfo,
ant_t *ant)); ant_t *ant,
value_t *option));
extern HAMLIB_EXPORT(setting_t) extern HAMLIB_EXPORT(setting_t)
rig_has_get_level HAMLIB_PARAMS((RIG *rig, rig_has_get_level HAMLIB_PARAMS((RIG *rig,

Wyświetl plik

@ -156,8 +156,8 @@ public:
void setXit(shortfreq_t xit, vfo_t vfo = RIG_VFO_CURR); void setXit(shortfreq_t xit, vfo_t vfo = RIG_VFO_CURR);
shortfreq_t getXit(vfo_t vfo = RIG_VFO_CURR); shortfreq_t getXit(vfo_t vfo = RIG_VFO_CURR);
void setAnt(ant_t ant, vfo_t vfo = RIG_VFO_CURR); void setAnt(value_t option, ant_t ant, vfo_t vfo = RIG_VFO_CURR);
ant_t getAnt(vfo_t vfo = RIG_VFO_CURR); ant_t getAnt(value_t &option, ant_t &ant, vfo_t vfo = RIG_VFO_CURR);
void sendDtmf(const char *digits, vfo_t vfo = RIG_VFO_CURR); void sendDtmf(const char *digits, vfo_t vfo = RIG_VFO_CURR);
int recvDtmf(char *digits, vfo_t vfo = RIG_VFO_CURR); int recvDtmf(char *digits, vfo_t vfo = RIG_VFO_CURR);

Wyświetl plik

@ -487,7 +487,7 @@ int drake_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
* drake_set_ant * drake_set_ant
* Assumes rig!=NULL * Assumes rig!=NULL
*/ */
int drake_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int drake_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
unsigned char buf[16], ackbuf[16]; unsigned char buf[16], ackbuf[16];
int len, ack_len, retval; int len, ack_len, retval;
@ -504,7 +504,7 @@ int drake_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
* drake_get_ant * drake_get_ant
* Assumes rig!=NULL * Assumes rig!=NULL
*/ */
int drake_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int drake_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
int mdbuf_len, retval; int mdbuf_len, retval;
char mdbuf[BUFSZ]; char mdbuf[BUFSZ];
@ -541,7 +541,6 @@ int drake_get_ant(RIG *rig, vfo_t vfo, ant_t *ant)
*ant = RIG_ANT_NONE; *ant = RIG_ANT_NONE;
return -RIG_EINVAL; return -RIG_EINVAL;
} }
return RIG_OK; return RIG_OK;
} }
@ -617,6 +616,7 @@ int drake_set_chan(RIG *rig, const channel_t *chan)
int old_chan; int old_chan;
char mdbuf[16], ackbuf[16]; char mdbuf[16], ackbuf[16];
int mdbuf_len, ack_len, retval; int mdbuf_len, ack_len, retval;
value_t dummy;
drake_get_vfo(rig, &old_vfo); drake_get_vfo(rig, &old_vfo);
old_chan = 0; old_chan = 0;
@ -634,7 +634,7 @@ int drake_set_chan(RIG *rig, const channel_t *chan)
} }
/* set all memory features */ /* set all memory features */
drake_set_ant(rig, RIG_VFO_CURR, chan->ant); drake_set_ant(rig, RIG_VFO_CURR, chan->ant, dummy);
drake_set_freq(rig, RIG_VFO_CURR, chan->freq); drake_set_freq(rig, RIG_VFO_CURR, chan->freq);
drake_set_mode(rig, RIG_VFO_CURR, chan->mode, chan->width); drake_set_mode(rig, RIG_VFO_CURR, chan->mode, chan->width);
drake_set_func(rig, RIG_VFO_CURR, RIG_FUNC_NB, drake_set_func(rig, RIG_VFO_CURR, RIG_FUNC_NB,

Wyświetl plik

@ -38,8 +38,8 @@ int drake_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
int drake_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width); int drake_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
int drake_init(RIG *rig); int drake_init(RIG *rig);
int drake_cleanup(RIG *rig); int drake_cleanup(RIG *rig);
int drake_set_ant(RIG *rig, vfo_t vfo, ant_t ant); int drake_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
int drake_get_ant(RIG *rig, vfo_t vfo, ant_t *ant); int drake_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option);
int drake_set_mem(RIG *rig, vfo_t vfo, int ch); int drake_set_mem(RIG *rig, vfo_t vfo, int ch);
int drake_get_mem(RIG *rig, vfo_t vfo, int *ch); int drake_get_mem(RIG *rig, vfo_t vfo, int *ch);
int drake_set_chan(RIG *rig, const channel_t *chan); int drake_set_chan(RIG *rig, const channel_t *chan);

Wyświetl plik

@ -2785,7 +2785,7 @@ int elad_get_ctcss_sql(RIG *rig, vfo_t vfo, tone_t *tone)
/* /*
* set the aerial/antenna to use * set the aerial/antenna to use
*/ */
int elad_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int elad_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
char cmd[8]; char cmd[8];
char a; char a;
@ -2875,7 +2875,7 @@ int elad_set_ant_no_ack(RIG *rig, vfo_t vfo, ant_t ant)
/* /*
* get the aerial/antenna in use * get the aerial/antenna in use
*/ */
int elad_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int elad_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
char ackbuf[8]; char ackbuf[8];
int offs; int offs;

Wyświetl plik

@ -138,9 +138,9 @@ int elad_set_powerstat(RIG *rig, powerstat_t status);
int elad_get_powerstat(RIG *rig, powerstat_t *status); int elad_get_powerstat(RIG *rig, powerstat_t *status);
int elad_reset(RIG *rig, reset_t reset); int elad_reset(RIG *rig, reset_t reset);
int elad_send_morse(RIG *rig, vfo_t vfo, const char *msg); int elad_send_morse(RIG *rig, vfo_t vfo, const char *msg);
int elad_set_ant (RIG * rig, vfo_t vfo, ant_t ant); int elad_set_ant (RIG * rig, vfo_t vfo, ant_t ant, value_t option);
int elad_set_ant_no_ack(RIG * rig, vfo_t vfo, ant_t ant); int elad_set_ant_no_ack(RIG * rig, vfo_t vfo, ant_t ant);
int elad_get_ant (RIG * rig, vfo_t vfo, ant_t * ant); int elad_get_ant (RIG * rig, vfo_t vfo, ant_t * ant, value_t *option);
int elad_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt); int elad_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt);
int elad_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt); int elad_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt);
int elad_set_ptt_safe(RIG *rig, vfo_t vfo, ptt_t ptt); int elad_set_ptt_safe(RIG *rig, vfo_t vfo, ptt_t ptt);

Wyświetl plik

@ -94,7 +94,7 @@ static int dttsp_get_conf(RIG *rig, token_t token, char *val);
static int dttsp_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val); static int dttsp_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val);
static int dttsp_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val); static int dttsp_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
static int dttsp_set_func(RIG *rig, vfo_t vfo, setting_t func, int status); static int dttsp_set_func(RIG *rig, vfo_t vfo, setting_t func, int status);
static int dttsp_set_ant(RIG *rig, vfo_t vfo, ant_t ant); static int dttsp_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
static int dttsp_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit); static int dttsp_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit);
static int dttsp_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit); static int dttsp_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit);
@ -992,13 +992,13 @@ int dttsp_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit)
} }
int dttsp_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int dttsp_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
struct dttsp_priv_data *priv = (struct dttsp_priv_data *)rig->state.priv; struct dttsp_priv_data *priv = (struct dttsp_priv_data *)rig->state.priv;
rig_debug(RIG_DEBUG_TRACE, "%s: ant %d, try tuner\n", rig_debug(RIG_DEBUG_TRACE, "%s: ant %d, try tuner\n",
__func__, ant); __func__, ant);
return rig_set_ant(priv->tuner, vfo, ant); return rig_set_ant(priv->tuner, vfo, ant, option);
} }

Wyświetl plik

@ -5042,7 +5042,7 @@ int icom_set_powerstat(RIG *rig, powerstat_t status)
} }
i = 0; i = 0;
retry = 10; retry = 2;
if (status == RIG_POWER_ON) // wait for wakeup only if (status == RIG_POWER_ON) // wait for wakeup only
{ {
@ -5218,7 +5218,7 @@ int icom_set_bank(RIG *rig, vfo_t vfo, int bank)
* icom_set_ant * icom_set_ant
* Assumes rig!=NULL, rig->state.priv!=NULL * Assumes rig!=NULL, rig->state.priv!=NULL
*/ */
int icom_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int icom_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
unsigned char antarg; unsigned char antarg;
unsigned char ackbuf[MAXFRAMELEN]; unsigned char ackbuf[MAXFRAMELEN];
@ -5249,11 +5249,11 @@ int icom_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
break; break;
default: default:
rig_debug(RIG_DEBUG_ERR, "%s: unsupported ant %#x", __func__, ant); rig_debug(RIG_DEBUG_ERR, "%s: unsupported ant %#x\n", __func__, ant);
return -RIG_EINVAL; return -RIG_EINVAL;
} }
antarg = 0; antarg = option.i;
ant_len = ((rig->caps->rig_model == RIG_MODEL_ICR75) ant_len = ((rig->caps->rig_model == RIG_MODEL_ICR75)
|| (rig->caps->rig_model == RIG_MODEL_ICR8600) || || (rig->caps->rig_model == RIG_MODEL_ICR8600) ||
(rig->caps->rig_model == RIG_MODEL_ICR6) (rig->caps->rig_model == RIG_MODEL_ICR6)
@ -5281,7 +5281,7 @@ int icom_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
* Assumes rig!=NULL, rig->state.priv!=NULL * Assumes rig!=NULL, rig->state.priv!=NULL
* only meaningfull for HF * only meaningfull for HF
*/ */
int icom_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int icom_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *rxant)
{ {
unsigned char ackbuf[MAXFRAMELEN]; unsigned char ackbuf[MAXFRAMELEN];
int ack_len = sizeof(ackbuf), retval; int ack_len = sizeof(ackbuf), retval;
@ -5305,6 +5305,9 @@ int icom_get_ant(RIG *rig, vfo_t vfo, ant_t *ant)
/* Note: with IC756/IC-756Pro/IC-7800, ackbuf[2] deals with [RX ANT] */ /* Note: with IC756/IC-756Pro/IC-7800, ackbuf[2] deals with [RX ANT] */
*ant = RIG_ANT_N(ackbuf[1]); *ant = RIG_ANT_N(ackbuf[1]);
if (ack_len == 3) { // then this should be rx ant on/off status
rxant->i = RIG_ANT_N(ackbuf[2]);
}
return RIG_OK; return RIG_OK;
} }

Wyświetl plik

@ -252,8 +252,8 @@ int icom_set_conf(RIG *rig, token_t token, const char *val);
int icom_get_conf(RIG *rig, token_t token, char *val); int icom_get_conf(RIG *rig, token_t token, char *val);
int icom_set_powerstat(RIG *rig, powerstat_t status); int icom_set_powerstat(RIG *rig, powerstat_t status);
int icom_get_powerstat(RIG *rig, powerstat_t *status); int icom_get_powerstat(RIG *rig, powerstat_t *status);
int icom_set_ant(RIG *rig, vfo_t vfo, ant_t ant); int icom_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
int icom_get_ant(RIG *rig, vfo_t vfo, ant_t *ant); int icom_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option);
int icom_decode_event(RIG *rig); int icom_decode_event(RIG *rig);
int icom_power2mW(RIG *rig, unsigned int *mwpower, float power, freq_t freq, int icom_power2mW(RIG *rig, unsigned int *mwpower, float power, freq_t freq,
rmode_t mode); rmode_t mode);

Wyświetl plik

@ -428,7 +428,7 @@ int ic10_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
* ic10_set_ant * ic10_set_ant
* Assumes rig!=NULL * Assumes rig!=NULL
*/ */
int ic10_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int ic10_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
char buf[6], ackbuf[16]; char buf[6], ackbuf[16];
int len, ack_len, retval; int len, ack_len, retval;
@ -445,7 +445,7 @@ int ic10_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
* ic10_get_ant * ic10_get_ant
* Assumes rig!=NULL, ptt!=NULL * Assumes rig!=NULL, ptt!=NULL
*/ */
int ic10_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int ic10_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
char infobuf[50]; char infobuf[50];
int info_len, retval; int info_len, retval;

Wyświetl plik

@ -32,8 +32,8 @@ int ic10_set_split_vfo(RIG *rig, vfo_t vfo , split_t split, vfo_t txvfo);
int ic10_get_split_vfo(RIG *rig, vfo_t vfo , split_t *split, vfo_t *txvfo); int ic10_get_split_vfo(RIG *rig, vfo_t vfo , split_t *split, vfo_t *txvfo);
int ic10_get_freq(RIG *rig, vfo_t vfo, freq_t *freq); int ic10_get_freq(RIG *rig, vfo_t vfo, freq_t *freq);
int ic10_set_freq(RIG *rig, vfo_t vfo, freq_t freq); int ic10_set_freq(RIG *rig, vfo_t vfo, freq_t freq);
int ic10_set_ant(RIG *rig, vfo_t vfo, ant_t ant); int ic10_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
int ic10_get_ant(RIG *rig, vfo_t vfo, ant_t *ant); int ic10_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option);
int ic10_set_func(RIG *rig, vfo_t vfo, setting_t func, int status); int ic10_set_func(RIG *rig, vfo_t vfo, setting_t func, int status);
int ic10_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status); int ic10_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status);
int ic10_set_parm(RIG *rig, setting_t parm, value_t val); int ic10_set_parm(RIG *rig, setting_t parm, value_t val);

Wyświetl plik

@ -3005,7 +3005,7 @@ int kenwood_get_ctcss_sql(RIG *rig, vfo_t vfo, tone_t *tone)
/* /*
* set the aerial/antenna to use * set the aerial/antenna to use
*/ */
int kenwood_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int kenwood_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
char cmd[8]; char cmd[8];
char a; char a;
@ -3061,7 +3061,7 @@ int kenwood_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
return kenwood_transaction(rig, cmd, NULL, 0); return kenwood_transaction(rig, cmd, NULL, 0);
} }
int kenwood_set_ant_no_ack(RIG *rig, vfo_t vfo, ant_t ant) int kenwood_set_ant_no_ack(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
const char *cmd; const char *cmd;
@ -3095,7 +3095,7 @@ int kenwood_set_ant_no_ack(RIG *rig, vfo_t vfo, ant_t ant)
/* /*
* get the aerial/antenna in use * get the aerial/antenna in use
*/ */
int kenwood_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int kenwood_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
char ackbuf[8]; char ackbuf[8];
int offs; int offs;

Wyświetl plik

@ -157,9 +157,9 @@ int kenwood_set_powerstat(RIG *rig, powerstat_t status);
int kenwood_get_powerstat(RIG *rig, powerstat_t *status); int kenwood_get_powerstat(RIG *rig, powerstat_t *status);
int kenwood_reset(RIG *rig, reset_t reset); int kenwood_reset(RIG *rig, reset_t reset);
int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg); int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg);
int kenwood_set_ant(RIG *rig, vfo_t vfo, ant_t ant); int kenwood_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
int kenwood_set_ant_no_ack(RIG *rig, vfo_t vfo, ant_t ant); int kenwood_set_ant_no_ack(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
int kenwood_get_ant(RIG *rig, vfo_t vfo, ant_t *ant); int kenwood_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option);
int kenwood_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt); int kenwood_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt);
int kenwood_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt); int kenwood_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt);
int kenwood_set_ptt_safe(RIG *rig, vfo_t vfo, ptt_t ptt); int kenwood_set_ptt_safe(RIG *rig, vfo_t vfo, ptt_t ptt);

Wyświetl plik

@ -2521,7 +2521,7 @@ int th_set_channel(RIG *rig, const channel_t *chan)
/* /*
* set the aerial/antenna to use * set the aerial/antenna to use
*/ */
int th_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int th_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
const char *cmd; const char *cmd;
@ -2552,7 +2552,7 @@ int th_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
/* /*
* get the aerial/antenna in use * get the aerial/antenna in use
*/ */
int th_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int th_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
char buf[8]; char buf[8];
int retval; int retval;

Wyświetl plik

@ -62,8 +62,8 @@ extern int th_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op);
extern int th_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd); extern int th_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd);
extern int th_get_channel(RIG *rig, channel_t *chan); extern int th_get_channel(RIG *rig, channel_t *chan);
extern int th_set_channel(RIG *rig, const channel_t *chan); extern int th_set_channel(RIG *rig, const channel_t *chan);
extern int th_set_ant (RIG * rig, vfo_t vfo, ant_t ant); extern int th_set_ant (RIG * rig, vfo_t vfo, ant_t ant, value_t option);
extern int th_get_ant (RIG * rig, vfo_t vfo, ant_t * ant); extern int th_get_ant (RIG * rig, vfo_t vfo, ant_t * ant, value_t *option);
extern int th_reset(RIG *rig, reset_t reset); extern int th_reset(RIG *rig, reset_t reset);
extern int th_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch); extern int th_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch);

Wyświetl plik

@ -53,8 +53,8 @@ static int elektor507_set_level(RIG *rig, vfo_t vfo, setting_t level,
value_t val); value_t val);
static int elektor507_get_level(RIG *rig, vfo_t vfo, setting_t level, static int elektor507_get_level(RIG *rig, vfo_t vfo, setting_t level,
value_t *val); value_t *val);
static int elektor507_set_ant(RIG *rig, vfo_t vfo, ant_t ant); static int elektor507_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
static int elektor507_get_ant(RIG *rig, vfo_t vfo, ant_t *ant); static int elektor507_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option);
static int elektor507_set_conf(RIG *rig, token_t token, const char *val); static int elektor507_set_conf(RIG *rig, token_t token, const char *val);
static int elektor507_get_conf(RIG *rig, token_t token, char *val); static int elektor507_get_conf(RIG *rig, token_t token, char *val);
@ -1147,7 +1147,7 @@ int elektor507_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
} }
int elektor507_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int elektor507_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
struct elektor507_priv_data *priv = (struct elektor507_priv_data *) struct elektor507_priv_data *priv = (struct elektor507_priv_data *)
rig->state.priv; rig->state.priv;
@ -1191,7 +1191,7 @@ int elektor507_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
return (ret != 0) ? -RIG_EIO : RIG_OK; return (ret != 0) ? -RIG_EIO : RIG_OK;
} }
int elektor507_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int elektor507_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
struct elektor507_priv_data *priv = (struct elektor507_priv_data *) struct elektor507_priv_data *priv = (struct elektor507_priv_data *)
rig->state.priv; rig->state.priv;

Wyświetl plik

@ -66,7 +66,7 @@ static int hiqsdr_set_split_vfo(RIG *rig, vfo_t vfo, split_t split,
static int hiqsdr_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq); static int hiqsdr_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq);
static int hiqsdr_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width); static int hiqsdr_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
static int hiqsdr_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt); static int hiqsdr_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt);
static int hiqsdr_set_ant(RIG *rig, vfo_t vfo, ant_t ant); static int hiqsdr_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
static int hiqsdr_set_conf(RIG *rig, token_t token, const char *val); static int hiqsdr_set_conf(RIG *rig, token_t token, const char *val);
static int hiqsdr_get_conf(RIG *rig, token_t token, char *val); static int hiqsdr_get_conf(RIG *rig, token_t token, char *val);
@ -502,7 +502,7 @@ int hiqsdr_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
return ret; return ret;
} }
int hiqsdr_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int hiqsdr_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
struct hiqsdr_priv_data *priv = (struct hiqsdr_priv_data *)rig->state.priv; struct hiqsdr_priv_data *priv = (struct hiqsdr_priv_data *)rig->state.priv;
int ret = RIG_OK; int ret = RIG_OK;
@ -525,8 +525,6 @@ int hiqsdr_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
} }
/*
*/
int hiqsdr_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) int hiqsdr_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
{ {
struct hiqsdr_priv_data *priv = (struct hiqsdr_priv_data *)rig->state.priv; struct hiqsdr_priv_data *priv = (struct hiqsdr_priv_data *)rig->state.priv;

Wyświetl plik

@ -726,7 +726,7 @@ const char *ra37xx_get_info(RIG *rig)
return infobuf + 2; return infobuf + 2;
} }
int ra37xx_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int ra37xx_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
char buf[BUFSZ]; char buf[BUFSZ];
int i_ant; int i_ant;
@ -751,7 +751,7 @@ int ra37xx_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
return ra37xx_transaction(rig, buf, NULL, NULL); return ra37xx_transaction(rig, buf, NULL, NULL);
} }
int ra37xx_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int ra37xx_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
char buf[BUFSZ]; char buf[BUFSZ];
int retval, buflen, ra_ant; int retval, buflen, ra_ant;

Wyświetl plik

@ -76,8 +76,8 @@ int ra37xx_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status);
int ra37xx_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val); int ra37xx_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val);
int ra37xx_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val); int ra37xx_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
const char* ra37xx_get_info(RIG *rig); const char* ra37xx_get_info(RIG *rig);
int ra37xx_set_ant(RIG *rig, vfo_t vfo, ant_t ant); int ra37xx_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
int ra37xx_get_ant(RIG *rig, vfo_t vfo, ant_t *ant); int ra37xx_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option);
int ra37xx_set_mem(RIG *rig, vfo_t vfo, int ch); int ra37xx_set_mem(RIG *rig, vfo_t vfo, int ch);
int ra37xx_get_mem(RIG *rig, vfo_t vfo, int *ch); int ra37xx_get_mem(RIG *rig, vfo_t vfo, int *ch);
int ra37xx_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch); int ra37xx_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch);

Wyświetl plik

@ -2019,7 +2019,7 @@ int tt565_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
* The efficient way would be to keep current config in rig priv area, but we will * The efficient way would be to keep current config in rig priv area, but we will
* ask the rig what its state is each time... * ask the rig what its state is each time...
*/ */
int tt565_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int tt565_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
char respbuf[TT565_BUFSIZE]; char respbuf[TT565_BUFSIZE];
int resp_len, retval; int resp_len, retval;
@ -2116,7 +2116,7 @@ int tt565_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
* *
* \sa tt565_set_ant * \sa tt565_set_ant
*/ */
int tt565_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int tt565_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
char respbuf[TT565_BUFSIZE]; char respbuf[TT565_BUFSIZE];
int resp_len, retval; int resp_len, retval;

Wyświetl plik

@ -77,8 +77,8 @@ static const char* tt565_get_info(RIG *rig);
static int tt565_send_morse(RIG *rig, vfo_t vfo, const char *msg); static int tt565_send_morse(RIG *rig, vfo_t vfo, const char *msg);
static int tt565_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status); static int tt565_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status);
static int tt565_set_func(RIG *rig, vfo_t vfo, setting_t func, int status); static int tt565_set_func(RIG *rig, vfo_t vfo, setting_t func, int status);
static int tt565_set_ant(RIG * rig, vfo_t vfo, ant_t ant); static int tt565_set_ant(RIG * rig, vfo_t vfo, ant_t ant, value_t option);
static int tt565_get_ant(RIG *rig, vfo_t vfo, ant_t *ant); static int tt565_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option);
/** \brief Orion private data */ /** \brief Orion private data */
struct tt565_priv_data { struct tt565_priv_data {

Wyświetl plik

@ -2361,7 +2361,7 @@ int newcat_reset(RIG *rig, reset_t reset)
} }
int newcat_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int newcat_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv; struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv;
int err; int err;
@ -2450,7 +2450,7 @@ int newcat_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
} }
int newcat_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int newcat_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv; struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv;
int err; int err;

Wyświetl plik

@ -145,8 +145,8 @@ int newcat_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
int newcat_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt); int newcat_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt);
int newcat_get_ptt(RIG * rig, vfo_t vfo, ptt_t * ptt); int newcat_get_ptt(RIG * rig, vfo_t vfo, ptt_t * ptt);
int newcat_set_ant(RIG * rig, vfo_t vfo, ant_t ant); int newcat_set_ant(RIG * rig, vfo_t vfo, ant_t ant, value_t option);
int newcat_get_ant(RIG * rig, vfo_t vfo, ant_t * ant); int newcat_get_ant(RIG * rig, vfo_t vfo, ant_t * ant, value_t * option);
int newcat_set_level(RIG * rig, vfo_t vfo, setting_t level, value_t val); int newcat_set_level(RIG * rig, vfo_t vfo, setting_t level, value_t val);
int newcat_get_level(RIG * rig, vfo_t vfo, setting_t level, value_t * val); int newcat_get_level(RIG * rig, vfo_t vfo, setting_t level, value_t * val);
int newcat_set_func(RIG * rig, vfo_t vfo, setting_t func, int status); int newcat_set_func(RIG * rig, vfo_t vfo, setting_t func, int status);

Wyświetl plik

@ -363,6 +363,7 @@ static int generic_save_channel(RIG *rig, channel_t *chan)
vfo_t vfo; vfo_t vfo;
setting_t setting; setting_t setting;
const channel_cap_t *mem_cap = NULL; const channel_cap_t *mem_cap = NULL;
value_t vdummy;
chan_num = chan->channel_num; chan_num = chan->channel_num;
vfo = chan->vfo; vfo = chan->vfo;
@ -446,7 +447,7 @@ static int generic_save_channel(RIG *rig, channel_t *chan)
if (mem_cap->ant) if (mem_cap->ant)
{ {
rig_get_ant(rig, RIG_VFO_CURR, &chan->ant); rig_get_ant(rig, RIG_VFO_CURR, &chan->ant, &vdummy);
} }
if (mem_cap->tuning_step) if (mem_cap->tuning_step)
@ -529,6 +530,7 @@ static int generic_restore_channel(RIG *rig, const channel_t *chan)
struct ext_list *p; struct ext_list *p;
setting_t setting; setting_t setting;
const channel_cap_t *mem_cap = NULL; const channel_cap_t *mem_cap = NULL;
value_t vdummy;
if (chan->vfo == RIG_VFO_MEM) if (chan->vfo == RIG_VFO_MEM)
{ {
@ -596,7 +598,7 @@ static int generic_restore_channel(RIG *rig, const channel_t *chan)
if (mem_cap->ant) if (mem_cap->ant)
{ {
rig_set_ant(rig, RIG_VFO_CURR, chan->ant); rig_set_ant(rig, RIG_VFO_CURR, chan->ant, vdummy);
} }
if (mem_cap->tuning_step) if (mem_cap->tuning_step)

Wyświetl plik

@ -3521,7 +3521,7 @@ int HAMLIB_API rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts)
* *
* \sa rig_get_ant() * \sa rig_get_ant()
*/ */
int HAMLIB_API rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant) int HAMLIB_API rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
{ {
const struct rig_caps *caps; const struct rig_caps *caps;
int retcode, rc2; int retcode, rc2;
@ -3545,7 +3545,7 @@ int HAMLIB_API rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
|| vfo == RIG_VFO_CURR || vfo == RIG_VFO_CURR
|| vfo == rig->state.current_vfo) || vfo == rig->state.current_vfo)
{ {
return caps->set_ant(rig, vfo, ant); return caps->set_ant(rig, vfo, ant, option);
} }
if (!caps->set_vfo) if (!caps->set_vfo)
@ -3561,7 +3561,7 @@ int HAMLIB_API rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
return retcode; return retcode;
} }
retcode = caps->set_ant(rig, vfo, ant); retcode = caps->set_ant(rig, vfo, ant, option);
/* try and revert even if we had an error above */ /* try and revert even if we had an error above */
rc2 = caps->set_vfo(rig, curr_vfo); rc2 = caps->set_vfo(rig, curr_vfo);
@ -3589,7 +3589,7 @@ int HAMLIB_API rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
* *
* \sa rig_set_ant() * \sa rig_set_ant()
*/ */
int HAMLIB_API rig_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) int HAMLIB_API rig_get_ant(RIG *rig, vfo_t vfo, ant_t *ant, value_t *option)
{ {
const struct rig_caps *caps; const struct rig_caps *caps;
int retcode, rc2; int retcode, rc2;
@ -3613,7 +3613,7 @@ int HAMLIB_API rig_get_ant(RIG *rig, vfo_t vfo, ant_t *ant)
|| vfo == RIG_VFO_CURR || vfo == RIG_VFO_CURR
|| vfo == rig->state.current_vfo) || vfo == rig->state.current_vfo)
{ {
return caps->get_ant(rig, vfo, ant); return caps->get_ant(rig, vfo, ant, option);
} }
if (!caps->set_vfo) if (!caps->set_vfo)
@ -3629,7 +3629,7 @@ int HAMLIB_API rig_get_ant(RIG *rig, vfo_t vfo, ant_t *ant)
return retcode; return retcode;
} }
retcode = caps->get_ant(rig, vfo, ant); retcode = caps->get_ant(rig, vfo, ant, option);
/* try and revert even if we had an error above */ /* try and revert even if we had an error above */
rc2 = caps->set_vfo(rig, curr_vfo); rc2 = caps->set_vfo(rig, curr_vfo);

Wyświetl plik

@ -519,7 +519,7 @@ int main(int argc, char *argv[])
if (retcode != RIG_OK) if (retcode != RIG_OK)
{ {
fprintf(stderr, "rig_open: error = %s \n", rigerror(retcode)); fprintf(stderr, "rig_open: error = %s \n", rigerror(retcode));
exit(2); // exit(2);
} }
if (verbose > 0) if (verbose > 0)

Wyświetl plik

@ -286,8 +286,8 @@ static struct test_table test_list[] =
{ 'j', "get_rit", ACTION(get_rit), ARG_OUT, "RIT" }, { 'j', "get_rit", ACTION(get_rit), ARG_OUT, "RIT" },
{ 'Z', "set_xit", ACTION(set_xit), ARG_IN, "XIT" }, { 'Z', "set_xit", ACTION(set_xit), ARG_IN, "XIT" },
{ 'z', "get_xit", ACTION(get_xit), ARG_OUT, "XIT" }, { 'z', "get_xit", ACTION(get_xit), ARG_OUT, "XIT" },
{ 'Y', "set_ant", ACTION(set_ant), ARG_IN, "Antenna" }, { 'Y', "set_ant", ACTION(set_ant), ARG_IN, "Antenna", "Option" },
{ 'y', "get_ant", ACTION(get_ant), ARG_OUT, "Antenna" }, { 'y', "get_ant", ACTION(get_ant), ARG_OUT, "Antenna", "Option" },
{ 0x87, "set_powerstat", ACTION(set_powerstat), ARG_IN | ARG_NOVFO, "Power Status" }, { 0x87, "set_powerstat", ACTION(set_powerstat), ARG_IN | ARG_NOVFO, "Power Status" },
{ 0x88, "get_powerstat", ACTION(get_powerstat), ARG_OUT | ARG_NOVFO, "Power Status" }, { 0x88, "get_powerstat", ACTION(get_powerstat), ARG_OUT | ARG_NOVFO, "Power Status" },
{ 0x89, "send_dtmf", ACTION(send_dtmf), ARG_IN, "Digits" }, { 0x89, "send_dtmf", ACTION(send_dtmf), ARG_IN, "Digits" },
@ -3936,9 +3936,12 @@ declare_proto_rig(dump_conf)
declare_proto_rig(set_ant) declare_proto_rig(set_ant)
{ {
ant_t ant; ant_t ant;
value_t option; // some rigs have a another option for the antenna
CHKSCN1ARG(sscanf(arg1, "%d", &ant)); CHKSCN1ARG(sscanf(arg1, "%d", &ant));
return rig_set_ant(rig, vfo, rig_idx2setting(ant)); CHKSCN1ARG(sscanf(arg2, "%d", &option.i)); // assuming they are integer values
return rig_set_ant(rig, vfo, rig_idx2setting(ant), option);
} }
@ -3947,8 +3950,9 @@ declare_proto_rig(get_ant)
{ {
int status; int status;
ant_t ant; ant_t ant;
value_t option;
status = rig_get_ant(rig, vfo, &ant); status = rig_get_ant(rig, vfo, &ant, &option);
if (status != RIG_OK) if (status != RIG_OK)
{ {
@ -3962,6 +3966,13 @@ declare_proto_rig(get_ant)
fprintf(fout, "%d%c", rig_setting2idx(ant), resp_sep); fprintf(fout, "%d%c", rig_setting2idx(ant), resp_sep);
if ((interactive && prompt) || (interactive && !prompt && ext_resp))
{
fprintf(fout, "%s: ", cmd->arg2);
}
fprintf(fout, "%d%c", option.i, resp_sep);
return status; return status;
} }