1 2 3 4 5 6 7 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 69 70 71 72 73 74 75 76 77 78
#![deny(missing_docs)]
//! # Rust language bindings for ev3dev
//!
//! ```no_run
//! extern crate ev3dev_lang_rust;
//!
//! use ev3dev_lang_rust::Ev3Result;
//! use ev3dev_lang_rust::motors::{LargeMotor, MotorPort};
//! use ev3dev_lang_rust::sensors::ColorSensor;
//!
//! fn main() -> Ev3Result<()> {
//!
//! // Get large motor on port outA.
//! let large_motor = LargeMotor::get(MotorPort::OutA)?;
//!
//! // Set command "run-direct".
//! large_motor.run_direct()?;
//!
//! // Run motor.
//! large_motor.set_duty_cycle_sp(50)?;
//!
//! // Find color sensor. Always returns the first recognized one.
//! let color_sensor = ColorSensor::find()?;
//!
//! // Switch to rgb mode.
//! color_sensor.set_mode_rgb_raw()?;
//!
//! // Get current rgb color tuple.
//! println!("Current rgb color: {:?}", color_sensor.get_rgb()?);
//!
//! Ok(())
//! }
//! ```
#[cfg(feature = "screen")]
extern crate framebuffer;
#[cfg(feature = "screen")]
extern crate image;
#[macro_use]
extern crate ev3dev_lang_rust_derive;
extern crate libc;
#[macro_use]
mod findable;
mod attribute;
pub use attribute::Attribute;
mod driver;
pub use driver::Driver;
mod device;
pub use device::Device;
mod utils;
pub use utils::{Ev3Error, Ev3Result, Port};
pub mod wait;
pub mod motors;
pub mod sensors;
mod led;
pub use led::Led;
pub mod sound;
mod buttons;
pub use buttons::Ev3Button;
mod power_supply;
pub use power_supply::PowerSupply;
#[cfg(feature = "screen")]
mod screen;
#[cfg(feature = "screen")]
pub use screen::Screen;