-
Notifications
You must be signed in to change notification settings - Fork 100
/
Copy pathCAN_Read_Demo.ino
64 lines (48 loc) · 1.37 KB
/
CAN_Read_Demo.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/****************************************************************************
CAN Read Demo for the SparkFun CAN Bus Shield.
Written by Stephen McCoy.
Original tutorial available here: http://www.instructables.com/id/CAN-Bus-Sniffing-and-Broadcasting-with-Arduino
Used with permission 2016. License CC By SA.
Distributed as-is; no warranty is given.
*************************************************************************/
#include <Canbus.h>
#include <defaults.h>
#include <global.h>
#include <mcp2515.h>
#include <mcp2515_defs.h>
tCAN message;
void setup() {
Serial.begin(9600); // For debug use
Serial.println("CAN Read - Testing receival of CAN Bus message");
delay(1000);
if (Canbus.init(CANSPEED_500)) {
Serial.println("CAN Init ok");
} else {
Serial.println("Can't init CAN");
}
delay(1000);
}
void loop() {
if (!mcp2515_check_message()) {
return;
}
memset(&message, 0, sizeof(message))
if (!mcp2515_get_message(&message)) {
return;
}
/* uncomment when you want to filter
if(message.id == 0x620 and message.data[2] != 0xFF) {
return;
}
*/
Serial.print("ID: ");
Serial.print(message.id,HEX);
Serial.print(", ");
Serial.print("Data: ");
Serial.print(message.header.length,DEC);
for(int i = 0; i < message.header.length; i++) {
Serial.print(message.data[i], HEX);
Serial.print(" ");
}
Serial.println();
}