public void DisplayFrame(TimedFrame tFrame) { String time = ""; try { if (rdoTimeAbsolute.Checked) { time = tFrame.Date.ToString("hh:mm:ss:fff"); } if (rdoTimeFromStart.Checked) { time = (tFrame.Date - _startTime).ToString(@"hh\:mm\:ss\:fff"); } if (rdoTimeFromPrev.Checked) { time = ((int)(tFrame.Date - _previousTime).TotalMilliseconds).ToString() + " ms"; } if (rdoTimeFromPrevDisplay.Checked) { time = ((int)(tFrame.Date - _previousDisplayTime).TotalMilliseconds).ToString() + " ms"; } Board board = UdpFrameFactory.ExtractBoard(tFrame.Frame); Board sender = UdpFrameFactory.ExtractSender(tFrame.Frame, tFrame.IsInputFrame); Board receiver = UdpFrameFactory.ExtractReceiver(tFrame.Frame, tFrame.IsInputFrame); UdpFrameFunction func = UdpFrameFactory.ExtractFunction(tFrame.Frame); if (board == Board.PC) { throw new Exception(); } bool receiverVisible = Config.CurrentConfig.LogsDestinataires[receiver]; bool senderVisible = Config.CurrentConfig.LogsExpediteurs[sender]; bool functionVisible = (_configFunctions[_lstFunctions[board]][func]); if (senderVisible && receiverVisible && functionVisible) { dgvLog.Rows.Add(_counter, time, sender.ToString(), receiver.ToString(), UdpFrameDecoder.Decode(tFrame.Frame), tFrame.Frame.ToString()); _previousDisplayTime = tFrame.Date; if (rdoColorByBoard.Checked) { dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = _boardColor[board]; } else if (rdoColorByReceiver.Checked) { dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = _boardColor[receiver]; } else if (rdoColorBySender.Checked) { dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = _boardColor[sender]; } } } catch (Exception) { dgvLog.Rows.Add(_counter, time, "?", "?", "Inconnu !", tFrame.Frame.ToString()); dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = Color.Red; } _counter++; _previousTime = tFrame.Date; }
/// <summary> /// Retourne le template de décodage d'une fonction dans le protocole de communication UDP /// </summary> /// <param name="capteur">Fonction à décoder</param> /// <returns>Template de décodage</returns> public static String GetName(UdpFrameFunction frame) { return(UdpFrameDecoder.GetMessage(frame)); }