kopia lustrzana https://github.com/Hamlib/Hamlib
Handle '?' response for MR and MC commands for an invalid channel - part 2
rodzic
956be046e7
commit
ec60ffface
|
@ -5062,7 +5062,7 @@ int newcat_get_channel(RIG *rig, channel_t *chan, int read_only)
|
||||||
|
|
||||||
|
|
||||||
/* Get Memory Channel */
|
/* Get Memory Channel */
|
||||||
if (RIG_OK != (err = newcat_get_cmd(rig)))
|
if (RIG_OK != (err = newcat_get_cmd_ext(rig, 1)))
|
||||||
{
|
{
|
||||||
if (-RIG_ERJCTED == err)
|
if (-RIG_ERJCTED == err)
|
||||||
{
|
{
|
||||||
|
@ -7009,7 +7009,7 @@ int newcat_vfomem_toggle(RIG *rig)
|
||||||
* "?;" busy please wait response; the command is not resent but up to
|
* "?;" busy please wait response; the command is not resent but up to
|
||||||
* 'retry' retries to receive a valid response are made.
|
* 'retry' retries to receive a valid response are made.
|
||||||
*/
|
*/
|
||||||
int newcat_get_cmd(RIG *rig)
|
int newcat_get_cmd_ext(RIG *rig, int question_mark_response_means_rejected)
|
||||||
{
|
{
|
||||||
struct rig_state *state = &rig->state;
|
struct rig_state *state = &rig->state;
|
||||||
struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv;
|
struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv;
|
||||||
|
@ -7169,6 +7169,13 @@ int newcat_get_cmd(RIG *rig)
|
||||||
break; /* retry */
|
break; /* retry */
|
||||||
|
|
||||||
case '?':
|
case '?':
|
||||||
|
if (question_mark_response_means_rejected)
|
||||||
|
{
|
||||||
|
/* Some commands, like MR and MC return "?;" when choosing a channel that doesn't exist */
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s: Command rejected: '%s'\n", __func__, priv->cmd_str);
|
||||||
|
return -RIG_ERJCTED;
|
||||||
|
}
|
||||||
|
|
||||||
/* Rig busy wait please */
|
/* Rig busy wait please */
|
||||||
rig_debug(RIG_DEBUG_ERR, "%s: Rig busy\n", __func__);
|
rig_debug(RIG_DEBUG_ERR, "%s: Rig busy\n", __func__);
|
||||||
rc = -RIG_BUSBUSY;
|
rc = -RIG_BUSBUSY;
|
||||||
|
@ -7203,6 +7210,11 @@ int newcat_get_cmd(RIG *rig)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int newcat_get_cmd(RIG *rig)
|
||||||
|
{
|
||||||
|
return newcat_get_cmd_ext(rig, 0);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Writes a null terminated command string from priv->cmd_str to the
|
* Writes a null terminated command string from priv->cmd_str to the
|
||||||
* CAT port that is not expected to have a response.
|
* CAT port that is not expected to have a response.
|
||||||
|
|
|
@ -132,6 +132,7 @@ struct newcat_priv_data
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int newcat_get_cmd(RIG *rig);
|
int newcat_get_cmd(RIG *rig);
|
||||||
|
int newcat_get_cmd_ext(RIG *rig, int question_mark_response_means_rejected);
|
||||||
int newcat_set_cmd(RIG *rig);
|
int newcat_set_cmd(RIG *rig);
|
||||||
int newcat_set_cmd_ext(RIG *rig, int question_mark_response_means_rejected);
|
int newcat_set_cmd_ext(RIG *rig, int question_mark_response_means_rejected);
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue