OICAN
Description
CAN functions. This feature is only available on OICore module. Please check out OICore pinout to see CAN interfaces on OICore module.
CAN Standard Example
#include "OpenIndus.h"
#include "Arduino.h"
#include "CAN.h"
OICanMessage_t rx_msg;
OICanMessage_t tx_msg;
void setup()
{
CAN.begin();
tx_msg.id = 11;
tx_msg.count = 8;
tx_msg.msg[0] = 'A';
tx_msg.msg[1] = 'U';
tx_msg.msg[2] = 'R';
tx_msg.msg[3] = 'E';
tx_msg.msg[4] = 'L';
tx_msg.msg[5] = 'I';
tx_msg.msg[6] = 'E';
tx_msg.msg[7] = 'N';
tx_msg.IDE = false; //Standard ID, not extended
tx_msg.RTR = false; //No remote request frame
CAN.write(tx_msg);
CAN.setStandardFilter(0xFF0, 0x0AA);
}
void loop()
{
if(CAN.available())
{
rx_msg = CAN.read();
printf("NEW MESSAGE // ID : %d, length : %d MSG : ", rx_msg.id, rx_msg.count);
for(int i =0; i <rx_msg.count; i++)
{
printf("%x", rx_msg.msg[i]);
}
printf(" // \n");
}
delay(100);
}
CAN Extended Example
#include "OpenIndus.h"
#include "Arduino.h"
#include "CAN.h"
OICanMessage_t rx_msg;
OICanMessage_t tx_msg;
void setup()
{
CAN.begin(1000000, true);
tx_msg.id = 11111;
tx_msg.count = 8;
tx_msg.msg[0] = 'A';
tx_msg.msg[1] = 'U';
tx_msg.msg[2] = 'R';
tx_msg.msg[3] = 'E';
tx_msg.msg[4] = 'L';
tx_msg.msg[5] = 'I';
tx_msg.msg[6] = 'E';
tx_msg.msg[7] = 'N';
tx_msg.IDE = true; //Extended ID, not standard
tx_msg.RTR = false; //No remote request frame
CAN.write(tx_msg);
CAN.setExtendedFilter(0xFFF0, 0xAAA0);
}
void loop()
{
if(CAN.available())
{
rx_msg = CAN.read();
printf("NEW MESSAGE // ID : %d, length : %d MSG : ", rx_msg.id, rx_msg.count);
for(int i =0; i <rx_msg.count; i++)
{
printf("%x", rx_msg.msg[i]);
}
printf(" // \n");
}
delay(100);
}
Functions
Warning
doxygenfunction: Cannot find function “OICAN::begin” in doxygen xml output for project “OI-Library” from directory: ./../build/xml/
Warning
doxygenfunction: Cannot find function “OICAN::end” in doxygen xml output for project “OI-Library” from directory: ./../build/xml/
Warning
doxygenfunction: Cannot find function “OICAN::write” in doxygen xml output for project “OI-Library” from directory: ./../build/xml/
Warning
doxygenfunction: Cannot find function “OICAN::available” in doxygen xml output for project “OI-Library” from directory: ./../build/xml/
Warning
doxygenfunction: Cannot find function “OICAN::read” in doxygen xml output for project “OI-Library” from directory: ./../build/xml/
Warning
doxygenfunction: Cannot find function “OICAN::setStandardFilter” in doxygen xml output for project “OI-Library” from directory: ./../build/xml/
Warning
doxygenfunction: Cannot find function “OICAN::setExtendedFilter” in doxygen xml output for project “OI-Library” from directory: ./../build/xml/
Warning
doxygenstruct: Cannot find class “OICanMessage_t” in doxygen xml output for project “OI-Library” from directory: ./../build/xml/