В trx.BandIndex содержится индекс бенда. Можно завести простой массив который будет ставить в соответствие бенду что выдавать на дешифратор.
Code: Select all
void UpdateBandCtrl()
{
const byte BandToBPFIndex[] = {0, 1, 2, 7, 3, 4, 3, 3, 1, 5};
#ifdef BANDCTRL_ENABLE
byte bpf_idx = BandToBPFIndex[trx.BandIndex];
outBandCtrl.Set(BCPN_BAND_0, bpf_idx & 0x1);
outBandCtrl.Set(BCPN_BAND_1, bpf_idx & 0x2);
outBandCtrl.Set(BCPN_BAND_2, bpf_idx & 0x4);
outBandCtrl.Set(BCPN_BAND_3, bpf_idx & 0x8);