Ejemplo n.º 1
0
 public void ReceptionCanMessage(Frame frame)
 {
     switch (CanFrameFactory.ExtractFunction(frame))
     {
     case CanFrameFunction.BatterieVoltage:
         BatterieVoltage   = (frame[3] * 256 + frame[4]) / 1000f;
         BatterieIntensity = (frame[5] * 256 + frame[6]) / 1000f;
         break;
     }
 }
Ejemplo n.º 2
0
        private void mnuHideSameTypeFrames_Click(object sender, EventArgs e)
        {
            if (dgvLog.SelectedRows.Count >= 1)
            {
                foreach (DataGridViewRow line in dgvLog.SelectedRows)
                {
                    TimedFrame tFrame = GetFrameFromLine(line);
                    ShowFrameFunction(CanFrameFactory.ExtractFunction(tFrame.Frame), false);
                }

                DisplayLog();
            }
        }
Ejemplo n.º 3
0
        private void mnuHideSameBoardFrames_Click(object sender, EventArgs e)
        {
            if (dgvLog.SelectedRows.Count >= 1)
            {
                foreach (DataGridViewRow line in dgvLog.SelectedRows)
                {
                    CanBoard board = CanFrameFactory.ExtractBoard(GetFrameFromLine(line).Frame);
                    ShowFramesReceiver(board, false);
                    ShowFramesSender(board, false);
                }

                DisplayLog();
            }
        }
Ejemplo n.º 4
0
        private void _communication_FrameReceived(Frame frame)
        {
            try
            {
                CanBoard idCan = CanFrameFactory.ExtractBoard(frame);

                if (_canBoards.Contains(idCan))
                {
                    ServomoteurID servoGlobalId = CanFrameFactory.ExtractServomoteurID(frame);
                    _servos[servoGlobalId].FrameReceived(frame);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("ERREUR CAN : " + frame.ToString() + " - " + e.Message);
            }
        }
Ejemplo n.º 5
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";
                }

                CanBoard board    = CanFrameFactory.ExtractBoard(tFrame.Frame);
                CanBoard sender   = CanFrameFactory.ExtractSender(tFrame.Frame, tFrame.IsInputFrame);
                CanBoard receiver = CanFrameFactory.ExtractReceiver(tFrame.Frame, tFrame.IsInputFrame);

                if (board == CanBoard.PC)
                {
                    throw new Exception();
                }

                bool receiverVisible = Config.CurrentConfig.LogsCanReceivers[receiver];
                bool senderVisible   = Config.CurrentConfig.LogsCanSenders[sender];
                bool functionVisible = Config.CurrentConfig.LogsCanFunctions[CanFrameFactory.ExtractFunction(tFrame.Frame)];

                if (senderVisible && receiverVisible && functionVisible)
                {
                    dgvLog.Rows.Add(_counter, time, sender.ToString(), receiver.ToString(), CanFrameDecoder.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 e)
            {
                dgvLog.Rows.Add(_counter, time, "?", "?", "Inconnu !", tFrame.Frame.ToString());
                dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = Color.Red;
            }

            _counter++;
            _previousTime = tFrame.Date;
        }
Ejemplo n.º 6
0
 public void Buzz(int freqHz, int durationMs)
 {
     _communication.SendFrame(CanFrameFactory.BuildBeep(CanBoard.CanAlim, freqHz, durationMs));
 }