Example #1
0
        /*Set PICC Operating Parameter state
         * Send
         * FF 00 40 [LED&Buzzer(see bellow)] 04 [T1Duration(see bellow)] [T2Duration(see bellow)] [TimesToRepeatCycle(see bellow)] [BuzzerSettings(see bellow)]
         * Returns
         * 90 [Changes and Im not sure what it means (+1 for NoCard?)] for success(90 00)
         * ->LED&Buzzer as                          ->T1Duration as
         * [GreenBlinkingMask(0x80):1=Blink,0=Dont]       [T1Duration:00-FF(as value x 100ms)]
         * [RedBlinkingMask(0x40):1=Blink,0=Dont]         ->T2Duration as
         * [InitialGreenBlinkingState(0x20):1=On,0=Off]   [T2Duration:00-FF(as value x 100ms)]
         * [InitialRedBlinkingState(0x10):1=On,0=Off]     [TimesToRepeatCycle:00-FF]
         * [GreenLEDStateMask(0x08):1=Update,0=Dont]      ->BuzzerSettings as
         * [RedLEDStateMask(0x04):1=Update,0=Dont]        <FirstByteUnused:0s on postions FC>
         * [GreenFinalState(0x02):1=On,0=Off]             [BuzzerOnT1Cycle(0x02):1=On,0=Off]
         * [RedFinalState(0x01):1=On,0=Off]               [BuzzerOnT12Cycle(0x01):1=On,0=Off]
         */
        /// <summary>
        /// Sets the buzzer and LEDs to work in a T1 and T2 cycle like in a alarm
        /// </summary>
        /// <param name="LEDControl"> A enumberated byte as
        /// [GreenBlinkingMask(0x80):1=Blink,0=Dont]
        /// [RedBlinkingMask(0x40):1=Blink,0=Dont]
        /// [InitialGreenBlinkingState(0x20):1=On,0=Off]
        /// [InitialRedBlinkingState(0x10):1=On,0=Off]
        /// [GreenLEDStateMask(0x08):1=Update,0=Dont]
        /// [RedLEDStateMask(0x04):1=Update,0=Dont]
        /// [GreenFinalState(0x02):1=On,0=Off]
        /// [BuzzerOnT1Cycle(0x02):1=On,0=Off]
        /// [RedFinalState(0x01):1=On,0=Off]   </param>
        /// <param name="T1Duration">T1Duration byte(as value x 100ms)</param>
        /// <param name="T2Durration">T2Duration byte(as value x 100ms)</param>
        /// <param name="TimesToRepeat">The Number of times that It sould repeat both cycles</param>
        /// <param name="BuzzerControl"></param> A enumberated byte as
        /// [BuzzerOnT1Cycle(0x02):1=On,0=Off]
        /// [RedFinalState(0x01):1=On,0=Off]
        /// [BuzzerOnT12Cycle(0x01):1=On,0=Off]
        /// <param name="DataOut">Some strange data that to this day I'm not sure of is incons only consi is the card comes on and of is +1</param>
        /// <returns></returns>
        public ACR122U_ResposeErrorCodes SetLEDandBuzzerControl(ACR122U_LEDControl LEDControl, byte T1Duration, byte T2Durration, byte TimesToRepeat, ACR122U_BuzzerControl BuzzerControl, out byte DataOut)
        {
            if (!Enum.IsDefined(typeof(ACR122U_BuzzerControl), BuzzerControl))
            {
                throw new Exception("Your BuzzerControl selection was not valid.");
            }

            byte[] Data;

            byte[] CommandAsBytes = new byte[8] {
                0xFF, 0x00, 0x40, (byte)LEDControl, 0x04, T1Duration, T1Duration, (byte)BuzzerControl
            };

            TransmitData(CommandAsBytes, out Data);

            LastACRResultCode = RetrieveDataCodes(ref Data, out DataOut);
            return(LastACRResultCode);
        }
Example #2
0
        /// <summary>
        /// Sets the buzzer and LEDs to work in a T1 and T2 cycle like in a alarm with out need for card
        /// </summary>
        /// <param name="LEDControl"> A enumberated byte as
        /// [GreenBlinkingMask(0x80):1=Blink,0=Dont]
        /// [RedBlinkingMask(0x40):1=Blink,0=Dont]
        /// [InitialGreenBlinkingState(0x20):1=On,0=Off]
        /// [InitialRedBlinkingState(0x10):1=On,0=Off]
        /// [GreenLEDStateMask(0x08):1=Update,0=Dont]
        /// [RedLEDStateMask(0x04):1=Update,0=Dont]
        /// [GreenFinalState(0x02):1=On,0=Off]
        /// [BuzzerOnT1Cycle(0x02):1=On,0=Off]
        /// [RedFinalState(0x01):1=On,0=Off]   </param>
        /// <param name="T1Duration">T1Duration byte(as value x 100ms)</param>
        /// <param name="T2Durration">T2Duration byte(as value x 100ms)</param>
        /// <param name="TimesToRepeat">The Number of times that It sould repeat both cycles</param>
        /// <param name="BuzzerControl"></param> A enumberated byte as
        /// [BuzzerOnT1Cycle(0x02):1=On,0=Off]
        /// [RedFinalState(0x01):1=On,0=Off]
        /// [BuzzerOnT12Cycle(0x01):1=On,0=Off]
        /// <param name="DataOut">Some strange data that to this day I'm not sure of is incons only consi is the card comes on and of is +1</param>
        /// <returns></returns>
        public static ACR122U_ResposeErrorCodes SetLEDandBuzzerControlStatic(WinSmartCardContext Context, ACR122U_LEDControl LEDControl, byte T1Duration, byte T2Durration, byte TimesToRepeat, ACR122U_BuzzerControl BuzzerControl, out byte DataOut)
        {
            if (!Enum.IsDefined(typeof(ACR122U_BuzzerControl), BuzzerControl))
            {
                throw new Exception("Your BuzzerControl selection was not valid.");
            }

            bool HasCard;

            byte[] Data;

            byte[] CommandAsBytes = new byte[8] {
                0xFF, 0x00, 0x40, (byte)LEDControl, 0x04, T1Duration, T1Duration, (byte)BuzzerControl
            };

            Context.Control(CommandAsBytes, out Data, out HasCard);

            return(RetrieveDataCodes(ref Data, out DataOut));
        }