Exemplo n.º 1
0
        /// <summary>
        /// Store a captured CAN packet
        /// </summary>
        /// <param name="TimeInMicroseconds">Time registered by PEAK device</param>
        /// <param name="CANId">Id of the packet</param>
        /// <param name="DataLength">Length of data</param>
        /// <param name="Data">Captured data</param>
        /// <returns>Reference to the packet</returns>
        Packet UpdatePackets(ulong TimeInMicroseconds, uint CANId, byte DataLength, byte[] Data)
        {
            Packet packet;

            if (overwriteLastPacket)
            {
                //Update packet list by overwriting last value
                packet = Packets.Find(x => x.Id == CANId);
                if (packet == null)
                {
                    packet = new Packet();
                    Packets.Add(packet);
                }
            }
            else
            {
                //store as new values
                packet = new Packet();
                Packets.Add(packet);
            }
            //add/update values
            packet.Microseconds = TimeInMicroseconds;
            packet.Id           = CANId;
            packet.Length       = DataLength;
            packet.Data         = Data;

            //remember first packet for diff calc
            if (DiffPacket == null)
            {
                AddMessage(Feedback, "First packet received " + PacketToString(packet));
                DiffPacket = Packet.Clone(packet);
            }
            return(packet);
        }
Exemplo n.º 2
0
 public PacketInfo GetPacket(string name)
 {
     return
         (Packets.Find(packet => 0 == string.Compare(name, packet.Name, StringComparison.OrdinalIgnoreCase)));
 }