#![feature(alloc)]
#![feature(allocator_api)]
#![feature(asm)]
#![feature(associated_type_defaults)]
#![feature(const_fn)]
#![feature(core_intrinsics)]
#![feature(exhaustive_patterns)]
#![feature(generators)]
#![feature(generator_trait)]
#![feature(lang_items)]
#![feature(linkage)]
#![feature(naked_functions)]
#![feature(never_type)]
#![feature(panic_handler)]
#![feature(prelude_import)]
#![feature(proc_macro_gen)]
#![feature(range_contains)]
#![feature(untagged_unions)]
#![no_std]
#![warn(missing_docs)]
#![doc(html_root_url = "https://docs.rs/drone-stm32/0.8.3")]
#![cfg_attr(test, feature(allocator_internals))]
#![cfg_attr(test, default_lib_allocator)]
#![cfg_attr(feature = "cargo-clippy", allow(precedence, inline_always))]
extern crate alloc;
#[cfg_attr(feature = "cargo-clippy", allow(useless_attribute))]
#[allow(unused_imports)]
#[macro_use]
extern crate drone_core;
extern crate drone_stm32_macros;
extern crate failure;
#[macro_use]
extern crate failure_derive;
extern crate futures;
#[cfg(test)]
#[macro_use]
extern crate test;
#[macro_use]
pub mod itm;
pub mod cpu;
pub mod drv;
pub mod fib;
pub mod prelude;
pub mod reg;
pub mod stack_adapter;
pub mod sv;
pub mod thr;
mod lang_items;
pub use drone_stm32_macros::{sv, vtable};
#[prelude_import]
#[allow(unused_imports)]
use prelude::*;
#[cfg(test)]
drone_core::heap! {
struct Heap;
size = 0x40000;
pools = [
[0x4; 0x4000],
[0x20; 0x800],
[0x100; 0x100],
[0x800; 0x20],
];
}
#[cfg(test)]
#[global_allocator]
static mut GLOBAL: Heap = Heap::new();