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; } }
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(); } }
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(); } }
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); } }
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; }
public void Buzz(int freqHz, int durationMs) { _communication.SendFrame(CanFrameFactory.BuildBeep(CanBoard.CanAlim, freqHz, durationMs)); }