Esempio n. 1
0
        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;
        }
Esempio n. 2
0
 /// <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));
 }