Exemplo n.º 1
0
        public static Int16 encode11bit(CANHeader header)
        {
            Int16 buffer = 0;

            buffer = (Int16)((buffer << 5) | 0x0); // 5 bit padding
            buffer = (Int16)((buffer << 11) | header.arbitrationID);
            return(buffer);
        }
Exemplo n.º 2
0
        public static Int32 encode29bit(CANHeader header)
        {
            Int32 buffer = 0;

            buffer = (buffer << 3) | 0x0; // 3 bit padding
            buffer = (buffer << 3) | header.priorityID;
            buffer = (buffer << 13) | header.arbitrationID;
            buffer = (buffer << 13) | header.senderID;
            return(buffer);
        }
Exemplo n.º 3
0
        public static CANHeader decode(Int32 _header)
        {
            CANHeader OutputHeader = new CANHeader();

            if (_header < 0x800)
            {
                // 11-bit header
                OutputHeader.arbitrationID = (_header >> 0) & 0x7FF;
            }
            else
            {
                // 29-bit header
                OutputHeader.priorityID    = (_header >> 26) & 0x7;
                OutputHeader.arbitrationID = (_header >> 13) & 0x1FFF;
                OutputHeader.senderID      = (_header >> 0) & 0x1FFF;
            }
            return(OutputHeader);
        }