From d2cd0e72ef2106ab115779a65126134c9dc9b232 Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Fri, 27 Dec 2024 18:04:36 +0800 Subject: [PATCH] fix(docs): Improved RNG documentation Updated the RNG documentation to add more details about the High speed ADC as a noise source and its limitations. Closes https://github.com/espressif/esp-idf/issues/14665 --- .../esp_rng_noise_source_rf_available.png | Bin 0 -> 39488 bytes .../esp_rng_noise_source_rf_unavailable.png | Bin 0 -> 37026 bytes docs/en/api-reference/system/random.rst | 64 +++++++++++++++--- 3 files changed, 54 insertions(+), 10 deletions(-) create mode 100644 docs/_static/esp_rng_noise_source_rf_available.png create mode 100644 docs/_static/esp_rng_noise_source_rf_unavailable.png diff --git a/docs/_static/esp_rng_noise_source_rf_available.png b/docs/_static/esp_rng_noise_source_rf_available.png new file mode 100644 index 0000000000000000000000000000000000000000..7af9335ec19f3ebad352b1ee78bec6abb60d5c0f GIT binary patch literal 39488 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 E50~?_4FCWD literal 0 HcmV?d00001 diff --git a/docs/_static/esp_rng_noise_source_rf_unavailable.png b/docs/_static/esp_rng_noise_source_rf_unavailable.png new file mode 100644 index 0000000000000000000000000000000000000000..0973f66187460622e9eb0b80433e28ef64622afc GIT binary patch literal 37026 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 SbM6@YPf1Qqwh&|D^M3%$otA **Random Number Generator (RNG)** [`PDF <{IDF_TARGET_TRM_EN_URL}#rng>`__] chapter for more details. If none of the above conditions are true, the output of the RNG should be considered as pseudo-random only. +.. only:: SOC_WIFI_SUPPORTED or SOC_IEEE802154_SUPPORTED or SOC_BT_SUPPORTED + + .. _enabling RF subsystem: + + Enabling RF subsystem + --------------------- + + The RF subsystem can be enabled with help of the following APIs: + + .. list:: + + :SOC_WIFI_SUPPORTED: - Wi-Fi: :cpp:func:`esp_wifi_start` + :SOC_BT_SUPPORTED: - Bluetooth (NimBLE): :cpp:func:`nimble_port_init()` which internally calls :cpp:func:`esp_bt_controller_enable()` + :SOC_BT_SUPPORTED: - Bluetooth (Bluedroid): :cpp:func:`esp_bt_controller_enable()` + :SOC_IEEE802154_SUPPORTED: - Thread/Zigbee: :cpp:func:`esp_openthread_init` + Startup ------- @@ -27,22 +71,20 @@ During startup, the ESP-IDF bootloader temporarily enables the non-RF internal e .. only:: not SOC_WIFI_SUPPORTED and not SOC_IEEE802154_SUPPORTED and not SOC_BT_SUPPORTED - However, after the application starts executing, then normally only pseudo-random numbers are available until the internal entropy source has been enabled again. + For {IDF_TARGET_NAME}, the High Speed ADC is not available. Hence the non-RF internal entropy source (SAR ADC) is kept enabled by default at the time of application startup. Please note that if the application wants to use ADC for other purposes, it should call :cpp:func:`bootloader_random_disable` before using the ADC and :cpp:func:`bootloader_random_enable` to re-enable the entropy source when the Random Number Generator is needed again. .. only:: SOC_WIFI_SUPPORTED or SOC_IEEE802154_SUPPORTED or SOC_BT_SUPPORTED However, after the application starts executing, then normally only pseudo-random numbers are available until {IDF_TARGET_RF_NAME} {IDF_TARGET_RF_IS} initialized or until the internal entropy source has been enabled again. -To re-enable the entropy source temporarily during application startup, or for an application that does not use {IDF_TARGET_RF_NAME}, call the function :cpp:func:`bootloader_random_enable` to re-enable the internal entropy source. The function :cpp:func:`bootloader_random_disable` must be called to disable the entropy source again before using any of the following features: + To re-enable the entropy source temporarily during application startup, or for an application that does not use {IDF_TARGET_RF_NAME}, call the function :cpp:func:`bootloader_random_enable` to re-enable the internal entropy source. The function :cpp:func:`bootloader_random_disable` must be called to disable the entropy source again before using any of the following features: -.. list:: + .. list:: - - ADC - - :esp32: - I2S - - :SOC_WIFI_SUPPORTED or SOC_IEEE802154_SUPPORTED or SOC_BT_SUPPORTED: - {IDF_TARGET_RF_NAME} + - ADC + :esp32: - I2S + :SOC_WIFI_SUPPORTED or SOC_IEEE802154_SUPPORTED or SOC_BT_SUPPORTED: - {IDF_TARGET_RF_NAME} .. note:: @@ -54,6 +96,8 @@ To re-enable the entropy source temporarily during application startup, or for a .. only:: not esp32 + .. _secondary entropy: + Secondary Entropy -----------------