public bool PA_ATUTune(ATUTuneMode mode)
        {
            rfe_ic11.ClearBit(ATU_CTL);

            int delay = 0;

            switch (mode)
            {
            case ATUTuneMode.BYPASS:
                delay = 250;
                break;

            case ATUTuneMode.MEMORY:
                delay = 2000;
                break;

            case ATUTuneMode.FULL:
                delay = 3250;
                break;
            }

            Thread.Sleep(delay);
            rfe_ic11.SetBit(ATU_CTL);

            int count = 0;

            if (mode == ATUTuneMode.MEMORY ||
                mode == ATUTuneMode.FULL)
            {
                while ((StatusPort() & (byte)StatusPin.PA_DATA) != 0)                   // wait for low output from ATU
                {
                    Thread.Sleep(50);
                    if (count++ > 240)                          // 12 seconds
                    {
                        return(false);
                    }
                }
                count = 0;
                while ((StatusPort() & (byte)StatusPin.PA_DATA) == 0)                   // wait for high output from ATU
                {
                    Thread.Sleep(50);
                    if (count++ > 240)                          // 12 seconds
                    {
                        return(false);
                    }
                }
                Thread.Sleep(250);
            }
            return(true);
        }
 public void Impulse()
 {
     rfe_ic7.SetBit(IMPR);
     rfe_ic7.ClearBit(IMPR);
 }