From 1efaf83ef40d275ae84a5205270487c269a7568e Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Tue, 14 Nov 2023 12:02:12 +0800 Subject: [PATCH] docs(esp32h2): updated misc docs with esp32h2 content --- docs/docs_not_updated/esp32h2.txt | 17 ----------------- .../api-reference/peripherals/dedic_gpio.rst | 6 +++--- docs/en/api-reference/system/sleep_modes.rst | 18 ++++++------------ .../api-reference/peripherals/dedic_gpio.rst | 4 ++-- .../zh_CN/api-reference/system/sleep_modes.rst | 18 ++++++------------ 5 files changed, 17 insertions(+), 46 deletions(-) diff --git a/docs/docs_not_updated/esp32h2.txt b/docs/docs_not_updated/esp32h2.txt index eab138e1bb..f97c7f5887 100644 --- a/docs/docs_not_updated/esp32h2.txt +++ b/docs/docs_not_updated/esp32h2.txt @@ -1,19 +1,2 @@ api-guides/RF_calibration api-guides/coexist -api-guides/cplusplus -api-guides/dfu -api-guides/index -api-reference/peripherals/spi_features -api-reference/peripherals/sdio_slave -api-reference/peripherals/dedic_gpio -api-reference/peripherals/sd_pullup_requirements -api-reference/peripherals/index -api-reference/peripherals/sdmmc_host -api-reference/network/index -api-reference/system/sleep_modes -api-reference/system/power_management -api-reference/system/inc/power_management_esp32 -api-reference/system/inc/power_management_esp32s2_and_later -api-reference/protocols/esp_serial_slave_link -api-reference/protocols/esp_sdio_slave_protocol -api-reference/protocols/index diff --git a/docs/en/api-reference/peripherals/dedic_gpio.rst b/docs/en/api-reference/peripherals/dedic_gpio.rst index 54b6618a40..477bd66a7e 100644 --- a/docs/en/api-reference/peripherals/dedic_gpio.rst +++ b/docs/en/api-reference/peripherals/dedic_gpio.rst @@ -15,7 +15,7 @@ Create/Destroy GPIO Bundle A GPIO bundle is a group of GPIOs, which can be manipulated at the same time in one CPU cycle. The maximal number of GPIOs that a bundle can contain is limited by each CPU. What's more, the GPIO bundle has a strong relevance to the CPU which it derives from. **Any operations on the GPIO bundle should be put inside a task which is running on the same CPU core to the GPIO bundle belongs to.** Likewise, only those ISRs who are installed on the same CPU core are allowed to do operations on that GPIO bundle. .. note:: - + Dedicated GPIO is more of a CPU peripheral, so it has a strong relationship with CPU core. It's highly recommended to install and operate GPIO bundle in a pin-to-core task. For example, if GPIOA is connected to CPU0, and the dedicated GPIO instruction is issued from CPU1, then it's impossible to control GPIOA. To install a GPIO bundle, one needs to call :cpp:func:`dedic_gpio_new_bundle` to allocate the software resources and connect the dedicated channels to user selected GPIOs. Configurations for a GPIO bundle are covered in :cpp:type:`dedic_gpio_bundle_config_t` structure: @@ -98,7 +98,7 @@ For advanced users, they can always manipulate the GPIOs by writing assembly cod - Clear bits of GPIO: ``clr_bit_gpio_out imm[7:0]`` - Note: Immediate value width depends on the number of dedicated GPIO channels - .. only:: esp32c2 or esp32c3 or esp32c6 + .. only:: esp32c2 or esp32c3 or esp32c6 or esp32h2 - Set bits of GPIO: ``csrrsi rd, csr, imm[4:0]`` - Clear bits of GPIO: ``csrrci rd, csr, imm[4:0]`` @@ -112,7 +112,7 @@ For advanced users, they can always manipulate the GPIOs by writing assembly cod For details of supported dedicated GPIO instructions, please refer to **{IDF_TARGET_NAME} Technical Reference Manual** > **Processor Instruction Extensions (PIE) (to be added later)** [`PDF <{IDF_TARGET_TRM_EN_URL}#pie>`__]. -.. only:: esp32c2 or esp32c3 or esp32c6 +.. only:: esp32c2 or esp32c3 or esp32c6 or esp32h2 Code examples for manipulating dedicated GPIOs from assembly are provided in the :example:`peripherals/dedicated_gpio` directory of ESP-IDF examples. These examples show how to emulate a UART, an I2C and an SPI bus in assembly thanks to dedicated GPIOs. diff --git a/docs/en/api-reference/system/sleep_modes.rst b/docs/en/api-reference/system/sleep_modes.rst index 9f3cb2bf30..112ad7c340 100644 --- a/docs/en/api-reference/system/sleep_modes.rst +++ b/docs/en/api-reference/system/sleep_modes.rst @@ -431,20 +431,14 @@ Checking Sleep Wakeup Cause Application Example ------------------- -- :example:`protocols/sntp`: the implementation of basic functionality of Deep-sleep, where ESP module is periodically waken up to retrieve time from NTP server. -- :example:`wifi/power_save`: the usage of Wi-Fi Modem-sleep mode and automatic Light-sleep feature to maintain Wi-Fi connections. +.. list:: -.. only:: SOC_BT_SUPPORTED + - :example:`protocols/sntp`: the implementation of basic functionality of Deep-sleep, where ESP module is periodically waken up to retrieve time from NTP server. + - :example:`wifi/power_save`: the usage of Wi-Fi Modem-sleep mode and automatic Light-sleep feature to maintain Wi-Fi connections. + :SOC_BT_SUPPORTED: - :example:`bluetooth/nimble/power_save`: the usage of Bluetooth Modem-sleep mode and automatic Light-sleep feature to maintain Bluetooth connections. + :SOC_ULP_SUPPORTED: - :example:`system/deep_sleep`: the usage of various Deep-sleep wakeup triggers and ULP coprocessor programming. + :not SOC_ULP_SUPPORTED: - :example:`system/deep_sleep`: the usage of Deep-sleep wakeup triggered by timer. - - :example:`bluetooth/nimble/power_save`: the usage of Bluetooth Modem-sleep mode and automatic Light-sleep feature to maintain Bluetooth connections. - -.. only:: SOC_ULP_SUPPORTED - - - :example:`system/deep_sleep`: the usage of various Deep-sleep wakeup triggers and ULP coprocessor programming. - -.. only:: esp32c3 or esp32c2 - - - :example:`system/deep_sleep`: the usage of Deep-sleep wakeup triggered by timer. API Reference ------------- diff --git a/docs/zh_CN/api-reference/peripherals/dedic_gpio.rst b/docs/zh_CN/api-reference/peripherals/dedic_gpio.rst index 40014392bc..9b49e55d10 100644 --- a/docs/zh_CN/api-reference/peripherals/dedic_gpio.rst +++ b/docs/zh_CN/api-reference/peripherals/dedic_gpio.rst @@ -98,7 +98,7 @@ GPIO 捆绑包操作 - 清除 GPIO 位:``clr_bit_gpio_out imm[7:0]`` - 注意:立即数宽度取决于专用 GPIO 通道的数量 - .. only:: esp32c2 or esp32c3 or esp32c6 + .. only:: esp32c2 or esp32c3 or esp32c6 or esp32h2 - 设置 GPIO 位:``csrrsi rd, csr, imm[4:0]`` - 清除 GPIO 位:``csrrci rd, csr, imm[4:0]`` @@ -112,7 +112,7 @@ GPIO 捆绑包操作 有关支持的专用 GPIO 指令的详细信息,请参考 **{IDF_TARGET_NAME} 技术参考手册** > **处理器指令拓展 (PIE)(稍后发布)** [`PDF <{IDF_TARGET_TRM_CN_URL}#pie>`__]. -.. only:: esp32c2 or esp32c3 or esp32c6 +.. only:: esp32c2 or esp32c3 or esp32c6 or esp32h2 通过汇编操作专用 GPIO 的示例代码存放在 ESP-IDF 示例项目的 :example:`peripherals/dedicated_gpio` 目录下。示例演示了如何通过汇编操作专用 GPIO 来模拟 UART、I2C 和 SPI 总线。 diff --git a/docs/zh_CN/api-reference/system/sleep_modes.rst b/docs/zh_CN/api-reference/system/sleep_modes.rst index ea367bff3b..8c3c6055c5 100644 --- a/docs/zh_CN/api-reference/system/sleep_modes.rst +++ b/docs/zh_CN/api-reference/system/sleep_modes.rst @@ -431,20 +431,14 @@ UART 输出处理 应用程序示例 ------------------- -- :example:`protocols/sntp`:如何实现 Deep-sleep 模式的基本功能,周期性唤醒 ESP 模块,以从 NTP 服务器获取时间。 -- :example:`wifi/power_save`:如何通过 Wi-Fi Modem-sleep 模式和自动 Light-sleep 模式保持 Wi-Fi 连接。 +.. list:: -.. only:: SOC_BT_SUPPORTED + - :example:`protocols/sntp`:如何实现 Deep-sleep 模式的基本功能,周期性唤醒 ESP 模块,以从 NTP 服务器获取时间。 + - :example:`wifi/power_save`:如何通过 Wi-Fi Modem-sleep 模式和自动 Light-sleep 模式保持 Wi-Fi 连接。 + :SOC_BT_SUPPORTED: - :example:`bluetooth/nimble/power_save`:如何通过 Bluetooth Modem-sleep 模式和自动 Light-sleep 模式保持 Bluetooth 连接。 + :SOC_ULP_SUPPORTED: - :example:`system/deep_sleep`:如何使用 Deep-sleep 唤醒触发器和 ULP 协处理器编程。 + :not SOC_ULP_SUPPORTED: - :example:`system/deep_sleep`:如何通过定时器触发 Deep-sleep 唤醒。 - - :example:`bluetooth/nimble/power_save`:如何通过 Bluetooth Modem-sleep 模式和自动 Light-sleep 模式保持 Bluetooth 连接。 - -.. only:: SOC_ULP_SUPPORTED - - - :example:`system/deep_sleep`:如何使用 Deep-sleep 唤醒触发器和 ULP 协处理器编程。 - -.. only:: esp32c3 or esp32c2 - - - :example:`system/deep_sleep`:如何通过定时器触发 Deep-sleep 唤醒。 API 参考 -------------