Initial commit
This is just the 2018 code configured for PlatformIO
This commit is contained in:
55
lib/due_can/examples/CAN_SendingTest/CAN_SendingTest.ino
Normal file
55
lib/due_can/examples/CAN_SendingTest/CAN_SendingTest.ino
Normal file
@ -0,0 +1,55 @@
|
||||
//Reads all traffic on CAN0 and forwards it to CAN1 (and in the reverse direction) but modifies some frames first.
|
||||
// Required libraries
|
||||
#include "variant.h"
|
||||
#include <due_can.h>
|
||||
|
||||
//Leave defined if you use native port, comment if using programming port
|
||||
#define Serial SerialUSB
|
||||
|
||||
void setup()
|
||||
{
|
||||
|
||||
Serial.begin(115200);
|
||||
|
||||
// Initialize CAN0 and CAN1, Set the proper baud rates here
|
||||
Can0.begin(CAN_BPS_250K);
|
||||
Can1.begin(CAN_BPS_250K);
|
||||
|
||||
Can0.watchFor();
|
||||
}
|
||||
|
||||
void sendData()
|
||||
{
|
||||
CAN_FRAME outgoing;
|
||||
outgoing.id = 0x400;
|
||||
outgoing.extended = false;
|
||||
outgoing.priority = 4; //0-15 lower is higher priority
|
||||
|
||||
outgoing.data.s0 = 0xFEED;
|
||||
outgoing.data.byte[2] = 0xDD;
|
||||
outgoing.data.byte[3] = 0x55;
|
||||
outgoing.data.high = 0xDEADBEEF;
|
||||
Can0.sendFrame(outgoing);
|
||||
}
|
||||
|
||||
void loop(){
|
||||
CAN_FRAME incoming;
|
||||
static unsigned long lastTime = 0;
|
||||
|
||||
if (Can0.available() > 0) {
|
||||
Can0.read(incoming);
|
||||
Can1.sendFrame(incoming);
|
||||
}
|
||||
if (Can1.available() > 0) {
|
||||
Can1.read(incoming);
|
||||
Can0.sendFrame(incoming);
|
||||
}
|
||||
|
||||
if ((millis() - lastTime) > 1000)
|
||||
{
|
||||
lastTime = millis();
|
||||
sendData();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user