32 lines
837 B
C#
32 lines
837 B
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace HC_APTBS.Infrastructure.Kwp.Packets
|
|
{
|
|
public class CodingWscPacket : Packet
|
|
{
|
|
public CodingWscPacket(List<byte> bytes) : base(bytes)
|
|
{
|
|
var data = bytes.Skip(4).ToList();
|
|
|
|
SoftwareCoding = (data[0] * 256 + data[1]) / 2;
|
|
WorkshopCode = data[2] * 256 + data[3];
|
|
|
|
// Workshop codes > 65535 overflow into the low bit of the software coding
|
|
if ((data[1] & 1) == 1)
|
|
{
|
|
WorkshopCode += 65536;
|
|
}
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"Software Coding {SoftwareCoding:d5}, Workshop Code: {WorkshopCode:d5}";
|
|
}
|
|
|
|
public int SoftwareCoding { get; }
|
|
|
|
public int WorkshopCode { get; }
|
|
}
|
|
}
|