/// <summary> /// Contribute the CAN Message /// </summary> /// <param name="MessageMaskType">Mask 0 or 1</param> /// <returns></returns> public byte[] BuildMessage(MaskType MessageMaskType) { ulong CANLongData = 0; if (MessageMaskType == MaskType.Mask0) { foreach (CANSignal singal in SignalList) { CANLongData |= singal.encodeLong(MaskType.Mask0); } } else { CANLongData = ulong.MaxValue; foreach (CANSignal singal in SignalList) { CANLongData &= singal.encodeLong(MaskType.Mask1); } } return(ByteUtility.UInt64ToByte(CANLongData)); }
/// <summary> /// 将CAN信号编码成byte[8],使用默认的数值 /// </summary> /// <param name="maskMode"></param> /// <returns></returns> public byte[] encode(MaskType maskMode) { return(ByteUtility.UInt64ToByte(encodeLong(maskMode))); }
/// <summary> /// 将CAN信号编码成byte[8],使用输入的数值 /// </summary> /// <param name="value"></param> /// <param name="maskMode"></param> /// <returns></returns> public byte[] encode(ulong value, MaskType maskMode) { return(ByteUtility.UInt64ToByte(encodeLong(value, maskMode))); }