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
//! # msp430-periph
//!
//! Peripheral definition for all MSP430s
//!
//! # Usage
//!
//! Since this crate includes 625 devices and 336 peripherals, everything is feature-gated.
//! That means you have to enable every microcontroller and peripheral you want to use, for example:
//!
//! ```
//! [dependencies.msp430-periph]
//! version = "0.0.5"
//! features = [
//! # your microcontroller
//! "msp430fr5969",
//! # every peripheral you need
//! "watchdog_timer_2",
//! "pmm_4",
//! "portb_3i1",
//! "portb_3i2",
//! ]
//! ```
//!
//! There is also an `-all` version of microcontroller features to enable all peripherals from this microcontroller:
//!
//! ```
//! [dependencies]
//! msp430-periph = { version = "0.0.5", features = [ "msp430fr5969-all" ] }
//! ```
//!
//! To use with the `msp430-rt` runtime, also enable the `rt` feature. No `memory.x` files are needed.
//!
//! # Documentation
//!
//! It is not reasonable to build documentation for the whole crate with all features enabled. You can either look at the
//! source code or build documentation for the features you use by running `cargo doc --open` in your project directory.
//! To locally build documentation only for this crate, run `cargo doc -p msp430-periph --no-deps --open`
#![no_std]
#![allow(bad_style)]
#![recursion_limit="512"]
#![cfg_attr(feature = "rt", feature(abi_msp430_interrupt))]
pub use utils;
/// All devices
///
/// Each devices needs to be enabled by its feature flag.
/// The feature flag with `-all` appended alse enables all related peripherals
///
/// There is also a `device-all` flag, that you likely shouldn't use
pub mod devices;
/// All peripherals
///
/// Each peripherals needs to be enabled by its feature flag.
/// Peripherals are also enabled by the _`devices`_`-all` feature flag.
///
/// There is also a `periph-all` flag, that you likely shouldn't use
pub mod peripherals;
#[cfg(feature = "rt")]
include!(concat!(env!("OUT_DIR"), "/use_interrupt.rs"));
#[cfg(feature = "rt")]
union Vector {
_handler: unsafe extern "msp430-interrupt" fn(),
_reserved: u16,
}