Docs: Add C3 support to build_docs

This commit is contained in:
Marius Vikhammer
2020-10-29 09:57:09 +08:00
parent 0b31f6a5fc
commit da947d736f
28 changed files with 501 additions and 103 deletions

View File

@@ -51,7 +51,9 @@ Then it is possible to read ADC conversion result with :cpp:func:`adc1_get_raw`
It is also possible to read the internal hall effect sensor via ADC1 by calling dedicated function :cpp:func:`hall_sensor_read`. Note that even the hall sensor is internal to ESP32, reading from it uses channels 0 and 3 of ADC1 (GPIO 36 and 39). Do not connect anything else to these pins and do not change their configuration. Otherwise it may affect the measurement of low value signal from the sensor.
This API provides convenient way to configure ADC1 for reading from :doc:`ULP <../../api-guides/ulp>`. To do so, call function :cpp:func:`adc1_ulp_enable` and then set precision and attenuation as discussed above.
.. only:: SOC_ULP_SUPPORTED
This API provides convenient way to configure ADC1 for reading from :doc:`ULP <../../api-guides/ulp>`. To do so, call function :cpp:func:`adc1_ulp_enable` and then set precision and attenuation as discussed above.
There is another specific function :cpp:func:`adc_vref_to_gpio` used to route internal reference voltage to a GPIO pin. It comes handy to calibrate ADC reading and this is discussed in section :ref:`adc-api-adc-calibration`.

View File

@@ -19,7 +19,15 @@ Overview
- GPIO46 is fixed to pull-down and is input only
There is also separate "RTC GPIO" support, which functions when GPIOs are routed to the "RTC" low-power and analog subsystem. These pin functions can be used when in deep sleep, when the :doc:`Ultra Low Power co-processor <../../api-guides/ulp>` is running, or when analog functions such as ADC/DAC/etc are in use.
.. only:: SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
There is also separate "RTC GPIO" support, which functions when GPIOs are routed to the "RTC" low-power and analog subsystem. These pin functions can be used when:
.. list::
- In deep sleep
:SOC_ULP_SUPPORTED: - The :doc:`Ultra Low Power co-processor <../../api-guides/ulp>` is running
- Analog functions such as ADC/DAC/etc are in use.
Application Example
-------------------
@@ -32,10 +40,13 @@ API Reference - Normal GPIO
.. include-build-file:: inc/gpio.inc
.. include-build-file:: inc/gpio_types.inc
API Reference - RTC GPIO
------------------------
.. include-build-file:: inc/rtc_io.inc
.. include-build-file:: inc/rtc_io_types.inc
.. only:: SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
API Reference - RTC GPIO
------------------------
.. include-build-file:: inc/rtc_io.inc
.. include-build-file:: inc/rtc_io_types.inc

View File

@@ -8,7 +8,7 @@ Peripherals API
ADC <adc>
DAC <dac>
:SOC_DAC_PERIPH_NUM: DAC <dac>
GPIO (including RTC low power I/O) <gpio>
:SOC_DEDICATED_GPIO_SUPPORTED: Dedicated GPIO <dedic_gpio>
:esp32s2: HMAC <hmac>
@@ -17,7 +17,7 @@ Peripherals API
I2S <i2s>
LED Control <ledc>
:SOC_MCPWM_SUPPORTED: MCPWM <mcpwm>
Pulse Counter <pcnt>
:SOC_PCNT_SUPPORTED: Pulse Counter <pcnt>
Remote Control <rmt>
:esp32: SD Pull-up Requirements <sd_pullup_requirements>
:SOC_SDMMC_HOST_SUPPORTED: SDMMC Host <sdmmc_host>
@@ -30,7 +30,7 @@ Peripherals API
:esp32s2: SPI Slave Half Duplex <spi_slave_hd>
:esp32s2: Temp sensor <temp_sensor>
Timer <timer>
Touch Sensor <touch_pad>
:SOC_TOUCH_SENSOR_NUM: Touch Sensor <touch_pad>
TWAI <twai>
UART <uart>
:SOC_USB_SUPPORTED: USB <usb>

View File

