Ejemplo n.º 1
0
        public static FunctionByteParameter DistanceFunctionByte(int functionbyte)
        {
            FunctionByteParameter parameter = new FunctionByteParameter();

            parameter.Loss        = BinaryHelper.GetIntegerSomeBit(functionbyte, 7);
            parameter.Synchronous = BinaryHelper.GetIntegerSomeBit(functionbyte, 6);
            int registrationtype = BinaryHelper.GetIntegerSomeBit(functionbyte, 5);

            if (registrationtype == 0)
            {
                parameter.RegistrationType = BinaryHelper.GetIntegerSomeBit(functionbyte, 1) == 1 ? CardType.LPRCard : CardType.CombinationCard;
            }
            else
            {
                parameter.RegistrationType = CardType.SingleCard;
            }
            parameter.ParkingRestrictions = BinaryHelper.GetIntegerSomeBit(functionbyte, 4);
            parameter.ViceCardCount       = BinaryHelper.GetBitToInt(functionbyte, 2, 2);
            parameter.InOutState          = BinaryHelper.GetIntegerSomeBit(functionbyte, 0);
            return(parameter);
        }
Ejemplo n.º 2
0
        public static DistanceTypeParameter DistanceType(int type)
        {
            DistanceTypeParameter parameter = new DistanceTypeParameter();

            parameter.Battry = BinaryHelper.GetIntegerSomeBit(type, 3);
            int cardtype = BinaryHelper.GetBitToInt(type, 0, 3);

            if (cardtype == 0)
            {
                cardtype           = BinaryHelper.GetBitToInt(type, 4, 4);
                parameter.CardType = (CardTypes)(cardtype += 1);
            }
            else
            {
                if (cardtype == 1 || cardtype == 5)
                {
                    parameter.CardType = (CardTypes)0;
                }
                else if (cardtype == 2)
                {
                    parameter.CardType = (CardTypes)1;
                }
                else if (cardtype == 3 || cardtype == 7)
                {
                    parameter.CardType = (CardTypes)3;
                }
            }
            parameter.Lock     = BinaryHelper.GetIntegerSomeBit(type, 7);
            parameter.Distance = BinaryHelper.GetIntegerSomeBit(type, 6);
            if (parameter.Distance == 1)
            {
                parameter.Distance = BinaryHelper.GetBitToInt(type, 4, 2);
                //parameter.Distance += 1;
            }
            else
            {
                parameter.Distance = 4;
            }
            return(parameter);
        }