8 个版本 (重大更改)
0.8.0 | 2024 年 4 月 6 日 |
---|---|
0.7.0 | 2024 年 4 月 6 日 |
0.6.0 | 2023 年 8 月 6 日 |
0.5.0 | 2022 年 6 月 9 日 |
0.1.0 | 2021 年 11 月 28 日 |
#187 在 硬件支持
每月 81 次下载
43KB
969 代码行
as5600-rs
Rust 集成式硬件抽象层(HAL)驱动程序,用于 AS5600 无触点 12 位数字电位计
状态
- 读取/解析所有设备寄存器
- 写入配置设置
- 设置零位置、最大位置、最大角度
- 烧录设置和角度
示例
以下是如何在树莓派上使用此驱动程序
use std::{thread, time::Duration};
use as5600::As5600;
use linux_embedded_hal::I2cdev;
fn main() {
let mut i2c = I2cdev::new("/dev/i2c-1").unwrap();
let mut as5600 = As5600::new(i2c);
let config = as5600.config().unwrap();
println!("{:?}", config);
thread::sleep(Duration::from_secs(2));
let status = as5600.magnet_status().unwrap();
let agc = as5600.automatic_gain_control().unwrap();
let mag = as5600.magnitude().unwrap();
let zmco = as5600.zmco().unwrap();
println!("{:?}", status);
println!("{:?}", agc);
println!("{:?}", mag);
println!("{:?}", zmco);
thread::sleep(Duration::from_secs(2));
loop {
let value = as5600.angle().unwrap();
println!("{:?}", value);
thread::sleep(Duration::from_millis(100));
}
}
TODO 对于一个更加轻松和文明的时代
[ ] 为 AS5600 制作一个带旋钮的木质外壳,该旋钮在正确的距离处旋转径向磁铁 [ ] 制作一个类似于 ebyte-e32-ui 的 CLI/GUI 工具 [ ] 使用 klask 进度条或类似的东西来显示当前磁铁角度
许可证
根据您选择,受以下任一许可证的约束:
- Apache 许可证 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则您有意提交以包含在作品中的任何贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~0.4–1MB
~21K SLoC