Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in 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