tele0592 1.2.0

Control an alternate firmware for the DFR0592 DC motor driver hat
Documentation
#![doc = include_str!("../README.md")]
//!
//! # Usage
//! Most users will want to use the [`controller`] module in which commands
//! needed to interact with the motors and the encoders can be found, or the
//! reexported [`Controller`] trait.

#![no_std]

#[cfg(feature = "bootloader")]
pub mod bootloader;
#[cfg(feature = "controller")]
pub mod controller;
pub mod device;

pub use device::Device;

#[cfg(feature = "bootloader")]
pub use bootloader::Bootloader;

#[cfg(feature = "controller")]
pub use controller::Controller;

#[cfg(feature = "low-level")]
/// Low-level constants used by the I²C protocol
///
/// *Note: this requires that the `low-level` feature is selected.*
pub mod low_level {
    #[cfg(feature = "bootloader")]
    pub use super::bootloader::low_level::*;
    #[cfg(feature = "controller")]
    pub use super::controller::low_level::*;
    pub use super::device::low_level::*;
}