4个版本 (破坏性)
0.4.0 | 2024年1月7日 |
---|---|
0.3.0 | 2022年12月10日 |
0.2.0 | 2021年12月6日 |
0.1.0 | 2021年12月5日 |
#190 in 硬件支持
用于 bricks
225KB
5.5K SLoC
Rust乐高Power-Up通信库
示例
查看示例目录了解更多!
use lego_powered_up::{notifications::Power, PoweredUp};
use std::time::Duration;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
println!("Listening for hubs...");
let mut pu = PoweredUp::init().await?;
let hub = pu.wait_for_hub().await?;
println!("Connecting to hub `{}`", hub.name);
let hub = pu.create_hub(&hub).await?;
println!("Change the hub LED to green");
let mut hub_led = hub.port(lego_powered_up::hubs::Port::HubLed).await?;
hub_led.set_rgb(&[0, 0xff, 0]).await?;
println!("Run motors");
let mut motor_c = hub.port(lego_powered_up::hubs::Port::C).await?;
let mut motor_d = hub.port(lego_powered_up::hubs::Port::D).await?;
motor_c.start_speed(50, Power::Cw(50)).await?;
motor_d.start_speed(50, Power::Cw(50)).await?;
tokio::time::sleep(Duration::from_secs(3)).await;
println!("Stop motors");
motor_c.start_speed(0, Power::Float).await?;
motor_d.start_speed(0, Power::Brake).await?;
println!("Disconnect from hub `{}`", hub.name().await?);
hub.disconnect().await?;
println!("Done!");
Ok(())
}
贡献
欢迎贡献,特别是在以下领域
- 错误报告和功能请求
- 除了Technic Medium Hub以外的集线器支持(目前我没有其他类型进行测试)
- 除了简单的电机和集线器LED以外的外围设备支持
- 良好的API来控制例如电机位置
- 更多示例来展示我们可以做的事情
- 客户端实现
#![no_std]
支持(控制器 & 客户端)- 在非Linux操作系统上测试/移植,例如Windows & Mac
许可证
本库在Mozilla Public License 2.0条款下提供。
依赖
~5–34MB
~503K SLoC