17 个不稳定版本 (7 个破坏性版本)
0.8.4 | 2022年6月24日 |
---|---|
0.7.0 | 2021年10月22日 |
0.5.0 | 2021年1月13日 |
0.3.0 | 2020年10月18日 |
0.1.4 | 2020年7月4日 |
#648 在 硬件支持
每月22次下载
79KB
1.5K SLoC
Lynxmotion 智能伺服驱动程序
此crate提供了一个用于Lynxmotion智能伺服的异步串行驱动程序。
您可以在官方robotshop wiki上了解更多关于伺服器的信息。
驱动程序
智能伺服器通过串行UART协议进行控制。
您可以在这里了解该协议。在尝试使用此驱动程序之前,强烈建议至少浏览一下协议页面。
此驱动程序目前并未实现所有协议功能。
一些缺失的功能包括修饰符和设置命令。
如果您希望添加任何缺失的命令或功能,请随时提出PR或issue。
此驱动程序使用async/await
。因此,您需要使用异步运行时。该驱动程序基于tokio-serial,因此tokio是一个不错的选择,但任何运行时都应适用。
使用
此crate附带多个示例。
如果您想了解如何使用它,这些示例是一个很好的开始。
#[tokio::main]
async fn main() {
// Create a driver on port `COM14` or `/dev/ttyUSB0`...
let mut driver = lss_driver::LSSDriver::new("COM14").unwrap();
// In case there is only one servo connected
// we can query it's ID using the broadcast ID
let id = driver.query_id(lss_driver::BROADCAST_ID).await.unwrap();
// move motor with ID 5 to 90.0 degrees
driver.move_to_position(5, 90.0).await.unwrap();
// Set color of servo with ID 5 to Magenta
driver.set_color(5, lss_driver::LedColor::Magenta).await.unwrap();
}
构建
此包不依赖于任何本地库。
Rust serialport 在GNU Linux上依赖于pkg-config
和libudev-dev
,但对于此crate应禁用。
如果您遇到它们失败的问题,可能需要查看它们的依赖关系,并在此处提出issue。
变更日志
版本 0.5.0 - (2020-01-13)
- Windows 支持
版本 0.6.1 - (2021-09-28)
- 支持 Tokio 1.0(现在也支持 Windows!)
免责声明
本软件未获得 Lynxmotion 或 Robotshop 的官方认可!
所有产品名称、标志和品牌均为其各自所有者的财产。本网站中使用的一切公司、产品和服务名称仅用于识别目的。使用这些名称、标志和品牌不表示认可。
依赖项
~5–15MB
~177K SLoC