diff --git a/esp-hal/src/gpio/mod.rs b/esp-hal/src/gpio/mod.rs index dfed16969b..f5c17e3470 100644 --- a/esp-hal/src/gpio/mod.rs +++ b/esp-hal/src/gpio/mod.rs @@ -85,12 +85,14 @@ mod placeholder; pub use placeholder::NoPin; -#[cfg(soc_etm)] -pub mod etm; -#[cfg(lp_io)] -pub mod lp_io; -#[cfg(all(rtc_io, not(esp32)))] -pub mod rtc_io; +crate::unstable_module! { + #[cfg(soc_etm)] + pub mod etm; + #[cfg(lp_io)] + pub mod lp_io; + #[cfg(all(rtc_io, not(esp32)))] + pub mod rtc_io; +} /// Convenience constant for `Option::None` pin static USER_INTERRUPT_HANDLER: CFnPtr = CFnPtr::new(); @@ -139,6 +141,7 @@ impl From for Event { } /// Event used to wake up from light sleep. +#[instability::unstable] #[derive(Debug, Eq, PartialEq, Copy, Clone, Hash)] #[cfg_attr(feature = "defmt", derive(defmt::Format))] pub enum WakeEvent { @@ -233,6 +236,7 @@ pub enum DriveStrength { /// /// The different variants correspond to different functionality depending on /// the chip and the specific pin. For more information, refer to your chip's +#[doc(hidden)] #[doc = crate::trm_markdown_link!("iomuxgpio")] #[derive(Debug, Eq, PartialEq, Copy, Clone, Hash)] #[cfg_attr(feature = "defmt", derive(defmt::Format))] @@ -268,6 +272,7 @@ impl TryFrom for AlternateFunction { } /// RTC function +#[instability::unstable] #[derive(Debug, Eq, PartialEq, Copy, Clone, Hash)] #[cfg_attr(feature = "defmt", derive(defmt::Format))] pub enum RtcFunction { @@ -278,6 +283,7 @@ pub enum RtcFunction { } /// Trait implemented by RTC pins +#[instability::unstable] pub trait RtcPin: Pin { /// RTC number of the pin #[cfg(xtensa)] @@ -300,6 +306,7 @@ pub trait RtcPin: Pin { /// Trait implemented by RTC pins which supporting internal pull-up / pull-down /// resistors. +#[instability::unstable] pub trait RtcPinWithResistors: RtcPin { /// Enable/disable the internal pull-up resistor fn rtcio_pullup(&mut self, enable: bool); @@ -516,6 +523,7 @@ pub trait OutputPin: Pin + Into + 'static { } /// Trait implemented by pins which can be used as analog pins +#[instability::unstable] pub trait AnalogPin: Pin { /// Configure the pin for analog operation #[doc(hidden)] @@ -523,6 +531,8 @@ pub trait AnalogPin: Pin { } /// Trait implemented by pins which can be used as Touchpad pins +#[cfg(touch)] +#[instability::unstable] pub trait TouchPin: Pin { /// Configure the pin for analog operation #[doc(hidden)] @@ -1583,6 +1593,7 @@ where /// Enable as a wake-up source. /// /// This will unlisten for interrupts + #[instability::unstable] #[inline] pub fn wakeup_enable(&mut self, enable: bool, event: WakeEvent) { self.pin.wakeup_enable(enable, event); @@ -1982,6 +1993,7 @@ where /// Enable as a wake-up source. /// /// This will unlisten for interrupts + #[instability::unstable] #[inline] pub fn wakeup_enable(&mut self, enable: bool, event: WakeEvent) { self.listen_with_options(event.into(), false, false, enable); diff --git a/esp-hal/src/i2c/master/mod.rs b/esp-hal/src/i2c/master/mod.rs index db9803720c..d317c9384c 100644 --- a/esp-hal/src/i2c/master/mod.rs +++ b/esp-hal/src/i2c/master/mod.rs @@ -985,6 +985,7 @@ fn configure_clock( } /// Peripheral data describing a particular I2C instance. +#[doc(hidden)] #[derive(Debug)] #[non_exhaustive] pub struct Info { @@ -2188,6 +2189,7 @@ impl Driver<'_> { } /// Peripheral state for an I2C instance. +#[doc(hidden)] #[non_exhaustive] pub struct State { /// Waker for the asynchronous operations. @@ -2195,6 +2197,7 @@ pub struct State { } /// I2C Peripheral Instance +#[doc(hidden)] pub trait Instance: Peripheral

