#spi #hal #i2c #delay #io

开发 embedded-hal-mock

一组实现了嵌入式-hal特质的模拟设备

19个版本 (10个重大更新)

0.11.1 2024年6月2日
0.10.0 2024年1月11日
0.10.0-rc.42023年12月14日
0.10.0-rc.32023年11月29日
0.1.0 2018年3月31日

#9嵌入式开发

Download history 1026/week @ 2024-05-03 870/week @ 2024-05-10 1454/week @ 2024-05-17 1686/week @ 2024-05-24 1474/week @ 2024-05-31 835/week @ 2024-06-07 872/week @ 2024-06-14 1253/week @ 2024-06-21 1350/week @ 2024-06-28 1404/week @ 2024-07-05 1630/week @ 2024-07-12 2287/week @ 2024-07-19 1683/week @ 2024-07-26 1825/week @ 2024-08-02 2224/week @ 2024-08-09 1437/week @ 2024-08-16

7,546 每月下载量
189 个crate中使用 (188直接使用)

MIT/Apache

185KB
4K SLoC

embedded-hal-mock

GitHub Actions Minimum Rust Version Crates.io Version

这是一个实现了嵌入式-hal特质的类型集合。

实现从未访问真实硬件。相反,使用模拟或无操作实现。

该crate的目标是在没有访问硬件的情况下,能够在CI中测试驱动程序。

文档

用法

有关更多信息,请参阅模块级文档。

嵌入式_hal版本

此crate支持嵌入式-hal的0.x和1.x版本。默认情况下,仅启用0.x版本的支持。要启用1.x版本的支持,请使用eh1功能。

Cargo功能

目前有以下cargo功能

  • eh0:提供模拟嵌入式-hal 0.x版本的eh0模块(默认启用)
  • eh1:提供模拟嵌入式-hal 1.x版本的eh1模块(默认启用)
  • embedded-time:启用eh0::timer模块(默认启用)
  • embedded-hal-async:在eh1中提供嵌入式-hal-async的模拟

no_std

目前此crate不是no_std。如果您认为这很重要,请告诉我。

状态

功能 嵌入式-hal embeded-hal-async
I²C
SPI
No-op延迟
实际延迟
串行 -
RNG - -
IO引脚(包括PWM)
ADC -
定时器(需要embedded-time Cargo功能) -

欢迎提交更多模拟实现的拉取请求! :)

最低支持的Rust版本(MSRV)

此crate保证在稳定Rust 1.63及更高版本上编译。它可能可以用较旧版本编译,但在任何新的补丁版本中可能会更改。

嵌入式-hal的开发版本

如果您想使用当前的开发版本 embedded-hal(或任何其他版本),只要它们是API兼容的,您可以在您的 Cargo.toml 文件中使用补丁字段来覆盖依赖项版本。

[patch.crates-io]
eh1 = { git = "https://github.com/rust-embedded/embedded-hal" }

许可协议

根据以下任一协议许可

贡献

除非您明确表示,否则您根据 Apache-2.0 许可证定义的任何有意提交以包含在本作品中的贡献,将如上双重许可,没有任何额外的条款或条件。

依赖关系

~685KB
~12K SLoC