public void RequestConfiguration() { OutgoingJ1939Message message = new OutgoingJ1939Message() { USBPrefix = 'T', SA = 0x33, PGN = 0xEA33, }; message.Data[0] = 0x43; message.Data[1] = 0xFC; message.Data[2] = 0x00; CommunicationManager.Instance.SendMessage(message); OutgoingJ1939Message message2 = new OutgoingJ1939Message() { USBPrefix = 'T', SA = 0x33, PGN = 0xEA33, }; message2.Data[0] = 0xB9; message2.Data[1] = 0xFD; message2.Data[2] = 0x00; CommunicationManager.Instance.SendMessage(message2); }
private void ConfigureTireThreshholds(int byteIndex, byte value) { OutgoingJ1939Message message = new OutgoingJ1939Message() { USBPrefix = 'T', SA = 0x33, PGN = 0x8233, }; message.Data[0] = 0xEE; //all axles message.Data[byteIndex] = value; CommunicationManager.Instance.SendMessage(message); }
public override void LearnTire(byte instance) { OutgoingJ1939Message message = new OutgoingJ1939Message() { USBPrefix = 'T', SA = 0x33, PGN = 0xEF33, }; message.Data[0] = 0xFD; message.Data[1] = positionToAxle[instance]; message.Data[6] = 0x55; message.Data[7] = 0x49; PendingPosition = instance; CommunicationManager.Instance.SendMessage(message); }
public void ResetDefaults() { ConfigureTargetPSI(0xEE, 86); // 100 psi OutgoingJ1939Message message = new OutgoingJ1939Message() { USBPrefix = 'T', SA = 0x33, PGN = 0x8233, }; message.Data[0] = 0xEE; //all axles message.Data[3] = 40; message.Data[4] = 60; message.Data[5] = 40; message.Data[6] = 117; CommunicationManager.Instance.SendMessage(message); }
public void ConfigureTargetPSI(int axle, double newValue) { byte dataAxle = (byte)axle; if (axle < MAX_AXLES || axle == 0xEE) { OutgoingJ1939Message message = new OutgoingJ1939Message() { USBPrefix = 'T', SA = 0x33, PGN = 0xAE33, }; message.Data[0] = (byte)(dataAxle << 4); message.Data[1] = (byte)(newValue / 1.160301902); CommunicationManager.Instance.SendMessage(message); } }
public override void ClearTire(byte instance) { OutgoingJ1939Message message = new OutgoingJ1939Message() { USBPrefix = 'T', SA = 0x33, PGN = 0xEF33, }; message.Data[0] = 0xFE; message.Data[1] = positionToAxle[instance]; message.Data[6] = (byte)'U'; message.Data[7] = (byte)'I'; Tires[instance].sensorReporting = false; Tires[instance].TireStatus = TireStatus.None; CommunicationManager.Instance.SendMessage(message); }
public override void AbortLearn() { OutgoingJ1939Message message = new OutgoingJ1939Message() { USBPrefix = 'T', SA = 0x33, PGN = 0xEF33, }; message.Data[0] = 0xFC; message.Data[6] = 0x55; message.Data[7] = 0x49; if (PendingPosition < MAX_TIRE_POSITIONS) { Tires[PendingPosition].sensorReporting = false; Tires[PendingPosition].TireStatus = TireStatus.None; } PendingPosition = 0xFF; CommunicationManager.Instance.SendMessage(message); RequestConfiguration(); }