5 个版本

0.1.4 2020年7月5日
0.1.3 2020年6月21日
0.1.2 2020年6月19日
0.1.1 2020年6月15日
0.1.0 2020年6月15日

#724硬件支持

Download history 23/week @ 2024-03-30 3/week @ 2024-04-06 3/week @ 2024-05-25 2/week @ 2024-06-01

52 每月下载次数

MIT 许可证

98KB
2.5K SLoC

toio-rs

toio 驱动程序(Rust 版)

Latest version Documentation License Actions Status

demo

  • 支持在 技术规范(版本 2.1.0) 中定义的所有消息。
  • 支持异步/等待。
  • 提供类似于 JavaScript 版本 的功能。
  • 提供易于使用的顶层 API。
  • 提供允许细粒度控制和配置的低层 API。
  • 计划实现跨平台。目标平台包括
    • macOS
    • Windows 10 (待办事项)
    • Linux (待办事项)
use std::time::Duration;
use toio::Cube;
use tokio::time::delay_for;

#[tokio::main]
async fn main() {
    // Search for the nearest cube
    let mut cube = Cube::search().nearest().await.unwrap();

    // Connect
    cube.connect().await.unwrap();

    // Move forward
    cube.go(20, 20, None).await.unwrap();

    delay_for(Duration::from_secs(3)).await;

    // Move backward
    cube.go(-15, -15, None).await.unwrap();

    delay_for(Duration::from_secs(3)).await;

    // Spin counterclockwise
    cube.go(5, 50, None).await.unwrap();

    delay_for(Duration::from_secs(3)).await;

    // Spin clockwise
    cube.go(50, 5, None).await.unwrap();

    delay_for(Duration::from_secs(3)).await;

    // Stop
    cube.stop().await.unwrap();
}

依赖关系

~8–18MB
~210K SLoC