esp_hal/soc/esp32c6/
gpio.rs

1//! # GPIO configuration module (ESP32-C6)
2//!
3//! ## Overview
4//!
5//! The `GPIO` module provides functions and configurations for controlling the
6//! `General Purpose Input/Output` pins on the `ESP32-C6` chip. It allows you to
7//! configure pins as inputs or outputs, set their state and read their state.
8//!
9//! Let's get through the functionality and configurations provided by this GPIO
10//! module:
11//!   - `gpio` block:
12//!       * Defines the pin configurations for various GPIO pins. Each line represents a pin and its
13//!         associated options such as input/output mode, analog capability, and corresponding
14//!         functions.
15//!   - `analog` block:
16//!       * Block defines the analog capabilities of various GPIO pins. Each line represents a pin
17//!         and its associated options such as mux selection, function selection, and input enable.
18//!   - `enum InputSignal`:
19//!       * This enumeration defines input signals for the GPIO mux. Each input signal is assigned a
20//!         specific value.
21//!   - `enum OutputSignal`:
22//!       * This enumeration defines output signals for the GPIO mux. Each output signal is assigned
23//!         a specific value.
24//!
25//! This trait provides functions to read the interrupt status and NMI status
26//! registers for both the `PRO CPU` and `APP CPU`. The implementation uses the
27//! `gpio` peripheral to access the appropriate registers.
28
29crate::gpio::lp_io::lp_gpio! {
30    0
31    1
32    2
33    3
34    4
35    5
36    6
37    7
38}