Cover image
Try Now
2024-07-18

no_std library for the MCP2510, MCP2515 and MCP25625 CAN controller chips

3 years

Works with Finder

1

Github Watches

6

Github Forks

5

Github Stars

mcp25xx

github Crates.io docs.rs

no_std library for the MCP2510, MCP2515 and MCP25625 CAN controller chips.

API is implemented in terms of of the embedded_hal and embedded_can traits.

Activating the mcp2515 or mcp25625 feature will enable additional registers and instructions the MCP2510 does not support.

Example

use embedded_can::nb::Can;
use embedded_can::{Frame, StandardId};
use mcp25xx::bitrates::clock_16mhz::CNF_500K_BPS;
use mcp25xx::registers::{OperationMode, RXB0CTRL, RXM};
use mcp25xx::{CanFrame, Config, MCP25xx};

// spi is a struct implementing embedded_hal::spi::SpiDevice.

let mut mcp25xx = MCP25xx { spi };

let config = Config::default()
    .mode(OperationMode::NormalOperation)
    .bitrate(CNF_500K_BPS)
    .receive_buffer_0(RXB0CTRL::default().with_rxm(RXM::ReceiveAny));

mcp25xx.apply_config(&config).unwrap();

// Send a frame
let can_id = StandardId::new(123).unwrap();
let data = [1, 2, 3, 4, 5, 6, 7, 8];
let frame = CanFrame::new(can_id, &data).unwrap();
mcp25xx.transmit(&frame).unwrap();

// Receive a frame
if let Ok(frame) = mcp25xx.try_receive() {
    let _can_id = frame.id();
    let _data = frame.data();
}

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

相关推荐

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Lists Tailwind CSS classes in monospaced font

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • https://appia.in
  • Siri Shortcut Finder – your go-to place for discovering amazing Siri Shortcuts with ease

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • tomoyoshi hirata
  • Sony α7IIIマニュアルアシスタント

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • jae-jae
  • MCP server for fetch web page content using Playwright headless browser.

  • ravitemer
  • A powerful Neovim plugin for managing MCP (Model Context Protocol) servers

  • patruff
  • Bridge between Ollama and MCP servers, enabling local LLMs to use Model Context Protocol tools

  • pontusab
  • The Cursor & Windsurf community, find rules and MCPs

  • av
  • Effortlessly run LLM backends, APIs, frontends, and services with one command.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的LLM资料总结(Agent框架、辅助编程、数据处理、模型训练、模型推理、o1 模型、MCP、小语言模型、视觉语言模型) | Summary of the world's best LLM resources.

  • Mintplex-Labs
  • The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.

  • appcypher
  • Awesome MCP Servers - A curated list of Model Context Protocol servers

    Reviews

    2 (1)
    Avatar
    user_fatRlT2k
    2025-04-18

    I have been using the mcp25xx by WMT-GmbH, and it has transformed my workflow! This product is highly efficient and user-friendly. The developers did an excellent job with its functionality and robustness. Check it out at https://github.com/WMT-GmbH/mcp25xx. Highly recommend!