kopia lustrzana https://github.com/Hamlib/Hamlib
Add rig_band_changed function for customization of rig actions on each band
This takes user action to customize during build right now.pull/1476/head
rodzic
e610d3b691
commit
2709fb8ab9
112
src/rig.c
112
src/rig.c
|
@ -1932,6 +1932,104 @@ static int twiddling(RIG *rig)
|
||||||
RETURNFUNC2(0);
|
RETURNFUNC2(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Can customize during build
|
||||||
|
// Eventually should improved this for external actions when
|
||||||
|
// rigctld gets integrated as a service within Hamlib
|
||||||
|
static int rig_band_changed(RIG *rig, hamlib_bandselect_t band)
|
||||||
|
{
|
||||||
|
// Examples:
|
||||||
|
// rig_set_func(rig, RIG_VFO_CURR, RIG_FUNC_TUNER, 1);
|
||||||
|
// rig_set_func(rig, RIG_VFO_CURR, RIG_FUNC_TUNER, 0);
|
||||||
|
// value_t v;
|
||||||
|
// rig_set_ant(rig, RIG_VFO_CURR, 1, v);
|
||||||
|
switch (band)
|
||||||
|
{
|
||||||
|
case RIG_BANDSELECT_2200M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_600M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_160M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_80M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_60M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_40M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_30M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_20M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_17M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_15M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_12M:
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_10M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_6M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_WFM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_MW:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_AIR:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_2M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_1_25M:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_70CM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_33CM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_23CM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_13CM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_9CM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_5CM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_3CM:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RIG_BANDSELECT_GEN:
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s: Unknown band=%d\n", __func__, band);
|
||||||
|
}
|
||||||
|
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief set the frequency of the target VFO
|
* \brief set the frequency of the target VFO
|
||||||
* \param rig The rig handle
|
* \param rig The rig handle
|
||||||
|
@ -1958,6 +2056,8 @@ int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||||
int retcode;
|
int retcode;
|
||||||
freq_t freq_new = freq;
|
freq_t freq_new = freq;
|
||||||
vfo_t vfo_save;
|
vfo_t vfo_save;
|
||||||
|
static int last_band = -1;
|
||||||
|
int curr_band;
|
||||||
|
|
||||||
if (CHECK_RIG_ARG(rig))
|
if (CHECK_RIG_ARG(rig))
|
||||||
{
|
{
|
||||||
|
@ -1965,9 +2065,21 @@ int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||||
return -RIG_EINVAL;
|
return -RIG_EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
curr_band = rig_get_band(rig, freq, -1);
|
||||||
|
|
||||||
|
if (curr_band != last_band)
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s: band changing to %s\n", __func__,
|
||||||
|
rig_get_band_str(rig, curr_band, 0));
|
||||||
|
rig_band_changed(rig, curr_band);
|
||||||
|
last_band = curr_band;
|
||||||
|
}
|
||||||
|
|
||||||
ELAPSED1;
|
ELAPSED1;
|
||||||
ENTERFUNC;
|
ENTERFUNC;
|
||||||
LOCK(1);
|
LOCK(1);
|
||||||
|
|
||||||
|
|
||||||
#if BUILTINFUNC
|
#if BUILTINFUNC
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s, freq=%.0f, called from %s\n",
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s, freq=%.0f, called from %s\n",
|
||||||
__func__,
|
__func__,
|
||||||
|
|
Ładowanie…
Reference in New Issue