#![no_std]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![warn(missing_docs)]
#![deny(unsafe_code)]
mod buttons;
mod buzzer;
mod color;
mod distance;
mod error;
mod hub;
mod i2c_device;
mod joystick;
mod knob;
mod latch_relay;
mod led_matrix;
mod light;
mod motors;
mod movement;
mod opto_relay;
mod pixels;
mod pressure;
mod thermo;
mod vibro;
pub use buttons::{ButtonLed, ButtonState, Buttons};
pub use buzzer::{Buzzer, Note};
pub use color::Color;
pub use distance::Distance;
pub use error::{Error, Result};
pub use hub::{Hub, HubPort};
pub use i2c_device::I2cDevice;
pub use joystick::Joystick;
pub use knob::Knob;
pub use latch_relay::LatchRelay;
pub use led_matrix::{DisplayMode, LedMatrix};
pub use light::{Gain, Light, LightMeasurement, MeasurementRate, Resolution};
pub use motors::{DecayMode, Motors};
pub use movement::{Movement, MovementValues};
pub use opto_relay::OptoRelay;
pub use pixels::Pixels;
pub use pressure::Pressure;
pub use thermo::{Hs3003Error, Thermo, ThermoMeasurement};
pub use vibro::{PowerLevel, Vibro};
pub mod addresses {
pub const BUTTONS: u8 = 0x3E;
pub const BUZZER: u8 = 0x1E;
pub const PIXELS: u8 = 0x36;
pub const DISTANCE: u8 = 0x29;
pub const MOVEMENT: [u8; 2] = [0x6A, 0x6B];
pub const KNOB: [u8; 2] = [0x3A, 0x3B];
pub const THERMO: u8 = 0x44;
pub const JOYSTICK: u8 = 0x2C;
pub const LATCH_RELAY: u8 = 0x02;
pub const OPTO_RELAY: u8 = 0x14;
pub const VIBRO: u8 = 0x38;
pub const LIGHT: u8 = 0x53;
pub const PRESSURE: u8 = 0x5C;
pub const LED_MATRIX: u8 = 0x39;
pub const HUB: u8 = 0x70;
pub const MOTORS: u8 = 0x24;
}
pub mod pinstrap {
pub const BUZZER: u8 = 0x3C;
pub const BUTTONS: u8 = 0x7C;
pub const KNOB: [u8; 2] = [0x76, 0x74];
pub const PIXELS: u8 = 0x6C;
pub const JOYSTICK: u8 = 0x58;
pub const LATCH_RELAY: u8 = 0x04;
pub const OPTO_RELAY: u8 = 0x28;
pub const VIBRO: u8 = 0x70;
pub const MOTORS: u8 = 0x48;
}