pub struct Drone {
pub time_start: Instant,
pub time_transfer: Instant,
pub time_receive: Instant,
pub receiver: Receiver,
pub buffer: [u8; 1024],
pub port: Result<Box<dyn SerialPort>>,
pub flag_show_debug_message: bool,
}
Fields§
§time_start: Instant
§time_transfer: Instant
§time_receive: Instant
§receiver: Receiver
§buffer: [u8; 1024]
§port: Result<Box<dyn SerialPort>>
§flag_show_debug_message: bool
Implementations§
Source§impl Drone
impl Drone
Sourcepub fn new(port_name: &str) -> Drone
pub fn new(port_name: &str) -> Drone
Examples found in repository?
examples/request_controller.rs (line 9)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
More examples
examples/button.rs (line 9)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/joystick.rs (line 9)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/uwb.rs (line 8)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM4"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyUSB0"); // linux
if drone.is_connected() == false {
println!("Device is NOT Connected!");
return;
}
//drone.set_show_debug_message(true);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 3600 {
break;
}
}
}
examples/request_drone.rs (line 9)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
println!("Is not connected!");
return;
}
//drone.request(DeviceType::Controller, DataType::Information);
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
examples/vibrator.rs (line 9)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
println!("#1");
drone.vibrator(200, 200, 2000);
drone.sleep(2500);
println!("#2");
drone.vibrator(100, 200, 2000);
drone.sleep(2500);
println!("#3");
drone.vibrator(200, 100, 2000);
drone.sleep(2500);
println!("#4");
drone.vibrator(100, 100, 2000);
drone.sleep(2500);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
Additional examples can be found in:
pub fn set_show_debug_message(&mut self, flag_show_debug_message: bool)
Sourcepub fn is_connected(&mut self) -> bool
pub fn is_connected(&mut self) -> bool
Examples found in repository?
examples/request_controller.rs (line 12)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
More examples
examples/button.rs (line 12)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/joystick.rs (line 12)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/uwb.rs (line 11)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM4"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyUSB0"); // linux
if drone.is_connected() == false {
println!("Device is NOT Connected!");
return;
}
//drone.set_show_debug_message(true);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 3600 {
break;
}
}
}
examples/request_drone.rs (line 12)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
println!("Is not connected!");
return;
}
//drone.request(DeviceType::Controller, DataType::Information);
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
examples/vibrator.rs (line 12)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
println!("#1");
drone.vibrator(200, 200, 2000);
drone.sleep(2500);
println!("#2");
drone.vibrator(100, 200, 2000);
drone.sleep(2500);
println!("#3");
drone.vibrator(200, 100, 2000);
drone.sleep(2500);
println!("#4");
drone.vibrator(100, 100, 2000);
drone.sleep(2500);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
Additional examples can be found in:
Sourcepub fn check(&mut self) -> Data
pub fn check(&mut self) -> Data
Examples found in repository?
examples/request_controller.rs (line 19)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
More examples
examples/button.rs (line 20)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/joystick.rs (line 20)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/uwb.rs (line 19)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM4"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyUSB0"); // linux
if drone.is_connected() == false {
println!("Device is NOT Connected!");
return;
}
//drone.set_show_debug_message(true);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 3600 {
break;
}
}
}
examples/request_drone.rs (line 21)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
println!("Is not connected!");
return;
}
//drone.request(DeviceType::Controller, DataType::Information);
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
examples/vibrator.rs (line 35)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
println!("#1");
drone.vibrator(200, 200, 2000);
drone.sleep(2500);
println!("#2");
drone.vibrator(100, 200, 2000);
drone.sleep(2500);
println!("#3");
drone.vibrator(200, 100, 2000);
drone.sleep(2500);
println!("#4");
drone.vibrator(100, 100, 2000);
drone.sleep(2500);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
Additional examples can be found in:
Sourcepub fn get_time_passed_from_start(&self) -> u128
pub fn get_time_passed_from_start(&self) -> u128
Examples found in repository?
examples/display.rs (line 48)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn get_time_passed_from_last_transfer(&self) -> u128
pub fn get_time_passed_from_last_transfer(&self) -> u128
Examples found in repository?
examples/request_controller.rs (line 21)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
More examples
examples/button.rs (line 22)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/joystick.rs (line 22)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/uwb.rs (line 21)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM4"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyUSB0"); // linux
if drone.is_connected() == false {
println!("Device is NOT Connected!");
return;
}
//drone.set_show_debug_message(true);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 3600 {
break;
}
}
}
examples/request_drone.rs (line 23)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
println!("Is not connected!");
return;
}
//drone.request(DeviceType::Controller, DataType::Information);
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
examples/vibrator.rs (line 37)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
println!("#1");
drone.vibrator(200, 200, 2000);
drone.sleep(2500);
println!("#2");
drone.vibrator(100, 200, 2000);
drone.sleep(2500);
println!("#3");
drone.vibrator(200, 100, 2000);
drone.sleep(2500);
println!("#4");
drone.vibrator(100, 100, 2000);
drone.sleep(2500);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
Additional examples can be found in:
pub fn get_time_passed_from_last_receive(&self) -> u128
Sourcepub fn sleep(&self, time_sleep_ms: u64)
pub fn sleep(&self, time_sleep_ms: u64)
Examples found in repository?
examples/vibrator.rs (line 20)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
println!("#1");
drone.vibrator(200, 200, 2000);
drone.sleep(2500);
println!("#2");
drone.vibrator(100, 200, 2000);
drone.sleep(2500);
println!("#3");
drone.vibrator(200, 100, 2000);
drone.sleep(2500);
println!("#4");
drone.vibrator(100, 100, 2000);
drone.sleep(2500);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
More examples
examples/flight.rs (line 29)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
//let mut drone: Drone = Drone::new("/dev/serial0"); // raspberry pi uart
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
println!("Takeoff");
drone.takeoff();
drone.sleep(4000);
println!("Go Forward");
drone.control_position(2.0, 0.0, 0.0, 1.0, 0, 0);
drone.sleep(5000);
println!("Landing");
drone.landing();
drone.sleep(4000);
println!("Bye");
}
examples/light.rs (line 49)
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
fn show(drone: &mut Drone, title: String, sub_title: String, time_wait_sec: i32)
{
drone.sleep(10);
drone.draw_clear_all(Pixel::White);
drone.sleep(10);
drone.draw_string_align(0, 128, 32 - 4 - 8 - 4, Align::Center, Font::LM5x8, Pixel::Black, title);
drone.sleep(10);
drone.draw_string_align(0, 128, 32 - 4, Align::Center, Font::LM5x8, Pixel::Black, sub_title);
if time_wait_sec == 0 {
return;
}
drone.sleep(10);
let mut time_remain = time_wait_sec;
loop
{
drone.draw_string_align(0, 128, 32 + 4 + 4, Align::Center, Font::LM5x8, Pixel::Black, format!(" {} ", time_remain));
drone.sleep(1000);
time_remain = time_remain - 1;
if time_remain <= 0 {
break;
}
}
}
examples/display.rs (line 18)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
examples/buzzer.rs (line 17)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.buzzer_hz(DeviceType::Controller, 1200, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1000, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(2000);
drone.buzzer_hz(DeviceType::Controller, 1000, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1200, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(2000);
}
examples/test_buzzer.rs (line 19)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
//*
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 3000);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::CS4, 3000);
drone.sleep(1200);
drone.buzzer_stop(DeviceType::Controller);
drone.sleep(3200);
// */
/*
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::CS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::DS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::FS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::GS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::AS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C5, 3000);
drone.sleep(3200);
// */
/*
drone.buzzer_hz_reserve(DeviceType::Controller, 1000, 3000);
drone.sleep(3200);
drone.buzzer_hz_reserve(DeviceType::Controller, 2000, 3000);
drone.sleep(3200);
// */
/*
drone.buzzer_hz_reserve(DeviceType::Drone, 1000, 3000);
drone.sleep(3200);
drone.buzzer_hz_reserve(DeviceType::Drone, 2000, 3000);
drone.sleep(3200);
// */
}
pub fn send(&mut self, slice_data: &[u8]) -> bool
Sourcepub fn request(&mut self, target: DeviceType, data_type: DataType) -> bool
pub fn request(&mut self, target: DeviceType, data_type: DataType) -> bool
Examples found in repository?
examples/request_controller.rs (line 16)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
More examples
examples/button.rs (line 16)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/joystick.rs (line 16)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
loop
{
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 10000 {
break;
}
}
}
examples/request_drone.rs (line 18)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
println!("Is not connected!");
return;
}
//drone.request(DeviceType::Controller, DataType::Information);
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
examples/vibrator.rs (line 16)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
println!("#1");
drone.vibrator(200, 200, 2000);
drone.sleep(2500);
println!("#2");
drone.vibrator(100, 200, 2000);
drone.sleep(2500);
println!("#3");
drone.vibrator(200, 100, 2000);
drone.sleep(2500);
println!("#4");
drone.vibrator(100, 100, 2000);
drone.sleep(2500);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
examples/flight.rs (line 17)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
//let mut drone: Drone = Drone::new("/dev/serial0"); // raspberry pi uart
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
println!("Takeoff");
drone.takeoff();
drone.sleep(4000);
println!("Go Forward");
drone.control_position(2.0, 0.0, 0.0, 1.0, 0, 0);
drone.sleep(5000);
println!("Landing");
drone.landing();
drone.sleep(4000);
println!("Bye");
}
pub fn command( &mut self, target: DeviceType, command_type: CommandType, option: u8, ) -> bool
pub fn flight_event(&mut self, event: FlightEvent) -> bool
Sourcepub fn takeoff(&mut self) -> bool
pub fn takeoff(&mut self) -> bool
Examples found in repository?
examples/flight.rs (line 28)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
//let mut drone: Drone = Drone::new("/dev/serial0"); // raspberry pi uart
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
println!("Takeoff");
drone.takeoff();
drone.sleep(4000);
println!("Go Forward");
drone.control_position(2.0, 0.0, 0.0, 1.0, 0, 0);
drone.sleep(5000);
println!("Landing");
drone.landing();
drone.sleep(4000);
println!("Bye");
}
Sourcepub fn landing(&mut self) -> bool
pub fn landing(&mut self) -> bool
Examples found in repository?
examples/flight.rs (line 36)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
//let mut drone: Drone = Drone::new("/dev/serial0"); // raspberry pi uart
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
println!("Takeoff");
drone.takeoff();
drone.sleep(4000);
println!("Go Forward");
drone.control_position(2.0, 0.0, 0.0, 1.0, 0, 0);
drone.sleep(5000);
println!("Landing");
drone.landing();
drone.sleep(4000);
println!("Bye");
}
pub fn stop(&mut self) -> bool
pub fn set_default(&mut self) -> bool
pub fn set_mode_control_flight(&mut self) -> bool
pub fn headless(&mut self, headless: Headless) -> bool
pub fn clear_bias(&mut self) -> bool
pub fn clear_trim(&mut self) -> bool
pub fn trim(&mut self, roll: i16, pitch: i16, yaw: i16, throttle: i16) -> bool
pub fn control(&mut self, roll: i8, pitch: i8, yaw: i8, throttle: i8) -> bool
pub fn control_request( &mut self, roll: i8, pitch: i8, yaw: i8, throttle: i8, data_type: DataType, ) -> bool
Sourcepub fn control_position(
&mut self,
x: f32,
y: f32,
z: f32,
velocity: f32,
heading: i16,
rotational_velocity: i16,
) -> bool
pub fn control_position( &mut self, x: f32, y: f32, z: f32, velocity: f32, heading: i16, rotational_velocity: i16, ) -> bool
Examples found in repository?
examples/flight.rs (line 32)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
//let mut drone: Drone = Drone::new("/dev/serial0"); // raspberry pi uart
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Drone, DataType::Information);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
println!("Takeoff");
drone.takeoff();
drone.sleep(4000);
println!("Go Forward");
drone.control_position(2.0, 0.0, 0.0, 1.0, 0, 0);
drone.sleep(5000);
println!("Landing");
drone.landing();
drone.sleep(4000);
println!("Bye");
}
pub fn battle_ir_message(&mut self, ir_message: u8) -> bool
pub fn battle_light_event_command( &mut self, target: DeviceType, event: u8, interval: u16, repeat: u8, r: u8, g: u8, b: u8, command_type: CommandType, option: u8, ) -> bool
pub fn battle_ir_message_light_event_command( &mut self, target: DeviceType, ir_message: u8, event: u8, interval: u16, repeat: u8, r: u8, g: u8, b: u8, command_type: CommandType, option: u8, ) -> bool
pub fn light_manual( &mut self, target: DeviceType, flags: u16, brightness: u8, ) -> bool
pub fn light_mode( &mut self, target: DeviceType, mode: u8, interval: u16, ) -> bool
pub fn light_event( &mut self, target: DeviceType, event: u8, interval: u16, repeat: u8, ) -> bool
Sourcepub fn light_mode_color(
&mut self,
target: DeviceType,
mode: u8,
interval: u16,
r: u8,
g: u8,
b: u8,
) -> bool
pub fn light_mode_color( &mut self, target: DeviceType, mode: u8, interval: u16, r: u8, g: u8, b: u8, ) -> bool
Examples found in repository?
examples/light.rs (line 17)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.light_mode_color(DeviceType::Controller, light::ModeLight::BodyFlicker.into(), 200, 240, 240, 20);
show(&mut drone, String::from("BODY FLICKER"), String::from("YELLOW"), 5);
drone.light_mode_color(DeviceType::Controller, light::ModeLight::BodyFlicker.into(), 200, 20, 240, 240);
show(&mut drone, String::from("BODY FLICKER"), String::from("CYAN"), 5);
drone.light_mode_color(DeviceType::Controller, light::ModeLight::BodyFlicker.into(), 200, 240, 20, 240);
show(&mut drone, String::from("BODY FLICKER"), String::from("MAGENTA"), 5);
drone.light_mode_color(DeviceType::Controller, light::ModeLight::BodyDimming.into(), 2, 240, 240, 20);
show(&mut drone, String::from("BODY DIMMING"), String::from("YELLOW"), 5);
drone.light_mode_color(DeviceType::Controller, light::ModeLight::BodyDimming.into(), 2, 20, 240, 240);
show(&mut drone, String::from("BODY DIMMING"), String::from("CYAN"), 5);
drone.light_mode_color(DeviceType::Controller, light::ModeLight::BodyDimming.into(), 2, 240, 20, 240);
show(&mut drone, String::from("BODY DIMMING"), String::from("MAGENTA"), 5);
drone.light_mode_color(DeviceType::Controller, light::ModeLight::BodyRainbow.into(), 3, 0, 0, 0);
show(&mut drone, String::from("BODY RAINBOW"), String::from(""), 12);
drone.light_mode_color(DeviceType::Controller, light::ModeLight::BodyRainbow2.into(), 3, 0, 0, 0);
show(&mut drone, String::from("BODY RAINBOW 2"), String::from(""), 12);
show(&mut drone, String::from(""), String::from("BYE"), 0);
}
pub fn light_event_color( &mut self, target: DeviceType, event: u8, interval: u16, repeat: u8, r: u8, g: u8, b: u8, ) -> bool
pub fn light_default( &mut self, target: DeviceType, mode: u8, interval: u16, r: u8, g: u8, b: u8, ) -> bool
Sourcepub fn buzzer_stop(&mut self, target: DeviceType) -> bool
pub fn buzzer_stop(&mut self, target: DeviceType) -> bool
Examples found in repository?
examples/test_buzzer.rs (line 20)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
//*
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 3000);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::CS4, 3000);
drone.sleep(1200);
drone.buzzer_stop(DeviceType::Controller);
drone.sleep(3200);
// */
/*
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::CS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::DS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::FS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::GS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::AS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C5, 3000);
drone.sleep(3200);
// */
/*
drone.buzzer_hz_reserve(DeviceType::Controller, 1000, 3000);
drone.sleep(3200);
drone.buzzer_hz_reserve(DeviceType::Controller, 2000, 3000);
drone.sleep(3200);
// */
/*
drone.buzzer_hz_reserve(DeviceType::Drone, 1000, 3000);
drone.sleep(3200);
drone.buzzer_hz_reserve(DeviceType::Drone, 2000, 3000);
drone.sleep(3200);
// */
}
Sourcepub fn buzzer_scale(
&mut self,
target: DeviceType,
scale: Scale,
time: u16,
) -> bool
pub fn buzzer_scale( &mut self, target: DeviceType, scale: Scale, time: u16, ) -> bool
Examples found in repository?
examples/buzzer.rs (line 21)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.buzzer_hz(DeviceType::Controller, 1200, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1000, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(2000);
drone.buzzer_hz(DeviceType::Controller, 1000, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1200, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(2000);
}
Sourcepub fn buzzer_scale_reserve(
&mut self,
target: DeviceType,
scale: Scale,
time: u16,
) -> bool
pub fn buzzer_scale_reserve( &mut self, target: DeviceType, scale: Scale, time: u16, ) -> bool
Examples found in repository?
examples/buzzer.rs (line 23)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.buzzer_hz(DeviceType::Controller, 1200, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1000, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(2000);
drone.buzzer_hz(DeviceType::Controller, 1000, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1200, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(2000);
}
More examples
examples/test_buzzer.rs (line 17)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
//*
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 3000);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::CS4, 3000);
drone.sleep(1200);
drone.buzzer_stop(DeviceType::Controller);
drone.sleep(3200);
// */
/*
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::CS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::DS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::FS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::GS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::AS4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 3000);
drone.sleep(3200);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C5, 3000);
drone.sleep(3200);
// */
/*
drone.buzzer_hz_reserve(DeviceType::Controller, 1000, 3000);
drone.sleep(3200);
drone.buzzer_hz_reserve(DeviceType::Controller, 2000, 3000);
drone.sleep(3200);
// */
/*
drone.buzzer_hz_reserve(DeviceType::Drone, 1000, 3000);
drone.sleep(3200);
drone.buzzer_hz_reserve(DeviceType::Drone, 2000, 3000);
drone.sleep(3200);
// */
}
Sourcepub fn buzzer_hz(&mut self, target: DeviceType, hz: u16, time: u16) -> bool
pub fn buzzer_hz(&mut self, target: DeviceType, hz: u16, time: u16) -> bool
Examples found in repository?
examples/buzzer.rs (line 16)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.buzzer_hz(DeviceType::Controller, 1200, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1000, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(2000);
drone.buzzer_hz(DeviceType::Controller, 1000, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1200, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(2000);
}
Sourcepub fn buzzer_hz_reserve(
&mut self,
target: DeviceType,
hz: u16,
time: u16,
) -> bool
pub fn buzzer_hz_reserve( &mut self, target: DeviceType, hz: u16, time: u16, ) -> bool
Examples found in repository?
examples/buzzer.rs (line 18)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.buzzer_hz(DeviceType::Controller, 1200, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1000, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(2000);
drone.buzzer_hz(DeviceType::Controller, 1000, 100);
drone.sleep(10);
drone.buzzer_hz_reserve(DeviceType::Controller, 1200, 100);
drone.sleep(500);
drone.buzzer_scale(DeviceType::Controller, buzzer::Scale::C5, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::B4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::A4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::G4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::F4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::E4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::D4, 100);
drone.sleep(10);
drone.buzzer_scale_reserve(DeviceType::Controller, buzzer::Scale::C4, 100);
drone.sleep(2000);
}
pub fn buzzer_mute(&mut self, target: DeviceType, time: u16) -> bool
pub fn buzzer_mute_reserve(&mut self, target: DeviceType, time: u16) -> bool
Sourcepub fn vibrator(&mut self, on: u16, off: u16, time: u16) -> bool
pub fn vibrator(&mut self, on: u16, off: u16, time: u16) -> bool
Examples found in repository?
examples/vibrator.rs (line 19)
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.request(DeviceType::Controller, DataType::Information);
println!("#1");
drone.vibrator(200, 200, 2000);
drone.sleep(2500);
println!("#2");
drone.vibrator(100, 200, 2000);
drone.sleep(2500);
println!("#3");
drone.vibrator(200, 100, 2000);
drone.sleep(2500);
println!("#4");
drone.vibrator(100, 100, 2000);
drone.sleep(2500);
loop {
handler(&drone.check());
if drone.get_time_passed_from_last_transfer() > 1200 {
break;
}
}
}
pub fn vibrator_reserve(&mut self, on: u16, off: u16, time: u16) -> bool
Sourcepub fn draw_clear_all(&mut self, pixel: Pixel) -> bool
pub fn draw_clear_all(&mut self, pixel: Pixel) -> bool
Examples found in repository?
examples/light.rs (line 50)
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
fn show(drone: &mut Drone, title: String, sub_title: String, time_wait_sec: i32)
{
drone.sleep(10);
drone.draw_clear_all(Pixel::White);
drone.sleep(10);
drone.draw_string_align(0, 128, 32 - 4 - 8 - 4, Align::Center, Font::LM5x8, Pixel::Black, title);
drone.sleep(10);
drone.draw_string_align(0, 128, 32 - 4, Align::Center, Font::LM5x8, Pixel::Black, sub_title);
if time_wait_sec == 0 {
return;
}
drone.sleep(10);
let mut time_remain = time_wait_sec;
loop
{
drone.draw_string_align(0, 128, 32 + 4 + 4, Align::Center, Font::LM5x8, Pixel::Black, format!(" {} ", time_remain));
drone.sleep(1000);
time_remain = time_remain - 1;
if time_remain <= 0 {
break;
}
}
}
More examples
examples/display.rs (line 17)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn draw_clear(
&mut self,
x: i16,
y: i16,
width: i16,
height: i16,
pixel: Pixel,
) -> bool
pub fn draw_clear( &mut self, x: i16, y: i16, width: i16, height: i16, pixel: Pixel, ) -> bool
Examples found in repository?
examples/display.rs (line 20)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn draw_invert(&mut self, x: i16, y: i16, width: i16, height: i16) -> bool
pub fn draw_invert(&mut self, x: i16, y: i16, width: i16, height: i16) -> bool
Examples found in repository?
examples/display.rs (line 23)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn draw_point(&mut self, x: i16, y: i16, pixel: Pixel) -> bool
pub fn draw_point(&mut self, x: i16, y: i16, pixel: Pixel) -> bool
Examples found in repository?
examples/display.rs (line 26)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn draw_line(
&mut self,
x1: i16,
y1: i16,
x2: i16,
y2: i16,
pixel: Pixel,
line: Line,
) -> bool
pub fn draw_line( &mut self, x1: i16, y1: i16, x2: i16, y2: i16, pixel: Pixel, line: Line, ) -> bool
Examples found in repository?
examples/display.rs (line 29)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn draw_rect(
&mut self,
x: i16,
y: i16,
width: i16,
height: i16,
pixel: Pixel,
fill: bool,
line: Line,
) -> bool
pub fn draw_rect( &mut self, x: i16, y: i16, width: i16, height: i16, pixel: Pixel, fill: bool, line: Line, ) -> bool
Examples found in repository?
examples/display.rs (line 32)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn draw_circle(
&mut self,
x: i16,
y: i16,
radius: i16,
pixel: Pixel,
fill: bool,
) -> bool
pub fn draw_circle( &mut self, x: i16, y: i16, radius: i16, pixel: Pixel, fill: bool, ) -> bool
Examples found in repository?
examples/display.rs (line 35)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn draw_string(
&mut self,
x: i16,
y: i16,
font: Font,
pixel: Pixel,
string: String,
) -> bool
pub fn draw_string( &mut self, x: i16, y: i16, font: Font, pixel: Pixel, string: String, ) -> bool
Examples found in repository?
examples/display.rs (line 38)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
Sourcepub fn draw_string_align(
&mut self,
x_start: i16,
x_end: i16,
y: i16,
align: Align,
font: Font,
pixel: Pixel,
string: String,
) -> bool
pub fn draw_string_align( &mut self, x_start: i16, x_end: i16, y: i16, align: Align, font: Font, pixel: Pixel, string: String, ) -> bool
Examples found in repository?
examples/light.rs (line 53)
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
fn show(drone: &mut Drone, title: String, sub_title: String, time_wait_sec: i32)
{
drone.sleep(10);
drone.draw_clear_all(Pixel::White);
drone.sleep(10);
drone.draw_string_align(0, 128, 32 - 4 - 8 - 4, Align::Center, Font::LM5x8, Pixel::Black, title);
drone.sleep(10);
drone.draw_string_align(0, 128, 32 - 4, Align::Center, Font::LM5x8, Pixel::Black, sub_title);
if time_wait_sec == 0 {
return;
}
drone.sleep(10);
let mut time_remain = time_wait_sec;
loop
{
drone.draw_string_align(0, 128, 32 + 4 + 4, Align::Center, Font::LM5x8, Pixel::Black, format!(" {} ", time_remain));
drone.sleep(1000);
time_remain = time_remain - 1;
if time_remain <= 0 {
break;
}
}
}
More examples
examples/display.rs (line 45)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
fn main() {
let mut drone: Drone = Drone::new("COM75"); // windows
//let mut drone: Drone = Drone::new("/dev/ttyACM0"); // linux
if drone.is_connected() == false {
return;
}
drone.draw_clear_all(Pixel::Black);
drone.sleep(1000);
drone.draw_clear(10, 10, 108, 44, Pixel::White);
drone.sleep(1000);
drone.draw_invert(5, 5, 20, 20);
drone.sleep(1000);
drone.draw_point(30, 30, Pixel::Black);
drone.sleep(1000);
drone.draw_line(108, 30, 20, 44, Pixel::Black, Line::Solid);
drone.sleep(1000);
drone.draw_rect(20, 10, 90, 40, Pixel::Black, true, Line::Solid);
drone.sleep(1000);
drone.draw_circle(64, 32, 30, Pixel::White, true);
drone.sleep(1000);
drone.draw_string(40, 18, Font::LM5x8, Pixel::Black, String::from("HELLO WORLD"));
drone.sleep(1000);
loop {
let now = Local::now();
let str_time: String = format!("{:02}:{:02}:{:02}", now.hour(), now.minute(), now.second());
drone.draw_string_align(0, 128, 40, Align::Center, Font::LM10x16, Pixel::White, str_time);
drone.sleep(27);
if drone.get_time_passed_from_start() > 20000 {
break;
}
}
drone.draw_string(40, 20, Font::LM10x16, Pixel::White, String::from(" BYE "));
drone.sleep(1000);
}
pub fn draw_image( &mut self, x: i16, y: i16, width: i16, height: i16, vec_image: Vec<u8>, ) -> bool
Auto Trait Implementations§
impl Freeze for Drone
impl !RefUnwindSafe for Drone
impl Send for Drone
impl !Sync for Drone
impl Unpin for Drone
impl !UnwindSafe for Drone
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more