kopia lustrzana https://github.com/Hamlib/Hamlib
Disable icom_get_vfo as user twiddling VFO knob does not work while polling
current_vfo is still determined at startup https://github.com/Hamlib/Hamlib/issues/806pull/816/head
rodzic
dd1376becf
commit
a2b3a8d67e
|
@ -967,10 +967,6 @@ icom_rig_open(RIG *rig)
|
||||||
rig_debug(RIG_DEBUG_ERR, "%s: Unable to determine USB echo status\n", __func__);
|
rig_debug(RIG_DEBUG_ERR, "%s: Unable to determine USB echo status\n", __func__);
|
||||||
RETURNFUNC(retval);
|
RETURNFUNC(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine active vfo again since it would have failed the 1st time
|
|
||||||
rig->state.current_vfo = icom_current_vfo(rig);
|
|
||||||
icom_current_vfo(rig);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rig->state.current_vfo = icom_current_vfo(rig);
|
rig->state.current_vfo = icom_current_vfo(rig);
|
||||||
|
@ -1736,8 +1732,13 @@ int icom_set_xit_new(RIG *rig, vfo_t vfo, shortfreq_t ts)
|
||||||
|
|
||||||
Has been tested for IC-746pro, Should work on the all dsp rigs ie pro models.
|
Has been tested for IC-746pro, Should work on the all dsp rigs ie pro models.
|
||||||
The 746 documentation says it has the get_if_filter, but doesn't give any decoding information ? Please test.
|
The 746 documentation says it has the get_if_filter, but doesn't give any decoding information ? Please test.
|
||||||
|
|
||||||
|
DSP filter setting ($1A$03), but not supported by every rig,
|
||||||
|
and some models like IC910/Omni VI Plus have a different meaning for
|
||||||
|
this subcommand
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
pbwidth_t icom_get_dsp_flt(RIG *rig, rmode_t mode)
|
pbwidth_t icom_get_dsp_flt(RIG *rig, rmode_t mode)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1751,6 +1752,9 @@ pbwidth_t icom_get_dsp_flt(RIG *rig, rmode_t mode)
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called, mode=%s\n", __func__,
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called, mode=%s\n", __func__,
|
||||||
rig_strrmode(mode));
|
rig_strrmode(mode));
|
||||||
|
|
||||||
|
// only these models that we know of -- keep set_dsp_flt in sync
|
||||||
|
if ((rig->caps->rig_model & (RIG_MODEL_IC7000 | RIG_MODEL_IC7800 | RIG_MODEL_IC7300 || RIG_MODEL_IC9700 || RIG_MODEL_IC7610)) == 0) RETURNFUNC(RIG_OK);
|
||||||
|
|
||||||
if (rig_has_get_func(rig, RIG_FUNC_RF)
|
if (rig_has_get_func(rig, RIG_FUNC_RF)
|
||||||
&& (mode & (RIG_MODE_RTTY | RIG_MODE_RTTYR)))
|
&& (mode & (RIG_MODE_RTTY | RIG_MODE_RTTYR)))
|
||||||
{
|
{
|
||||||
|
@ -1831,6 +1835,9 @@ int icom_set_dsp_flt(RIG *rig, rmode_t mode, pbwidth_t width)
|
||||||
|
|
||||||
ENTERFUNC;
|
ENTERFUNC;
|
||||||
|
|
||||||
|
// only these models that we know of -- keep get_dsp in sync here
|
||||||
|
if ((rig->caps->rig_model & (RIG_MODEL_IC7000 | RIG_MODEL_IC7800 | RIG_MODEL_IC7300 || RIG_MODEL_IC9700 || RIG_MODEL_IC7610)) == 0) RETURNFUNC(RIG_OK);
|
||||||
|
|
||||||
if (RIG_PASSBAND_NOCHANGE == width)
|
if (RIG_PASSBAND_NOCHANGE == width)
|
||||||
{
|
{
|
||||||
RETURNFUNC(RIG_OK);
|
RETURNFUNC(RIG_OK);
|
||||||
|
@ -2238,14 +2245,7 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
||||||
RETURNFUNC(-RIG_ERJCTED);
|
RETURNFUNC(-RIG_ERJCTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* DSP filter setting ($1A$03), but not supported by every rig,
|
|
||||||
* and some models like IC910/Omni VI Plus have a different meaning for
|
|
||||||
* this subcommand
|
|
||||||
*/
|
|
||||||
if (rig->caps->rig_model == RIG_MODEL_IC7000)
|
|
||||||
{
|
|
||||||
icom_set_dsp_flt(rig, mode, width);
|
icom_set_dsp_flt(rig, mode, width);
|
||||||
}
|
|
||||||
|
|
||||||
RETURNFUNC(RIG_OK);
|
RETURNFUNC(RIG_OK);
|
||||||
}
|
}
|
||||||
|
@ -2552,6 +2552,9 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
||||||
RETURNFUNC(RIG_OK);
|
RETURNFUNC(RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// this seems to work but not for cqrlog and user twiddling VFO knob.
|
||||||
|
// may be able to use twiddle but will disable for now
|
||||||
/*
|
/*
|
||||||
* icom_get_vfo
|
* icom_get_vfo
|
||||||
* Assumes rig!=NULL, rig->state.priv!=NULL
|
* Assumes rig!=NULL, rig->state.priv!=NULL
|
||||||
|
@ -2564,6 +2567,7 @@ int icom_get_vfo(RIG *rig, vfo_t *vfo)
|
||||||
|
|
||||||
RETURNFUNC(RIG_OK);
|
RETURNFUNC(RIG_OK);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* icom_set_vfo
|
* icom_set_vfo
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BACKEND_VER "20210928"
|
#define BACKEND_VER "20210929"
|
||||||
|
|
||||||
#define ICOM_IS_SECONDARY_VFO(vfo) ((vfo) & (RIG_VFO_B | RIG_VFO_SUB | RIG_VFO_SUB_B | RIG_VFO_MAIN_B))
|
#define ICOM_IS_SECONDARY_VFO(vfo) ((vfo) & (RIG_VFO_B | RIG_VFO_SUB | RIG_VFO_SUB_B | RIG_VFO_MAIN_B))
|
||||||
#define ICOM_GET_VFO_NUMBER(vfo) (ICOM_IS_SECONDARY_VFO(vfo) ? 0x01 : 0x00)
|
#define ICOM_GET_VFO_NUMBER(vfo) (ICOM_IS_SECONDARY_VFO(vfo) ? 0x01 : 0x00)
|
||||||
|
@ -308,7 +308,11 @@ int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
|
||||||
int icom_get_mode_with_data(RIG *rig, vfo_t vfo, rmode_t *mode,
|
int icom_get_mode_with_data(RIG *rig, vfo_t vfo, rmode_t *mode,
|
||||||
pbwidth_t *width);
|
pbwidth_t *width);
|
||||||
int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
|
int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
|
||||||
|
#if 0 // see icom_get_vfo in icom.c
|
||||||
int icom_get_vfo(RIG *rig, vfo_t *vfo);
|
int icom_get_vfo(RIG *rig, vfo_t *vfo);
|
||||||
|
#else
|
||||||
|
#define icom_get_vfo NULL
|
||||||
|
#endif
|
||||||
int icom_set_vfo(RIG *rig, vfo_t vfo);
|
int icom_set_vfo(RIG *rig, vfo_t vfo);
|
||||||
int icom_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift);
|
int icom_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift);
|
||||||
int icom_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift);
|
int icom_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift);
|
||||||
|
|
Ładowanie…
Reference in New Issue