Пример #1
0
        private void ReadFreezeFrameData(object state)
        {
            freezeFrame.Reset();
            progressBar.Value = 0;
            OBDParameter parameter = m_obdInterface.lookupParameter("SAE.FF_DTC");

            if (parameter != null)
            {
                OBDParameter      freezeFrameCopy = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                OBDParameterValue value2          = m_obdInterface.getValue(freezeFrameCopy, true);
                if (value2.ErrorDetected)
                {
                    MessageBox.Show("An error was encountered while requesting SAE.FF_DTC", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    m_obdInterface.logItem("Error while requesting SAE.FF_DTC");
                    progressBar.Value = progressBar.Maximum;
                }
                else
                {
                    bool flag = false;
                    if (string.Compare(value2.StringValue, "P0000") != 0)
                    {
                        freezeFrame.DTC = value2.StringValue;
                        flag            = true;
                    }
                    progressBar.Increment(progressBar.Step);
                    if (m_bKeepReading)
                    {
                        if (flag)
                        {
                            parameter = m_obdInterface.lookupParameter("SAE.FUEL1_STATUS");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      param   = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value17 = m_obdInterface.getValue(param, true);
                            if (!value17.ErrorDetected)
                            {
                                freezeFrame.FuelSystem1Status = value17.StringValue;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.FUEL2_STATUS");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter16 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value16     = m_obdInterface.getValue(parameter16, true);
                            if (!value16.ErrorDetected)
                            {
                                freezeFrame.FuelSystem2Status = value16.StringValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.LOAD_CALC");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter15 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value15     = m_obdInterface.getValue(parameter15, true);
                            if (!value15.ErrorDetected)
                            {
                                freezeFrame.CalculatedLoad = value15.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.ECT");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter14 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value14     = m_obdInterface.getValue(parameter14, true);
                            if (!value14.ErrorDetected)
                            {
                                freezeFrame.EngineCoolantTemp = value14.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.STFT1");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter13 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value13     = m_obdInterface.getValue(parameter13, true);
                            if (!value13.ErrorDetected)
                            {
                                freezeFrame.STFT1 = value13.DoubleValue;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.STFT3");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter12 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value12     = m_obdInterface.getValue(parameter12, true);
                            if (!value12.ErrorDetected)
                            {
                                freezeFrame.STFT3 = value12.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.LTFT1");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter11 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value11     = m_obdInterface.getValue(parameter11, true);
                            if (!value11.ErrorDetected)
                            {
                                freezeFrame.LTFT1 = value11.DoubleValue;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.LTFT3");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter10 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value10     = m_obdInterface.getValue(parameter10, true);
                            if (!value10.ErrorDetected)
                            {
                                freezeFrame.LTFT3 = value10.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.STFT2");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter9 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value9     = m_obdInterface.getValue(parameter9, true);
                            if (!value9.ErrorDetected)
                            {
                                freezeFrame.STFT2 = value9.DoubleValue;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.STFT4");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter8 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value8     = m_obdInterface.getValue(parameter8, true);
                            if (!value8.ErrorDetected)
                            {
                                freezeFrame.STFT4 = value8.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.LTFT2");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter7 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value7     = m_obdInterface.getValue(parameter7, true);
                            if (!value7.ErrorDetected)
                            {
                                freezeFrame.LTFT2 = value7.DoubleValue;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.LTFT4");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter6 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value6     = m_obdInterface.getValue(parameter6, true);
                            if (!value6.ErrorDetected)
                            {
                                freezeFrame.LTFT4 = value6.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.MAP");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter5 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value5     = m_obdInterface.getValue(parameter5, true);
                            if (!value5.ErrorDetected)
                            {
                                freezeFrame.IntakePressure = value5.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.RPM");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter4 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value4     = m_obdInterface.getValue(parameter4, true);
                            if (!value4.ErrorDetected)
                            {
                                freezeFrame.EngineRPM = value4.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.VSS");
                            if (parameter == null)
                            {
                                return;
                            }
                            OBDParameter      parameter3 = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            OBDParameterValue value3     = m_obdInterface.getValue(parameter3, true);
                            if (!value3.ErrorDetected)
                            {
                                freezeFrame.VehicleSpeed = value3.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                            if (!m_bKeepReading)
                            {
                                return;
                            }
                            parameter = m_obdInterface.lookupParameter("SAE.SPARKADV");
                            if (parameter == null)
                            {
                                return;
                            }
                            freezeFrameCopy = parameter.GetFreezeFrameCopy(m_iFrameNumber);
                            value2          = m_obdInterface.getValue(freezeFrameCopy, true);
                            if (!value2.ErrorDetected)
                            {
                                freezeFrame.SparkAdvance = value2.DoubleValue;
                            }
                            progressBar.Increment(progressBar.Step);
                        }
                        else
                        {
                            MessageBox.Show(string.Format("No freeze frame information found at frame #{0}.", m_iFrameNumber), "Information", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        }
                        progressBar.Value  = progressBar.Maximum;
                        btnRefresh.Enabled = true;
                        btnCancel.Enabled  = false;
                    }
                }
            }
        }