+ Into + 'static { /// Returns the peripheral data and state describing this instance. fn parts(&self) -> (&Info, &State); diff --git a/esp-hal/src/spi/master.rs b/esp-hal/src/spi/master.rs index fa79bc6e61..48116c037e 100644 --- a/esp-hal/src/spi/master.rs +++ b/esp-hal/src/spi/master.rs @@ -2362,15 +2362,18 @@ mod ehal1 { } /// SPI peripheral instance. +#[doc(hidden)] pub trait PeripheralInstance: private::Sealed + Into + DmaEligible + 'static { /// Returns the peripheral data describing this SPI instance. fn info(&self) -> &'static Info; } /// Marker trait for QSPI-capable SPI peripherals. +#[doc(hidden)] pub trait QspiInstance: PeripheralInstance {} /// Peripheral data describing a particular SPI instance. +#[doc(hidden)] #[non_exhaustive] pub struct Info { /// Pointer to the register block for this SPI instance. diff --git a/esp-hal/src/spi/slave.rs b/esp-hal/src/spi/slave.rs index 6b688f7d32..ebd48ef998 100644 --- a/esp-hal/src/spi/slave.rs +++ b/esp-hal/src/spi/slave.rs @@ -602,6 +602,7 @@ impl InstanceDma for crate::peripherals::SPI2 {} impl InstanceDma for crate::peripherals::SPI3 {} /// Peripheral data describing a particular SPI instance. +#[doc(hidden)] #[non_exhaustive] #[doc(hidden)] pub struct Info { diff --git a/esp-hal/src/trace.rs b/esp-hal/src/trace.rs index 0977751576..deb44c9f7b 100644 --- a/esp-hal/src/trace.rs +++ b/esp-hal/src/trace.rs @@ -207,6 +207,7 @@ where } /// Trace peripheral instance +#[doc(hidden)] pub trait Instance: crate::private::Sealed { /// Get a reference to the peripheral's underlying register block fn register_block(&self) -> &RegisterBlock; diff --git a/esp-hal/src/twai/mod.rs b/esp-hal/src/twai/mod.rs index f630aeaa44..884d2e70d3 100644 --- a/esp-hal/src/twai/mod.rs +++ b/esp-hal/src/twai/mod.rs @@ -1360,6 +1360,7 @@ where } /// TWAI peripheral instance. +#[doc(hidden)] pub trait Instance: Peripheral

+ Into + 'static { /// The identifier number for this TWAI instance. fn number(&self) -> usize; diff --git a/esp-hal/src/uart.rs b/esp-hal/src/uart.rs index 0091cdf22b..cc5f529cd0 100644 --- a/esp-hal/src/uart.rs +++ b/esp-hal/src/uart.rs @@ -2221,6 +2221,7 @@ pub mod lp_uart { } /// UART Peripheral Instance +#[doc(hidden)] pub trait Instance: Peripheral

+ Into + 'static { /// Returns the peripheral data and state describing this UART instance. fn parts(&self) -> (&'static Info, &'static State); @@ -2239,6 +2240,7 @@ pub trait Instance: Peripheral

+ Into + 'static { } /// Peripheral data describing a particular UART instance. +#[doc(hidden)] #[non_exhaustive] pub struct Info { /// Pointer to the register block for this UART instance. @@ -2269,6 +2271,7 @@ pub struct Info { } /// Peripheral state for a UART instance. +#[doc(hidden)] #[non_exhaustive] pub struct State { /// Waker for the asynchronous RX operations. diff --git a/esp-hal/src/usb_serial_jtag.rs b/esp-hal/src/usb_serial_jtag.rs index 93e8fbfbdf..a53f981c36 100644 --- a/esp-hal/src/usb_serial_jtag.rs +++ b/esp-hal/src/usb_serial_jtag.rs @@ -450,6 +450,7 @@ where } /// USB Serial/JTAG peripheral instance +#[doc(hidden)] pub trait Instance: crate::private::Sealed { /// Get a reference to the peripheral's underlying register block fn register_block() -> &'static RegisterBlock;