@@ -26,7 +26,9 @@ The {IDF_TARGET_NAME} contains multiple types of RAM:
For more details on these internal memory types, see :ref:`memory-layout`.
It's also possible to connect external SPI RAM to the {IDF_TARGET_NAME} - :doc:`external RAM </api-guides/external-ram>` can be integrated into the {IDF_TARGET_NAME}'s memory map using the flash cache, and accessed similarly to DRAM.
.. only:: SOC_SPIRAM_SUPPORTED
It's also possible to connect external SPI RAM to the {IDF_TARGET_NAME} - :doc:`external RAM </api-guides/external-ram>` can be integrated into the {IDF_TARGET_NAME}'s memory map using the flash cache, and accessed similarly to DRAM.
DRAM uses capability ``MALLOC_CAP_8BIT`` (accessible in single byte reads and writes). When calling ``malloc()``, the ESP-IDF ``malloc()`` implementation internally calls ``heap_caps_malloc(size, MALLOC_CAP_8BIT)`` in order to allocate DRAM that is byte-addressable. To test the free DRAM heap size at runtime, call cpp:func:`heap_caps_get_free_size(MALLOC_CAP_8BIT)`.
@@ -100,14 +102,16 @@ which it can't do for a normal malloc() call. This can help to use all the avail
Memory allocated with ``MALLOC_CAP_32BIT`` can *only* be accessed via 32-bit reads and writes, any other type of access will
generate a fatal LoadStoreError exception.
External SPI Memory
^^^^^^^^^^^^^^^^^^^
.. only:: SOC_SPIRAM_SUPPORTED
When :doc:`external RAM </api-guides/external-ram>` is enabled, external SPI RAM under 4MiB in size can be allocated using standard ``malloc`` calls, or via ``heap_caps_malloc(MALLOC_CAP_SPIRAM)``, depending on configuration. See :ref:`external_ram_config` for more details.
External SPI Memory
^^^^^^^^^^^^^^^^^^^
.. only:: esp32
When :doc:`external RAM </api-guides/external-ram>` is enabled, external SPI RAM under 4MiB in size can be allocated using standard ``malloc`` calls, or via ``heap_caps_malloc(MALLOC_CAP_SPIRAM)``, depending on configuration. See :ref:`external_ram_config` for more details.
To use the region above the 4MiB limit, you can use the :doc:`himem API</api-reference/system/himem>`.
.. only:: esp32
To use the region above the 4MiB limit, you can use the :doc:`himem API</api-reference/system/himem>`.
API Reference - Heap Allocation

View File

@@ -1,4 +1,4 @@
API Documentation Template
API Documentation Template
==========================
.. note::
@@ -23,7 +23,7 @@ Overview
*INSTRUCTIONS*
1. Provide overview where and how this API may be used.
1. Provide overview where and how this API may be used.
2. Where applicable include code snippets to illustrate functionality of particular functions.
3. To distinguish between sections, use the following `heading levels <http://www.sphinx-doc.org/en/stable/rest.html#sections>`_:
@@ -49,7 +49,7 @@ Application Example
6. Depending on complexity of example, break down description of code into parts and provide overview of functionality of each part.
7. Include flow diagram and screenshots of application output if applicable.
8. Finally add in this section synopsis of each example together with link to respective folder in ``esp-idf/examples/``.
API Reference
-------------
@@ -60,8 +60,8 @@ API Reference
*INSTRUCTIONS*
1. This repository provides for automatic update of API reference documentation using :doc:`code markup retrieved by Doxygen from header files <../contribute/documenting-code>`.
1. Update is done on each documentation build by invoking Sphinx extension :idf_file:`docs/idf_extensions/run_doxygen.py` for all header files listed in the ``INPUT`` statement of :idf_file:`docs/Doxyfile`.
1. Update is done on each documentation build by invoking Sphinx extension :idf_file:`docs/idf_extensions/run_doxygen.py` for all header files listed in the ``INPUT`` statement of :idf_file:`docs/doxygen/Doxyfile_common`.
1. Each line of the ``INPUT`` statement (other than a comment that begins with ``##``) contains a path to header file ``*.h`` that will be used to generate corresponding ``*.inc`` files::
@@ -80,7 +80,7 @@ API Reference
.. include-build-file:: inc/esp_wifi.inc
For example see :idf_file:`docs/en/api-reference/network/esp_wifi.rst`
1. Optionally, rather that using ``*.inc`` files, you may want to describe API in you own way. See :idf_file:`docs/en/api-guides/ulp.rst` for example.
Below is the list of common ``.. doxygen...::`` directives:
@@ -98,6 +98,6 @@ API Reference
* :component_file:`path_to/header_file.h`
1. In any case, to generate API reference, the file :idf_file:`docs/Doxyfile` should be updated with paths to ``*.h`` headers that are being documented.
1. In any case, to generate API reference, the file :idf_file:`docs/doxygen/Doxyfile_common` should be updated with paths to ``*.h`` headers that are being documented.
1. When changes are committed and documentation is build, check how this section has been rendered. :doc:`Correct annotations <../contribute/documenting-code>` in respective header files, if required.