Beispiel #1
0
        public void UpdateExtCtrl(Band band, Band bandb, bool tx)
        {
            if (!tx && (int)band < 12)              // if !tx ignore given band and round off to nearest band based on freq
            {
                band = Alex.AntBandFromFreq();
            }

            if (!tx && (int)bandb < 12)
            {
                bandb = Alex.AntBandFromFreqB();
            }

            int idx  = (int)band - (int)Band.B160M;
            int idxb = (int)bandb - (int)Band.B160M;
            int bits;

            if ((idx < 0 || idx > 26) || (idxb < 0 || idxb > 26))
            {
                bits = 0;
            }
            else
            {
                if (SplitPins)
                {
                    bits = tx ? (TXABitMasks[idx] & RxABitMask) | TXBBitMasks[idxb] : (RXABitMasks[idx] & RxABitMask) | RXBBitMasks[idxb];
                }
                else
                {
                    if (tx && VFOTBX)
                    {
                        bits = TXABitMasks[idxb];
                    }
                    else if (tx)
                    {
                        bits = TXABitMasks[idx];
                    }
                    else
                    {
                        bits = RXABitMasks[idx];
                    }
                }
            }
            System.Console.WriteLine("Bits: " + bits + " Band: " + (int)band + " Band: " + (int)bandb);
            NetworkIO.SetOCBits(bits);
        }