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);
|
||||
}
|
||||
|
||||
// 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
|
||||
* \param rig The rig handle
|
||||
|
@ -1958,6 +2056,8 @@ int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
int retcode;
|
||||
freq_t freq_new = freq;
|
||||
vfo_t vfo_save;
|
||||
static int last_band = -1;
|
||||
int curr_band;
|
||||
|
||||
if (CHECK_RIG_ARG(rig))
|
||||
{
|
||||
|
@ -1965,9 +2065,21 @@ int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
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;
|
||||
ENTERFUNC;
|
||||
LOCK(1);
|
||||
|
||||
|
||||
#if BUILTINFUNC
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called vfo=%s, freq=%.0f, called from %s\n",
|
||||
__func__,
|
||||
|
|
Ładowanie…
Reference in New Issue