-
-
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 | |
***************************************** |
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.
Dear,
Problem to compile with line 109 : byteLength = "";
invalid conversion from 'const char*' to 'int' [-fpermissive]
Any idea ?
Thanks
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
Thanks kstahl, I'll try this next weekend.
On line 41 you might want to change:
to
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.