4个版本
0.1.3 | 2020年3月24日 |
---|---|
0.1.2 | 2020年3月24日 |
0.1.1 | 2020年2月23日 |
0.1.0 | 2020年2月10日 |
2 / #parrot
46KB
883 代码行
parrot_ar_drone
简介
这是一个控制Parrot AR Drone 2.0的Rust API。它基于ps_drone(Python API),如果该API的作者需要的话可能会被下架(希望不要)。
Cargo
parrot_ar_drone = "0.1.0"
示例代码
use parrot_ar_drone::*;
use navdata::NavDataValue;
use std::{time, thread};
fn main() {
let mut drone = get_drone();
let test_result = drone.startup();
match test_result {
Ok(()) => {
println!("Drone connection successful.");
thread::sleep(time::Duration::from_secs(3)); // It is advised to wait a bit for the connections to establish.
drone.trim();
let mut i = 0;
drone.takeoff();
loop {
thread::sleep(time::Duration::from_secs(1));
match drone.get_navdata("demo_battery") {
Some(NavDataValue::Uint(a)) => { println!("Battery: {}%", a); }
_ => { println!("Battery status unknown!"); }
}
match drone.get_navdata("header_seq_num") {
Some(NavDataValue::Uint(a)) => { println!("Seq num: {}", a); }
_ => { println!("Seq num unknown!"); }
}
match drone.get_navdata("demo_altitude") {
Some(NavDataValue::Int(a)) => { println!("Alt: {}", a); }
_ => { println!("Altitude unknown!"); }
}
i += 1;
if i == 10 {
break;
}
}
drone.land();
drone.shutdown();
}
_ => {}
}
}
依赖项
~1.5MB
~20K SLoC