Skip to content

Instantly share code, notes, and snippets.

@Tbruno25
Created November 26, 2019 18:57
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save Tbruno25/97bb7fc96e3f694721c7f5133f21d386 to your computer and use it in GitHub Desktop.
Save Tbruno25/97bb7fc96e3f694721c7f5133f21d386 to your computer and use it in GitHub Desktop.
// this sketch was brutally hacked together by TJ Bruno --- https://medium.com/@tbruno25
#include <mcp_can.h>
#include <SPI.h>
unsigned long int rxId;
unsigned char len = 0;
unsigned char rxBuf[8];
bool displayOnce;
bool displaySend;
bool x;
bool msgInput;
bool idInput;
bool lengthInput;
bool selection;
byte idLength;
char id[10];
char msg[35];
unsigned char byteMsg[9];
int r;
int t;
int y;
int byteLength;
long int byteId;
String command;
#define CAN0_INT 2 // Set INT to pin 2
MCP_CAN CAN0(10); // Set CS to pin 10
void setup()
{
Serial.begin(115200);
if (CAN0.begin(MCP_ANY, CAN_125KBPS, MCP_8MHZ) == CAN_OK)
{
CAN0.setMode(MCP_NORMAL);
pinMode(CAN0_INT, INPUT);
}
}
void loop1()
{
if (displayOnce == false) {
menu();
}
while (selection == false)
{
if (Serial.available())
{
command = Serial.readStringUntil('\n');
if (command.equals("receive"))
{
selection = true;
loop();
}
else if (command.equals("send"))
{
selection = true;
for (int x = 0; x < 50; x++) Serial.println();
send();
}
}
}
}
void send()
{
sendMenu();
clear();
for (int x = 0; x < 1; x++)
{
if (byteId > 2048)
{
r = 1;
}
else
{
r = 0;
}
Serial.print("id = "); Serial.print(byteId, HEX);
Serial.print(" length = "); Serial.print(byteLength);
Serial.print(" msg = "); while (t < byteLength)
{
Serial.print(byteMsg[t], HEX); Serial.print(" "); t++;
}
Serial.println(); Serial.println(); Serial.println("To send , press [enter].");
Serial.println(); Serial.println();
}
while (msgInput = true)
{
if (Serial.available())
{
command = Serial.readStringUntil('\n');
if (command.equals(""))
{
byte sndStat = CAN0.sendMsgBuf(byteId, r, byteLength, byteMsg);
Serial.println("Message Sent!");
}
if (command.equals("C") or command.equals("c"))
{
clear();
t = 0;
byteLength = "";
displayOnce = false;
msgInput = false;
selection = false;
loop1();
}
}
}
}
void loop()
{
while (!digitalRead(CAN0_INT))
{
CAN0.readMsgBuf(&rxId, &len, rxBuf);
Serial.print("FRAME:ID=");
if ((rxId & 0x80000000) == 0x80000000)
{
Serial.print(rxId & 0x1FFFFFFF);
}
else
{
Serial.print(rxId);
}
Serial.print(":LEN=");
Serial.print(len);
char msgString[3];
for (byte i = 0; i < len; i++)
{
Serial.print(":");
snprintf(msgString, 3, "%02X", rxBuf[i]);
Serial.print(msgString);
}
if (Serial.available())
{
command = Serial.readStringUntil('\n');
if (command.equals("C") or command.equals("c"))
{
clear();
selection = false;
x = false;
loop1();
}
}
Serial.println();
}
if (digitalRead(CAN0_INT))
{
if (x == false)
{
clear();
Serial.println("||||| Nothing to read ||||| or ||||| Can bus not detected |||||");
for (int x = 0; x < 12 ; x++)Serial.println();
x = true;
}
}
if (Serial.available())
{
command = Serial.readStringUntil('\n');
if (command.equals("C") or command.equals("c"))
{
clear();
selection = false;
x = false;
loop1();
}
}
}
void clear()
{
while (Serial.available())
{
char t = Serial.read();
}
for (int x = 0; x < 50; x++) Serial.println(); // clear the monitor text
displayOnce = false; //display menu options
}
void menu()
{
delay(750);
Serial.println(); Serial.println(); Serial.println();
Serial.println("Type 'receive' to monitor the bus");
Serial.println(" or");
Serial.println("Type 'send' to transmit a message");
Serial.println(); Serial.println(); Serial.println();
delay(1000);
Serial.println("Type 'C' to return back to this menu");
Serial.println(); Serial.println(); Serial.println(); Serial.println();
displayOnce = true;
return;
}
void sendMenu()
{
Serial.println("What is the can id?");
Serial.println(); Serial.println(); Serial.println();
while (idInput == false)
{
if (Serial.available())
{
Serial.readBytesUntil('\n', id, 10);
unsigned long k;
char *endptr;
k = strtol(id, &endptr, 16);
byteId = k;
idInput = true;
}
}
Serial.println("How many bytes is the message?");
Serial.println(); Serial.println(); Serial.println();
while (lengthInput == false)
{
if (Serial.available())
{
byteLength = Serial.parseInt();
if ((byteLength > 0) && (byteLength < 9))
{
lengthInput = true;
}
}
}
Serial.print("Input the message data"); Serial.print(" ");
Serial.print("***NOTE: "); Serial.print("Use the following format: A1,B2,C3,etc."); Serial.println();
while (msgInput == false)
{
if (Serial.available())
{
Serial.readBytesUntil(',', msg, 3);
int z;
char *endptr;
z = strtol(msg, &endptr, 16);
byteMsg[y - 1] = z;
y++;
}
if (y > byteLength )
{
idInput = false;
lengthInput = false;
msgInput = true;
y = 0;
}
}
}
/*********************************************************************************************************
END FILE
*****************************************
@marcusrussi
Copy link

On line 41 you might want to change:

CAN0.setMode(MCP_NORMAL);

to

CAN0.setMode(MCP_LISTENONLY)

This prevents the 2515 from transmitting an ACK bit over the bus when receiving frames. It is likely that at least in some cars, components look for this ACK bit during Tx and I can think of a few situations (a component attempting to communicate with a broken component, for example) where the 2515 transmitting an ACK bit could modify the behavior of the system you are trying to sniff.

@marcusrussi
Copy link

From the datasheet:

10.3Listen-only Mode
Listen-only mode provides a means for the MCP2515
to  receive  all  messages  (including  messages  with
errors) by configuring the RXBnCTRL.RXM<1:0> bits.
This mode can be used for bus monitor applications or
for detecting the baud rate in ‘hot plugging’ situations.
For auto-baud detection, it is necessary that there are
at least two other nodes that are communicating with
each other. The baud rate can be detected empirically
by  testing  different  values  until  valid  messages  are
received.

Listen-only   mode   is   a   silent   mode,   meaning   no
messages  will  be  transmitted  while  in  this  mode
(including  error  flags  or  acknowledge  signals).  The
filters and masks can be used to allow only particular
messages to be loaded into the receive registers, or the
masks can be set to all zeros to allow a message with
any identifier to pass. The error counters are reset and
deactivated  in  this  state.  The  Listen-only  mode  is
activated  by  setting  the  mode  request  bits  in  the
CANCTRL register.

@Tbruno25
Copy link
Author

Tbruno25 commented Jan 20, 2020 via email

@tshaad
Copy link

tshaad commented Sep 28, 2021

Dear,
Problem to compile with line 109 : byteLength = "";

invalid conversion from 'const char*' to 'int' [-fpermissive]

Any idea ?
Thanks

@Pajo16
Copy link

Pajo16 commented Oct 24, 2021

Dear, Problem to compile with line 109 : byteLength = "";

invalid conversion from 'const char*' to 'int' [-fpermissive]

Any idea ? Thanks

tshaad

I have the same issue when I try to upload to mu NANO. Here is the error log:

/home/patrick/Downloads/arduino-1.8.13/arduino-builder -dump-prefs -logger=machine -hardware /home/patrick/Downloads/arduino-1.8.13/hardware -hardware /home/patrick/.arduino15/packages -tools /home/patrick/Downloads/arduino-1.8.13/tools-builder -tools /home/patrick/Downloads/arduino-1.8.13/hardware/tools/avr -tools /home/patrick/.arduino15/packages -built-in-libraries /home/patrick/Downloads/arduino-1.8.13/libraries -libraries /home/patrick/Arduino/libraries -fqbn=arduino:samd:nano_33_iot -vid-pid=2341_8057 -ide-version=10813 -build-path /tmp/arduino_build_715673 -warnings=none -build-cache /tmp/arduino_cache_826412 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/patrick/.arduino15/packages/arduino/tools/arduinoOTA/1.2.1 -prefs=runtime.tools.arduinoOTA-1.2.1.path=/home/patrick/.arduino15/packages/arduino/tools/arduinoOTA/1.2.1 -prefs=runtime.tools.arm-none-eabi-gcc.path=/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4 -prefs=runtime.tools.arm-none-eabi-gcc-7-2017q4.path=/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4 -prefs=runtime.tools.CMSIS.path=/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0 -prefs=runtime.tools.CMSIS-4.5.0.path=/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0 -prefs=runtime.tools.CMSIS-Atmel.path=/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0 -prefs=runtime.tools.CMSIS-Atmel-1.2.0.path=/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0 -prefs=runtime.tools.bossac.path=/home/patrick/.arduino15/packages/arduino/tools/bossac/1.7.0-arduino3 -prefs=runtime.tools.bossac-1.7.0-arduino3.path=/home/patrick/.arduino15/packages/arduino/tools/bossac/1.7.0-arduino3 -prefs=runtime.tools.openocd.path=/home/patrick/.arduino15/packages/arduino/tools/openocd/0.10.0-arduino7 -prefs=runtime.tools.openocd-0.10.0-arduino7.path=/home/patrick/.arduino15/packages/arduino/tools/openocd/0.10.0-arduino7 -verbose /tmp/arduino_modified_sketch_790192/canano.ino
/home/patrick/Downloads/arduino-1.8.13/arduino-builder -compile -logger=machine -hardware /home/patrick/Downloads/arduino-1.8.13/hardware -hardware /home/patrick/.arduino15/packages -tools /home/patrick/Downloads/arduino-1.8.13/tools-builder -tools /home/patrick/Downloads/arduino-1.8.13/hardware/tools/avr -tools /home/patrick/.arduino15/packages -built-in-libraries /home/patrick/Downloads/arduino-1.8.13/libraries -libraries /home/patrick/Arduino/libraries -fqbn=arduino:samd:nano_33_iot -vid-pid=2341_8057 -ide-version=10813 -build-path /tmp/arduino_build_715673 -warnings=none -build-cache /tmp/arduino_cache_826412 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/patrick/.arduino15/packages/arduino/tools/arduinoOTA/1.2.1 -prefs=runtime.tools.arduinoOTA-1.2.1.path=/home/patrick/.arduino15/packages/arduino/tools/arduinoOTA/1.2.1 -prefs=runtime.tools.arm-none-eabi-gcc.path=/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4 -prefs=runtime.tools.arm-none-eabi-gcc-7-2017q4.path=/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4 -prefs=runtime.tools.CMSIS.path=/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0 -prefs=runtime.tools.CMSIS-4.5.0.path=/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0 -prefs=runtime.tools.CMSIS-Atmel.path=/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0 -prefs=runtime.tools.CMSIS-Atmel-1.2.0.path=/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0 -prefs=runtime.tools.bossac.path=/home/patrick/.arduino15/packages/arduino/tools/bossac/1.7.0-arduino3 -prefs=runtime.tools.bossac-1.7.0-arduino3.path=/home/patrick/.arduino15/packages/arduino/tools/bossac/1.7.0-arduino3 -prefs=runtime.tools.openocd.path=/home/patrick/.arduino15/packages/arduino/tools/openocd/0.10.0-arduino7 -prefs=runtime.tools.openocd-0.10.0-arduino7.path=/home/patrick/.arduino15/packages/arduino/tools/openocd/0.10.0-arduino7 -verbose /tmp/arduino_modified_sketch_790192/canano.ino
Using board 'nano_33_iot' from platform in folder: /home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11
Using core 'arduino' from platform in folder: /home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11
Detecting libraries used...
/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10813 -DARDUINO_SAMD_NANO_33_IOT -DARDUINO_ARCH_SAMD -DCRYSTALLESS -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x8057 -DUSBCON "-DUSB_MANUFACTURER="Arduino LLC"" "-DUSB_PRODUCT="Arduino NANO 33 IoT"" -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/ -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0/CMSIS/Device/ATMEL/ -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated-avr-comp -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/variants/nano_33_iot /tmp/arduino_build_715673/sketch/canano.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for mcp_can.h: [2021-10-24_MCP_CAN_lib-master]
ResolveLibrary(mcp_can.h)
-> candidates: [2021-10-24_MCP_CAN_lib-master]
/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10813 -DARDUINO_SAMD_NANO_33_IOT -DARDUINO_ARCH_SAMD -DCRYSTALLESS -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x8057 -DUSBCON "-DUSB_MANUFACTURER="Arduino LLC"" "-DUSB_PRODUCT="Arduino NANO 33 IoT"" -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/ -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0/CMSIS/Device/ATMEL/ -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated-avr-comp -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/variants/nano_33_iot -I/home/patrick/Arduino/libraries/2021-10-24_MCP_CAN_lib-master /tmp/arduino_build_715673/sketch/canano.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for SPI.h: [SPI@1.0]
ResolveLibrary(SPI.h)
-> candidates: [SPI@1.0]
/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10813 -DARDUINO_SAMD_NANO_33_IOT -DARDUINO_ARCH_SAMD -DCRYSTALLESS -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x8057 -DUSBCON "-DUSB_MANUFACTURER="Arduino LLC"" "-DUSB_PRODUCT="Arduino NANO 33 IoT"" -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/ -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0/CMSIS/Device/ATMEL/ -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated-avr-comp -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/variants/nano_33_iot -I/home/patrick/Arduino/libraries/2021-10-24_MCP_CAN_lib-master -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/libraries/SPI /tmp/arduino_build_715673/sketch/canano.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10813 -DARDUINO_SAMD_NANO_33_IOT -DARDUINO_ARCH_SAMD -DCRYSTALLESS -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x8057 -DUSBCON "-DUSB_MANUFACTURER="Arduino LLC"" "-DUSB_PRODUCT="Arduino NANO 33 IoT"" -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/ -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0/CMSIS/Device/ATMEL/ -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated-avr-comp -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/variants/nano_33_iot -I/home/patrick/Arduino/libraries/2021-10-24_MCP_CAN_lib-master -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/libraries/SPI /home/patrick/Arduino/libraries/2021-10-24_MCP_CAN_lib-master/mcp_can.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10813 -DARDUINO_SAMD_NANO_33_IOT -DARDUINO_ARCH_SAMD -DCRYSTALLESS -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x8057 -DUSBCON "-DUSB_MANUFACTURER="Arduino LLC"" "-DUSB_PRODUCT="Arduino NANO 33 IoT"" -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/ -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0/CMSIS/Device/ATMEL/ -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated-avr-comp -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/variants/nano_33_iot -I/home/patrick/Arduino/libraries/2021-10-24_MCP_CAN_lib-master -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/libraries/SPI /home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/libraries/SPI/SPI.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Generating function prototypes...
/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -w -x c++ -E -CC -DF_CPU=48000000L -DARDUINO=10813 -DARDUINO_SAMD_NANO_33_IOT -DARDUINO_ARCH_SAMD -DCRYSTALLESS -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x8057 -DUSBCON "-DUSB_MANUFACTURER="Arduino LLC"" "-DUSB_PRODUCT="Arduino NANO 33 IoT"" -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/ -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0/CMSIS/Device/ATMEL/ -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated-avr-comp -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/variants/nano_33_iot -I/home/patrick/Arduino/libraries/2021-10-24_MCP_CAN_lib-master -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/libraries/SPI /tmp/arduino_build_715673/sketch/canano.ino.cpp -o /tmp/arduino_build_715673/preproc/ctags_target_for_gcc_minus_e.cpp -DARDUINO_LIB_DISCOVERY_PHASE
/home/patrick/Downloads/arduino-1.8.13/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_715673/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/home/patrick/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD -DF_CPU=48000000L -DARDUINO=10813 -DARDUINO_SAMD_NANO_33_IOT -DARDUINO_ARCH_SAMD -DCRYSTALLESS -D__SAMD21G18A__ -DUSB_VID=0x2341 -DUSB_PID=0x8057 -DUSBCON "-DUSB_MANUFACTURER="Arduino LLC"" "-DUSB_PRODUCT="Arduino NANO 33 IoT"" -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS/4.5.0/CMSIS/Include/ -I/home/patrick/.arduino15/packages/arduino/tools/CMSIS-Atmel/1.2.0/CMSIS/Device/ATMEL/ -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino/api/deprecated-avr-comp -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/cores/arduino -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/variants/nano_33_iot -I/home/patrick/Arduino/libraries/2021-10-24_MCP_CAN_lib-master -I/home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/libraries/SPI /tmp/arduino_build_715673/sketch/canano.ino.cpp -o /tmp/arduino_build_715673/sketch/canano.ino.cpp.o
/tmp/arduino_modified_sketch_790192/canano.ino: In function 'void send()':
canano:109:22: error: invalid conversion from 'const char*' to 'int' [-fpermissive]
byteLength = " ";
^~~
/tmp/arduino_modified_sketch_790192/canano.ino: At global scope:
canano:260:7: error: expected constructor, destructor, or type conversion before 'FILE'
END FILE
^~~~
Using library 2021-10-24_MCP_CAN_lib-master in folder: /home/patrick/Arduino/libraries/2021-10-24_MCP_CAN_lib-master (legacy)
Using library SPI at version 1.0 in folder: /home/patrick/.arduino15/packages/arduino/hardware/samd/1.8.11/libraries/SPI
exit status 1
invalid conversion from 'const char*' to 'int' [-fpermissive]

Does anyone have any ideas?
Kind Regards,
Patrick

@kstahl48
Copy link

kstahl48 commented Oct 24, 2021 via email

@kstahl48
Copy link

kstahl48 commented Oct 24, 2021 via email

@kstahl48
Copy link

kstahl48 commented Oct 24, 2021 via email

@Pajo16
Copy link

Pajo16 commented Oct 26, 2021

Thanks kstahl, I'll try this next weekend.

@Ashok12698
Copy link

Hi @Tbruno25 @kstahl48 Thanks for sharing.

I tried this but unfortunately it didnt work. Could you please help me!

I am reading FRAME ID and LEN = 0 always.

Also, I didn't see SPI.begin() in here. Where SPI is initiated? please let me know.

I am testing it in LISTENONLY mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment