From 0a977e67b09300fbe73548d710b8c4ec69d48623 Mon Sep 17 00:00:00 2001 From: Rafael Lillo Date: Mon, 18 Sep 2017 23:20:39 -0300 Subject: [PATCH] Passing to .NET Standard 2.0 --- src/.vs/obd2NET/v15/sqlite3/storage.ide | Bin 0 -> 454656 bytes src/obd2NET.sln | 17 +-- src/obd2NET/ControllerResponse.cs | 8 +- src/obd2NET/DiagnosticTroubleCode.cs | 40 +++---- src/obd2NET/Extensions.cs | 8 +- src/obd2NET/IOBDConnection.cs | 10 +- src/obd2NET/Properties/AssemblyInfo.cs | 36 ------ src/obd2NET/QueryException.cs | 12 +- src/obd2NET/SerialConnection.cs | 107 +++++++++++++----- src/obd2NET/Vehicle.cs | 142 +----------------------- src/obd2NET/obd2NET.csproj | 62 ++--------- 11 files changed, 130 insertions(+), 312 deletions(-) create mode 100644 src/.vs/obd2NET/v15/sqlite3/storage.ide delete mode 100644 src/obd2NET/Properties/AssemblyInfo.cs diff --git a/src/.vs/obd2NET/v15/sqlite3/storage.ide b/src/.vs/obd2NET/v15/sqlite3/storage.ide new file mode 100644 index 0000000000000000000000000000000000000000..228ccb73258da2ea129cf31d3a7554d813a8ce21 GIT binary patch literal 454656 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≥Y{!?C_$nvfs9(sby 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
    KaTC< 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

    4w_Ey^vk>w- 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≦p>VPj14*M7=e3Njj3Eb1Xub@Z2;HQP7 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 /// Represents the response received from the controller unit. @@ -24,7 +20,7 @@ public Byte[] Value { get { - if(RequestedPID != Vehicle.PID.Unknown && RequestedMode != Vehicle.Mode.Unknown) + if (RequestedPID != Vehicle.PID.Unknown && RequestedMode != Vehicle.Mode.Unknown) { Match matchedPattern = Regex.Match(Raw, @"\n([0-9a-fA-F ]{5})([0-9a-fA-F ]+)\r\n>"); return (matchedPattern.Groups.Count > 2) ? matchedPattern.Groups[2].Value.Replace(" ", "").ToByteArray() : Raw.ToByteArray(); diff --git a/src/obd2NET/DiagnosticTroubleCode.cs b/src/obd2NET/DiagnosticTroubleCode.cs index 75e5618..3900543 100644 --- a/src/obd2NET/DiagnosticTroubleCode.cs +++ b/src/obd2NET/DiagnosticTroubleCode.cs @@ -1,11 +1,8 @@ using System; -using System.Collections; -using System.Collections.Generic; using System.Linq; using System.Text; -using System.Threading.Tasks; -namespace obd2NET +namespace Obd2NET { ///

    /// Represents a Diagnostic trouble code which is used for reporting errors within the vehicle. @@ -27,7 +24,7 @@ public enum Location /// /// Raw and complete trouble code /// - public Byte[] Code { get; set; } + public byte[] Code { get; set; } /// /// Human readable text representation @@ -38,24 +35,24 @@ public string TextRepresentation { get { - string representation = ""; - switch(ErrorLocation) + var sb = new StringBuilder(); + switch (ErrorLocation) { - case Location.Powertrain: { representation = "P"; break; } - case Location.Chassis: { representation = "C"; break; } - case Location.Body: { representation = "B"; break; } - case Location.Network: { representation = "U"; break; } + case Location.Powertrain: { sb.Append("P"); break; } + case Location.Chassis: { sb.Append("C"); break; } + case Location.Body: { sb.Append("B"); break; } + case Location.Network: { sb.Append("U"); break; } } - Byte firstByte = Code.First(); - representation += (firstByte >> 4) & 3; - representation += Convert.ToInt32(((firstByte >> 0) & 15).ToString(), 16); + byte firstByte = Code.First(); + sb.Append((firstByte >> 4) & 3); + sb.Append(Convert.ToInt32(((firstByte >> 0) & 15).ToString(), 16)); - Byte secondByte = Code.ElementAt(1); - representation += Convert.ToInt32(((secondByte >> 4) & 15).ToString(), 16); - representation += Convert.ToInt32(((secondByte >> 0) & 15).ToString(), 16); + byte secondByte = Code.ElementAt(1); + sb.Append(Convert.ToInt32(((secondByte >> 4) & 15).ToString(), 16)); + sb.Append(Convert.ToInt32(((secondByte >> 0) & 15).ToString(), 16)); - return representation; + return sb.ToString(); } } @@ -66,17 +63,16 @@ public Location ErrorLocation { get { - Byte firstByte = Code.First(); - return (Location) ((firstByte >> 6) & 3); + return (Location)((Code.First() >> 6) & 3); } } public DiagnosticTroubleCode(string code) { - Code = System.Text.Encoding.Default.GetBytes(code); + Code = Encoding.Default.GetBytes(code); } - public DiagnosticTroubleCode(Byte[] code) + public DiagnosticTroubleCode(byte[] code) { Code = code; } diff --git a/src/obd2NET/Extensions.cs b/src/obd2NET/Extensions.cs index a5f0a60..fb64fbd 100644 --- a/src/obd2NET/Extensions.cs +++ b/src/obd2NET/Extensions.cs @@ -1,10 +1,6 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace obd2NET +namespace Obd2NET { public static class Extensions { @@ -22,4 +18,4 @@ public static byte[] ToByteArray(this string hex) return bytes; } } -} +} \ No newline at end of file diff --git a/src/obd2NET/IOBDConnection.cs b/src/obd2NET/IOBDConnection.cs index 4060b2d..59724c4 100644 --- a/src/obd2NET/IOBDConnection.cs +++ b/src/obd2NET/IOBDConnection.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Threading.Tasks; -namespace obd2NET +namespace Obd2NET { /// /// Interface to be implemented by all connections that are interacting with the OBD interface of the vehicle @@ -15,6 +11,8 @@ public interface IOBDConnection void Open(); void Close(); ControllerResponse Query(Vehicle.Mode parameterMode, Vehicle.PID parameterID); + ValueTask QueryAsync(Vehicle.Mode parameterMode, Vehicle.PID parameterID); ControllerResponse Query(Vehicle.Mode parameterMode); + ValueTask QueryAsync(Vehicle.Mode parameterMode); } } diff --git a/src/obd2NET/Properties/AssemblyInfo.cs b/src/obd2NET/Properties/AssemblyInfo.cs deleted file mode 100644 index 224c5b4..0000000 --- a/src/obd2NET/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("obd2NET")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("obd2NET")] -[assembly: AssemblyCopyright("Copyright © 2014")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("8364f400-9c4b-4ab9-bae0-17877596a355")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/obd2NET/QueryException.cs b/src/obd2NET/QueryException.cs index c48b7da..054fad6 100644 --- a/src/obd2NET/QueryException.cs +++ b/src/obd2NET/QueryException.cs @@ -1,15 +1,11 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -namespace obd2NET +namespace Obd2NET { public class QueryException : Exception { - public QueryException(string msg): - base(msg) - { } + public QueryException(string message) : base(message) + { + } } } diff --git a/src/obd2NET/SerialConnection.cs b/src/obd2NET/SerialConnection.cs index 06f6fc1..edb3cde 100644 --- a/src/obd2NET/SerialConnection.cs +++ b/src/obd2NET/SerialConnection.cs @@ -1,40 +1,47 @@ using System; -using System.Collections.Generic; using System.IO.Ports; -using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; -namespace obd2NET +namespace Obd2NET { /// /// Represents the serial connection to the vehicle's interface /// - public class SerialConnection : IOBDConnection + public class SerialConnection : IOBDConnection, IDisposable { - /// - /// Port used for communicating with the vehicle's interface - /// - public SerialPort Port { get; set; } + public SerialConnection() + : this(new SerialPort()) + { - public SerialConnection(): - this(new SerialPort()) - { } + } + + public SerialConnection(string comPort) + : this(new SerialPort(comPort)) + { - public SerialConnection(string comPort) : - this(new SerialPort(comPort)) - { } + } public SerialConnection(SerialPort port) { Port = port; - Open(); } - ~SerialConnection() + /// + /// Port used for communicating with the vehicle's interface + /// + public SerialPort Port { get; set; } + + private bool disposed; + + /// + /// Closes the connection to the interface if the connection is established + /// + public void Close() { - Close(); + if (Port.IsOpen) + Port.Close(); } /// @@ -46,13 +53,9 @@ public void Open() Port.Open(); } - /// - /// Closes the connection to the interface if the connection is established - /// - public void Close() + ~SerialConnection() { - if (Port.IsOpen) - Port.Close(); + Close(); } /// @@ -64,20 +67,58 @@ public void Close() /// Blocking until a complete answer has been received public ControllerResponse Query(Vehicle.Mode parameterMode, Vehicle.PID parameterID) { - Port.Write(Convert.ToUInt32(parameterMode).ToString("X2") + Convert.ToUInt32(parameterID).ToString("X2") + "\r"); + Port.Write($"{Convert.ToUInt32(parameterMode).ToString("X2")}{Convert.ToUInt32(parameterID).ToString("X2")}{"\r"}"); Thread.Sleep(100); string fullResponse = ""; - while(!fullResponse.Contains(">")) + while (!fullResponse.Contains(">")) { byte[] readBuffer = new byte[1024]; Port.Read(readBuffer, 0, 1024); - fullResponse = System.Text.Encoding.Default.GetString(readBuffer); + fullResponse = Encoding.Default.GetString(readBuffer); + } + + return new ControllerResponse(fullResponse, parameterMode, parameterID); + } + + public async ValueTask QueryAsync(Vehicle.Mode parameterMode, Vehicle.PID parameterID) + { + Port.Write($"{Convert.ToUInt32(parameterMode).ToString("X2")}{Convert.ToUInt32(parameterID).ToString("X2")}{"\r"}"); + await Task.Delay(100); + + string fullResponse = ""; + while (!fullResponse.Contains(">")) + { + byte[] readBuffer = new byte[1024]; + Port.Read(readBuffer, 0, 1024); + fullResponse = Encoding.Default.GetString(readBuffer); } return new ControllerResponse(fullResponse, parameterMode, parameterID); } + /// + /// Queries data from the vehicle by sending a specific mode + /// + /// Vehicle.Mode used + /// ControllerResponse object holding the returned data from the controller unit + /// Blocking until a complete answer has been received + public async ValueTask QueryAsync(Vehicle.Mode parameterMode) + { + Port.Write(Convert.ToUInt32(parameterMode).ToString("X2") + "\r"); + await Task.Delay(100); + + string fullResponse = ""; + while (!fullResponse.Contains(">")) + { + byte[] readBuffer = new byte[1024]; + Port.Read(readBuffer, 0, 1024); + fullResponse = Encoding.Default.GetString(readBuffer); + } + + return new ControllerResponse(fullResponse, parameterMode); + } + /// /// Queries data from the vehicle by sending a specific mode /// @@ -99,5 +140,19 @@ public ControllerResponse Query(Vehicle.Mode parameterMode) return new ControllerResponse(fullResponse, parameterMode); } + + private void Dispose(bool disposed) + { + if (!disposed) + { + Close(); + } + } + + public void Dispose() + { + Dispose(disposed); + disposed = true; + } } } diff --git a/src/obd2NET/Vehicle.cs b/src/obd2NET/Vehicle.cs index 1b0eed1..4329148 100644 --- a/src/obd2NET/Vehicle.cs +++ b/src/obd2NET/Vehicle.cs @@ -1,16 +1,6 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace obd2NET +namespace Obd2NET { - /// - /// Vehicle that can be accessed through an IOBDConnection - /// - public static class Vehicle + public class Vehicle { /// /// List of supported PIDs @@ -40,133 +30,5 @@ public enum Mode FreezeFrameData = 0x02, DiagnosticTroubleCodes = 0x03 } - - /// - /// Queries the current vehicle speed - /// - /// Connection to the vehicle interface used to query the data - /// Speed given in km/h - public static uint Speed(IOBDConnection obdConnection) - { - ControllerResponse response = obdConnection.Query(Mode.CurrentData, PID.Speed); - if (response.HasValidData()) throw new QueryException("Vehicle speed couldn't be queried, the controller returned no data"); - - // the first value byte represents the speed in km/h - return (response.Value.Length >= 1) ? Convert.ToUInt32(response.Value.First()) : 0; - } - - /// - /// Queries the current engine temperature - /// - /// Connection to the vehicle interface used to query the data - /// Temperature given in celsius - public static int EngineTemperature(IOBDConnection obdConnection) - { - ControllerResponse response = obdConnection.Query(Mode.CurrentData, PID.EngineTemperature); - if (response.HasValidData()) throw new QueryException("Engine temperature couldn't be queried, the controller returned no data"); - - // the first value byte minus 40 represents the engine temperature in celsius - return (response.Value.Length >= 1) ? Convert.ToInt32(response.Value.First()) - 40 : 0; - } - - /// - /// Queries the current RPM - /// - /// Connection to the vehicle interface used to query the data - /// The retrieved RPM - public static uint RPM(IOBDConnection obdConnection) - { - ControllerResponse response = obdConnection.Query(Mode.CurrentData, PID.RPM); - if (response.HasValidData()) throw new QueryException("RPM couldn't be queried, the controller returned no data"); - - // RPM is given in 2 bytes - // Formula: ((A*256)+B)/4 - if (response.Value.Length < 2) throw new QueryException("RPM couldn't be queried, retrieved data was uncomplete"); - - uint rpm1 = Convert.ToUInt32(response.Value.First()); - uint rpm2 = Convert.ToUInt32(response.Value.ElementAt(1)); - return ((rpm1 * 256) + rpm2) / 4; - } - - /// - /// Queries the current throttle position - /// - /// Connection to the vehicle interface used to query the data - /// The retrieved throttle position in percentage (0-100) - public static uint ThrottlePosition(IOBDConnection obdConnection) - { - ControllerResponse response = obdConnection.Query(Mode.CurrentData, PID.ThrottlePosition); - if (response.HasValidData()) throw new QueryException("Throttle position couldn't be queried, the controller returned no data"); - - // given in percentage, first value byte *100/255 - return (response.Value.Length >= 1) ? (Convert.ToUInt32(response.Value.First()) * 100) / 255 : 0; - } - - /// - /// Queries the current calculated engine load value - /// - /// Connection to the vehicle interface used to query the data - /// The retrieved calculated engine load value in percentage (0-100) - public static uint CalculatedEngineLoadValue(IOBDConnection obdConnection) - { - ControllerResponse response = obdConnection.Query(Mode.CurrentData, PID.CalculatedEngineLoadValue); - if (response.HasValidData()) throw new QueryException("Calculated engine load value couldn't be queried, the controller returned no data"); - - // given in percentage, first value byte *100/255 - return (response.Value.Length >= 1) ? (Convert.ToUInt32(response.Value.First()) * 100) / 255 : 0; - } - - /// - /// Queries the current fuel pressure - /// - /// Connection to the vehicle interface used to query the data - /// The retrieved fuel pressure given in kPa - public static uint FuelPressure(IOBDConnection obdConnection) - { - ControllerResponse response = obdConnection.Query(Mode.CurrentData, PID.FuelPressure); - if (response.HasValidData()) throw new QueryException("Fuel pressure couldn't be queried, the controller returned no data"); - - // given in kPa, first value byte * 3 - return (response.Value.Length >= 1) ? Convert.ToUInt32(response.Value.First()) * 3 : 0; - } - - /// - /// Queries the status of the malfunction indicator lamp (MIL) - /// - /// Connection to the vehicle interface used to query the data - /// true if the MIL is illuminated, false if not - public static bool MalfunctionIndicatorLamp(IOBDConnection obdConnection) - { - ControllerResponse response = obdConnection.Query(Mode.CurrentData, PID.MIL); - if (response.HasValidData()) throw new QueryException("Malfunction indicator lamp couldn't be queried, the controller returned no data"); - if (response.Value.Length == 0) return false; - - return Convert.ToBoolean((response.Value.First() >> 7) & 1); - } - - /// - /// Queries the available diagnostic trouble codes (DTCs) - /// - /// Connection to the vehicle interface used to query the data - /// List containing all DTCs that could be retrieved - public static List DiagnosticTroubleCodes(IOBDConnection obdConnection) - { - // issue the request for the actual DTCs - ControllerResponse response = obdConnection.Query(Mode.DiagnosticTroubleCodes); - if (response.HasValidData()) throw new QueryException("Diagnostic trouble codes couldn't be queried, the controller returned no data"); - if (response.Value.Length < 2) throw new QueryException("Diagnostic trouble codes couldn't be queried, received data was not complete"); - - var fetchedCodes = new List(); - for (int i = 1; i < response.Value.Length; i += 3) // each error code got a size of 3 bytes - { - byte[] troubleCode = new byte[3]; - Array.Copy(response.Value, i, troubleCode, 0, 3); - - if(!troubleCode.All(b => b == default(Byte))) // if the byte array is not entirely empty, add the error code to the parsed list - fetchedCodes.Add(new DiagnosticTroubleCode(troubleCode)); - } - - return fetchedCodes; - } } } diff --git a/src/obd2NET/obd2NET.csproj b/src/obd2NET/obd2NET.csproj index f876674..9973757 100644 --- a/src/obd2NET/obd2NET.csproj +++ b/src/obd2NET/obd2NET.csproj @@ -1,59 +1,11 @@ - - - + + - Debug - AnyCPU - {388801C6-5CC7-43AE-B82F-C13FE2DBC131} - Library - Properties - obd2NET - obd2NET - v4.5 - 512 + netcoreapp2.0 - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - + - - - - - - - - + - - - \ No newline at end of file + +