kopia lustrzana https://github.com/Hamlib/Hamlib
Move TARGETABLE_PTT logic to the set_ptt routine
https://github.com/Hamlib/Hamlib/issues/762 https://github.com/Hamlib/Hamlib/issues/430pull/788/head
rodzic
6a9432a0c7
commit
3dde32f534
26
src/rig.c
26
src/rig.c
|
@ -1098,17 +1098,6 @@ int HAMLIB_API rig_open(RIG *rig)
|
||||||
// freq_t freq;
|
// freq_t freq;
|
||||||
// if (caps->get_freq) rig_get_freq(rig, RIG_VFO_A, &freq);
|
// if (caps->get_freq) rig_get_freq(rig, RIG_VFO_A, &freq);
|
||||||
// if (caps->get_freq) rig_get_freq(rig, RIG_VFO_B, &freq);
|
// if (caps->get_freq) rig_get_freq(rig, RIG_VFO_B, &freq);
|
||||||
int backend_num = RIG_BACKEND_NUM(rig->caps->rig_model);
|
|
||||||
|
|
||||||
switch (backend_num)
|
|
||||||
{
|
|
||||||
// most rigs have only one PTT VFO so we can set that flag here
|
|
||||||
case RIG_ICOM:
|
|
||||||
case RIG_KENWOOD:
|
|
||||||
case RIG_YAESU:
|
|
||||||
if (rig->caps->targetable_vfo) rig->caps->targetable_vfo |= RIG_TARGETABLE_PTT;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
RETURNFUNC(RIG_OK);
|
RETURNFUNC(RIG_OK);
|
||||||
}
|
}
|
||||||
|
@ -3105,6 +3094,8 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
|
||||||
int rc2, status;
|
int rc2, status;
|
||||||
vfo_t curr_vfo;
|
vfo_t curr_vfo;
|
||||||
int cache_ms;
|
int cache_ms;
|
||||||
|
int targetable_ptt = 0;
|
||||||
|
int backend_num;
|
||||||
|
|
||||||
ENTERFUNC;
|
ENTERFUNC;
|
||||||
|
|
||||||
|
@ -3143,10 +3134,21 @@ int HAMLIB_API rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
|
||||||
*ptt = rs->transmit ? RIG_PTT_ON : RIG_PTT_OFF;
|
*ptt = rs->transmit ? RIG_PTT_ON : RIG_PTT_OFF;
|
||||||
RETURNFUNC(RIG_OK);
|
RETURNFUNC(RIG_OK);
|
||||||
}
|
}
|
||||||
|
backend_num = RIG_BACKEND_NUM(rig->caps->rig_model);
|
||||||
|
|
||||||
|
switch (backend_num)
|
||||||
|
{
|
||||||
|
// most rigs have only one PTT VFO so we can set that flag here
|
||||||
|
case RIG_ICOM:
|
||||||
|
case RIG_KENWOOD:
|
||||||
|
case RIG_YAESU:
|
||||||
|
targetable_ptt = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if ((caps->targetable_vfo & RIG_TARGETABLE_PTT)
|
if ((caps->targetable_vfo & RIG_TARGETABLE_PTT)
|
||||||
|| vfo == RIG_VFO_CURR
|
|| vfo == RIG_VFO_CURR
|
||||||
|| vfo == rig->state.current_vfo)
|
|| vfo == rig->state.current_vfo
|
||||||
|
|| targetable_ptt)
|
||||||
{
|
{
|
||||||
TRACE;
|
TRACE;
|
||||||
retcode = caps->get_ptt(rig, vfo, ptt);
|
retcode = caps->get_ptt(rig, vfo, ptt);
|
||||||
|
|
Ładowanie…
Reference in New Issue