Hamlib/src/band_changed.c.example

56 wiersze
1.7 KiB
Plaintext

2024-05-23 12:18:09 +00:00
// This is an example of what can be included in rig.c
2024-01-27 13:31:01 +00:00
// Can customize during build
2024-05-23 12:18:09 +00:00
// This will turn on the tuner for 160,80,60,17,2 and turn it off for all other bands
2024-01-27 13:31:01 +00:00
// Eventually should improved this for external actions when
// rigctld gets integrated as a service within Hamlib
2024-05-23 12:18:09 +00:00
int rig_band_changed(RIG *rig, hamlib_bandselect_t band)
2024-01-27 13:31:01 +00:00
{
// See band_changed.c
// 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_160M:
case RIG_BANDSELECT_80M:
case RIG_BANDSELECT_60M:
2024-05-23 12:18:09 +00:00
case RIG_BANDSELECT_17M:
case RIG_BANDSELECT_12M:
rig_set_func(rig, RIG_VFO_CURR, RIG_FUNC_TUNER, 1);
2024-01-27 13:31:01 +00:00
break;
2024-05-23 12:18:09 +00:00
case RIG_BANDSELECT_2200M:
case RIG_BANDSELECT_600M:
2024-01-27 13:31:01 +00:00
case RIG_BANDSELECT_40M:
case RIG_BANDSELECT_30M:
case RIG_BANDSELECT_20M:
case RIG_BANDSELECT_15M:
case RIG_BANDSELECT_10M:
case RIG_BANDSELECT_6M:
2024-05-23 12:18:09 +00:00
rig_set_func(rig, RIG_VFO_CURR, RIG_FUNC_TUNER, 0);
break;
// do nothing on the higher bands as the tuner is automatically turned off anyways
2024-01-27 13:31:01 +00:00
case RIG_BANDSELECT_WFM:
case RIG_BANDSELECT_MW:
case RIG_BANDSELECT_AIR:
case RIG_BANDSELECT_2M:
case RIG_BANDSELECT_1_25M:
case RIG_BANDSELECT_70CM:
case RIG_BANDSELECT_33CM:
case RIG_BANDSELECT_23CM:
case RIG_BANDSELECT_13CM:
case RIG_BANDSELECT_9CM:
case RIG_BANDSELECT_5CM:
case RIG_BANDSELECT_3CM:
case RIG_BANDSELECT_GEN:
break;
default:
rig_debug(RIG_DEBUG_ERR, "%s: Unknown band=%d\n", __func__, band);
}
return RIG_OK;
}