private void Prepare(OltProtocol oltProtocol) { this.oltProtocol = oltProtocol; var errors = oltProtocol.ReadErrors().ToArray(); var errorStatus = ECUErrorFactory.DecodingErrorStatus(oltProtocol.GetDiagData().ErrorStatus); savedError.Items.Clear(); savedError.Items.AddRange(errors); activeError.Items.Clear(); activeError.Items.AddRange(errorStatus); }
private void WriteCorrectionTable(IWin32Window owner) { using (var progress = ProgressForm.ShowProgress(owner)) { progress.Message = "Загрузка калибровок"; OltProtocol.WriteRam(firmwareManager.Kgbc.Address, firmwareManager.Kgbc.GetRawBuffer()); progress.IterationComplete(this, 50, 100); OltProtocol.WriteRam(firmwareManager.Kgbc_press.Address, firmwareManager.Kgbc_press.GetRawBuffer()); progress.IterationComplete(this, 50, 100); OltProtocol.WriteRam(firmwareManager.Gbc.Address, firmwareManager.Gbc.GetRawBuffer()); progress.IterationComplete(this, 100, 100); progress.Close(); } }
public static void ShowErrors(IWin32Window owner, OltProtocol oltProtocol) { if (isShow) { return; } var ef = new ErrorCodesForm(); ef.Prepare(oltProtocol); ef.Show(owner); isShow = true; }
private void oltProtocol_OnDiagUpdate(object sender, EventArgs e) { var diagData = OltProtocol.GetDiagData(); diagData.LC1_AFR = LambdaAdapter.AFR; diagData.LC1_ALF = LambdaAdapter.Lambda; dataKeeper.diagDataList.Add(diagData); dataLogger.WriteData(diagData); firmwareManager.Add(diagData); if (OltProtocol.IsEcuErrorFound && settings.AutoClearErrors) { OltProtocol.ClearErrors(); } }
public void InitFirmware(IWin32Window owner) { if (!OltProtocol.Connected || !OltProtocol.IsOnline) { return; } switch (settings.LoadFirmwareToEcuType) { case LoadFirmwareToEcuType.FullLoad: OltProtocol.WriteFirmware(owner, firmwareManager.Buffer); break; case LoadFirmwareToEcuType.OnlyCorrectionTable: WriteCorrectionTable(owner); break; } }
public OnlineManager(OltProtocol oltProtocol, LambdaAdapter lambdaAdapter) { settings = new Settings(); settings.LoadFromFile(); dataLogger = new DataLogger(); dataKeeper = new DiagDataKeeper(); dataKeeper.LoadSettings(Settings.settingsKeeper); firmwareManager = new FirmwareManager(this); this.OltProtocol = oltProtocol; this.LambdaAdapter = lambdaAdapter; if (settings.AutoLoadLastFirmware) { firmwareManager.Open(settings.LastFirmwarePath); } oltProtocol.OnDiagUpdate += oltProtocol_OnDiagUpdate; oltProtocol.OnConnect += oltProtocol_OnConnect; oltProtocol.OnDisconnect += oltProtocol_OnDisconnect; }
public MainForm() { Cursor.Current = Cursors.WaitCursor; InitializeComponent(); oltProtocol = new OltProtocol(); oltProtocol.PropertyChanged += oltProtocol_PropertyChanged; onlineManager = new OnlineManager(oltProtocol, lambdaAdapter); onlineManager.FirmwareManager.OnOpenFirmware += FirmwareManagerOnOpenFirmware; uiContext = SynchronizationContext.Current; diagGaugePanel.Prepare(oltProtocol, lambdaAdapter); diagChartPanel.Prepare(onlineManager); rtGridPanel.Prepare(onlineManager); PrepareOpenedFirmware(); versionStatusLabel.Text = String.Format("version {0}", Assembly.GetExecutingAssembly().GetName().Version); Cursor.Current = Cursors.Default; oltProtocol.OnDiagUpdate += OltProtocolOnOnDiagUpdate; }