/// <summary> /// Parse data for specified pid /// </summary> /// <param name="odbPid"></param> /// <param name="data"></param> /// <returns></returns> private Double parseDataForSpecifiedPid(OdbPid odbPid, OdbData data) { int A = -1, B = -1, C = -1, D = -1; int length = data.Data.Length; if (length > 4 || length == 0) { throw new OdbException(OdbError.IncorrectDataLength); } if (length >= 4) { D = Convert.ToInt32(data.Data[3], 16); } if (length >= 3) { C = Convert.ToInt32(data.Data[2], 16); } if (length >= 2) { B = Convert.ToInt32(data.Data[1], 16); } if (length >= 1) { A = Convert.ToInt32(data.Data[0], 16); } return odbPid.Compute(A, B, C, D); }