Skip to content

Raspberry Pi Pico MCP2515 CAN-Bus Interface Library

License

Notifications You must be signed in to change notification settings

Kitsune-Robotics/pico-mcp2515

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry Pi Pico MCP2515 CAN interface library

This Raspberry Pi Pico library is a ported & optimized version of the magnificent library arduino-mcp2515 by autowp.

Optimization

This library was optimized to use SPI transfer of multiple bytes in a single function call. This is contrary to the original code where for loop was heavily used. Theese optimizations might seem insignificant as they shave only few microseconds each time but they surely add up. If the only goal of the microcontroller is to poll CAN-Bus frames, the speedup can reach roughly from 20 to 40% depending on frame byte count!

Benchmark used with frame polling:

Frame bytes Before [µs] After [µs] Speedup [%]
0 35 29 22.8
1 37 29 21.6
2 39 30 30.0
3 41 31 32.3
4 43 32 34.4
5 45 33 36.4
6 47 34 38.2
7 49 35 40.0
8 51 36 41.7
Average 43 31.9 33.0

This software is written by loovee ([email protected]) for seeed studio, updated by Dmitry (https://github.com/autowp) and then ported by Piotr Adamczyk https://github.com/adamczykpiotr and is licensed under The MIT License. Check LICENSE.md for more information.

Contributing to this software is warmly welcomed. You can do this basically by forking, committing modifications and then pulling requests (follow the links above for operating guide). Adding change log and your contact into file header is encouraged. Thanks for your contribution.

Seeed Studio is an open hardware facilitation company based in Shenzhen, China. Benefiting from local manufacture power and convenient global logistic system, we integrate resources to serve new era of innovation. Seeed also works with global distributors and partners to push open hardware movement

About

Raspberry Pi Pico MCP2515 CAN-Bus Interface Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 88.7%
  • CMake 8.0%
  • C 3.3%