107-systems / 107-Arduino-MCP2515

Arduino library for controlling the MCP2515 in order to receive/transmit CAN frames.
https://107-systems.org
MIT License
88 stars 14 forks source link

Fix: Only use a single transmit buffer when transmitting OpenCyphal/CAN frames. #65

Closed aentinger closed 2 years ago

aentinger commented 2 years ago

See https://forum.opencyphal.org/t/uavcan-can-tx-buffer-management-in-can-fd-controllers/1215 .

github-actions[bot] commented 2 years ago

Memory usage change @ 575ad6bc099e26d573ea72404937095dc4ea793d

Board flash % RAM for global variables %
arduino:mbed_edge:edge_control :green_heart: -64 - 0 -0.01 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nano:nano33ble :green_heart: -64 - 0 -0.01 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect :green_heart: -66 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_portenta:envie_m4 :green_heart: -64 - 0 -0.01 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_portenta:envie_m7 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrfox1200 :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1310 :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrzero :green_heart: -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
esp32:esp32:esp32 :green_heart: -64 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
rp2040:rp2040:rpipico :green_heart: -72 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table Board|examples/MCP2515-CAN-Sniffer
flash|%|examples/MCP2515-CAN-Sniffer
RAM for global variables|%|examples/MCP2515-Loopback
flash|%|examples/MCP2515-Loopback
RAM for global variables|% -|-|-|-|-|-|-|-|- arduino:mbed_edge:edge_control|0|0.0|0|0.0|-64|-0.01|0|0.0 arduino:mbed_nano:nano33ble|0|0.0|0|0.0|-64|-0.01|0|0.0 arduino:mbed_nano:nanorp2040connect|0|0.0|0|0.0|-66|-0.0|0|0.0 arduino:mbed_portenta:envie_m4|0|0.0|0|0.0|-64|-0.01|0|0.0 arduino:mbed_portenta:envie_m7|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkr1000|0|0.0|0|0.0|-68|-0.03|0|0.0 arduino:samd:mkrfox1200|0|0.0|0|0.0|-68|-0.03|0|0.0 arduino:samd:mkrgsm1400|0|0.0|0|0.0|-68|-0.03|0|0.0 arduino:samd:mkrnb1500|0|0.0|0|0.0|-68|-0.03|0|0.0 arduino:samd:mkrvidor4000|0|0.0|0|0.0|-68|-0.03|0|0.0 arduino:samd:mkrwan1300|0|0.0|0|0.0|-68|-0.03|0|0.0 arduino:samd:mkrwan1310|0|0.0|0|0.0|-68|-0.03|0|0.0 arduino:samd:mkrwifi1010|0|0.0|0|0.0|-68|-0.03|0|0.0 arduino:samd:mkrzero|0|0.0|0|0.0|-68|-0.03|0|0.0 esp32:esp32:esp32|0|0.0|0|0.0|-64|-0.0|0|0.0 rp2040:rp2040:rpipico|0|0.0|0|0.0|-72|-0.0|0|0.0
Click for full report CSV ``` Board,examples/MCP2515-CAN-Sniffer
flash,%,examples/MCP2515-CAN-Sniffer
RAM for global variables,%,examples/MCP2515-Loopback
flash,%,examples/MCP2515-Loopback
RAM for global variables,% arduino:mbed_edge:edge_control,0,0.0,0,0.0,-64,-0.01,0,0.0 arduino:mbed_nano:nano33ble,0,0.0,0,0.0,-64,-0.01,0,0.0 arduino:mbed_nano:nanorp2040connect,0,0.0,0,0.0,-66,-0.0,0,0.0 arduino:mbed_portenta:envie_m4,0,0.0,0,0.0,-64,-0.01,0,0.0 arduino:mbed_portenta:envie_m7,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkr1000,0,0.0,0,0.0,-68,-0.03,0,0.0 arduino:samd:mkrfox1200,0,0.0,0,0.0,-68,-0.03,0,0.0 arduino:samd:mkrgsm1400,0,0.0,0,0.0,-68,-0.03,0,0.0 arduino:samd:mkrnb1500,0,0.0,0,0.0,-68,-0.03,0,0.0 arduino:samd:mkrvidor4000,0,0.0,0,0.0,-68,-0.03,0,0.0 arduino:samd:mkrwan1300,0,0.0,0,0.0,-68,-0.03,0,0.0 arduino:samd:mkrwan1310,0,0.0,0,0.0,-68,-0.03,0,0.0 arduino:samd:mkrwifi1010,0,0.0,0,0.0,-68,-0.03,0,0.0 arduino:samd:mkrzero,0,0.0,0,0.0,-68,-0.03,0,0.0 esp32:esp32:esp32,0,0.0,0,0.0,-64,-0.0,0,0.0 rp2040:rp2040:rpipico,0,0.0,0,0.0,-72,-0.0,0,0.0 ```