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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
#![doc = "Peripheral access API for ESPRESSIF microcontrollers (generated using svd2rust v0.17.0)\n\nYou can find an overview of the API [here].\n\n[here]: https://docs.rs/svd2rust/0.17.0/svd2rust/#peripheral-api"] #![deny(const_err)] #![deny(dead_code)] #![deny(improper_ctypes)] #![deny(legacy_directory_ownership)] #![deny(missing_docs)] #![deny(no_mangle_generic_items)] #![deny(non_shorthand_field_patterns)] #![deny(overflowing_literals)] #![deny(path_statements)] #![deny(patterns_in_fns_without_body)] #![deny(plugin_as_library)] #![deny(private_in_public)] #![deny(safe_extern_statics)] #![deny(unconditional_recursion)] #![deny(unions_with_drop_fields)] #![deny(unused_allocation)] #![deny(unused_comparisons)] #![deny(unused_parens)] #![deny(while_true)] #![allow(non_camel_case_types)] #![allow(non_snake_case)] #![no_std] extern crate bare_metal; extern crate vcell; use core::marker::PhantomData; use core::ops::Deref; #[doc = r"Number available in the NVIC for configuring priority"] pub const NVIC_PRIO_BITS: u8 = 3; #[allow(unused_imports)] use generic::*; #[doc = r"Common register and bit access and modify traits"] pub mod generic; #[doc = "IO_MUX"] pub struct IO_MUX { _marker: PhantomData<*const ()>, } unsafe impl Send for IO_MUX {} impl IO_MUX { #[doc = r"Returns a pointer to the register block"] #[inline(always)] pub const fn ptr() -> *const io_mux::RegisterBlock { 0x6000_0800 as *const _ } } impl Deref for IO_MUX { type Target = io_mux::RegisterBlock; #[inline(always)] fn deref(&self) -> &Self::Target { unsafe { &*IO_MUX::ptr() } } } #[doc = "IO_MUX"] pub mod io_mux; #[doc = "GPIO"] pub struct GPIO { _marker: PhantomData<*const ()>, } unsafe impl Send for GPIO {} impl GPIO { #[doc = r"Returns a pointer to the register block"] #[inline(always)] pub const fn ptr() -> *const gpio::RegisterBlock { 0x6000_0300 as *const _ } } impl Deref for GPIO { type Target = gpio::RegisterBlock; #[inline(always)] fn deref(&self) -> &Self::Target { unsafe { &*GPIO::ptr() } } } #[doc = "GPIO"] pub mod gpio; #[no_mangle] static mut DEVICE_PERIPHERALS: bool = false; #[doc = r"All the peripherals"] #[allow(non_snake_case)] pub struct Peripherals { #[doc = "IO_MUX"] pub IO_MUX: IO_MUX, #[doc = "GPIO"] pub GPIO: GPIO, } impl Peripherals { #[doc = r"Unchecked version of `Peripherals::take`"] #[inline] pub unsafe fn steal() -> Self { DEVICE_PERIPHERALS = true; Peripherals { IO_MUX: IO_MUX { _marker: PhantomData, }, GPIO: GPIO { _marker: PhantomData, }, } } }