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); }
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); }