コード例 #1
0
        public override MicrowaveReceiver.OperatingBand GetBand()
        {
            byte[]        toSend         = BuildCommand(CHECKBAND);
            bool          successfulSend = false;
            OperatingBand band           = OperatingBand.NotSet;

            byte[] result = BlockingSend(toSend, out successfulSend, EndCodeTerm);
            if (successfulSend && result[0] == STARTCODE && result[result.Length - 1] == ENDCODE && result[1] == (byte)'Q')
            {
                switch (result[2])
                {
                case (byte)'L': band = OperatingBand.L; break;

                case (byte)'S': band = OperatingBand.S; break;

                case (byte)'C': band = OperatingBand.C; break;

                case (byte)'X': band = OperatingBand.X; break;

                default: band = OperatingBand.NotSet; break;
                }
                if (band != OperatingBand.NotSet)
                {
                    Connected = true;
                }
            }
            else
            {
                Connected = false;
                PrintDebug("GetBand failed");
            }
            currentBand = band;
            return(band);
        }
コード例 #2
0
        private bool SetBandForFreq(int freq)
        {
            OperatingBand needed = OperatingBand.NotSet;

            if (freq < 2000)
            {
                needed = OperatingBand.L;
            }
            else if (freq < 3000)
            {
                needed = OperatingBand.S;
            }
            else if (freq < 6000)
            {
                needed = OperatingBand.C;
            }
            else
            {
                needed = OperatingBand.X;
            }
            if (currentBand != needed)
            {
                return(SetBand(needed));
            }
            return(true);
        }
コード例 #3
0
        public override bool TestConnection()
        {
            bool conn = false;

            byte[] toSend         = BuildCommand(REMOTEMODE);
            bool   successFulSend = false;

            byte[] result = BlockingSend(toSend, out successFulSend, ValidInvalidTerms);
            if (successFulSend && result[0] == VALID)
            {
                currentBand = GetBand();
                conn        = true;
            }
            else
            {
                conn = false;
            }
            PrintDebug("Test Connection " + (conn ? "success" : "failed"));
            Connected = conn;
            return(conn);
        }