private void btnDisplay_Click(object sender, EventArgs e) { if (_displayTimer == null || !_displayTimer.Enabled) { _log = new FramesLog(); _displayTimer = new System.Windows.Forms.Timer(); _displayTimer.Interval = 1000; _displayTimer.Tick += displayTimer_Tick; _displayTimer.Start(); Connections.ConnectionCan.FrameReceived += new CanConnection.NewFrameDelegate((frame) => _log.AddFrame(frame, true)); Connections.ConnectionCan.FrameSend += new CanConnection.NewFrameDelegate((frame) => _log.AddFrame(frame, false)); btnReplayAll.Enabled = false; btnReplaySelected.Enabled = false; btnLoad.Enabled = false; btnDisplay.Text = "Arrêter la surveillance"; btnDisplay.Image = Properties.Resources.GlassPause48; } else { _displayTimer.Stop(); Connections.ConnectionCan.FrameReceived -= new CanConnection.NewFrameDelegate((frame) => _log.AddFrame(frame, true)); Connections.ConnectionCan.FrameSend -= new CanConnection.NewFrameDelegate((frame) => _log.AddFrame(frame, false)); btnReplayAll.Enabled = true; btnReplaySelected.Enabled = true; btnLoad.Enabled = true; btnDisplay.Text = "Lancer la surveillance"; btnDisplay.Image = Properties.Resources.GlassStart48; } }
public void LoadLog(String file) { FramesLog log = new FramesLog(); log.Import(file); foreach (TimedFrame t in log.Frames) { _log.Frames.Add(t); } }
private FramesLog CreateLogFromSelection() { FramesLog logSelection = new FramesLog(); foreach (DataGridViewRow line in dgvLog.SelectedRows) { TimedFrame trameReplay = GetFrameFromLine(line); logSelection.AddFrame(trameReplay.Frame, trameReplay.IsInputFrame, trameReplay.Date); } return(logSelection); }
private void ReplayLog(FramesLog log) { _thReplay = new Thread(_log.ReplayInputFrames); _thReplay.Start(); }
public PageLogUdp() { InitializeComponent(); _loading = true; dgvLog.Columns.Add("ID", "ID"); dgvLog.Columns[0].Width = 40; dgvLog.Columns.Add("Heure", "Heure"); dgvLog.Columns[1].Width = 80; dgvLog.Columns.Add("Expediteur", "Expediteur"); dgvLog.Columns[2].Width = 70; dgvLog.Columns.Add("Destinataire", "Destinataire"); dgvLog.Columns[3].Width = 70; dgvLog.Columns.Add("Message", "Message"); dgvLog.Columns[4].Width = 300; dgvLog.Columns.Add("Trame", "Trame"); dgvLog.Columns[5].Width = dgvLog.Width - 18 - dgvLog.Columns[0].Width - dgvLog.Columns[1].Width - dgvLog.Columns[2].Width - dgvLog.Columns[3].Width - dgvLog.Columns[4].Width; _boardColor = new Dictionary <Board, Color>(); _boardColor.Add(Board.PC, Color.FromArgb(180, 245, 245)); _boardColor.Add(Board.RecMove, Color.FromArgb(143, 255, 143)); _boardColor.Add(Board.RecIO, Color.FromArgb(210, 254, 211)); _boardColor.Add(Board.RecCan, Color.FromArgb(254, 244, 188)); _boxLists = new List <CheckedListBox>(); _boxLists.Add(lstSender); _boxLists.Add(lstReceiver); _boxLists.Add(lstRecIOFunctions); _boxLists.Add(lstRecMoveFunctions); _boxLists.Add(lstRecGoBotFunctions); _boxLists.Add(lstRecCanFunctions); if (Config.CurrentConfig.LogsFonctionsMove == null) { Config.CurrentConfig.LogsFonctionsMove = new SerializableDictionary <UdpFrameFunction, bool>(); } if (Config.CurrentConfig.LogsFonctionsIO == null) { Config.CurrentConfig.LogsFonctionsIO = new SerializableDictionary <UdpFrameFunction, bool>(); } if (Config.CurrentConfig.LogsFonctionsGB == null) { Config.CurrentConfig.LogsFonctionsGB = new SerializableDictionary <UdpFrameFunction, bool>(); } if (Config.CurrentConfig.LogsFonctionsCan == null) { Config.CurrentConfig.LogsFonctionsCan = new SerializableDictionary <UdpFrameFunction, bool>(); } if (Config.CurrentConfig.LogsExpediteurs == null) { Config.CurrentConfig.LogsExpediteurs = new SerializableDictionary <Board, bool>(); } if (Config.CurrentConfig.LogsDestinataires == null) { Config.CurrentConfig.LogsDestinataires = new SerializableDictionary <Board, bool>(); } _configFunctions = new Dictionary <CheckedListBox, Dictionary <UdpFrameFunction, bool> >(); _configFunctions.Add(lstRecIOFunctions, Config.CurrentConfig.LogsFonctionsIO); _configFunctions.Add(lstRecMoveFunctions, Config.CurrentConfig.LogsFonctionsMove); _configFunctions.Add(lstRecGoBotFunctions, Config.CurrentConfig.LogsFonctionsGB); _configFunctions.Add(lstRecCanFunctions, Config.CurrentConfig.LogsFonctionsCan); _lstFunctions = new Dictionary <Board, CheckedListBox>(); _lstFunctions.Add(Board.RecIO, lstRecIOFunctions); _lstFunctions.Add(Board.RecMove, lstRecMoveFunctions); _lstFunctions.Add(Board.RecCan, lstRecCanFunctions); foreach (CheckedListBox lst in _configFunctions.Keys) { // L'ajout de champs déclenche le SetCheck event qui ajoute les éléments automatiquement dans le dictionnaire foreach (UdpFrameFunction func in Enum.GetValues(typeof(UdpFrameFunction))) { if (!_configFunctions[lst].ContainsKey(func)) { _configFunctions[lst].Add(func, true); } lst.Items.Add(func.ToString(), _configFunctions[lst][func]); } } foreach (Board board in Enum.GetValues(typeof(Board))) { if (!Config.CurrentConfig.LogsExpediteurs.ContainsKey(board)) { Config.CurrentConfig.LogsExpediteurs.Add(board, true); } lstSender.Items.Add(board.ToString(), Config.CurrentConfig.LogsExpediteurs[board]); if (!Config.CurrentConfig.LogsDestinataires.ContainsKey(board)) { Config.CurrentConfig.LogsDestinataires.Add(board, true); } lstReceiver.Items.Add(board.ToString(), Config.CurrentConfig.LogsDestinataires[board]); } _loading = false; _log = new FramesLog(); }
public void Clear() { _log = new FramesLog(); }
void worker_DoWork(object sender, DoWorkEventArgs e) { plusVieux = DateTime.Now; int currentLog = 0; List <String> dossiers = (List <String>)Directory.EnumerateDirectories(Config.PathData + @"\Logs\").ToList <String>(); nbLogs = dossiers.Count; dossiers.Sort(OrdreAlphabetiqueInverse); foreach (String dossier in dossiers) { if (dossier.Contains(Execution.LaunchStartString)) { continue; } if (Execution.Shutdown) { return; } currentLog++; String dossier1 = Path.GetFileName(dossier); DateTime date; int nbElements = 0; try { String[] tab = dossier1.Split(new char[5] { '.', ' ', 'h', 'm', 's' }); date = new DateTime(Convert.ToInt16(tab[0]), Convert.ToInt16(tab[1]), Convert.ToInt16(tab[2]), Convert.ToInt16(tab[3]), Convert.ToInt16(tab[4]), Convert.ToInt16(tab[5])); if (date < plusVieux) { plusVieux = date; } long taille = FolderSize(dossier); Object[] datas = new Object[Enum.GetValues(typeof(Columns)).Length]; datas[(int)Columns.Date] = date; datas[(int)Columns.Taille] = new TailleDossier(taille); //TODO2018 ca marche plus ça avec les nouveaux fichiers foreach (String fichier in Directory.EnumerateFiles(dossier)) { if (Path.GetFileName(fichier) == "ActionsGros.elog") { EventsReplay r = new EventsReplay(); if (r.Charger(fichier)) { datas[(int)Columns.Events] = r.Events.Count; nbElements += r.Events.Count; } else { datas[(int)Columns.Events] = -1; } } else if (Path.GetFileName(fichier) == "ConnexionGB.tlog") { FramesLog r = new FramesLog(); r.Import(fichier); if (r.Import(fichier)) { datas[(int)Columns.TramesGB] = r.Frames.Count; nbElements += r.Frames.Count; } else { datas[(int)Columns.TramesGB] = -1; } } else if (Path.GetFileName(fichier) == "ConnexionMove.tlog") { FramesLog r = new FramesLog(); r.Import(fichier); if (r.Import(fichier)) { datas[(int)Columns.TramesMove] = r.Frames.Count; nbElements += r.Frames.Count; } else { datas[(int)Columns.TramesMove] = -1; } } else if (Path.GetFileName(fichier) == "ConnexionIO.tlog") { FramesLog r = new FramesLog(); r.Import(fichier); if (r.Import(fichier)) { datas[(int)Columns.TramesIO] = r.Frames.Count; nbElements += r.Frames.Count; } else { datas[(int)Columns.TramesIO] = -1; } } } // S'il y a moins de 10 éléments dans ce log, on le supprime if (nbElements < 10) { Directory.Delete(dossier, true); } else { dataSet.Tables[0].Rows.Add(datas); } } catch (Exception) { } worker.ReportProgress((int)(currentLog * 100 / nbLogs)); } if (Directory.Exists(Config.PathData + "/Archives/")) { foreach (String dossier in Directory.EnumerateDirectories(Config.PathData + "/Archives/")) { if (Execution.Shutdown) { return; } currentLog++; String dossier1 = Path.GetFileName(dossier); DateTime date; try { String[] tab = dossier1.Split(new char[5] { '.', ' ', 'h', 'm', 's' }); date = new DateTime(Convert.ToInt16(tab[0]), Convert.ToInt16(tab[1]), Convert.ToInt16(tab[2]), Convert.ToInt16(tab[3]), Convert.ToInt16(tab[4]), Convert.ToInt16(tab[5])); if (date < plusVieux) { plusVieux = date; } long taille = FolderSize(dossier); Object[] datas = new Object[Enum.GetValues(typeof(Columns)).Length + 1]; datas[(int)Columns.Date + 1] = date; datas[(int)Columns.Taille + 1] = new TailleDossier(taille); foreach (String fichier in Directory.EnumerateFiles(dossier)) { if (Path.GetFileName(fichier) == "ActionsGros.elog") { EventsReplay r = new EventsReplay(); if (r.Charger(fichier)) { datas[(int)Columns.Events + 1] = r.Events.Count; } else { datas[(int)Columns.Events + 1] = -1; } } else if (Path.GetFileName(fichier) == "ConnexionGB.tlog") { FramesLog r = new FramesLog(); r.Import(fichier); if (r.Import(fichier)) { datas[(int)Columns.TramesGB + 1] = r.Frames.Count; } else { datas[(int)Columns.TramesGB + 1] = -1; } } else if (Path.GetFileName(fichier) == "ConnexionMove.tlog") { FramesLog r = new FramesLog(); r.Import(fichier); if (r.Import(fichier)) { datas[(int)Columns.TramesMove + 1] = r.Frames.Count; } else { datas[(int)Columns.TramesMove + 1] = -1; } } else if (Path.GetFileName(fichier) == "ConnexionIO.tlog") { FramesLog r = new FramesLog(); r.Import(fichier); if (r.Import(fichier)) { datas[(int)Columns.TramesIO + 1] = r.Frames.Count; } else { datas[(int)Columns.TramesIO + 1] = -1; } } else if (Path.GetFileName(fichier) == "Archivage") { StreamReader reader = new StreamReader(fichier); datas[0] = reader.ReadLine(); reader.Close(); } } dataSetArchivage.Tables[0].Rows.Add(datas); } catch (Exception) { } } } }
public PageLogCan() { InitializeComponent(); _loading = true; dgvLog.Columns.Add("ID", "ID"); dgvLog.Columns[0].Width = 40; dgvLog.Columns.Add("Heure", "Heure"); dgvLog.Columns[1].Width = 80; dgvLog.Columns.Add("Expediteur", "Expediteur"); dgvLog.Columns[2].Width = 70; dgvLog.Columns.Add("Destinataire", "Destinataire"); dgvLog.Columns[3].Width = 70; dgvLog.Columns.Add("Message", "Message"); dgvLog.Columns[4].Width = 300; dgvLog.Columns.Add("Trame", "Trame"); dgvLog.Columns[5].Width = dgvLog.Width - 18 - dgvLog.Columns[0].Width - dgvLog.Columns[1].Width - dgvLog.Columns[2].Width - dgvLog.Columns[3].Width - dgvLog.Columns[4].Width; _boardColor = new Dictionary <CanBoard, Color>(); _boardColor.Add(CanBoard.PC, Color.FromArgb(180, 245, 245)); _boardColor.Add(CanBoard.CanServo1, Color.FromArgb(70, 255, 220)); _boardColor.Add(CanBoard.CanServo2, Color.FromArgb(100, 255, 220)); _boardColor.Add(CanBoard.CanServo3, Color.FromArgb(130, 255, 220)); _boardColor.Add(CanBoard.CanServo4, Color.FromArgb(160, 255, 220)); _boardColor.Add(CanBoard.CanServo5, Color.FromArgb(190, 255, 220)); _boardColor.Add(CanBoard.CanServo6, Color.FromArgb(220, 255, 220)); _boardColor.Add(CanBoard.CanAlim, Color.FromArgb(250, 255, 220)); _boxLists = new List <CheckedListBox>(); _boxLists.Add(lstSender); _boxLists.Add(lstReceiver); _boxLists.Add(lstFunctions); if (Config.CurrentConfig.LogsCanFunctions == null) { Config.CurrentConfig.LogsCanFunctions = new SerializableDictionary <CanFrameFunction, bool>(); } if (Config.CurrentConfig.LogsCanSenders == null) { Config.CurrentConfig.LogsCanSenders = new SerializableDictionary <CanBoard, bool>(); } if (Config.CurrentConfig.LogsCanReceivers == null) { Config.CurrentConfig.LogsCanReceivers = new SerializableDictionary <CanBoard, bool>(); } // L'ajout de champs déclenche le SetCheck event qui ajoute les éléments automatiquement dans le dictionnaire foreach (CanFrameFunction func in Enum.GetValues(typeof(CanFrameFunction))) { if (!Config.CurrentConfig.LogsCanFunctions.ContainsKey(func)) { Config.CurrentConfig.LogsCanFunctions.Add(func, true); } lstFunctions.Items.Add(func.ToString(), Config.CurrentConfig.LogsCanFunctions[func]); } foreach (CanBoard board in Enum.GetValues(typeof(CanBoard))) { if (!Config.CurrentConfig.LogsCanSenders.ContainsKey(board)) { Config.CurrentConfig.LogsCanSenders.Add(board, true); } lstSender.Items.Add(board.ToString(), Config.CurrentConfig.LogsCanSenders[board]); if (!Config.CurrentConfig.LogsCanReceivers.ContainsKey(board)) { Config.CurrentConfig.LogsCanReceivers.Add(board, true); } lstReceiver.Items.Add(board.ToString(), Config.CurrentConfig.LogsCanReceivers[board]); } _loading = false; _log = new FramesLog(); }
public Connection() { Archives = new FramesLog(); }