Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
 /// <summary>
 /// 将CAN信号编码成byte[8],使用默认的数值
 /// </summary>
 /// <param name="maskMode"></param>
 /// <returns></returns>
 public byte[] encode(MaskType maskMode)
 {
     return(ByteUtility.UInt64ToByte(encodeLong(maskMode)));
 }
Beispiel #3
0
 /// <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)));
 }