Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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

Merged
merged 1 commit into from
Sep 12, 2022

Conversation

aentinger
Copy link
Member

@aentinger aentinger commented Sep 9, 2022

@github-actions
Copy link

github-actions bot commented Sep 9, 2022

Memory usage change @ 575ad6b

Board flash % RAM for global variables %
arduino:mbed_edge:edge_control 💚 -64 - 0 -0.01 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nano:nano33ble 💚 -64 - 0 -0.01 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 💚 -66 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_portenta:envie_m4 💚 -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 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrfox1200 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1310 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrzero 💚 -68 - 0 -0.03 - 0.0 0 - 0 0.0 - 0.0
esp32:esp32:esp32 💚 -64 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
rp2040:rp2040:rpipico 💚 -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<br>flash,%,examples/MCP2515-CAN-Sniffer<br>RAM for global variables,%,examples/MCP2515-Loopback<br>flash,%,examples/MCP2515-Loopback<br>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

…AN frames.

This prevents the dreaded unintented priority (and therefore frame order) inversion on the CAN bus.
@aentinger aentinger changed the title Fugly fix: only use a single transmit buffer. Fix: Only use a single transmit buffer when transmitting OpenCyphal/CAN frames. Sep 12, 2022
@aentinger aentinger self-assigned this Sep 12, 2022
@aentinger aentinger marked this pull request as ready for review September 12, 2022 05:57
@aentinger aentinger added type: bug topic: firmware Code that runs on an embedded system. labels Sep 12, 2022
@aentinger aentinger merged commit b22a226 into main Sep 12, 2022
@aentinger aentinger deleted the disable-tx-queue branch September 12, 2022 06:00
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
topic: firmware Code that runs on an embedded system. type: bug
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant