コード例 #1
0
 public CanFrame(CanId id, byte[] data, int dataOffset, int dataLength)
 {
     Id         = id;
     Data       = data;
     DataOffset = dataOffset;
     DataLength = dataLength;
 }
コード例 #2
0
ファイル: CanIdInfo.cs プロジェクト: kolos450/Uavcan.NET
        public CanIdInfo(CanId id)
        {
            var value = id.Value;

            SourceId             = (byte)((value >> 0) & 0x7FU);
            IsServiceNotMessage  = ((value >> 7) & 0x1) == 1;
            IsRequestNotResponse = ((value >> 15) & 0x1) == 1;
            DestinationId        = (byte)((value >> 8) & 0x7FU);
            Priority             = (UavcanPriority)((value >> 24) & 0x1FU);
            MessageType          = (value >> 8) & 0xFFFFU;
            ServiceType          = (value >> 16) & 0xFFU;
        }
コード例 #3
0
        public static void WriteFrame(this CanRaw can, CanFrame frame)
        {
            var canId = new CanId();

            canId.RemoteTransmissionRequest = frame.RemoteRequest;

            if (frame.FrameFormat == FrameFormat.Extended)
            {
                canId.ExtendedFrameFormat = true;
                canId.Extended            = frame.Address;
            }
            else
            {
                canId.ExtendedFrameFormat = false;
                canId.Standard            = frame.Address;
            }
            byte[] data = new byte[frame.DLC];
            Array.Copy(frame.Data, data, frame.DLC);

            can.WriteFrame(data, canId);
        }
コード例 #4
0
 public override string ToString()
 {
     return(IsExtId ? CanId.ToString("X8") : CanId.ToString("X3"));
 }