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: Extract SPI.beginTransaction from select/deselect callbacks as it breaks when called in ISR context from mbed-based boards. #82

Closed aentinger closed 1 year ago

github-actions[bot] commented 1 year ago

Memory usage change @ 90909b5d9c92142fc54d4a09f51c5a38837ed590

Board flash % RAM for global variables %
arduino:mbed_edge:edge_control :green_heart: -64 - -64 -0.01 - -0.01 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: -16 - -16 -0.0 - -0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrfox1200 :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1310 :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
arduino:samd:mkrzero :green_heart: -16 - -16 -0.01 - -0.01 0 - 0 0.0 - 0.0
rp2040:rp2040:rpipico :green_heart: -16 - -16 -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-Filter
flash|%|examples/MCP2515-Filter
RAM for global variables|%|examples/MCP2515-Loopback
flash|%|examples/MCP2515-Loopback
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|- arduino:mbed_edge:edge_control|-64|-0.01|0|0.0|-64|-0.01|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|-64|-0.01|0|0.0 arduino:mbed_nano:nanorp2040connect|-16|-0.0|0|0.0|-16|-0.0|0|0.0|-16|-0.0|0|0.0 arduino:samd:mkr1000|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 arduino:samd:mkrfox1200|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 arduino:samd:mkrgsm1400|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 arduino:samd:mkrnb1500|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 arduino:samd:mkrvidor4000|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 arduino:samd:mkrwan1300|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 arduino:samd:mkrwan1310|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 arduino:samd:mkrwifi1010|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 arduino:samd:mkrzero|-16|-0.01|0|0.0|-16|-0.01|0|0.0|-16|-0.01|0|0.0 rp2040:rp2040:rpipico|-16|-0.0|0|0.0|-16|-0.0|0|0.0|-16|-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-Filter
flash,%,examples/MCP2515-Filter
RAM for global variables,%,examples/MCP2515-Loopback
flash,%,examples/MCP2515-Loopback
RAM for global variables,% arduino:mbed_edge:edge_control,-64,-0.01,0,0.0,-64,-0.01,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,-64,-0.01,0,0.0 arduino:mbed_nano:nanorp2040connect,-16,-0.0,0,0.0,-16,-0.0,0,0.0,-16,-0.0,0,0.0 arduino:samd:mkr1000,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 arduino:samd:mkrfox1200,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 arduino:samd:mkrgsm1400,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 arduino:samd:mkrnb1500,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 arduino:samd:mkrvidor4000,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 arduino:samd:mkrwan1300,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 arduino:samd:mkrwan1310,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 arduino:samd:mkrwifi1010,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 arduino:samd:mkrzero,-16,-0.01,0,0.0,-16,-0.01,0,0.0,-16,-0.01,0,0.0 rp2040:rp2040:rpipico,-16,-0.0,0,0.0,-16,-0.0,0,0.0,-16,-0.0,0,0.0 ```
aentinger commented 1 year ago

Does not fix #81 . But its a nice simplification none-the-less.