4 个版本
0.10.4 | 2024 年 5 月 25 日 |
---|---|
0.10.3 | 2024 年 5 月 25 日 |
0.9.0-alpha |
|
在 机器人 中排名 #84
每月下载 263 次
61KB
1K SLoC
sybot
一个简单的库,用于控制组件和机器人组。
syact 的扩展库。
-- 未完成的文档 --
完整文档将很快添加
目标
- 创建一个控制机器人、将它们暴露给网络并进行基本计算的综合性库
行动中
以下示例创建了一个新的 SyArm 机器人,运行所有设置函数并执行 GCode 脚本。
点击显示 Cargo.toml
# ...
[dependencies]
# Include the library configured for the raspberry pi
sybot = { version = "0.8.2, features = [ "rasp" ] }
# ...
use sybot::{Robot, JsonConfig, ActRobot, Setup};
use sybot::robot::SyArm;
use sybot::intpr::Interpreter;
use sybot::intpr::gcode::init_intpr;
fn main() -> std::io::Result<()> {
// Load the standard-partlibs in order to use motor names as data
//
// ```json
// "device": {
// "consts": "MOT_17HE15_1504S", // Motor name, see
// // <https://docs.rs/syact/0.11.1/syact/data/struct.StepperConst.html#associatedconstant.MOT_17HE15_1504S>
// "pin_dir": 17,
// "pin_step": 26
// },
// ```
let libs = sybot::partlib::create_std_libs();
// Create the robot out of the [configuration file]
// (https://github.com/SamuelNoesslboeck/sybot/blob/master/res/SyArm_Mk1.conf.json)
let mut syarm = SyArm::from_conf(
JsonConfig::read_from_file(&libs, "res/SyArm_Mk1.conf.json")
)?;
// Run setup functions
syarm.setup();
// Enables async movements (multiple motors moving at once)
syarm.setup_async();
// DEBUG
// Select "NoTool" at index 2
syarm.set_tool_id(2);
//
// Create a new GCode interpreter
let intpr = init_intpr();
// Run a GCode script
dbg!(intpr.interpret_file(&mut syarm, "res/gcode/basicYZpos.gcode"));
Ok(())
}
(来源: "examples/in_action.rs")
特性
有关更多特性,请参阅 syact#features
问题和请求
如果您遇到任何问题或对新增功能有任何请求,请随时在 GitHub 仓库 中创建问题。
依赖关系
~7–16MB
~239K SLoC