Code, siehe unten. Jedes Signal wird in einer neuen Zeile geplottet und aufgrund der Vielzahl der Signale und IDs wird es einfach unübersichtlich. Man könnte nach speziellen IDs zwar filtern, aber das ist nicht, was ich will. Ich brauche eine Übersicht aller IDs, um bspw. zu sehen auf welche ID das drücken einer Taste Einfluss hat. Aufgrund der Schwankung von Sensoren macht es hier auch keinen Sinn IDs nur auszugeben, wenn dort im Datensatz Änderungen stattfinden, da die Anzahl der geplotteten IDs dann trotzdem immer noch beträchtlich wäre.
#include <SPI.h>
#include <mcp2515.h>
struct can_frame canMsg;
MCP2515 mcp2515(10);
void setup() {
Serial.begin(115200);
SPI.begin();
mcp2515.reset();
mcp2515.setBitrate(CAN_500KBPS);
mcp2515.setNormalMode();
Serial.println("------- CAN Read ----------");
Serial.println("ID DLC DATA");
}
void loop() {
if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) {
Serial.print(canMsg.can_id, HEX); // print ID
Serial.print(" ");
Serial.print(canMsg.can_dlc, HEX); // print DLC
Serial.print(" ");
for (int i = 0; i<canMsg.can_dlc; i++) { // print the data
Serial.print(canMsg.data[i],HEX);
Serial.print(" ");
}
Serial.println();
}
}