//----------------------------------------------------------------------- // // Copyright © 2012 Nils Hammar. All rights reserved. // //----------------------------------------------------------------------- /* * Software to access vehicle information via the OBD-II connector. * * Copyright © 2012 Nils Hammar * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Alternative licensing is possible, see the licensing document. * * The above text may not be removed or modified. */ namespace ObdSimulator.Data { using System.Windows.Forms; /// /// WWW ECU OBD info. /// public partial class WwhEcuObdInfo : UserControl { /// /// MIL status alternatives. /// private string[] milStatus = { "MI Activation Mode 1 (MI Off)", "MI Activation Mode 2 (On Demand MI)", "MI Activation Mode 3 (Short MI)", "MI Activation Mode 4 (Continuous MI)", "Reserved", "Reserved", "Reserved", "Reserved", "Reserved", "Reserved", "Reserved", "Reserved", "Reserved", "Reserved", "Error", "Not available/Not required for this vehicle", }; /// /// Initializes a new instance of the class. /// /// Heading text for panel. public WwhEcuObdInfo(string heading) { this.InitializeComponent(); this.groupBox1.Text = heading; } /// /// Provide data to present. /// /// Payload data. public void setData(byte[] payload) { if (payload != null) { int i1 = (payload[PidParser.BYTE_A] & 0x0f); int engineHours = payload[PidParser.BYTE_B] << 8 | payload[PidParser.BYTE_C]; int b1Counter = payload[PidParser.BYTE_D] << 8 | payload[PidParser.BYTE_E]; this.val0TF.Text = this.milStatus[i1]; this.val1TF.Text = engineHours.ToString(); this.val2TF.Text = b1Counter.ToString(); } } } }