Crate esp_idf_sys
source ·Expand description
Raw Rust bindings for the ESP-IDF SDK.
§Build Prerequisites
Follow the Prerequisites section in the esp-idf-template
crate.
§Customizing the Build
Table of contents
- Rust configuration flags
- Features
- sdkconfig
- ESP-IDF configuration
- Extra ESP-IDF components
- Remote components (idf component registry)
- Conditional compilation
- More info
§Rust configuration flags
The following are flags passed to rustc
that influence the build.
§
--cfg espidf_time64
This is a flag for the libc crate that uses 64-bits (instead of 32-bits) for
time_t
. This must be set for ESP-IDF 5.0 and above and must be unset for lesser versions.§
-Zbuild-std=std,panic_abort
Required for
std
support. Rust does not providestd
libraries for ESP32 targets since they are tier-2/-3.
§Features
§
native
This is the default feature for downloading all tools and building the ESP-IDF framework using the framework’s “native” (own) tooling. It relies on build and installation utilities available in the embuild crate.
The
native
builder installs all needed tools to compile this crate as well as the ESP-IDF framework itself.§
pio
This is a backup feature for installing all build tools and building the ESP-IDF framework. It uses PlatformIO via the embuild crate.
Similarly to the
native
builder, thepio
builder also automatically installs all needed tools (PlatformIO packages and frameworks in this case) to compile this crate as well as the ESP-IDF framework itself.[!WARNING] The
pio
builder is less flexible than the defaultnative
builder in that it can work with only one, specific version of ESP-IDF. At the time of writing, this is V4.3.2.§
binstart
Defines the esp-idf entry-point for when the root crate is a binary crate that defines a
main
function.§
libstart
Defines the esp-idf entry-point for when the root crate is a library crate. the root crate is expected to provide a
#[no_mangle] fn main() {}
function.
§sdkconfig
The esp-idf makes use of an sdkconfig
file for its
compile-time component configuration (see the esp-idf
docs
for more information). This config is separate from the build configuration.
§(native builder only) Using cargo-idf to interactively modify ESP-IDF’s sdkconfig
file
TBD: Upcoming
§(pio builder only) Using cargo-pio to interactively modify ESP-IDF’s sdkconfig
file
To enable Bluetooth, or do other configurations to the ESP-IDF sdkconfig you might take advantage of the cargo-pio Cargo subcommand:
- To install it, issue
cargo install cargo-pio --git https://github.com/ivmarkov/cargo-pio
- To open the ESP-IDF interactive menuconfig system, issue
cargo pio espidf menuconfig
in the root of your binary crate project - To use the generated/updated
sdkconfig
file, follow the steps described in the “Bluetooth Support” section
§ESP-IDF configuration
There are two ways to configure how the ESP-IDF framework is compiled:
-
Environment variables, denoted by
$VARIABLE
;The environment variables can be passed on the command line, or put into the
[env]
section of a.cargo/config.toml
file (see cargo reference). -
The
[package.metadata.esp-idf-sys]
section of theCargo.toml
, denoted byfield
.[!NOTE] Configuration can only come from the root crate’s
Cargo.toml
. The root crate is the package in the workspace directory. If there is no root crate in case of a virtual workspace, its name can be specified with theESP_IDF_SYS_ROOT_CRATE
environment variable.[!WARNING] Environment variables always take precedence over
Cargo.toml
metadata.
[!NOTE] workspace directory
The workspace directory mentioned here is always the directory containing the
Cargo.lock
file and thetarget
directory (unless configured otherwise, see the note below aboutCARGO_TARGET_DIR
) where the build artifacts are stored. It can be overridden with theCARGO_WORKSPACE_DIR
environment variable, should this not be the right directory.
(Seeembuild::cargo::workspace_dir
for more information).There is no need to explicitly add a
[workspace]
section to theCargo.toml
of the workspace directory.Please note that if you have set
CARGO_TARGET_DIR
and moved yourtarget
directory out of the crate root, then embuild is not able to locate the crate root. This will result in it among other things ignoring your localsdkconfig.defaults
. In this case you must declare:[env] CARGO_WORKSPACE_DIR = { value = "", relative = true }
in the
.cargo/config.toml
file, to force it to look in the current directory.
The following configuration options are available:
§
esp_idf_sdkconfig_defaults
,$ESP_IDF_SDKCONFIG_DEFAULTS
A single path or a list of paths to
sdkconfig.defaults
files to be used as base values for thesdkconfig
. If such a path is relative, it will be relative to the workspace directory.Defaults to
sdkconfig.defaults
.In case of the environment variable, multiple elements should be
;
-separated.[!NOTE] For each defaults file in this list, a more specific file will also be searched and used. This happens with the following patterns and order (least to most specific):
<path>
<path>.<profile>
<path>.<mcu>
<path>.<profile>.<mcu>
where
<profile>
is the current cargo profile used (debug
/release
) and<mcu>
specifies the mcu for which this is currently compiled for (see themcu
configuration option below).[!WARNING] A setting contained in a more specific defaults file will override the same setting specified in a less specific one. For example, in a debug build, flags in
sdkconfig.debug
override those insdkconfig.defaults
.§
esp_idf_sdkconfig
,$ESP_IDF_SDKCONFIG
The
sdkconfig
file used to configure theesp-idf
. If this is a relative path, it is relative to the workspace directory.Defaults to
sdkconfig
.[!NOTE] Similar to the
sdkconfig.defaults
-file a more specificsdkconfig
-file will be selected if available. This happens with the following patterns and precedence:<path>.<profile>.<mcu>
<path>.<mcu>
<path>.<profile>
<path>
[!NOTE] native builder only:
The cargo optimization options (debug
andopt-level
) are used by default to determine the compiler optimizations of theesp-idf
, however if the compiler optimization options are already set in thesdkconfig
they will be used instead.§
esp_idf_tools_install_dir
,$ESP_IDF_TOOLS_INSTALL_DIR
The install location for the ESP-IDF framework tooling.
[!NOTE] The framework tooling is either PlatformIO when the
pio
builder is used, or the ESP-IDF native toolset when thenative
builder is used (default).This option can take one of the following values:
-
workspace
(default) - the tooling will be installed or used in<crate-workspace-dir>/.embuild/platformio
forpio
, and<crate-workspace-dir>/.embuild/espressif
for thenative
builder; -
out
- the tooling will be installed or used inside esp-idf-sys’s build output directory, and will be deleted whencargo clean
is invoked; -
global
- the tooling will be installed or used in its standard directory (~/.platformio
for PlatformIO, and~/.espressif
for the native ESP-IDF toolset); -
custom:<dir>
- the tooling will be installed or used in the directory specified by<dir>
. If this directory is a relative location, it is assumed to be relative to the workspace directory; -
fromenv
- use the build framework from the environment- native builder: use activated esp-idf environment (see esp-idf docs unix / windows)
- pio builder: use
platformio
from the environment (i.e.$PATH
)
and error if this is not possible.
[!WARNING] Please be extra careful with the
custom:<dir>
setting when switching frompio
tonative
and the other way around, because the builder will install the tooling in<dir>
without using any additionalplatformio
orespressif
subdirectories, so if you are not careful, you might end up with both PlatformIO, as well as the ESP-IDF native tooling intermingled together in a single folder.[!WARNING] The ESP-IDF git repository will be cloned inside the tooling directory. The native builder will use the esp-idf at
idf_path
if available.-
§
idf_path
,$IDF_PATH
(native builder only)A path to a user-provided local clone of the esp-idf, that will be used instead of the one downloaded by the build script.
§
esp_idf_version
,$ESP_IDF_VERSION
(native builder only)The version used for the
esp-idf
, can be one of the following:commit:<hash>
: Uses the commit<hash>
of theesp-idf
repository. Note that this will clone the wholeesp-idf
not just one commit.tag:<tag>
: Uses the tag<tag>
of theesp-idf
repository.branch:<branch>
: Uses the branch<branch>
of theesp-idf
repository.v<major>.<minor>
or<major>.<minor>
: Uses the tagv<major>.<minor>
of theesp-idf
repository.<branch>
: Uses the branch<branch>
of theesp-idf
repository.
Defaults to
v4.4.1
.§
esp_idf_repository
,$ESP_IDF_REPOSITORY
(native builder only)The URL to the git repository of the
esp-idf
, defaults to https://github.com/espressif/esp-idf.git.[!NOTE] When the
pio
builder is used, it is possible to achieve something similar toESP_IDF_VERSION
andESP_IDF_REPOSITORY
by using theplatform_packages
PlatformIO option as follows:ESP_IDF_PIO_CONF="platform_packages = framework-espidf @ <git-url> [@ <git-branch>]"
The above approach however has the restriction that PlatformIO will always use the ESP-IDF build tooling from its own ESP-IDF distribution, so the user-provided ESP-IDF branch may or may not compile. The current PlatformIO tooling is suitable for compiling ESP-IDF branches derived from versions 4.3.X and 4.4.X.
§
$ESP_IDF_GLOB[_XXX]_BASE
and$ESP_IDF_GLOB[_XXX]_YYY
A pair of environment variable prefixes that enable copying files and directory trees that match a certain glob mask into the native C project used for building the ESP-IDF framework:
-
ESP_IDF_GLOB[_XXX]_BASE
specifies the base directory which will be glob-ed for resources to be copied -
ESP_IDF_GLOB[_XXX]_BASE_YYY
specifies one or more environment variables that represent the glob masks of resources to be searched for and copied, using the directory designated by theESP_IDF_GLOB[_XXX]_BASE
environment variable as the root. For example, if the following variables are specified:ESP_IDF_GLOB_HOMEDIR_BASE=/home/someuser
ESP_IDF_GLOB_HOMEDIR_FOO=foo*
ESP_IDF_GLOB_HOMEDIR_BAR=bar*
… then all files and directories matching ‘foo*’ or ‘bar*’ from the home directory of the user will be copied into the ESP-IDF C project.
Note also that
_HOMEDIR
in the above example is optional, and is just a mechanism allowing the user to specify more than one base directory and its glob patterns.
-
§
$ESP_IDF_PIO_CONF_XXX
(pio builder only)A PlatformIO setting (or multiple settings separated by a newline) that will be passed as-is to the
platformio.ini
file of the C project that compiles the ESP-IDF.Check the PlatformIO documentation for more information as to what settings you can pass via this variable.
[!NOTE] This is not one variable, but rather a family of variables all starting with
ESP_IDF_PIO_CONF_
. For example, passingESP_IDF_PIO_CONF_1
as well asESP_IDF_PIO_CONF_FOO
is valid and all such variables will be honored.§
esp_idf_cmake_generator
,$ESP_IDF_CMAKE_GENERATOR
(native builder only)The CMake generator to be used when building the ESP-IDF.
If not specified or set to
default
, Ninja will be used on all platforms except Linux/aarch64, where (for now) the Unix Makefiles generator will be used, as there are no Ninja builds for that platform provided by Espressif yet.Possible values for this environment variable are the names of all command-line generators that CMake supports with spaces and hyphens removed.
§
esp_idf_path_issues
,$ESP_IDF_PATH_ISSUES
What should happen to the build process if the Rust project path does not meet certain criteria (i.e. path too long on Windows or path contains spaces on Linux). Possible values:
err
(default) - Fail the buildwarn
- Issue a warning but continue the buildignore
- Continue the build and do not issue a warning
§
esp_idf_c_env_vars_issues
,$ESP_IDF_C_ENV_VARS_ISSUES
(non-CMake build only)What should happen to the build process if certain environment variables that might fail the ESP IDF C build are detected. Possible values:
warnremove
(default) - Do not pass these variables to the ESP IDF C build, and issue a build warningremove
- Same as above but do not issue a warningerr
- Fail the buildwarn
- Issue a warning but do not remove the variables and continue the buildignore
- Continue the build and do not issue a warning
The currently detected environment variables that might be problematic are as follows:
CC
,CXX
,CFLAGS
,CCFLAGS
,CXXFLAGS
,CPPFLAGS
,LDFLAGS
,GCC_EXEC_PREFIX
,COMPILER_PATH
,C_INCLUDE_PATH
,CPLUS_INCLUDE_PATH
.§
esp_idf_espup_clang_symlink
,$ESP_IDF_ESPUP_CLANG_SYMLINK
Background:
As part of installing the
esp
Rust toolchain, theespup
utility - on Unix-like systems - configures a hidden symlink in its private folder that points to the Clang compiler library that is also distributed with theesp
Rust toolchain (and which - just like theesp
Rust toolchain itself - does support thextensa
architecture).Since
esp-idf-sys
usesbindgen
to generate raw bindings for the C ESP IDF APIs, it needs to have theLIBCLANG_PATH
env var configured to point to the CLang library.esp-idf-sys
does this automatically, by using the symlink provided byespup
.Following options are available:
try
(default) - Check if the symlink is available and use it; continue the build expecting a user-definedLIBCLANG_PATH
env var otherwisewarn
- Same astry
but report a warning if the symlink is not availableerr
- Fail the build if the symlink is not available or brokenignore
- Do not use the symlink at all
§
esp_idf_component_manager
,$ESP_IDF_COMPONENT_MANAGER
Whether the esp-idf component manager should be on or off.
Can be any of
true
,y
,yes
,on
for on, andfalse
,n
,no
,off
for off.If not specified, it is on by default.
§
mcu
,$MCU
The MCU name (i.e.
esp32
,esp32s2
,esp32s3
esp32c3
,esp32c2
,esp32h2
,esp32c5
,esp32c6
,esp32p4
).If not set this will be automatically detected from the cargo target.
[!WARNING] Older ESP-IDF versions might not support all MCUs from above.
§
esp_idf_components
,$ESP_IDF_COMPONENTS
(native builder only)Note
The esp-idf is split into components, where one component is essentially a library with its name typically being the name of the containing directory (for more information see the esp-idf build system docs).To see which components
esp-idf-sys
compiled, run the build with the-vv
flag (to display build script output), and look for[esp-idf-sys <version>] Built components: ...
in the output.The (
;
-separated for the environment variable) list of esp-idf component names that should be built. This list is used to trim the esp-idf build. Any component that is a dependency of a component in this list will also automatically be built.Defaults to all components being built.
[!NOTE]
Some components must be explicitly enabled in the sdkconfig.
Extra components must also be added to this list if they are to be built.
§Example
An example of the [package.metadata.esp-idf-sys]
section of the Cargo.toml
.
[package.metadata.esp-idf-sys]
esp_idf_tools_install_dir = "global"
esp_idf_sdkconfig = "sdkconfig"
esp_idf_sdkconfig_defaults = ["sdkconfig.defaults", "sdkconfig.defaults.ble"]
# native builder only
esp_idf_version = "branch:release/v4.4"
esp_idf_components = ["pthread"]
§Extra ESP-IDF components
It is possible to let esp-idf-sys compile extra ESP-IDF components and generate bindings for them.
This is possible by adding an object to the
package.metadata.esp-idf-sys.extra_components
array of the Cargo.toml
. esp-idf-sys
will honor all such extra components in the root crate‘s and all direct
dependencies’ Cargo.toml
.
[!NOTE] By only specifying the
bindings_header
field, one can extend the set of esp-idf bindings that were generated from src/include/esp-idf/bindings.h. To do this you need to create a*.h
header file in your project source, and reference that in thebindings_header
variable. You can then include extra esp-idf header files from there.
An extra component can be specified like this:
[[package.metadata.esp-idf-sys.extra_components]]
# A single path or a list of paths to a component directory or directory
# containing components.
#
# Each path can be absolute or relative. Relative paths will be relative to the
# folder containing the defining `Cargo.toml`.
#
# **This field is optional.** No component will be built if this field is absent, though
# the bindings of the `[Self::bindings_header]` will still be generated.
component_dirs = ["dir1", "dir2"] # or "dir"
# A remote component to be included in the build. For multiple remote components
# consider declaring multiple extra components.
#
# The components will be managed by the esp-idf component manager. Each remote
# component will correspond to an `idf_component.yml` `dependencies` entry.
# See the Remote component section as to what options are available.
#
# **This field is optional.**
remote_component = { ... }
# The path to the C header to generate the bindings with. If this option is absent,
# **no** bindings will be generated.
#
# The path can be absolute or relative. A relative path will be relative to the
# folder containing the defining `Cargo.toml`.
#
# This field is optional.
bindings_header = "bindings.h"
# If this field is present, the component bindings will be generated separately from
# the `esp-idf` bindings and put into their own module inside the `esp-idf-sys` crate.
# Otherwise, if absent, the component bindings will be added to the existing
# `esp-idf` bindings (which are available in the crate root).
#
# To put the bindings into its own module, a separate bindgen instance will generate
# the bindings. Note that this will result in duplicate `esp-idf` bindings if the
# same `esp-idf` headers that were already processed for the `esp-idf` bindings are
# included by the component(s).
#
# This field is optional.
bindings_module = "name"
and is equivalent to
[package.metadata.esp-idf-sys]
extra_components = [
{ component_dirs = [ "dir1", "dir2" ], bindings_header = "bindings.h", bindings_module = "name" }
]
§Remote components (idf component registry)
The esp-idf build systems supports remote components managed by the esp-idf component
manager.
All remote component dependencies can be specified using the extra esp-idf
components remote_component
field. Every such dependency
maps exactly to a dependency entry in the idf_component.yml
manifest.
The component manager will resolve all such dependencies, in addition to those of the C
esp-idf components, and download them to the managed_components
directory in the
esp-idf-sys out
(build output) directory.
A lock file (components_<chip>.lock
) will be generated in the workspace directory if
there is at least one such dependency.
See the esp_idf_component_manager options to turn the component manager off.
A remote component can be specified by:
[package.metadata.esp-idf-sys.extra_components.0.remote_component]
# The name of the remote component. Corresponds to a key in the dependencies of
# `idf_component.yml`.
name = "component_name"
# The version of the remote component. Corresponds to the `version` field of the
# `idf_component.yml`.
version = "1.2"
# A git url that contains this remote component. Corresponds to the `git`
# field of the `idf_component.yml`.
#
# This field is optional.
git = "https://github.com/espressif/esp32-camera.git"
# A path to the component.
# Corresponds to the `path` field of the `idf_component.yml`.
#
# Note: This should not be used for local components, use
# `component_dirs` of extra components instead.
#
# This field is optional.
path = "path/to/component"
# A url to a custom component registry. Corresponds to the `service_url`
# field of the `idf_component.yml`.
#
# This field is optional.
service_url = "https://componentregistry.company.com"
For example, to add a dependency the 1.2.x
version of the espressif/mdns
component,
add the following to your Cargo.toml
:
[[package.metadata.esp-idf-sys.extra_components]]
remote_component = { name = "espressif/mdns", version = "1.2" }
Note
Slashes (/
) in a remote component’s name will be replaced with two underscores__
for the name of the compiled component (e.g.espressif/mdns
will becomeespressif__mdns
with thecfg
esp_idf_comp_espressif__mdns_enabled
).
Remote components that are not already included inside the esp-idf-sys bindings.h file must be manually added, in its own C header file.
For example, the espressif/esp32-camera
component could be included in the following way:
[[package.metadata.esp-idf-sys.extra_components]]
remote_component = { name = "espressif/esp32-camera", version = "2.0.7}
bindings_header = "your_bindings.h"
bindings_module = "camera"
and the your_bindings.h
file could look like this:
#if defined(ESP_IDF_COMP_ESPRESSIF__ESP32_CAMERA_ENABLED)
#include "esp_camera.h"
#endif
In this case the bindings would be generated in the esp_idf_sys::camera
module.
§Conditional compilation
The esp-idf-sys build script will set rustc cfgs available for its sources.
[!IMPORTANT] If an upstream crate also wants to have access to the cfgs it must:
have
esp-idf-sys
as a dependency, andoutput the cfgs in its build script with
embuild::espidf::sysenv::output();
using the embuild crate.
The list of available cfgs:
-
esp_idf_comp_{component}_enabled
for each component -
esp_idf_version="{major}.{minor}"
-
esp_idf_version_full="{major}.{minor}.{patch}"
-
esp_idf_version_major="{major}"
-
esp_idf_version_minor="{minor}"
-
esp_idf_version_patch="{patch}"
-
esp_idf_{sdkconfig_option}
Each sdkconfig setting where
{sdkconfig_option}
corresponds to the option set in the sdkconfig lowercased, without theCONFIG_
prefix and with a lowercaseesp_idf_
prefix. Only options set toy
will get a cfg. -
{mcu}
Corresponds to the mcu for which the esp-idf is compiled for.
§More info
If you are interested in how it all works under the hood, check the build.rs build script of this crate.
Macros§
- Convert an
esp_err_t
into aResult<(), EspError>
. - Panic with an error-specific message if
err
is notESP_OK
. - Convert an
esp_err_t
into aResult<T, EspError>
.
Structs§
- @brief Opaque directory structure
- A wrapped
esp_err_t
to check if an error occurred. - event_groups.h
- @brief Type defined for MD5 context
- Type by which queues are referenced. For example, a call to xQueueCreate() returns an QueueHandle_t variable that can then be used as a parameter to xQueueSend(), xQueueReceive(), etc.
- Type by which stream buffers are referenced. For example, a call to xStreamBufferCreate() returns an StreamBufferHandle_t variable that can then be used as a parameter to xStreamBufferSend(), xStreamBufferReceive(), etc.
- @brief IP address
- @brief ADC continuous mode driver configurations
- @brief Group of ADC continuous mode callbacks
- @brief Event data structure @note The
conv_frame_buffer
is maintained by the driver itself, so never free this piece of memory. - @brief ADC continuous mode driver initial configurations
- @brief ADC digital controller settings
- @brief ADC DMA driver configuration
- @brief ADC digital controller (DMA mode) output data format. Used to analyze the acquired ADC (DMA) data.
- @brief ADC digital controller pattern configuration
- @brief ADC channel configurations
- @brief ADC oneshot driver initial configurations
- LwIP bridge configuration
- @brief Directory entry structure
- @brief Structure storing characteristics of an ADC
- \brief AES context structure
- \brief The AES XTS context-type definition.
- @brief Description about application.
- @brief Console command description
- @brief Parameters for console initialization
- @brief Parameters for console device: UART
- @brief Parameters for console REPL (Read Eval Print Loop)
- @brief Console REPL base structure
- @brief CPU interrupt descriptor
- @brief Configuration settings for EAP-FAST (Extensible Authentication Protocol - Flexible Authentication via Secure Tunneling).
- @brief Type definition for an eFuse field
- @brief Configuration of Ethernet driver
- @brief Ethernet MAC
- @brief Ethernet mediator
- @brief Ethernet PHY
- @brief ETM channel configuration
- Configuration for creating event loops
- @brief OS-level integration hooks for accessing flash chips inside a running OS
- @brief Structure for describing a region of flash
- @brief Structure to describe a SPI flash chip connected to the system.
- \brief The GCM context structure.
- @brief HTTP configuration
- @brief HTTP Client events data
- @brief Argument structure for HTTP_EVENT_ON_DATA event
- @brief Argument structure for HTTP_EVENT_REDIRECT event
- Argument structure for HTTP_SERVER_EVENT_ON_DATA and HTTP_SERVER_EVENT_SENT_DATA event
- @brief Main header of binary image
- @brief Header of binary image segment
- @brief IPv4 address
- @brief IPv6 address
- @brief Configuration structure for panel device
- @brief Type of LCD panel IO callbacks
- @brief Type of LCD panel IO event data
- @brief Panel IO configuration structure, for I2C interface
- @brief Panel IO configuration structure, for SPI interface
- @brief LCD panel IO interface
- @brief LCD panel interface
- @brief Mesh PS duties
- MQTT client configuration structure
- Broker related configuration
- Broker address
- Broker identity verification
- Client buffer size configuration
- Client related credentials for authentication.
- Client authentication
- Network related configuration
- Client outbox configuration options.
- MQTT Session related configuration
- Last Will and Testament message configuration.
- Client task configuration
- @brief MQTT error code structure to be passed as a contextual information into ERROR event
- MQTT event configuration structure
- @brief Generic esp_netif configuration
- @brief DNS server info
- @brief ESP-netif driver base handle
- @brief Specific IO driver configuration
- @brief ESP-netif inherent config parameters
- @brief IPV6 IP address information
- Event structure for IP_EVENT_STA_GOT_IP, IP_EVENT_ETH_GOT_IP events
- @brief Type of esp_netif_object server
- @brief DHCP client’s addr info (pair of MAC and IP address)
- @brief ESPNOW peer information parameters.
- @brief Number of ESPNOW peers which exist currently.
- @brief ESPNOW rate config
- @brief ESPNOW packet information
- @brief partition information structure
- @brief Type of “ping” callback functions
- @brief Type of “ping” configuration
- @brief Power management config
- pthread configuration structure that influences pthread creation
- @brief Pointers to the trusted key digests.
- @brief SNTP configuration struct
- @brief Task Watchdog Timer (TWDT) configuration structure
- @brief Timer configuration passed to esp_timer_create
- @brief ESP-TLS configuration parameters
- @brief Error structure containing relevant errors in case tls error occurred
- @brief Keep alive parameters structure
- WS transport configuration structure
- @brief Eventfd vfs initialization settings
- @brief Configuration arguments for esp_vfs_fat_sdmmc_mount and esp_vfs_fat_spiflash_mount_rw_wl functions
- @brief VFS semaphore type for select()
- @brief Configuration structure for esp_vfs_spiffs_register
- @brief VFS definition structure
- @brief Structure representing configuration settings for WPS (Wi-Fi Protected Setup).
- @brief Configuration of Ethernet MAC object
- @brief Ethernet PHY configuration
- Structure of pointers to disk IO driver functions.
- @brief Configuration parameters of GPIO pad for gpio_config function
- @brief GPIO ETM event configuration
- @brief GPIO ETM task configuration
- @brief General Purpose Timer alarm configuration
- @brief GPTimer alarm event data
- @brief General Purpose Timer configuration
- @brief GPTimer ETM event configuration
- @brief GPTimer ETM task configuration
- @brief Group of supported GPTimer callbacks @note The callbacks are all running under ISR environment @note When CONFIG_GPTIMER_ISR_IRAM_SAFE is enabled, the callback itself and functions called by it should be placed in IRAM.
- @brief HTTP Server Configuration Structure
- @brief HTTP Request Data Structure
- @brief Structure for URI handler
- @brief I2C initialization parameters
- @brief Data structure for calculating I2C bus timing.
- @brief Timing configuration structure. Used for I2C reset internally.
- @brief I2S controller channel configuration
- @brief I2S channel information
- @brief I2S driver configuration parameters
- @brief Group of I2S callbacks @note The callbacks are all running under ISR environment @note When CONFIG_I2S_ISR_IRAM_SAFE is enabled, the callback itself and functions called by it should be placed in IRAM. The variables used in the function should be in the SRAM as well.
- @brief Event structure used in I2S event queue
- @brief Event structure used in I2S event queue
- @brief I2S PCM configuration
- @brief I2S clock configuration for pdm tx mode
- @brief I2S PDM TX mode major configuration that including clock/slot/gpio configuration
- @brief I2S PDM tx mode GPIO pins configuration
- @brief I2S slot configuration for pdm tx mode
- @brief I2S PDM up-sample rate configuration @note TX PDM can only be set to the following two up-sampling rate configurations: 1: fp = 960, fs = sample_rate / 100, in this case, Fpdm = 12848000 2: fp = 960, fs = 480, in this case, Fpdm = 128Fpcm = 128sample_rate If the pdm receiver do not care the pdm serial clock, it’s recommended set Fpdm = 12848000. Otherwise, the second configuration should be applied.
- @brief I2S GPIO pins configuration
- @brief I2S clock configuration for standard mode
- @brief I2S standard mode major configuration that including clock/slot/gpio configuration
- @brief I2S standard mode GPIO pins configuration
- @brief I2S slot configuration for standard mode
- @brief I2S clock configuration for tdm mode
- @brief I2S TDM mode major configuration that including clock/slot/gpio configuration
- @brief I2S TDM mode GPIO pins configuration
- @brief I2S slot configuration for tdm mode
- This is the aligned version of ip4_addr_t, used as local variable, on the stack, etc.
- This is the aligned version of ip6_addr_t, used as local variable, on the stack, etc.
- @ingroup ipaddr A union struct for both IP version’s addresses. ATTENTION: watch out for its size when adding IPv6 address scope!
- Event structure for ADD_IP6 event
- Event structure for IP_EVENT_AP_STAIPASSIGNED event
- Event structure for IP_EVENT_GOT_IP6 event
- @brief Event structure for IP_EVENT_GOT_IP event
- Global variables of this module, kept in a struct for efficient access using base+index.
- @brief LEDC callback parameter
- @brief Group of supported LEDC callbacks @note The callbacks are all running under ISR environment
- @brief Configuration parameters of LEDC channel for ledc_channel_config function
- @brief Configuration parameters of LEDC Timer timer for ledc_timer_config function
- Container for ASN1 bit strings.
- Type-length-value structure that allows for ASN1 using DER.
- Container for a sequence or list of ‘named’ ASN.1 data items
- Container for a sequence of ASN.1 items
- \brief The CCM context-type definition. The CCM context is passed to the APIs called.
- Generic cipher context.
- Cipher information. Allows calling cipher functions in a generic way.
- The CMAC context structure.
- \warning Performing multiple operations concurrently on the same ECDSA context is not supported; objects of this type should not be shared between multiple threads. \brief The ECDH context structure.
- The context used by the default ECDH implementation.
- EC J-PAKE context structure.
- Curve information, for use by other modules.
- \brief The ECP group structure.
- \brief The ECP key-pair structure.
- \brief The ECP point structure, in Jacobian coordinates.
- The generic message-digest context.
- \brief MPI structure
- \brief Public key container
- \brief Item to send to the debug module
- \brief Options for RSASSA-PSS signature verification. See \c mbedtls_rsa_rsassa_pss_verify_ext()
- \brief Statistics about resource consumption related to the PSA keystore.
- \brief RIPEMD-160 context structure
- \brief The RSA context structure.
- \brief SHA-1 context structure
- \brief The SHA-3 context structure.
- \brief SHA-256 context structure
- \brief The SHA-512 context structure.
- \brief This structure is used for storing ciphersuite information
- SSL/TLS configuration to be shared between mbedtls_ssl_context structures.
- Certificate revocation list structure. Every CRL may have multiple entries.
- Certificate revocation list entry. Contains the CA-specific serial numbers and revocation dates.
- Container for an X.509 certificate. The certificate may be chained.
- Security profile for certificate verification.
- Verification chain as built by \c mbedtls_crt_verify_chain()
- Item in a verification chain: cert and flags for it
- From RFC 5280 section 4.2.1.6: OtherName ::= SEQUENCE { type-id OBJECT IDENTIFIER, value [0] EXPLICIT ANY DEFINED BY type-id }
- From RFC 4108 section 5: HardwareModuleName ::= SEQUENCE { hwType OBJECT IDENTIFIER, hwSerialNum OCTET STRING }
- A structure for holding the parsed Subject Alternative Name, according to type.
- Container for date and time (precision in seconds).
- Container for writing a certificate (CRT)
- @brief MCPWM brake configuration structure
- @brief MCPWM brake event data
- @brief MCPWM capture channel configuration structure
- @brief Group of supported MCPWM capture event callbacks @note The callbacks are all running under ISR environment
- @brief MCPWM capture event data
- @brief MCPWM capture timer configuration structure
- @brief MCPWM Capture timer sync phase configuration
- @brief MCPWM carrier configuration structure
- @brief MCPWM comparator configuration
- @brief Group of supported MCPWM compare event callbacks @note The callbacks are all running under ISR environment
- @brief MCPWM compare event data
- @brief MCPWM dead time configuration structure
- @brief Group of supported MCPWM fault event callbacks @note The callbacks are all running under ISR environment
- @brief MCPWM fault event data
- @brief Generator action on specific brake event
- @brief Generator action on specific comparator event
- @brief Generator action on specific timer event
- @brief MCPWM generator configuration
- @brief MCPWM GPIO fault configuration structure
- @brief MCPWM GPIO sync source configuration
- @brief MCPWM operator configuration
- @brief Group of supported MCPWM operator event callbacks @note The callbacks are all running under ISR environment
- @brief MCPWM software fault configuration structure
- @brief MCPWM software sync configuration structure
- @brief MCPWM timer configuration
- @brief Group of supported MCPWM timer event callbacks @note The callbacks are all running under ISR environment
- @brief MCPWM timer event data
- @brief MCPWM Timer sync phase configuration
- @brief MCPWM timer sync source configuration
- Memory pool descriptor
- @brief Mesh softAP configuration
- @brief Mesh networking IE
- Structures
- @brief Mesh initialization configuration
- @brief The crypto callback function structure used in mesh vendor IE encryption. The structure can be set as software crypto or the crypto optimized by device’s hardware.
- @brief Mesh data for esp_mesh_send() and esp_mesh_recv()
- @brief Channel switch information
- @brief Parent connected information
- @brief find a mesh network that this device can join
- @brief Layer change information
- @brief Network state information
- @brief No parent found information
- @brief PS duty information
- @brief Other powerful root address
- @brief Root fixed
- @brief Root switch request information
- @brief Routing table change
- @brief Scan done event information
- @brief vote started information
- @brief Mesh option
- @brief Router configuration
- @brief The number of packets available in the queue waiting to be received by applications
- @brief The number of packets pending in the queue waiting to be sent by the mesh stack
- @brief Vote
- @brief Structure to access heap metadata via multi_heap_get_info
- @brief This structure maps handler required by protocomm layer to UUIDs which are used to uniquely identify BLE characteristics from a smartphone or a similar client device.
- Generic data structure used for all lwIP network interfaces. The following fields should be filled in by the initialization function for the device driver: hwaddr_len, hwaddr[], mtu, flags
- Args to LWIP_NSC_IPV4_ADDRESS_CHANGED|LWIP_NSC_IPV4_GATEWAY_CHANGED|LWIP_NSC_IPV4_NETMASK_CHANGED|LWIP_NSC_IPV4_SETTINGS_CHANGED callback
- Args to LWIP_NSC_IPV6_ADDR_STATE_CHANGED callback
- Args to LWIP_NSC_IPV6_SET callback
- Args to LWIP_NSC_LINK_CHANGED callback
- Args to LWIP_NSC_STATUS_CHANGED callback
- @brief information about entry obtained from nvs_entry_info function
- @brief Key for encryption and decryption
- @note Info about storage space NVS.
- Main packet buffer struct
- A custom pbuf: like a pbuf, but following a function pointer to free it.
- Helper struct for const-correctness only. The only meaning of this one is to provide a const payload pointer for PBUF_ROM type.
- @brief Spinlock object Owner:
- @brief Config parameters for protocomm BLE service
- @brief Config parameters for protocomm HTTP server
- @brief Config parameters for protocomm HTTP server
- @brief Protocomm security object structure.
- @brief Protocomm Security 1 parameters: Proof Of Possession
- @brief Protocomm Security 2 parameters: Salt and Verifier
- \brief The context for PSA interruptible hash signing.
- \brief The context for PSA interruptible hash verification.
- @brief ESP-TLS preshared key and hint structure
- @brief Bytes encoder configuration
- @brief RMT carrier wave configuration (for either modulation or demodulation)
- @brief Data struct of RMT channel status
- @brief Data struct of RMT configure parameters
- @brief Copy encoder configuration
- @brief Interface of RMT encoder
- @brief Definition of RMT item
- @brief RMT hardware memory layout
- @brief RMT receive specific configuration
- @brief RMT RX channel specific configuration
- @brief Data struct of RMT RX configure parameters
- @brief Type of RMT RX done event data
- @brief Group of RMT RX callbacks @note The callbacks are all running under ISR environment @note When CONFIG_RMT_ISR_IRAM_SAFE is enabled, the callback itself and functions called by it should be placed in IRAM. The variables used in the function should be in the SRAM as well.
- @brief Synchronous manager configuration
- @brief RMT transmit specific configuration
- @brief RMT TX channel specific configuration
- @brief Data struct of RMT TX configure parameters
- @brief Type of RMT TX done event data
- @brief Structure encapsulating a RMT TX end callback
- @brief Group of RMT TX callbacks @note The callbacks are all running under ISR environment @note When CONFIG_RMT_ISR_IRAM_SAFE is enabled, the callback itself and functions called by it should be placed in IRAM. The variables used in the function should be in the SRAM as well.
- SD/MMC card information structure
- Decoded values from SD card Card IDentification register
- SD/MMC command information
- Decoded values from SD card Card Specific Data register
- Decoded values of Extended Card Specific Data
- SD/MMC Host description
- Decoded values from SD Configuration Register Note: When new member is added, update reserved bits accordingly
- Decoded values from SD Status Register Note: When new member is added, update reserved bits accordingly
- SD SWITCH_FUNC response buffer
- Extra configuration for SD SPI device.
- @brief Sigma-delta configure struct
- Argument structure for SC_EVENT_GOT_SSID_PSWD event
- Configure structure for esp_smartconfig_start
- @brief This is a configuration structure for a SPI bus.
- @brief This is a configuration for a SPI slave device that is connected to one of the SPI buses.
- Structure for flash encryption operations.
- Host driver configuration and context structure.
- SPI Flash Host driver instance
- Configuration structure for the flash chip suspend feature.
- Definition of a common transaction. Also holds the return value.
- @brief Line mode of SPI transaction phases: CMD, ADDR, DOUT/DIN.
- @brief This is a configuration for a SPI host acting as a slave device.
- This structure describes one SPI transaction
- This struct is for SPI transactions which may change their address and command length. Please do set the flags in base to
SPI_TRANS_VARIABLE_CMD_ADR
to use the bit length here. - This structure describes one SPI transaction. The descriptor should not be modified until the transaction finishes.
- @brief Configuration of measurement range for the temperature sensor.
- @brief Timer configurations
- @brief Keep alive parameters structure
- Type by which software timers are referenced. For example, a call to xTimerCreate() returns an TimerHandle_t variable that can then be used to reference the subject timer in calls to other software timer API functions (for example, xTimerStart(), xTimerReset(), etc.).
- Topic definition struct
- Touch sensor filter configuration
- Touch sensor denoise configuration
- Touch sensor channel sleep configuration
- Touch sensor waterproof configuration
- task. h
- @brief Structure for acceptance filter configuration of the TWAI driver (see documentation)
- @brief Structure for general configuration of the TWAI driver
- @brief Structure to store a TWAI message
- @brief Structure to store status information of TWAI driver
- @brief Structure for bit timing configuration of the TWAI driver
- @brief UART AT cmd char configuration parameters Note that this function may different on different chip. Please refer to the TRM at confirguration.
- @brief UART configuration parameters for uart_param_config function
- @brief Event structure used in UART event queue
- @brief UART interrupt configuration parameters for uart_intr_config function
- @brief UART software flow control configuration parameters
- @brief Configuration structure for the usb-serial-jtag-driver. Can be expanded in the future
- @brief Vendor Information Element header
- @brief Action Frame Tx Request
- @brief Range of active scan times per channel
- @brief WiFi antenna configuration
- @brief WiFi GPIOs configuration for antenna selection
- @brief WiFi GPIO configuration for antenna selection
- @brief Soft-AP configuration settings for the device
- @brief Description of a WiFi AP
- @brief WiFi beacon monitor parameter configuration
- @brief Structure describing WiFi country-based regional restrictions.
- @brief CSI data type
- Argument structure for WIFI_EVENT_ACTION_TX_STATUS event
- Argument structure for WIFI_EVENT_AP_PROBEREQRECVED event
- Argument structure for WIFI_EVENT_AP_STACONNECTED event
- Argument structure for WIFI_EVENT_AP_STADISCONNECTED event
- Argument structure for WIFI_EVENT_AP_WPS_RG_FAILED event
- Argument structure for WIFI_EVENT_AP_WPS_RG_PIN event
- Argument structure for WIFI_EVENT_AP_WPS_RG_SUCCESS event
- Argument structure for WIFI_EVENT_STA_BSS_RSSI_LOW event
- Argument structure for WIFI_EVENT_FTM_REPORT event
- Argument structure for WIFI_EVENT_NAN_RECEIVE event
- Argument structure for WIFI_EVENT_NAN_REPLIED event
- Argument structure for WIFI_EVENT_NAN_SVC_MATCH event
- Argument structure for WIFI_EVENT_NDP_CONFIRM event
- Argument structure for WIFI_EVENT_NDP_INDICATION event
- Argument structure for WIFI_EVENT_NDP_TERMINATED event
- Argument structure for WIFI_EVENT_ROC_DONE event
- Argument structure for WIFI_EVENT_STA_AUTHMODE_CHANGE event
- Argument structure for WIFI_EVENT_STA_CONNECTED event
- Argument structure for WIFI_EVENT_STA_DISCONNECTED event
- Argument structure for WIFI_EVENT_SCAN_DONE event
- Argument structure for WIFI_EVENT_STA_WPS_ER_PIN event
- Argument structure for WIFI_EVENT_STA_WPS_ER_SUCCESS event
- @brief FTM Initiator configuration
- Argument structure for
- @brief Description of a WiFi AP HE Info
- @brief Configuration for STA’s HT2040 coexist management
- @brief WiFi stack configuration parameters passed to esp_wifi_init call.
- @brief Configuration for WiFi ioctl
- @brief NAN Discovery start configuration
- @brief NAN Datapath End parameters
- @brief NAN Datapath Request parameters
- @brief NAN Datapath Response parameters
- @brief NAN Follow-up parameters
- @brief NAN Publish service configuration parameters
- @brief NAN Subscribe service configuration parameters
- @brief Received packet radio metadata header, this is the common header at the beginning of all promiscuous mode RX callback buffers
- Configuration structure for Protected Management Frame
- @brief Mask for filtering different packet types in promiscuous mode.
- @brief Payload passed to ‘buf’ parameter of promiscuous mode RX callback.
- @brief WiFi status data to be sent in response to
get_status
request from master - @brief Internal handlers for receiving and responding to protocomm requests from master
- @brief WiFi config data received by slave during
set_config
request from master - @brief Event handler that is used by the manager while provisioning service is active
- @brief Structure for specifying the manager configuration
- @brief Structure for specifying the provisioning scheme to be followed by the manager
- @brief WiFi STA connected status information
- @brief Parameters for an SSID scan.
- @brief Structure describing parameters for a WiFi fast scan
- @brief Aggregate of active & passive scan time per channel
- @brief STA configuration settings for the device
- @brief Description of STA associated with AP
- @brief List of stations associated with the Soft-AP
- @brief The crypto callback function structure used when do station security connect. The structure can be set as software crypto or the crypto optimized by device’s hardware.
- @brief Structure representing WPS factory information for ESP device.
- Defines the memory ranges allocated to the task when an MPU is used.
- @brief Struct that is equivalent in size to the ring buffer’s data structure
- @brief Task Snapshot structure
- Used internally only.
Constants§
- < Chip did not respond to the command, or timed out.
- < The chip doesn’t have enough space for the current partition table
- < return failed in ets
- < return successful in ets
- Key length, in bits (including parity), for DES keys. \warning DES is considered weak.
- Key length in bits, including parity, for DES in two-key EDE. \warning 3DES is considered weak.
- Key length in bits, including parity, for DES in three-key EDE. \warning 3DES is considered weak.
- Undefined key length.
- Allow-split buffers will split an item into two parts if necessary in order to store it. Each item requires an 8 byte overhead for a header, splitting incurs an extra header. Each item will always internally occupy a 32-bit aligned size of space.
- Byte buffers store data as a sequence of bytes and do not maintain separate items, therefore byte buffers have no overhead. All data is stored as a sequence of byte and any number of bytes can be sent or retrieved each time.
- Byte buffers store data as a sequence of bytes and do not maintain separate items, therefore byte buffers have no overhead. All data is stored as a sequence of byte and any number of bytes can be sent or retrieved each time.
- No-split buffers will only store an item in contiguous memory and will never split an item. Each item requires an 8 byte overhead for a header and will always internally occupy a 32-bit aligned size of space.
- < ADC1 channel 0 is GPIO0
- < ADC1 channel 1 is GPIO1
- < ADC1 channel 2 is GPIO2
- < ADC1 channel 3 is GPIO3
- < ADC1 channel 4 is GPIO4
- < ADC2 channel 0 is GPIO5
- <No input attenuation, ADC can measure up to approx.
- <The input voltage of ADC will be attenuated extending the range of measurement by about 2.5 dB (1.33 x)
- <The input voltage of ADC will be attenuated extending the range of measurement by about 6 dB (2 x)
- <The input voltage of ADC will be attenuated extending the range of measurement by about 11 dB (3.55 x)
- < ADC capture width is 12Bit.
- < ADC output width is 9Bit
- < ADC output width is 10Bit
- < ADC output width is 11Bit
- < ADC output width is 12Bit
- < ADC output width is 13Bit
- < Default ADC output bits, max supported width will be selected
- < Curve fitting scheme
- < Line fitting scheme
- < ADC channel
- < ADC channel
- < ADC channel
- < ADC channel
- < ADC channel
- < ADC channel
- < ADC channel
- < ADC channel
- < ADC channel
- < ADC channel
- < Use both ADC1 and ADC2 for conversion by turn. e.g. ADC1 -> ADC2 -> ADC1 -> ADC2 …..
- < Use Both ADC1 and ADC2 for conversion simultaneously
- < Only use ADC1 for conversion
- < Only use ADC2 for conversion
- < The filter coefficient is 2
- < The filter coefficient is 4
- < The filter coefficient is 8
- < The filter coefficient is 16
- < The filter coefficient is 64
- < Filter 0
- < Filter 1
- < See
adc_digi_output_data_t.type1
- < See
adc_digi_output_data_t.type2
- < ADC ULP mode is disabled
- < ADC is controlled by ULP FSM
- < ADC is controlled by ULP RISCV
- < SAR ADC 1
- < SAR ADC 2
- @brief Output RMII Clock from internal APLL Clock available at GPIO0
- @brief MAC will get RMII clock from outside at this GPIO.
- @brief Inverted Output RMII Clock from internal APLL Clock available at GPIO17
- @brief Output RMII Clock from internal APLL Clock available at GPIO16
- @brief Default values configured using Kconfig are going to be used when “Default” selected.
- @brief Input RMII Clock from external. EMAC Clock GPIO number needs to be configured when this option is selected.
- @brief Output RMII Clock from internal APLL Clock. EMAC Clock GPIO number needs to be configured when this option is selected.
- Connection aborted.
- Already connecting.
- Illegal argument.
- Buffer error.
- Connection closed.
- Not connected.
- Low-level netif error
- Operation in progress
- Conn already established.
- Out of memory error.
- No error, everything OK.
- Connection reset.
- Routing problem.
- Timeout.
- Address in use.
- Illegal value.
- Operation would block.
- < Characterization based on default reference voltage
- < Characterization based on Two Point values stored in eFuse
- < Characterization based on Two Point values and fitting curve coefficients stored in eFuse
- < Characterization based on reference voltage stored in eFuse
- < chip ID: ESP32
- < chip ID: ESP32-C2
- < chip ID: ESP32-C3
- < chip ID: ESP32-C6
- < chip ID: ESP32-H2
- < chip ID: ESP32-S2
- < chip ID: ESP32-S3
- < Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size)
- < The long hold GPIO
- < If the GPIO input is not low
- < The short hold GPIO
- < CHAP (Challenge Handshake Authentication Protocol)
- < EAP (Extensible Authentication Protocol)
- < MS-CHAP (Microsoft Challenge Handshake Authentication Protocol)
- < MS-CHAPv2 (Microsoft Challenge Handshake Authentication Protocol - Version 2)
- < PAP (Password Authentication Protocol)
- < Number of eFuse BLOCK0. REPEAT_DATA
- < Number of eFuse BLOCK1. MAC_SPI_8M_SYS
- < Number of eFuse BLOCK2. SYS_DATA_PART1
- < Number of eFuse BLOCK3. USER_DATA
- < Number of eFuse BLOCK4. KEY0
- < Number of eFuse BLOCK5. KEY1
- < Number of eFuse BLOCK6. KEY2
- < Number of eFuse BLOCK7. KEY3
- < Number of eFuse BLOCK8. KEY4
- < Number of eFuse BLOCK9. KEY5
- < Number of eFuse BLOCK10. SYS_DATA_PART2
- < Number of eFuse BLOCK4. KEY0
- < Number of eFuse BLOCK5. KEY1
- < Number of eFuse BLOCK6. KEY2
- < Number of eFuse BLOCK7. KEY3
- < Number of eFuse BLOCK8. KEY4
- < Number of eFuse BLOCK9. KEY5
- < Number of eFuse BLOCK2. SYS_DATA_PART1
- < Number of eFuse BLOCK10. SYS_DATA_PART2
- < Number of eFuse BLOCK3. USER_DATA
- < None
- < Reed-Solomon coding
- < HMAC Downstream mode
- < Digital Signature peripheral key (uses HMAC Downstream mode)
- < JTAG soft enable key (uses HMAC Downstream mode)
- < HMAC Upstream mode
- < MAX PURPOSE
- < Reserved
- < SECURE_BOOT_DIGEST0 (Secure Boot key digest)
- < SECURE_BOOT_DIGEST1 (Secure Boot key digest)
- < SECURE_BOOT_DIGEST2 (Secure Boot key digest)
- < User purposes (software-only use)
- < XTS_AES_128_KEY (flash/PSRAM encryption)
- < Disable ROM logging permanently
- < Always enable ROM logging
- < ROM logging is enabled when specific GPIO level is high during start up
- < ROM logging is enabled when specific GPIO level is low during start up
- < Get PHY Auto Negotiation
- < Get Duplex mode
- < Get MAC address
- < Get PHY address
- < Get Speed
- < Set PHY Auto Negotiation
- < Set Duplex mode
- < Set flow control
- < Set MAC address
- < Set PHY address
- < Set PHY loopback
- < Set promiscuous mode
- < Set Speed
- < Deinit done
- < Duplex updated
- < Link status changed
- < Lowlevel init done
- < Pause ability updated
- < Speed updated
- < Both address & data transferred using dual I/O
- < Data read using dual I/O
- < Data read using single I/O, no limit on speed
- < Only support on OPI flash, flash read and write under DTR mode
- < Only support on OPI flash, flash read and write under STR mode
- < Both address & data transferred using quad I/O
- < Data read using quad I/O
- < The fastest io mode supported by the host is
ESP_FLASH_READ_MODE_MAX-1
. - < Data read using single I/O, some limits on speed
- < The flash runs under 5MHz
- < The flash runs under 10MHz
- < The flash runs under 20MHz
- < The flash runs under 26MHz
- < The flash runs under 40MHz
- < The flash runs under 80MHz
- < The flash runs under 120MHz, 120MHZ can only be used by main flash after timing tuning in system. Do not use this directely in any API.
- < The maximum frequency supported by the host is
ESP_FLASH_SPEED_MAX-1
. - < HTTP Basic authentication
- < HTTP Disgest authentication
- < No authention
- < The connection has been disconnected
- < This event occurs when there are any errors during execution
- < After sending all the headers to the server
- < This header has been kept for backward compatability and will be deprecated in future versions esp-idf
- < Once the HTTP has been connected to the server, no data exchange has been performed
- < Occurs when receiving data from the server, possibly multiple portions of the packet
- < Occurs when finish a HTTP session
- < Occurs when receiving each header sent from the server
- < Intercepting HTTP redirects to handle them manually
- < HTTP COPY Method
- < HTTP DELETE Method
- < HTTP GET Method
- < HTTP HEAD Method
- < HTTP LOCK Method
- < HTTP MKCOL Method
- < HTTP MOVE Method
- < HTTP NOTIFY Method
- < HTTP OPTIONS Method
- < HTTP PATCH Method
- < HTTP POST Method
- < HTTP PROPFIND Method
- < HTTP PROPPATCH Method
- < HTTP PUT Method
- < HTTP SUBSCRIBE Method
- < HTTP UNLOCK Method
- < HTTP UNSUBSCRIBE Method
- < Transport over ssl
- < Transport over tcp
- < Unknown
- < The connection has been disconnected
- < This event occurs when there are any errors during execution
- < After sending all the headers to the client
- < Once the HTTP Server has been connected to the client, no data exchange has been performed
- < Occurs when receiving data from the client
- < Occurs when receiving each header sent from the client
- < Occurs when an ESP HTTP server session is finished
- < This event occurs when HTTP Server is started
- < This event occurs when HTTP Server is stopped
- < SPI flash size 1 MB
- < SPI flash size 2 MB
- < SPI flash size 4 MB
- < SPI flash size 8 MB
- < SPI flash size 16 MB
- < SPI flash size 32 MB
- < SPI flash size 64 MB
- < SPI flash size 128 MB
- < SPI flash size MAX
- < The SPI flash clock frequency equals to the clock source
- < The SPI flash clock frequency is divided by 2 of the clock source
- < The SPI flash clock frequency is divided by 3 of the clock source
- < The SPI flash clock frequency is divided by 4 of the clock source
- < SPI mode DIO
- < SPI mode DOUT
- < SPI mode FAST_READ
- < SPI mode QIO
- < SPI mode QOUT
- < SPI mode SLOW_READ
- < Ethernet interface
- < Soft-AP interface
- < NAN interface
- < Station interface
- < Color space: BGR
- < Color space: monochrome
- < Color space: RGB
- !< CR
- !< CR + LF
- !< LF
- < Extra information which is not necessary for normal use (values, pointers, sizes, etc).
- < Critical errors, software module can not recover on its own
- < Information messages which describe normal flow of events
- < No log output
- < Bigger chunks of debugging information, or frequent messages which can potentially flood the output.
- < Error conditions from which recovery measures have been taken
- < Base MAC for that used for other MAC types (6 bytes)
- < MAC for Bluetooth (6 bytes)
- < MAC_CUSTOM eFuse which was can be burned by customer (6 bytes)
- < if CONFIG_SOC_IEEE802154_SUPPORTED=y, MAC_EXT eFuse which is used as an extender for IEEE802154 MAC (2 bytes)
- < MAC_FACTORY eFuse which was burned by Espressif in production (6 bytes)
- < MAC for Ethernet (6 bytes)
- < if CONFIG_SOC_IEEE802154_SUPPORTED=y, MAC for IEEE802154 (8 bytes)
- < MAC for WiFi Soft-AP (6 bytes)
- < MAC for WiFi Station (6 bytes)
- < chain topology
- < tree topology
- < Connection accepted
- < MQTT connection refused reason: Wrong user
- < MQTT connection refused reason: ID rejected
- < MQTT connection refused reason: Wrong username or password
- < MQTT connection refused reason: Wrong protocol
- < MQTT connection refused reason: Server unavailable
- < The event occurs before connecting
- < connected event, additional context: session_present flag
- < data event, additional context:
- < Notification on delete of one message from the internal outbox, if the message couldn’t have been sent and acknowledged before expiring defined in OUTBOX_EXPIRED_TIMEOUT_MS. (events are not posted upon deletion of successfully acknowledged messages)
- < disconnected event
- < published event, additional context: msg_id
- < subscribed event, additional context:
- < unsubscribed event, additional context: msg_id
- < Custom event used to queue tasks into mqtt event handler All fields from the esp_mqtt_event_t type could be used to pass an additional context data to the handler.
- < MQTT over SSL, using scheme:
MQTTS
- < MQTT over TCP, using scheme:
MQTT
- < MQTT over Websocket, using scheme::
ws
- < MQTT over Websocket Secure, using scheme:
wss
- < Domain name server
- < Request IP address lease time
- < Request IP address retry counter
- < Request specific IP address
- < Solicitation router address
- < Network mask
- < Vendor Class Identifier of a DHCP client
- < Vendor Specific Information of a DHCP server
- < Get option
- < Set option
- < DHCP client/server is in initial state (not yet started)
- < DHCP client/server has been started
- < DHCP client/server has been stopped
- < DNS backup server address (Wi-Fi STA and Ethernet only)
- < DNS fallback server address (Wi-Fi STA and Ethernet only)
- < DNS main server address
- < Send ESPNOW data fail
- < Send ESPNOW data successfully
- < App could not confirm the workable or non-workable. In bootloader IMG_PENDING_VERIFY state will be changed to IMG_ABORTED. This app will not selected to boot at all.
- < App was confirmed as non-workable. This app will not selected to boot at all.
- < Monitor the first boot. In bootloader this state is changed to ESP_OTA_IMG_PENDING_VERIFY.
- < First boot for this app was. If while the second boot this state is then it will be changed to ABORTED.
- < Undefined. App can boot and work without limits.
- < App was confirmed as workable. App can boot and work without limits.
- < map to data memory (Vaddr0), allows byte-aligned access, 4 MB total
- < map to instruction memory (Vaddr1-3), allows only 4-byte-aligned access, 11 MB total
- !< Used to search for partitions with any subtype
- !< Factory application partition
- !< OTA partition 0
- !< OTA partition 1
- !< OTA partition 2
- !< OTA partition 3
- !< OTA partition 4
- !< OTA partition 5
- !< OTA partition 6
- !< OTA partition 7
- !< OTA partition 8
- !< OTA partition 9
- !< OTA partition 10
- !< OTA partition 11
- !< OTA partition 12
- !< OTA partition 13
- !< OTA partition 14
- !< OTA partition 15
- !< Max subtype of OTA partition
- !< Base for OTA partition subtypes
- !< Test application partition
- !< COREDUMP partition
- !< Partition for emulate eFuse bits
- !< ESPHTTPD partition
- !< FAT partition
- !< NVS partition
- !< Partition for NVS keys
- !< OTA selection partition
- !< PHY init data partition
- !< SPIFFS partition
- !< Undefined (or unspecified) data partition
- !< Used to search for partitions with any type
- !< Application partition type
- !< Data partition type
- < Elapsed time of the whole ping session
- < IP address of replied target
- < Number of reply packets received
- < Number of request packets sent out
- < Sequence number of a ping procedure
- < Size of received packet
- < Elapsed time between request and reply packet
- < Type of service of a ping procedure
- < Time to live of a ping procedure
- Require APB frequency to be at the maximum value supported by the chip. Argument is unused and should be set to 0.
- Require CPU frequency to be at the maximum value set via esp_pm_configure. Argument is unused and should be set to 0.
- Prevent the system from going into light sleep. Argument is unused and should be set to 0.
- !< Brownout reset (software or hardware)
- !< Reset after exiting deep sleep mode
- !< Reset by external pin (not applicable for ESP32)
- !< Reset (software or hardware) due to interrupt watchdog
- !< Software reset due to exception/panic
- !< Reset due to power-on event
- !< Reset over SDIO
- !< Software reset via esp_restart
- !< Reset due to task watchdog
- !< Reset reason can not be determined
- !< Reset due to other watchdogs
- !< deep sleep mode
- !< light sleep mode
- !< CPU core
- !< Number of domains
- !< Internal Fast oscillator
- !< VDD_SDIO
- !< XTAL oscillator
- !< Keep power domain enabled in sleep mode, if it is needed by one of the wakeup options. Otherwise power it down.
- !< Power down the power domain in sleep mode
- !< Keep power domain enabled during sleep mode
- !< Not a wakeup cause, used to disable all wakeup sources with esp_sleep_disable_wakeup_source
- !< Wakeup caused by BT (light sleep only)
- !< Wakeup caused by COCPU int
- !< Wakeup caused by COCPU crash
- !< Wakeup caused by external signal using RTC_IO
- !< Wakeup caused by external signal using RTC_CNTL
- !< Wakeup caused by GPIO (light sleep only on ESP32, S2 and S3)
- !< Wakeup caused by timer
- !< Wakeup caused by touchpad
- !< Wakeup caused by UART (light sleep only)
- !< Wakeup caused by ULP program
- !< In case of deep sleep, reset was not caused by exit from deep sleep
- !< Wakeup caused by WIFI (light sleep only)
- !< Count of the methods for dispatching timer callback
- !< Callback is called from timer task
- < IPv4 address family.
- < IPv6 address family.
- < Unspecified address family.
- < ESP-IDF error type – esp_err_t
- < Last err type – invalid entry
- < Error code from mbedTLS library
- < Certificate flags defined in mbedTLS
- < System error – errno
- < Error code from wolfSSL library
- < Certificate flags defined in wolfSSL
- < Ethernet checksum calculate by hardware
- < Ethernet checksum calculate by software
- < Media Independent Interface
- < Reduced Media Independent Interface
- < Ethernet is in full duplex
- < Ethernet is in half duplex
- < Ethernet got a valid link
- < Ethernet lost a valid link
- < Ethernet driver start
- < Ethernet driver stop
- < Ethernet link is down
- < Ethernet link is up
- < Ethernet speed is 10Mbps
- < Ethernet speed is 100Mbps
- < Max speed mode (for checking purpose)
- < Pad drive capability: weak
- < Pad drive capability: stronger
- < Pad drive capability: medium
- < Pad drive capability: strongest
- < Pad drive capability: medium
- < Any edge on the GPIO can generate an ETM event signal
- < A falling edge on the GPIO will generate an ETM event signal
- < A rising edge on the GPIO will generate an ETM event signal
- < Clear the GPIO level to low
- < Set the GPIO level to high
- < Toggle the GPIO level
- < Pad input hysteresis ctrl by efuse
- < Pad input hysteresis disable by software
- < Pad input hysteresis enable by software
- < GPIO interrupt type : both rising and falling edge
- < Disable GPIO interrupt
- < GPIO interrupt type : input high level trigger
- < GPIO interrupt type : input low level trigger
- < GPIO interrupt type : falling edge
- < GPIO interrupt type : rising edge
- < GPIO mode : disable input and output
- < GPIO mode : input only
- < GPIO mode : output and input mode
- < GPIO mode : output and input with open-drain mode
- < GPIO mode : output only mode
- < GPIO mode : output only with open-drain mode
- < GPIO0, input and output
- < GPIO1, input and output
- < GPIO2, input and output
- < GPIO3, input and output
- < GPIO4, input and output
- < GPIO5, input and output
- < GPIO6, input and output
- < GPIO7, input and output
- < GPIO8, input and output
- < GPIO9, input and output
- < GPIO10, input and output
- < GPIO11, input and output
- < GPIO12, input and output
- < GPIO13, input and output
- < GPIO14, input and output
- < GPIO15, input and output
- < GPIO16, input and output
- < GPIO17, input and output
- < GPIO18, input and output
- < GPIO19, input and output
- < GPIO20, input and output
- < GPIO21, input and output
- < Use to signal not connected to S/W
- < Pad floating
- < Pad pull down
- < Pad pull up
- < Pad pull up + pull down
- < Disable GPIO pull-down resistor
- < Enable GPIO pull-down resistor
- < Disable GPIO pull-up resistor
- < Enable GPIO pull-up resistor
- < Decrease count value
- < Increase count value
- < Count value matches the alarm target value
- < Maximum number of events
- < Capture current count value into specific register
- < Enable the alarm
- < Maximum number of tasks
- < Reload preset value into counter
- < Start the counter
- < Stop the counter
- < I2C ack for each byte read
- < I2C nack for the last byte
- < I2C nack for each byte read
- < I2C 7bit address for slave mode
- < I2C 10bit address for slave mode
- < I2C master mode
- < I2C slave mode
- < I2C port 0
- < I2C port max
- < I2C read data
- < I2C write data
- < I2C data lsb first
- < I2C data msb first
- < channel bit-width: 8
- < channel bit-width: 16
- < channel bit-width: 24
- < channel bit-width: 32
- < channel bit-width equals to data bit-width
- < data bit-width: 8
- < data bit-width: 16
- < data bit-width: 24
- < data bit-width: 32
- < Load left channel data in both two channels
- < Load right channel data in both two channels
- < More than two channels are used
- < Only load data in left channel (mono mode)
- < Only load data in right channel (mono mode)
- < Separated left and right channel
- < I2S channel (mono), one channel activated. In this mode, you only need to send one channel data but the fifo will copy same data for the other unactivated channels automatically, then both channels will transmit same data.
- < I2S channel (stereo), two (or more) channels activated. In this mode, these channels will transmit different data.
- < I2S channel 0 activated
- < I2S channel 1 activated
- < I2S channel 2 activated
- < I2S channel 3 activated
- < I2S channel 4 activated
- < I2S channel 5 activated
- < I2S channel 6 activated
- < I2S channel 7 activated
- < I2S channel 8 activated
- < I2S channel 9 activated
- < I2S channel 10 activated
- < I2S channel 11 activated
- < I2S channel 12 activated
- < I2S channel 13 activated
- < I2S channel 14 activated
- < I2S channel 15 activated
- < I2S communication format I2S, correspond to
I2S_COMM_FORMAT_STAND_I2S
- < I2S format LSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_LSB) correspond to
I2S_COMM_FORMAT_STAND_MSB
- < I2S format MSB, (I2S_COMM_FORMAT_I2S |I2S_COMM_FORMAT_I2S_MSB) correspond to
I2S_COMM_FORMAT_STAND_I2S
- < I2S communication format PCM, correspond to
I2S_COMM_FORMAT_STAND_PCM_SHORT
- < PCM Long, (I2S_COMM_FORMAT_PCM | I2S_COMM_FORMAT_PCM_LONG) correspond to
I2S_COMM_FORMAT_STAND_PCM_LONG
- < PCM Short, (I2S_COMM_FORMAT_PCM | I2S_COMM_FORMAT_PCM_SHORT) correspond to
I2S_COMM_FORMAT_STAND_PCM_SHORT
- < I2S communication I2S Philips standard, data launch at second BCK
- < standard max
- < I2S communication MSB alignment standard, data launch at first BCK
- < PCM Long standard. The period of synchronization signal (WS) is channel_bit*bck cycles.
- < PCM Short standard, also known as DSP mode. The period of synchronization signal (WS) is 1 bck cycle.
- < Unspecified I2S controller mode
- < I2S controller using PDM communication mode, support PDM output or input
- < I2S controller using standard communication mode, support philips/MSB/PCM format
- < I2S controller using TDM communication mode, support up to 16 slots per frame
- < I2S channel data bit-width: 8
- < I2S channel data bit-width: 16
- < I2S channel data bit-width: 24
- < I2S channel data bit-width: 32
- < I2S channel direction RX
- < I2S channel direction TX
- < I2S DMA has no next descriptor for sending or receiving
- < I2S DMA finished receiving one DMA buffer
- < I2S DMA receive queue overflowed, the oldest data has been overwritten by the new data in the DMA buffer
- < I2S DMA finished sending one DMA buffer
- < I2S DMA sending queue overflowed, the oldest data has been overwritten by the new data in the DMA buffer
- < mclk = sample_rate * 128
- < mclk = sample_rate * 256
- < mclk = sample_rate * 384
- < mclk = sample_rate * 512
- < Master mode
- < I2S PDM mode
- < RX mode
- < Slave mode
- < TX mode
- < A-law compress
- < A-law decompress
- < Disable A/U law decompress or compress
- < U-law compress
- < U-law decompress
- < I2S TX PDM signal scaling: /2
- < I2S TX PDM signal scaling: x1
- < I2S TX PDM signal scaling: x2
- < I2S TX PDM signal scaling: x4
- < I2S PDM transmits or receives both two slots
- < I2S PDM only transmits or receives the PDM device whose ‘select’ pin is pulled down
- < I2S PDM only transmits or receives the PDM device whose ‘select’ pin is pulled up
- < Standard PDM format output, left and right slot data on a single line
- < PDM DAC format output, left or right slot data on a single line
- < PDM DAC format output, left and right slot data on separated lines
- < I2S controller port 0
- < Select whichever port is available
- < I2S controller master role, bclk and ws signal will be set to output
- < I2S controller slave role, bclk and ws signal will be set to input
- < I2S channel slot bit-width: 8
- < I2S channel slot bit-width: 16
- < I2S channel slot bit-width: 24
- < I2S channel slot bit-width: 32
- < I2S channel slot bit-width equals to data bit-width
- < I2S channel slot format mono, transmit same data in all slots for tx mode, only receive the data in the first slots for rx mode.
- < I2S channel slot format stereo, transmit different data in different slots for tx mode, receive the data in all slots for rx mode.
- < I2S transmits or receives both left and right slot
- < I2S transmits or receives left slot
- < I2S transmits or receives right slot
- < I2S slot 0 enabled
- < I2S slot 1 enabled
- < I2S slot 2 enabled
- < I2S slot 3 enabled
- < I2S slot 4 enabled
- < I2S slot 5 enabled
- < I2S slot 6 enabled
- < I2S slot 7 enabled
- < I2S slot 8 enabled
- < I2S slot 9 enabled
- < I2S slot 10 enabled
- < I2S slot 11 enabled
- < I2S slot 12 enabled
- < I2S slot 13 enabled
- < I2S slot 14 enabled
- < I2S slot 15 enabled
- < Register intr ISR to core 0.
- < Register intr ISR to core 1.
- < Register intr ISR to core automatically, this means the core on which you call
esp_intr_alloc
- < soft-AP assign an IP to a connected station
- < ethernet got IP from connected AP
- < ethernet lost IP and the IP is reset to 0
- < station or ap or ethernet interface v6IP addr is preferred
- < PPP interface got IP
- < PPP interface lost IP
- < station got IP from connected AP
- < station lost IP and the IP is reset to 0
- < Full color range
- < Limited color range
- < Color space: RGB
- < Color space: YUV
- < RGB data endian: MSB first
- < RGB data endian: LSB first
- < RGB element order: BGR
- < RGB element order: RGB
- < YUV<->RGB conversion standard: BT.601
- < YUV<->RGB conversion standard: BT.709
- < YUV 4:1:1 sampling
- < YUV 4:2:0 sampling
- < YUV 4:2:2 sampling
- < LEDC fade end event
- < LEDC channel 0
- < LEDC channel 1
- < LEDC channel 2
- < LEDC channel 3
- < LEDC channel 4
- < LEDC channel 5
- < LEDC timer clock divided from APB clock (80Mhz)
- < Selecting this value for LEDC_TICK_SEL_TIMER let the hardware take its source clock from LEDC_APB_CLK_SEL
- < LEDC duty decrease direction
- < LEDC duty increase direction
- < LEDC fade function will return immediately
- < LEDC fade function will block until fading to the target duty
- < Disable LEDC interrupt
- < Enable LEDC interrupt
- < LEDC low speed speed_mode
- < LEDC speed limit
- < LEDC low speed timer clock source is 80MHz APB clock
- < LEDC low speed timer clock source is RC_FAST clock
- < Alias of ‘LEDC_SLOW_CLK_RC_FAST’
- < LEDC low speed timer clock source XTAL clock
- < LEDC PWM duty resolution of 1 bits
- < LEDC PWM duty resolution of 2 bits
- < LEDC PWM duty resolution of 3 bits
- < LEDC PWM duty resolution of 4 bits
- < LEDC PWM duty resolution of 5 bits
- < LEDC PWM duty resolution of 6 bits
- < LEDC PWM duty resolution of 7 bits
- < LEDC PWM duty resolution of 8 bits
- < LEDC PWM duty resolution of 9 bits
- < LEDC PWM duty resolution of 10 bits
- < LEDC PWM duty resolution of 11 bits
- < LEDC PWM duty resolution of 12 bits
- < LEDC PWM duty resolution of 13 bits
- < LEDC PWM duty resolution of 14 bits
- < LEDC timer 0
- < LEDC timer 1
- < LEDC timer 2
- < LEDC timer 3
- IPv4+IPv6 (“dual-stack”)
- IPv4
- IPv6
- Multicast
- Unicast
- Unknown
- < The mode value for performing decryption.
- < The mode value for performing encryption.
- < The Triple DES cipher. \warning 3DES is considered weak.
- < The AES cipher.
- < The Aria cipher.
- < The Camellia cipher.
- < The ChaCha20 cipher.
- < The DES cipher. \warning DES is considered weak.
- < Placeholder to mark the end of cipher ID lists.
- < The identity cipher, treated as a stream cipher.
- < The CBC cipher mode.
- < The CCM cipher mode.
- < The CCM*-no-tag cipher mode.
- < The CFB cipher mode.
- < The ChaCha-Poly cipher mode.
- < The CTR cipher mode.
- < The ECB cipher mode.
- < The GCM cipher mode.
- < The SP800-38F KW mode
- < The SP800-38F KWP mode
- < None.
- < The OFB cipher mode.
- < The stream cipher mode.
- < The XTS cipher mode.
- < Never pad (full blocks only).
- < ISO/IEC 7816-4 padding.
- < PKCS7 padding (default).
- < Zero padding (not reversible).
- < ANSI X.923 padding.
- < AES cipher with 128-bit CBC mode.
- < AES cipher with 128-bit CCM mode.
- < AES cipher with 128-bit CCM_STAR_NO_TAG mode.
- < AES cipher with 128-bit CFB128 mode.
- < AES cipher with 128-bit CTR mode.
- < AES cipher with 128-bit ECB mode.
- < AES cipher with 128-bit GCM mode.
- < AES cipher with 128-bit NIST KW mode.
- < AES cipher with 128-bit NIST KWP mode.
- < AES 128-bit cipher in OFB mode.
- < AES 128-bit cipher in XTS block mode.
- < AES cipher with 192-bit CBC mode.
- < AES cipher with 192-bit CCM mode.
- < AES cipher with 192-bit CCM_STAR_NO_TAG mode.
- < AES cipher with 192-bit CFB128 mode.
- < AES cipher with 192-bit CTR mode.
- < AES cipher with 192-bit ECB mode.
- < AES cipher with 192-bit GCM mode.
- < AES cipher with 192-bit NIST KW mode.
- < AES cipher with 192-bit NIST KWP mode.
- < AES 192-bit cipher in OFB mode.
- < AES cipher with 256-bit CBC mode.
- < AES cipher with 256-bit CCM mode.
- < AES cipher with 256-bit CCM_STAR_NO_TAG mode.
- < AES cipher with 256-bit CFB128 mode.
- < AES cipher with 256-bit CTR mode.
- < AES cipher with 256-bit ECB mode.
- < AES cipher with 256-bit GCM mode.
- < AES cipher with 256-bit NIST KW mode.
- < AES cipher with 256-bit NIST KWP mode.
- < AES 256-bit cipher in OFB mode.
- < AES 256-bit cipher in XTS block mode.
- < Aria cipher with 128-bit key and CBC mode.
- < Aria cipher with 128-bit key and CCM mode.
- < Aria cipher with 128-bit key and CCM_STAR_NO_TAG mode.
- < Aria cipher with 128-bit key and CFB-128 mode.
- < Aria cipher with 128-bit key and CTR mode.
- < Aria cipher with 128-bit key and ECB mode.
- < Aria cipher with 128-bit key and GCM mode.
- < Aria cipher with 192-bit key and CBC mode.
- < Aria cipher with 192-bit key and CCM mode.
- < Aria cipher with 192-bit key and CCM_STAR_NO_TAG mode.
- < Aria cipher with 192-bit key and CFB-128 mode.
- < Aria cipher with 192-bit key and CTR mode.
- < Aria cipher with 192-bit key and ECB mode.
- < Aria cipher with 192-bit key and GCM mode.
- < Aria cipher with 256-bit key and CBC mode.
- < Aria cipher with 256-bit key and CCM mode.
- < Aria cipher with 256-bit key and CCM_STAR_NO_TAG mode.
- < Aria cipher with 256-bit key and CFB-128 mode.
- < Aria cipher with 256-bit key and CTR mode.
- < Aria cipher with 256-bit key and ECB mode.
- < Aria cipher with 256-bit key and GCM mode.
- < Camellia cipher with 128-bit CBC mode.
- < Camellia cipher with 128-bit CCM mode.
- < Camellia cipher with 128-bit CCM_STAR_NO_TAG mode.
- < Camellia cipher with 128-bit CFB128 mode.
- < Camellia cipher with 128-bit CTR mode.
- < Camellia cipher with 128-bit ECB mode.
- < Camellia cipher with 128-bit GCM mode.
- < Camellia cipher with 192-bit CBC mode.
- < Camellia cipher with 192-bit CCM mode.
- < Camellia cipher with 192-bit CCM_STAR_NO_TAG mode.
- < Camellia cipher with 192-bit CFB128 mode.
- < Camellia cipher with 192-bit CTR mode.
- < Camellia cipher with 192-bit ECB mode.
- < Camellia cipher with 192-bit GCM mode.
- < Camellia cipher with 256-bit CBC mode.
- < Camellia cipher with 256-bit CCM mode.
- < Camellia cipher with 256-bit CCM_STAR_NO_TAG mode.
- < Camellia cipher with 256-bit CFB128 mode.
- < Camellia cipher with 256-bit CTR mode.
- < Camellia cipher with 256-bit ECB mode.
- < Camellia cipher with 256-bit GCM mode.
- < ChaCha20 stream cipher.
- < ChaCha20-Poly1305 AEAD cipher.
- < DES cipher with CBC mode. \warning DES is considered weak.
- < DES cipher with ECB mode. \warning DES is considered weak.
- < DES cipher with EDE3 CBC mode. \warning 3DES is considered weak.
- < DES cipher with EDE3 ECB mode. \warning 3DES is considered weak.
- < DES cipher with EDE CBC mode. \warning 3DES is considered weak.
- < DES cipher with EDE ECB mode. \warning 3DES is considered weak.
- < Placeholder to mark the end of cipher-pair lists.
- < The identity stream cipher.
- < Our key.
- < The key of the peer.
- < The default Mbed TLS implementation
- < Implementation not defined.
- < Client
- < Undefined
- < Server
- < Domain parameters for 256-bit Brainpool curve.
- < Domain parameters for 384-bit Brainpool curve.
- < Domain parameters for 512-bit Brainpool curve.
- < Domain parameters for Curve448.
- < Domain parameters for Curve25519.
- < Curve not defined.
- < Domain parameters for 192-bit “Koblitz” curve.
- < Domain parameters for the 192-bit curve defined by FIPS 186-4 and SEC1.
- < Domain parameters for 224-bit “Koblitz” curve.
- < Domain parameters for the 224-bit curve defined by FIPS 186-4 and SEC1.
- < Domain parameters for 256-bit “Koblitz” curve.
- < Domain parameters for the 256-bit curve defined by FIPS 186-4 and SEC1.
- < Domain parameters for the 384-bit curve defined by FIPS 186-4 and SEC1.
- < Domain parameters for the 521-bit curve defined by FIPS 186-4 and SEC1.
- < The MD5 message digest.
- < None.
- < The RIPEMD-160 message digest.
- < The SHA-1 message digest.
- < The SHA3-224 message digest.
- < The SHA3-256 message digest.
- < The SHA3-384 message digest.
- < The SHA3-512 message digest.
- < The SHA-224 message digest.
- < The SHA-256 message digest.
- < The SHA-384 message digest.
- < The SHA-512 message digest.
- < (X-1)/2 is prime too
- < lower error rate from 2-80 to 2-128
- < SHA3-224
- < SHA3-256
- < SHA3-384
- < SHA3-512
- < Operation not defined.
- < (D)TLS 1.2
- < (D)TLS 1.3
- < Context not in use or version not yet negotiated.
- < Capture on the negative edge
- < Capture on the positive edge
- < Generator action: Force to high level
- < Generator action: Keep the same level
- < Generator action: Force to low level
- < Generator action: Toggle level
- < Brake mode: CBC (cycle by cycle)
- < MCPWM operator invalid brake mode
- < Brake mode, OST (one shot)
- < MCPWM timer counting down
- < MCPWM timer paused
- < MCPWM timer counting up
- < MCPWM timer counting up and down
- < Counting direction: Decrease
- < Counting direction: Increase
- < MCPWM timer counts to zero (i.e. counter is empty)
- < MCPWM timer counts to peak (i.e. counter is full)
- < MCPWM timer invalid event
- < MCPWM timer starts couting, and don’t stop until received stop command
- < MCPWM timer starts counting and stops when next count reaches zero
- < MCPWM timer starts counting and stops when next count reaches peak
- < MCPWM timer stops when next count reaches zero
- < MCPWM timer stops when next count reaches peak
- < cyclic is detected
- < in different mesh ID
- < use an empty password to connect to an encrypted parent
- < unknown IE
- < the connected device is changed to a leaf
- < parent is idle
- < parent has stopped the mesh
- < connect to an unencrypted parent/router
- < parent with very poor RSSI
- < root conflict is detected
- < scan fail
- < waive root
- < channel switch
- < a child is connected on softAP interface
- < a child is disconnected on softAP interface
- < when the channel field in mesh configuration is set to zero, mesh stack will perform a full channel scan to find a mesh network that can join, and return the channel value after finding it.
- < layer changes over the mesh network
- < network state, such as whether current mesh network has a root.
- < no parent found
- < parent is connected on station interface
- < parent is disconnected on station interface
- < child duty
- < device duty
- < parent duty
- < the root address is obtained. It is posted by mesh stack automatically.
- < the root is asked yield by a more powerful existing root. If self organized is disabled and this device is specified to be a root by users, users should set a new parent for this device. if self organized is enabled, this device will find a new parent by itself, users could ignore this event.
- < when devices join a network, if the setting of Fixed Root for one device is different from that of its parent, the device will update the setting the same as its parent’s. Fixed Root Setting of each device is variable as that setting changes of the root.
- < root switch acknowledgment responds the above request sent from current root
- < root switch request sent from a new voted root candidate
- < if users specify BSSID of the router in mesh configuration, when the root connects to another router with the same SSID, this event will be posted and the new router information is attached.
- < routing table is changed by adding newly joined children
- < routing table is changed by removing leave children
- < if self-organized networking is disabled, user can call esp_wifi_scan_start() to trigger this event, and add the corresponding scan done handler in this event.
- < mesh is started
- < mesh is stopped
- < the root stops reconnecting to the router and non-root devices stop reconnecting to their parents.
- < state represents whether the root is able to access external IP network. This state is a manual event that needs to be triggered with esp_mesh_post_toDS_state().
- < the process of voting a new root is started either by children or by the root
- < the process of voting a new root is stopped
- < the root is able to access external IP network
- < the root isn’t able to access external IP network
- < IP network mesh communication of node’s AP interface
- < binary
- < HTTP protocol
- < JSON format
- < MQTT protocol
- < IP network mesh communication of node’s STA interface
- < no retransmission on mesh stack
- < provide E2E (end-to-end) retransmission on mesh stack (Unimplemented)
- < provide P2P (point-to-point) retransmission on mesh stack by default
- < hasn’t joined the mesh network yet
- < has no forwarding ability
- < intermediate device. Has the ability to forward packets over the mesh network
- < the only sink of the mesh network. Has the ability to access external IP network
- < connect to router with a standlone Wi-Fi station mode, no network expansion capability
- < vote is initiated by children
- < vote is initiated by the root
- Add a filter entry
- Delete a filter entry
- < Read only
- < Read and write
- < Must be last
- < Type blob
- < Type int8_t
- < Type int16_t
- < Type int32_t
- < Type int64_t
- < Type string
- < Type uint8_t
- < Type uint16_t
- < Type uint32_t
- < Type uint64_t
- Includes spare room for IP header. Use this if you intend to pass the pbuf to functions like raw_send().
- Includes spare room for link layer header (ethernet header). Use this if you intend to pass the pbuf to functions like ethernet_output(). @see PBUF_LINK_HLEN
- Use this for input packets in a netif driver when calling netif->input() in the most common case - ethernet-layer netif driver.
- Includes spare room for additional encapsulation header before ethernet headers (e.g. 802.11). Use this if you intend to pass the pbuf to functions like netif->linkoutput(). @see PBUF_LINK_ENCAPSULATION_HLEN
- Includes spare room for transport layer header, e.g. UDP header. Use this if you intend to pass the pbuf to functions like udp_send().
- pbuf payload refers to RAM. This one comes from a pool and should be used for RX. Payload can be chained (scatter-gather RX) but like PBUF_RAM, struct pbuf and its payload are allocated in one piece of contiguous memory (so the first payload byte can be calculated from struct pbuf). Don’t use this for TX, if the pool becomes empty e.g. because of TCP queuing, you are unable to receive TCP acks!
- pbuf data is stored in RAM, used for TX mostly, struct pbuf and its payload are allocated in one piece of contiguous memory (so the first payload byte can be calculated from struct pbuf). pbuf_alloc() allocates PBUF_RAM pbufs as unchained pbufs (although that might change in future versions). This should be used for all OUTGOING packets (TX).
- pbuf comes from the pbuf pool. Much like PBUF_ROM but payload might change so it has to be duplicated when queued before transmitting, depending on who has a ‘ref’ to it.
- pbuf data is stored in ROM, i.e. struct pbuf and its payload are located in totally different memory areas. Since it points to ROM, payload does not have to be copied when queued for transmission.
- < interrupt of AES accelerator, level
- < interrupt of APB ADC, LEVEL
- < interrupt of APB ctrl, ?
- < interrupt of Assist debug module, LEVEL
- < interrupt of BT BB, level
- < interrupt of BT BB, NMI, use if BB have bug to fix in NMI
- < will be cancelled
- < interrupt of Cache Invalied Access, LEVEL
- < interrupt of general DMA channel 0, LEVEL
- < interrupt of general DMA channel 1, LEVEL
- < interrupt of general DMA channel 2, LEVEL
- < interrupt of efuse, level, not likely to use
- < interrupt0 generated from a CPU, level
- < interrupt1 generated from a CPU, level
- < interrupt2 generated from a CPU, level
- < interrupt3 generated from a CPU, level
- < interrupt of GPIO, level
- < interrupt of GPIO, NMI
- < interrupt of I2C controller1, level
- < interrupt of I2C Master, level
- < interrupt of I2S1, level
- < interrupt of ICache perload operation, LEVEL
- < interrupt of instruction cache sync done, LEVEL
- < interrupt of LED PWM, level
- < interrupt of remote controller, level
- < interrupt of RSA accelerator, level
- < interrupt of rtc core, level, include rtc watchdog
- < interrupt of RWBLE, level
- < interrupt of RWBLE, NMI, use if RWBT have bug to fix in NMI
- < interrupt of RWBT, level
- < interrupt of RWBT, NMI, use if RWBT have bug to fix in NMI
- < interrupt of SHA accelerator, level
- < interrupt of SLC0, level
- < interrupt of SLC1, level
- < interrupt of SPI1, level, SPI1 is for flash read/write, do not use this
- < interrupt of SPI2, level
- < interrupt of SPI0 Cache access and SPI1 access rejected, LEVEL
- < interrupt of system timer 0, EDGE
- < interrupt of system timer 1, EDGE
- < interrupt of system timer 2, EDGE
- < interrupt of TIMER_GROUP0, TIMER0, level
- < interrupt of TIMER_GROUP0, WATCH DOG, level
- < interrupt of TIMER_GROUP1, TIMER0, level
- < interrupt of TIMER_GROUP1, WATCHDOG, level
- < interrupt of can, level
- < interrupt of UART0, level
- < interrupt of UART1, level
- < interrupt of UHCI0, level
- < interrupt of USJ, level
- < interrupt of WiFi BB, level, we can do some calibartion
- < interrupt of WiFi MAC, level
- < interrupt of WiFi MAC, NMI, use if MAC have bug to fix in NMI
- <
- < Received incorrect credentials (username / PoP)
- < Received invalid (NULL) security parameters (username / client public-key)
- < Secured session established successfully
- < RMT carrier wave is modulated for high Level output
- < RMT carrier wave is modulated for low Level output
- < RMT channel status busy
- < RMT channel status idle
- < RMT channel uninitialized
- < RMT channel number 0
- < RMT channel number 1
- < RMT channel number 2
- < RMT channel number 3
- < Number of RMT channels
- < The encoding session is finished, the caller can continue with subsequent encoding
- < The encoding artifact memory is full, the caller should return from current encoding session
- < The encoding session is in reset state
- < RMT TX idle level: high Level
- < RMT TX idle level: low Level
- < RMT RX mode, RMT receiver owns the memory block
- < RMT RX mode, RMT transmitter owns the memory block
- < RMT RX mode
- < RMT TX mode
- < Pad (output + input) disable
- < Pad input
- < Pad input + output
- < Pad input + open-drain output
- < Pad open-drain output
- < Pad output
- < Discard operation for SD/MMC
- < Erase operation on SD, Trim operation on MMC
- < Sigma-delta channel 0
- < Sigma-delta channel 1
- < Sigma-delta channel 2
- < Sigma-delta channel 3
- < Sigma-delta channel max
- < SIGMADELTA port 0
- < SIGMADELTA port max
- < Station smartconfig has found the channel of the target AP
- < Station smartconfig got the SSID and password
- < Station smartconfig has finished to scan for APs
- < Station smartconfig has sent ACK to cellphone
- < protocol: AirKiss
- < protocol: ESPTouch
- < protocol: ESPTouch and AirKiss
- < protocol: ESPTouch v2
- < Update system time immediately when receiving a response from the SNTP server.
- < Smooth time updating. Time error is gradually reduced using adjtime function. If the difference between SNTP response time and system time is large (more than 35 minutes) then update immediately.
- < Invalid CPU_CLK source
- < Select PLL_CLK as CPU_CLK source (PLL_CLK is the output of 40MHz crystal oscillator frequency multiplier, can be 480MHz or 320MHz)
- < Select RC_FAST_CLK as CPU_CLK source
- < Select XTAL_CLK as CPU_CLK source
- < APB_CLK is highly dependent on the CPU_CLK source
- < CPU_CLK can be sourced from XTAL, PLL, or RC_FAST by configuring soc_cpu_clk_src_t
- < Indication of the end of the available module clock sources
- < PLL_F80M_CLK is derived from PLL, and has a fixed frequency of 80MHz
- < PLL_F160M_CLK is derived from PLL, and has a fixed frequency of 160MHz
- < RC_FAST_CLK comes from the internal 20MHz rc oscillator, passing a clock gating to the peripherals
- < RC_FAST_D256_CLK comes from the internal 20MHz rc oscillator, divided by 256, and passing a clock gating to the peripherals
- < RTC_FAST_CLK can be sourced from XTAL_D2 or RC_FAST by configuring soc_rtc_fast_clk_src_t
- < RTC_SLOW_CLK can be sourced from RC_SLOW, XTAL32K, or RC_FAST_D256 by configuring soc_rtc_slow_clk_src_t
- < XTAL_CLK comes from the external 40MHz crystal
- < XTAL32K_CLK comes from the external 32kHz crystal, passing a clock gating to the peripherals
- < Select APB as the source clock
- < Select APB as the default clock choice
- < Select APB clock as the source clock
- < Select APB clock as the default clock choice
- < Select APB as the source clock
- < Select APB as the default choice
- < Select XTAL as the source clock
- < Select PLL_F160M as the default source clock
- < Select PLL_F160M as the source clock
- < Select XTAL as the source clock
- < LEDC source clock will be automatically selected based on the giving resolution and duty parameter when init the timer
- < Select APB as the source clock
- < Select RC_FAST as the source clock
- < Alias of ‘LEDC_USE_RC_FAST_CLK’
- < Select XTAL as the source clock
- < Select APB as the source clock
- < Select APB as the default clock choice
- < Select XTAL as the source clock
- < RMT source clock is APB
- < RMT source clock default choice is APB
- < RMT source clock is XTAL
- < Select APB as the source clock
- < Select APB as the default choice
- < Select RC_FAST as the source clock
- < Select XTAL as the source clock
- < Select APB as the source clock
- < Select APB as the default clock choice
- < Select APB as SPI source clock
- < Select APB as SPI source clock
- < Select XTAL as SPI source clock
- < SYSTIMER source clock default choice is XTAL
- < SYSTIMER source clock is XTAL
- < Select XTAL as the default choice
- < Select RC_FAST as the source clock
- < Select XTAL as the source clock
- < Timer group clock source is APB
- < Timer group clock source default choice is APB
- < Timer group clock source is XTAL
- < Select APB as the source clock
- < Select APB as the default clock choice
- < UART source clock is APB CLK
- < UART source clock default choice is APB
- < UART source clock is RC_FAST
- < UART source clock is XTAL
- < External 40MHz crystal
- < External 32kHz crystal/clock signal
- < Internal 17.5MHz RC oscillator
- < Internal 136kHz RC oscillator
- < Invalid RTC_FAST_CLK source
- < Select RC_FAST_CLK as RTC_FAST_CLK source
- < Select XTAL_D2_CLK (may referred as XTAL_CLK_DIV_2) as RTC_FAST_CLK source
- < Alias name for
SOC_RTC_FAST_CLK_SRC_XTAL_D2
- < Invalid RTC_SLOW_CLK source
- < Select RC_FAST_D256_CLK (referred as FOSC_DIV or 8m_d256/8md256 in TRM and reg. description) as RTC_SLOW_CLK source
- < Select RC_SLOW_CLK as RTC_SLOW_CLK source
- < Select XTAL32K_CLK as RTC_SLOW_CLK source
- < Enable DMA, channel is automatically selected by driver
- < Do not enable DMA for SPI
- < The buffer has received data from master.
- < The buffer has sent data to master.
- < Received CMD9 from master.
- < Received CMDA from master.
- < Slave has received certain number of data from master, the number is determined by Master.
- < Slave has loaded its RX data buffer to the hardware (DMA).
- < Master has received certain number of the data, the number is determined by Master.
- < Slave has loaded its TX data buffer to the hardware (DMA).
- < A transaction has done
- < map to data memory, allows byte-aligned access
- < map to instruction memory, allows only 4-byte-aligned access
- < SPI1
- < SPI2
- < invalid host value
- < Disable timer alarm
- < Enable timer alarm
- < Disable auto-reload: hardware will not load counter value after an alarm event
- < Enable auto-reload: hardware will load counter value after an alarm event
- < Descending Count from cnt.high|cnt.low
- < Maximum number of timer count directions
- < Ascending Count from Zero
- < Hw timer group 0
- < Hw timer group 1
- < Maximum number of Hw timer groups
- < Select timer0 of GROUPx
- < Interrupt mode: level mode
- < interrupt of timer 0
- < interrupt of watchdog
- < Pause timer counter
- < Start timer counter
- <Touch sensor charge / discharge speed, always zero
- <Touch sensor charge / discharge speed, slowest
- <Touch sensor charge / discharge speed
- <Touch sensor charge / discharge speed
- <Touch sensor charge / discharge speed
- <Touch sensor charge / discharge speed
- <Touch sensor charge / discharge speed
- <Touch sensor charge / discharge speed, fast
- <The filter mode is first-order IIR filter. The coefficient is 4.
- <The filter mode is first-order IIR filter. The coefficient is 8.
- <The filter mode is first-order IIR filter. The coefficient is 16 (Typical value).
- <The filter mode is first-order IIR filter. The coefficient is 32.
- <The filter mode is first-order IIR filter. The coefficient is 64.
- <The filter mode is first-order IIR filter. The coefficient is 128.
- <The filter mode is first-order IIR filter. The coefficient is 256.
- <The filter mode is jitter filter
- <To start touch FSM by software trigger
- <To start touch FSM by timer
- <Touch sensor high reference voltage, 2.4V
- <Touch sensor high reference voltage, 2.5V
- <Touch sensor high reference voltage, 2.6V
- <Touch sensor high reference voltage, 2.7V
- <Touch sensor high reference voltage, no change
- <Touch sensor low reference voltage, 0.5V
- <Touch sensor low reference voltage, 0.6V
- <Touch sensor low reference voltage, 0.7V
- <Touch sensor low reference voltage, 0.8V
- <Touch sensor low reference voltage, no change
- <Idle status of touch channel is ground connection
- <Idle status of touch channel is high resistance state
- <Denoise channel internal reference capacitance is 5pf
- <Denoise channel internal reference capacitance is 6.4pf
- <Denoise channel internal reference capacitance is 7.8pf
- <Denoise channel internal reference capacitance is 9.2pf
- <Denoise channel internal reference capacitance is 10.6pf
- <Denoise channel internal reference capacitance is 12.0pf
- <Denoise channel internal reference capacitance is 13.4pf
- <Denoise channel internal reference capacitance is 14.8pf
- <Denoise range is 4bit
- <Denoise range is 8bit
- <Denoise range is 10bit
- <Denoise range is 12bit
- <Active for one of the enabled channels.
- <Measurement done for one of the enabled channels.
- <Inactive for one of the enabled channels.
- <Measurement done for all the enabled channels.
- <Timeout for one of the enabled channels.
- <The max equivalent capacitance in shield channel is 40pf
- <The max equivalent capacitance in shield channel is 80pf
- <The max equivalent capacitance in shield channel is 120pf
- <The max equivalent capacitance in shield channel is 160pf
- <The max equivalent capacitance in shield channel is 200pf
- <The max equivalent capacitance in shield channel is 240pf
- <The max equivalent capacitance in shield channel is 280pf
- <The max equivalent capacitance in shield channel is 320pf
- < Touch pad channel 0 is GPIO4(ESP32)
- < Touch pad channel 1 is GPIO0(ESP32) / GPIO1(ESP32-S2)
- < Touch pad channel 2 is GPIO2(ESP32) / GPIO2(ESP32-S2)
- < Touch pad channel 3 is GPIO15(ESP32) / GPIO3(ESP32-S2)
- < Touch pad channel 4 is GPIO13(ESP32) / GPIO4(ESP32-S2)
- < Touch pad channel 5 is GPIO12(ESP32) / GPIO5(ESP32-S2)
- < Touch pad channel 6 is GPIO14(ESP32) / GPIO6(ESP32-S2)
- < Touch pad channel 7 is GPIO27(ESP32) / GPIO7(ESP32-S2)
- < Touch pad channel 8 is GPIO33(ESP32) / GPIO8(ESP32-S2)
- < Touch pad channel 9 is GPIO32(ESP32) / GPIO9(ESP32-S2)
- <Filter the raw data. The coefficient is 2 (Typical value).
- <Filter the raw data. The coefficient is 4.
- <Filter the raw data. The coefficient is 8.
- <No filtering of raw data.
- <Initial level of charging voltage, high level
- <Initial level of charging voltage, low level
- <Touch interrupt will happen if counter value is larger than threshold.
- <Touch interrupt will happen if counter value is less than threshold.
- < wakeup interrupt is generated if both SET1 and SET2 are “touched”
- < wakeup interrupt is generated if SET1 is “touched”
- <Touch sensor high reference voltage attenuation, 0V attenuation
- <Touch sensor high reference voltage attenuation, 0.5V attenuation
- <Touch sensor high reference voltage attenuation, 1.0V attenuation
- <Touch sensor high reference voltage attenuation, 1.5V attenuation
- <Touch sensor high reference voltage attenuation, no change
- < The TWAI controller will not influence the bus (No transmissions or acknowledgments) but can receive messages
- < Normal operating mode where TWAI controller can send/receive/acknowledge messages
- < Transmission does not require acknowledgment. Use this mode for self testing
- < Bus-off state. The TWAI controller cannot participate in bus activities until it has recovered
- < Recovering state. The TWAI controller is undergoing bus recovery
- < Running state. The TWAI controller can transmit and receive messages
- < Stopped state. The TWAI controller will not participate in any TWAI bus activities
- < UART break event
- < UART RX buffer full event
- < UART data event
- < UART TX data and break event
- < UART event max index
- < UART FIFO overflow event
- < UART RX frame error event
- < UART RX parity event
- < UART pattern detected
- < UART wakeup event
- < enable TX hardware flow control (cts)
- < enable hardware flow control
- < disable hardware flow control
- < enable RX hardware flow control (rts)
- < mode: IRDA UART mode
- < mode: application control RS485 UART mode (used for test purposes)
- < mode: RS485 collision detection UART mode (used for test purposes)
- < mode: half duplex RS485 UART mode control by RTS pin
- < mode: regular UART mode
- < Disable UART parity
- < Enable UART even parity
- < Enable UART odd parity
- < inverse the UART cts signal
- < inverse the UART dsr signal
- < inverse the UART dtr signal
- < Disable UART signal inverse
- < inverse the UART irda_rx signal
- < inverse the UART irda_tx signal
- < inverse the UART rts signal
- < inverse the UART rxd signal
- < inverse the UART txd signal
- < stop bit: 1bit
- < stop bit: 1.5bits
- < stop bit: 2bits
- < word length: 5bits
- < word length: 6bits
- < word length: 7bits
- < word length: 8bits
- < Enable WiFi antenna 0 only
- < Enable WiFi antenna 1 only
- < Enable WiFi antenna 0 and 1, automatically select an antenna
- < Invalid WiFi enabled antenna
- < WiFi antenna 0
- < WiFi antenna 1
- < Invalid WiFi antenna
- < authenticate mode : WiFi EAP security
- < authenticate mode : open
- < authenticate mode : OWE
- < authenticate mode : WAPI_PSK
- < authenticate mode : WEP
- < authenticate mode : WiFi EAP security
- < authenticate mode : WPA2_PSK
- < authenticate mode : WPA2_WPA3_PSK
- < authenticate mode : WPA3_ENT_SUITE_B_192_BIT
- < authenticate mode : WPA3_PSK
- < authenticate mode : WPA_PSK
- < authenticate mode : WPA_WPA2_PSK
- < the cipher type is AES-CMAC-128
- < the cipher type is AES-GMAC-128
- < the cipher type is AES-GMAC-256
- < the cipher type is CCMP
- < the cipher type is GCMP
- < the cipher type is GCMP-256
- < the cipher type is none
- < the cipher type is SMS4
- < the cipher type is TKIP
- < the cipher type is TKIP and CCMP
- < the cipher type is unknown
- < the cipher type is WEP40
- < the cipher type is WEP104
- < Country policy is auto, use the country info of AP to which the station is connected
- < Country policy is manual, always use the configured country info
- < WPS normal fail reason
- < WPS receive M2D frame
- < Status indication of Action Tx operation
- < Receive probe request packet in soft-AP interface
- < a station connected to Soft-AP
- < a station disconnected from Soft-AP
- < Soft-AP start
- < Soft-AP stop
- < Soft-AP wps fails in registrar mode
- < Soft-AP wps overlap in registrar mode
- < Soft-AP wps pin code in registrar mode
- < Soft-AP wps succeeds in registrar mode
- < Soft-AP wps timeout in registrar mode
- < Connectionless module wake interval start
- < Receive report of FTM procedure
- < iTWT probe
- < iTWT setup
- < iTWT suspend
- < iTWT teardown
- < Invalid WiFi event ID
- < Received a Follow-up message
- < Replied to a NAN peer with Service Discovery match
- < NAN Discovery has started
- < NAN Discovery has stopped
- < NAN Service Discovery match found
- < NDP Confirm Indication
- < Received NDP Request from a NAN Peer
- < NAN Datapath terminated indication
- < Remain-on-Channel operation complete
- < Finished scanning AP
- < the auth mode of AP connected by device’s station changed
- < Station beacon timeout
- < AP’s RSSI crossed configured threshold
- < Station connected to AP
- < Station disconnected from AP
- < Station start
- < Station stop
- < Station wps fails in enrollee mode
- < Station wps overlap in enrollee mode
- < Station wps pin code in enrollee mode
- < Station wps succeeds in enrollee mode
- < Station wps timeout in enrollee mode
- < WiFi ready
- < Peer rejected FTM configuration in FTM Request
- < Unknown error during FTM exchange
- < Peer did not respond to FTM Requests
- < FTM exchange is successful
- < Peer does not support FTM
- < Get the configuration of STA’s HT2040 coexist management
- < Set the configuration of STA’s HT2040 coexist management
- < WiFi soft-AP mode
- < WiFi station + soft-AP mode
- < WiFi NAN mode
- < null mode
- < WiFi station mode
- < Send unicast Publish frame to Subscribers that match the requirement
- < Send broadcast Publish frames in every Discovery Window(DW)
- < Send broadcast Subscribe frames in every DW
- < Passively listens to Publish frames
- < PHY mode for 11b
- < PHY mode for 11g
- < PHY mode for Bandwidth HE20
- < PHY mode for Bandwidth HT20
- < PHY mode for Bandwidth HT40
- < PHY mode for Low Rate
- < 1 Mbps with long preamble
- < 2 Mbps with long preamble
- < 2 Mbps with short preamble
- < 5.5 Mbps with long preamble
- < 5.5 Mbps with short preamble
- < 6 Mbps
- < 9 Mbps */ /**< rate table and guard interval information for each MCS rate
- < 11 Mbps with long preamble
- < 11 Mbps with short preamble
- < 12 Mbps
- < 18 Mbps
- < 24 Mbps
- < 36 Mbps
- < 48 Mbps
- < 54 Mbps
- < 250 Kbps
- < 500 Kbps
- < MCS0 with long GI
- < MCS0 with short GI
- < MCS1 with long GI
- < MCS1 with short GI
- < MCS2 with long GI
- < MCS2 with short GI
- < MCS3 with long GI
- < MCS3 with short GI
- < MCS4 with long GI
- < MCS4 with short GI
- < MCS5 with long GI
- < MCS5 with short GI
- < MCS6 with long GI
- < MCS6 with short GI
- < MCS7 with long GI
- < MCS7 with short GI
- < Control frame, indicates ‘buf’ argument is wifi_promiscuous_pkt_t
- < Data frame, indiciates ‘buf’ argument is wifi_promiscuous_pkt_t
- < Management frame, indicates ‘buf’ argument is wifi_promiscuous_pkt_t
- < Other type, such as MIMO etc. ‘buf’ argument is wifi_promiscuous_pkt_t but the payload is zero length.
- Emitted when device fails to connect to the AP of which the credentials were received earlier on event
WIFI_PROV_CRED_RECV
. The event data in this case is a pointer to the disconnection reason code with typewifi_prov_sta_fail_reason_t
- Emitted when Wi-Fi AP credentials are received via
protocomm
endpointwifi_config
. The event data in this case is a pointer to the correspondingwifi_sta_config_t
structure - Emitted when device successfully connects to the AP of which the credentials were received earlier on event
WIFI_PROV_CRED_RECV
- Signals that manager has been de-initialized
- Signals that provisioning service has stopped
- Emitted when the manager is initialized
- Indicates that provisioning has started
- No security (plain-text communication)
- This secure communication mode consists of X25519 key exchange
- This secure communication mode consists of SRP6a based authentication and key exchange
- < Maximum modem power saving. In this mode, interval to receive beacons is determined by the listen_interval parameter in wifi_sta_config_t
- < Minimum modem power saving. In this mode, station wakes up to receive beacon every DTIM period
- < No power save
- < All channel scan, scan will end after scan all the channel
- < Do fast scan, scan will end after find SSID match AP
- < active scan
- < passive scan
- < the channel width is HT40 and the secondary channel is above the primary channel
- < the channel width is HT40 and the secondary channel is below the primary channel
- < the channel width is HT20
- < Sort match AP in scan list by security mode
- < Sort match AP in scan list by RSSI
- < all configuration will store in both memory and flash
- < all configuration will only store in the memory
- < WPS failed during auth
- < WPS failed due to incorrect config
- < WPS normal fail reason
- < WPS is disabled
- < Maximum value for WPS type enumeration
- < WPS Push Button Configuration method
- < WPS PIN (Personal Identification Number) method
- < not a valid opcode to indicate no message previously received from the API esp_transport_ws_get_read_opcode()
Statics§
- GPIO⚠
- @brief Pointer to the “default” SPI flash chip, ie the main chip attached to the MCU.
- @brief Default log level
- @addtogroup ets_apis @{
- Variable Declaration
- @addtogroup WPA_APIs @{
- This variable is initialized by the system to contain the wildcard IPv6 address.
- Default security profile. Should provide a good balance between security and compatibility with current deployments.
- Expected next default profile. Recommended for new deployments. Currently targets a 128-bit security level, except for allowing RSA-2048. This profile may change at any time.
- Empty profile that allows nothing. Useful as a basis for constructing custom profiles.
- NSA Suite B profile.
- The default network interface.
- The list of network interfaces.
- @brief Scheme that can be used by manager for provisioning over BLE transport with GATT server
- @brief Scheme that can be used by manager for provisioning over SoftAP transport with HTTP server
Functions§
- @cond
- @cond
- a64l⚠
- abs⚠
- @brief Set the attenuation of a particular channel on ADC1, and configure its associated GPIO pin mux.
- @brief Configure ADC1 capture width, meanwhile enable output invert for ADC1. The configuration is for all channels of ADC1 @param width_bit Bit capture width for ADC1
- @brief Take an ADC1 reading from a single channel. @note ESP32: When the power switch of SARADC1, SARADC2, HALL sensor and AMP sensor is turned on, the input of GPIO36 and GPIO39 will be pulled down for about 80ns. When enabling power for any of these peripherals, ignore input from GPIO36 and GPIO39. Please refer to section 3.11 of ‘ECO_and_Workarounds_for_Bugs_in_ESP32’ for the description of this issue. As a workaround, call sar_periph_ctrl_adc_oneshot_power_acquire() in the app. This will result in higher power consumption (by ~1mA), but will remove the glitches on GPIO36 and GPIO39.
- @brief Get the GPIO number of a specific ADC1 channel.
- @brief Configure the ADC2 channel, including setting attenuation.
- @brief Take an ADC2 reading on a single channel
- @brief Get the GPIO number of a specific ADC2 channel.
- @brief Check the supported ADC calibration scheme
- @brief Create a Curve Fitting calibration scheme
- @brief Delete the Curve Fitting calibration scheme handle
- @brief Convert ADC raw data to calibrated voltage
- @brief Get GPIO number from the given ADC channel
- @brief Set ADC continuous mode required configurations
- @brief Deinitialize the ADC continuous driver.
- @brief Get ADC channel from the given GPIO number
- @brief Initialize ADC continuous driver and get a handle to it
- @brief Read bytes from ADC under continuous mode.
- @brief Register callbacks
- @brief Start the ADC under continuous mode. After this, the hardware starts working.
- @brief Stop the ADC. After this, the hardware stops working.
- @brief Setting the digital controller.
- @brief Deinitialize the Digital ADC.
- @brief Initialize the Digital ADC.
- @brief Read bytes from Digital ADC through DMA.
- @brief Start the Digital ADC and DMA peripherals. After this, the hardware starts working.
- @brief Stop the Digital ADC and DMA peripherals. After this, the hardware stops working.
- @brief Get GPIO number from the given ADC channel
- @brief Set ADC oneshot mode required configurations
- @brief Delete the ADC unit handle
- @brief Convenience function to get ADC calibrated result
- @brief Get ADC channel from the given GPIO number
- @brief Create a handle to a specific ADC unit
- @brief Get one ADC conversion raw result
- @brief Output ADC1 or ADC2’s reference voltage to
adc2_channe_t
’s IO. - deprecated functions, for back-compatibility only
- other functions
- arg_xxx constructor functions
- atof⚠
- atoi⚠
- atol⚠
- bcmp⚠
- @brief Check if the image (bootloader and application) has valid chip ID and revision
- @brief Check if a GPIO input is held low for a long period, short period, or not at all.
- @brief Check if a GPIO input is held low or high for a long period, short period, or not at all.
- @brief Erase the partition data that is specified in the transferred list.
- @brief Returns the number of active otadata.
- @brief Get chip package
- @brief Calculates a sha-256 for a given partition or returns a appended digest.
- @brief Determines if the list contains the label
- @brief Calculate crc for the OTA data select.
- @brief Returns true if OTADATA is not marked as bootable partition.
- @brief Verifies the validity of the OTA data select
- @brief Returns the number of active otadata.
- @brief Configure VDDSDIO, call this API to rise VDDSDIO to 1.9V when VDDSDIO regulator is enabled as 1.8V mode.
- @brief Configure default SPI pin modes and drive strengths
- @brief Fill buffer with ‘length’ random bytes
- @brief Verify and load an app image (available only in space of bootloader).
- @brief Load an app image without verification (available only in space of bootloader).
- @brief Disable entropy source for RNG
- @brief Enable an entropy source for RNG if RF subsystem is disabled
- @brief Extracts the input baud rate from the input structure exactly (without interpretation).
- @brief Extracts the output baud rate from the input structure exactly (without interpretation).
- @brief Set input baud rate in the termios structure
- @brief Set output baud rate in the termios structure
- div⚠
- dup⚠
- dup2⚠
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} eTaskState eTaskGetState( TaskHandle_t xTask ); @endcode @endcond
- @brief Characterize an ADC at a particular attenuation
- @brief Checks if ADC calibration values are burned into eFuse
- @brief Reads an ADC and converts the reading to a voltage in mV
- @brief Convert an ADC reading to voltage in mV
- \brief Lock access to AES hardware unit
- \brief AES-CBC buffer encryption/decryption Length should be a multiple of the block size (16 bytes)
- \brief AES-CFB8 buffer encryption/decryption.
- \brief AES-CFB128 buffer encryption/decryption.
- \brief AES-CTR buffer encryption/decryption
- \brief AES-ECB block encryption/decryption
- \brief This function performs an AES-OFB (Output Feedback Mode) encryption or decryption operation.
- AES-XTS buffer encryption/decryption
- Deprecated, see esp_aes_internal_decrypt
- Deprecated, see esp_aes_internal_encrypt
- \brief Clear AES context
- \brief This function performs a GCM authenticated decryption of a buffer.
- \brief This function performs GCM encryption or decryption of a buffer.
- \brief This function finishes the GCM operation and generates the authentication tag.
- \brief This function clears a GCM context
- \brief This function initializes the specified GCM context
- \brief This function associates a GCM context with a key.
- \brief This function starts a GCM encryption or decryption operation.
- \brief This function feeds an input buffer into an ongoing GCM encryption or decryption operation.
- \brief This function feeds an input buffer as associated data (authenticated but not encrypted data) in a GCM encryption or decryption operation.
- \brief Initialize AES context
- \brief Unlock access to AES hardware unit
- \brief AES set key schedule (encryption or decryption)
- \brief This function releases and clears the specified AES XTS context.
- \brief This function initializes the specified AES XTS context.
- \brief This function prepares an XTS context for decryption and sets the decryption key.
- \brief This function prepares an XTS context for encryption and sets the encryption key.
- @brief Return esp_app_desc structure. This structure includes app version.
- @brief Fill the provided buffer with SHA256 of the ELF file, formatted as hexadecimal, null-terminated. If the buffer size is not sufficient to fit the entire SHA256 in hex plus a null terminator, the largest possible number of bytes will be written followed by a null. @param dst Destination buffer @param size Size of the buffer @return Number of bytes written to dst (including null terminator)
- Get the next frame on a stack for backtracing
- Get the first frame of the current stack’s backtrace
- @brief Print the backtrace of the current stack
- @brief Print the backtrace from specified frame.
- @brief Return base MAC address which is set using esp_base_mac_addr_set.
- @brief Set base MAC address with the MAC address which is stored in BLK3 of EFUSE or external storage e.g. flash and EEPROM.
- @brief Register console command @param cmd pointer to the command description; can point to a temporary value @return - ESP_OK on success - ESP_ERR_NO_MEM if out of memory - ESP_ERR_INVALID_ARG if command description includes invalid arguments
- @brief de-initialize console module @note Call this once when done using console module functions @return - ESP_OK on success - ESP_ERR_INVALID_STATE if not initialized yet
- @brief Callback which provides command completion for linenoise library
- @brief Callback which provides command hints for linenoise library
- @brief initialize console module @param config console configuration @note Call this once before using other console module features @return - ESP_OK on success - ESP_ERR_NO_MEM if out of memory - ESP_ERR_INVALID_STATE if already initialized - ESP_ERR_INVALID_ARG if the configuration is invalid
- @brief Establish a console REPL environment over UART driver
- @brief Register a ‘help’ command
- @brief Run command line @param cmdline command line (command name followed by a number of arguments) @param[out] cmd_ret return code from the command (set if command was run) @return - ESP_OK, if command was run - ESP_ERR_INVALID_ARG, if the command line is empty, or only contained whitespace - ESP_ERR_NOT_FOUND, if command with given name wasn’t registered - ESP_ERR_INVALID_STATE, if esp_console_init wasn’t called
- @brief Split command line into arguments in place @verbatim
- @brief Start REPL environment @param[in] repl REPL handle returned from esp_console_new_repl_xxx @note Once the REPL gets started, it won’t be stopped until the user calls repl->del(repl) to destroy the REPL environment. @return - ESP_OK on success - ESP_ERR_INVALID_STATE, if repl has started already
- @brief Check integrity of coredump data in flash. This function reads the coredump data while calculating their checksum. If it doesn’t match the checksum written on flash, it means data are corrupted, an error will be returned. Else, ESP_OK is returned.
- @brief Erases coredump data in flash. esp_core_dump_image_get() will then return ESP_ERR_NOT_FOUND. Can be used after a coredump has been transmitted successfully. This function is always available, even when core dump is disabled in menuconfig.
- @brief Retrieves address and size of coredump data in flash. This function is always available, even when core dump is disabled in menuconfig.
- @brief Initializes core dump module internal data.
- @brief Saves core dump to flash.
- @brief Print base64-encoded core dump to UART.
- @brief Clear a hardware breakpoint on the current CPU
- @brief Clear a hardware watchpoint on the current CPU
- @brief Atomic compare-and-set operation
- @brief Configure the CPU to disable access to invalid memory regions
- @brief Get a CPU interrupt’s descriptor
- @brief Reset a CPU core
- @brief Set and enable a hardware breakpoint on the current CPU
- @brief Set and enable a hardware watchpoint on the current CPU
- @brief Stall a CPU core
- @brief Resume a previously stalled CPU core
- @brief Wait for Interrupt
- @brief Attach and enable use of a bundle for certificate verification
- @brief Disable and dealloc the certification bundle
- @brief Set the default certificate bundle used for verification
- @brief Enter deep-sleep mode
- @brief Unregister an deepsleep callback
- @brief Disable logging from the ROM code after deep sleep.
- @brief Enable wakeup using specific gpio pins
- @brief Register a callback to be called from the deep sleep prepare
- @brief Enter deep sleep with the configured wakeup options
- @brief Enter deep-sleep mode
- @brief Enter deep sleep with the configured wakeup options
- @brief The default esp-idf-provided esp_wake_deep_sleep() stub.
- @brief Unregister an idle callback. If the idle callback is registered to the idle hooks of both cores, the idle hook will be unregistered from both cores
- @brief Unregister an idle callback from the idle hook of the specified core
- @brief Unregister a tick callback. If the tick callback is registered to the tick hooks of both cores, the tick hook will be unregistered from both cores
- @brief Unregister a tick callback from the tick hook of the specified core
- @brief Derive local MAC address from universal MAC address.
- @brief Clear the previously set Certificate Authority (CA) certificate for EAP authentication.
- @brief Clear the previously set client certificate and private key for EAP authentication.
- @brief Clear the previously set identity for PEAP/TTLS authentication.
- @brief Clear new password for MSCHAPv2 method.
- @brief Clear password for PEAP/TTLS method.
- @brief Clear username for PEAP/TTLS method.
- @brief Get EAP client certificates time check status.
- @brief Set CA certificate for EAP authentication.
- @brief Set client certificate and private key for EAP authentication.
- @brief Set EAP client certificates time check (disable or not).
- @brief Set the parameters for EAP-FAST Phase 1 authentication.
- @brief Set identity for PEAP/TTLS authentication method.
- @brief Set a new password for MSCHAPv2 authentication method.
- @brief Set the PAC (Protected Access Credential) file for EAP-FAST authentication.
- @brief Set password for PEAP/TTLS authentication method.
- @brief Enable or disable Suite-B 192-bit certification checks.
- @brief Set EAP-TTLS phase 2 method.
- @brief Set username for PEAP/TTLS authentication method.
- @brief Use the default certificate bundle for EAP authentication.
- @brief Set the batch mode of writing fields.
- @brief Reset the batch mode of writing fields.
- @brief Writes all prepared data for the batch mode.
- @brief Checks that the given block is empty.
- @brief Checks eFuse errors in BLOCK0.
- @brief Check secure_version from app and secure_version and from efuse field.
- @brief Return the number of unused efuse key blocks in the range EFUSE_BLK_KEY0..EFUSE_BLK_KEY_MAX
- @brief Disable ROM Download Mode via eFuse
- @brief Switch ROM Download Mode to Secure Download mode via eFuse
- @brief Find a key block with the particular purpose set.
- @brief Search for an unused key block and return the first one found.
- @brief Return efuse coding scheme for blocks.
- @brief Returns the status of the Secure Boot public key digest revocation bit.
- @brief Returns the number of bits used by field.
- @brief Returns a pointer to a key block.
- @brief Returns a read protection for the key block.
- @brief Returns a write protection for the key block.
- @brief Returns the current purpose set for an efuse key block.
- @brief Returns a write protection of the key purpose field for an efuse key block.
- @brief Returns chip package from efuse
- @brief Returns a pointer to a key purpose for an efuse key block.
- @brief Returns a write protection of the Secure Boot public key digest revocation bit.
- @brief Returns true if the key block is unused, false otherwise.
- @brief Return base MAC address which was previously written to BLK3 of EFUSE.
- @brief Return base MAC address which is factory-programmed by Espressif in EFUSE.
- @brief Read key to efuse block starting at the offset and the required size.
- @brief Read a single bit eFuse field as a boolean value.
- @brief Reads bits from EFUSE field and writes it into an array.
- @brief Reads bits from EFUSE field and returns number of bits programmed as “1”.
- @brief Returns value of efuse register.
- @brief Return secure_version from efuse field. @return Secure version from efuse field
- @brief Reset efuse write registers
- @brief Sets the Secure Boot public key digest revocation bit.
- @brief Sets a read protection for the key block.
- @brief Sets a write protection for the key block.
- @brief Sets a key purpose for an efuse key block.
- @brief Sets a write protection of the key purpose field for an efuse key block.
- @brief Sets a read protection for the whole block.
- @brief Set boot ROM log scheme via eFuse
- @brief Sets a write protection for the whole block.
- @brief Sets a write protection of the Secure Boot public key digest revocation bit.
- @brief Write efuse field by secure_version value.
- @brief Write key to efuse block starting at the offset and the required size.
- @brief Write a single bit eFuse field to 1
- @brief Writes array to EFUSE field.
- @brief Writes a required count of bits as “1” to EFUSE field.
- @brief Program a block of key data to an efuse block
- @brief Program keys to unused efuse blocks
- @brief Write value to efuse register.
- @brief Returns string for esp_err_t error codes
- @brief Returns string for esp_err_t and system error codes
- @brief Set timeout of SmartConfig process.
- @brief Decrease Ethernet driver reference
- @brief Delete netif glue of Ethernet driver
- @brief Install Ethernet driver
- @brief Uninstall Ethernet driver @note It’s not recommended to uninstall Ethernet driver unless it won’t get used any more in application code. To uninstall Ethernet driver, you have to make sure, all references to the driver are released. Ethernet driver can only be uninstalled successfully when reference counter equals to one.
- @brief Increase Ethernet driver reference @note Ethernet driver handle can be obtained by os timer, netif, etc. It’s dangerous when thread A is using Ethernet but thread B uninstall the driver. Using reference counter can prevent such risk, but care should be taken, when you obtain Ethernet driver, this API must be invoked so that the driver won’t be uninstalled during your using time.
- @brief Misc IO function of Etherent driver
- @brief Create a netif glue for Ethernet driver @note netif glue is used to attach io driver to TCP/IP netif
- @brief Create a PHY instance of DP83848
- @brief Create a PHY instance of IP101
- @brief Create a PHY instance of KSZ80xx
- @brief Create a PHY instance of LAN87xx
- @brief Create a PHY instance of RTL8201
- @brief Start Ethernet driver ONLY in standalone mode (i.e. without TCP/IP stack)
- @brief Stop Ethernet driver
- @brief General Transmit
- @brief Special Transmit with variable number of arguments
- @brief Update Ethernet data input path (i.e. specify where to pass the input buffer)
- @brief Connect an ETM event to an ETM task via a previously allocated ETM channel
- @brief Disable ETM channel
- @brief Enable ETM channel
- @brief Delete an ETM channel
- @brief Delete ETM event
- @brief Delete ETM task
- @brief Dump ETM channel usages to the given IO stream
- @brief Allocate an ETM channel
- @brief Dumps statistics of all event loops.
- @brief Register an instance of event handler to the default loop.
- @brief Register an instance of event handler to a specific loop.
- @brief Unregister a handler from the system event loop.
- @brief Unregister a handler instance from a specific event loop.
- @brief Register an event handler to the system event loop (legacy).
- @brief Register an event handler to a specific loop (legacy).
- @brief Unregister a handler with the system event loop (legacy).
- @brief Unregister a handler from a specific event loop (legacy).
- @brief Special variant of esp_event_post for posting events from interrupt handlers.
- @brief Special variant of esp_event_post_to for posting events from interrupt handlers
- @brief Create a new event loop.
- @brief Create default event loop
- @brief Delete an existing event loop.
- @brief Delete the default event loop
- @brief Dispatch events posted to an event loop.
- @brief Posts an event to the system default event loop. The event loop library keeps a copy of event_data and manages the copy’s lifetime automatically (allocation + deletion); this ensures that the data the handler receives is always valid.
- @brief Posts an event to the specified event loop. The event loop library keeps a copy of event_data and manages the copy’s lifetime automatically (allocation + deletion); this ensures that the data the handler receives is always valid.
- @brief Fill a buffer with random bytes from hardware RNG
- Check if appropriate chip driver is set.
- @brief Erase flash chip contents
- @brief Erase a region of the flash chip
- @brief Read if the entire chip is write protected
- @brief Detect flash size based on flash ID.
- @brief Read the list of individually protectable regions of this SPI flash chip.
- @brief Detect if a region of the SPI flash chip is protected
- @brief Detect flash size based on flash ID.
- @brief Initialise SPI flash chip interface.
- @brief Read data from the SPI flash chip
- @brief Read and decrypt data from the SPI flash chip using on-chip hardware flash encryption
- @brief Read flash ID via the common “RDID” SPI flash command.
- @brief Read flash unique ID via the common “RDUID” SPI flash command.
- @brief Set write protection for the SPI flash chip
- @brief Update the protected status for a region of the SPI flash chip
- @brief Write data to the SPI flash chip
- @brief Encrypted and write data to the SPI flash chip using on-chip hardware flash encryption
- @brief Get current wake from deep sleep stub @return Return current wake from deep sleep stub, or NULL if no stub is installed.
- @brief Get the size of available heap.
- @brief Get the size of available internal heap.
- Return full IDF version string, same as ‘git describe’ output.
- @brief Get the minimum heap that has ever been available
- @brief On receiving HTTP Status code 401, this API can be invoked to add authorization information.
- @brief Cancel an ongoing HTTP request. This API closes the current socket and opens a new socket with the same esp_http_client context.
- @brief This function must be the last function to call for an session. It is the opposite of the esp_http_client_init function and must be called with the same handle as input that a esp_http_client_init call returned. This might close all connections this handle has used and possibly has kept open until now. Don’t call this function if you intend to transfer more files, re-using handles is a key to good performance with esp_http_client.
- @brief Close http connection, still kept all http request resources
- @brief Delete http request header
- @brief This function need to call after esp_http_client_open, it will read from http stream, process all receive headers
- @brief Process all remaining response data This uses an internal buffer to repeatedly receive, parse, and discard response data until complete data is processed. As no additional user-supplied buffer is required, this may be preferrable to
esp_http_client_read_response
in situations where the content of the response may be ignored. - @brief Get Chunk-Length from client
- @brief Get http response content length (from header Content-Length) the valid value if this function invoke after
esp_http_client_perform
- @brief Get HTTP client session errno
- @brief Get http request header. The value parameter will be set to NULL if there is no header which is same as the key specified, otherwise the address of header value will be assigned to value parameter. This function must be called after
esp_http_client_init
. - @brief Get http request password. The address of password buffer will be assigned to value parameter. This function must be called after
esp_http_client_init
. - @brief Get current post field information
- @brief Get http response status code, the valid value if this function invoke after
esp_http_client_perform
- @brief Get transport type
- @brief Get URL from client
- @brief Get http request user_data. The value stored from the esp_http_client_config_t will be written to the address passed into data.
- @brief Get http request username. The address of username buffer will be assigned to value parameter. This function must be called after
esp_http_client_init
. - @brief Start a HTTP session This function must be the first function to call, and it returns a esp_http_client_handle_t that you must use as input to other functions in the interface. This call MUST have a corresponding call to esp_http_client_cleanup when the operation is complete.
- @brief Check response data is chunked
- @brief Checks if entire data in the response has been read without any error.
- @brief This function will be open the connection, write all header strings and return
- @brief Invoke this function after
esp_http_client_init
and all the options calls are made, and will perform the transfer as described in the options. It must be called with the same esp_http_client_handle_t as input as the esp_http_client_init call returned. esp_http_client_perform performs the entire request in either blocking or non-blocking manner. By default, the API performs request in a blocking manner and returns when done, or if it failed, and in non-blocking manner, it returns if EAGAIN/EWOULDBLOCK or EINPROGRESS is encountered, or if it failed. And in case of non-blocking request, the user may call this API multiple times unless request & response is complete or there is a failure. To enable non-blocking esp_http_client_perform(),is_async
member of esp_http_client_config_t must be set while making a call to esp_http_client_init() API. You can do any amount of calls to esp_http_client_perform while using the same esp_http_client_handle_t. The underlying connection may be kept open if the server allows it. If you intend to transfer more than one file, you are even encouraged to do so. esp_http_client will then attempt to re-use the same connection for the following transfers, thus making the operations faster, less CPU intense and using less network resources. Just note that you will have to useesp_http_client_set_**
between the invokes to set options for the following esp_http_client_perform. - @brief Read data from http stream
- @brief Helper API to read larger data chunks This is a helper API which internally calls
esp_http_client_read
multiple times till the end of data is reached or till the buffer gets full. - @brief Set http request auth_type.
- @brief Set http request header, this function must be called after esp_http_client_init and before any perform function
- @brief Set http request method
- @brief Set http request password. The value of password parameter will be assigned to password buffer. If the password parameter is NULL then password buffer will be freed.
- @brief Set post data, this function must be called before
esp_http_client_perform
. Note: The data parameter passed to this function is a pointer and this function will not copy the data - @brief Set redirection URL. When received the 30x code from the server, the client stores the redirect URL provided by the server. This function will set the current URL to redirect to enable client to execute the redirection request. When
disable_auto_redirect
is set, the client will not call this function but the eventHTTP_EVENT_REDIRECT
will be dispatched giving the user contol over the redirection event. - @brief Set http request timeout
- @brief Set URL for client, when performing this behavior, the options in the URL will replace the old ones
- @brief Set http request user_data. The value passed in +data+ will be available during event callbacks. No memory management will be performed on the user’s behalf.
- @brief Set http request username. The value of username parameter will be assigned to username buffer. If the username parameter is NULL then username buffer will be freed.
- @brief This function will write data to the HTTP connection previously opened by esp_http_client_open()
- @brief Set custom MAC address of the interface. This function allows you to overwrite the MAC addresses of the interfaces set by the base MAC address.
- @brief Get the flash size of the image
- @brief Get metadata of app
- @brief Verify an app image.
- @brief Verify the bootloader image.
- @brief Verify the bootloader image.
- @brief Enable the interrupt watchdog on the current CPU.
- @brief Initialize the non-CPU-specific parts of interrupt watchdog.
- \brief Internal AES block decryption function (Only exposed to allow overriding it, see AES_DECRYPT_ALT)
- \brief Internal AES block encryption function (Only exposed to allow overriding it, see AES_ENCRYPT_ALT)
- @brief Allocate an interrupt with the given parameters.
- @brief Allocate an interrupt with the given parameters.
- @brief Disable the interrupt associated with the handle
- @brief disable the interrupt source based on its number @param inum interrupt number from 0 to 31
- @brief Enable the interrupt associated with the handle
- @brief enable the interrupt source based on its number @param inum interrupt number from 0 to 31
- @brief Disable and free an interrupt.
- @brief Get CPU number an interrupt is tied to
- @brief Get the allocated interrupt for a certain handle
- @brief Mark an interrupt as a shared interrupt
- @brief Disable interrupts that aren’t specifically marked as running from IRAM
- @brief Re-enable interrupts disabled by esp_intr_noniram_disable
- @brief Reserve an interrupt to be used outside of this framework
- @brief Set the “in IRAM” status of the handler.
- @brief Ascii internet address interpretation routine The value returned is in network order.
- @brief Converts numeric IP address into decimal dotted ASCII representation.
- @brief Create LCD panel IO handle, for I2C interface
- @brief Create LCD panel IO handle, for SPI interface
- @brief Create LCD panel for model NT35510
- @brief Create LCD panel for model SSD1306
- @brief Create LCD panel for model ST7789
- @brief Deinitialize the LCD panel
- @brief Turn off the display
- @brief Turn on or off the display
- @brief Draw bitmap on LCD panel
- @brief Initialize LCD panel
- @brief Invert the color (bit-wise invert the color data line)
- @brief Destroy LCD panel IO handle (deinitialize panel and free all corresponding resource)
- @brief Register LCD panel IO callbacks
- @brief Transmit LCD command and receive corresponding parameters
- @brief Transmit LCD RGB data
- @brief Transmit LCD command and corresponding parameters
- @brief Mirror the LCD panel on specific axis
- @brief Reset LCD panel
- @brief Set extra gap in x and y axis
- @brief Swap/Exchange x and y axis
- @brief Enter light sleep with the configured wakeup options
- @brief Function which returns timestamp to be used in log output
- @brief Get log level for a given tag, can be used to avoid expensive log statements
- @brief Set log level for given tag
- @brief Set function used to output log entries
- @brief Function which returns system timestamp to be used in log output
- @brief Function which returns timestamp to be used in log output
- @brief Write message into the log
- @brief Return the size of the MAC type in bytes.
- \brief Clone (the state of) an MD5 context
- \brief MD5 final digest
- \brief Clear MD5 context
- \brief Initialize MD5 context
- \brief MD5 process data block (internal use only)
- \brief MD5 process buffer
- @brief Set whether allow more than one root existing in one network
- @brief Return the number of packets could be accepted from the specified address
- @brief Connect to current parent
- @brief Mesh de-initialization
- @brief Delete group ID addresses
- @brief Disable mesh Power Save function
- @brief Disconnect from current parent
- @brief Enable mesh Power Save function
- @brief Enable network Fixed Root Setting - Enabling fixed root disables automatic election of the root node via voting. - All devices in the network shall use the same Fixed Root Setting (enabled or disabled). - If Fixed Root is enabled, users should make sure a root node is designated for the network.
- @brief Flush scan result
- @brief Flush upstream packets pending in to_parent queue and to_parent_p2p queue
- @brief Get device duty cycle and type
- @brief Get announce interval
- @brief Get mesh softAP associate expired time
- @brief Get mesh softAP authentication mode
- @brief Get mesh max connection configuration
- @brief Get attempts for mesh self-organized networking
- @brief Get mesh softAP beacon interval
- @brief Get mesh network capacity
- @brief Get mesh stack configuration
- @brief Get group ID addresses
- @brief Get the number of group ID addresses
- @brief Get mesh network ID
- @brief Get mesh IE crypto key
- @brief Get current layer value over the mesh network
- @brief Get max layer value
- @brief Get the network duty cycle, duration, type and rule
- @brief Get non-mesh max connection configuration
- @brief Get the parent BSSID
- @brief Get passive scan time
- @brief Get delay time before network starts root healing
- @brief Get router configuration
- @brief Get the router BSSID
- @brief Get routing table of this device’s sub-network (including itself)
- @brief Get the number of devices in this device’s sub-network (including self)
- @brief Get RSSI threshold
- @brief Get the running active duty cycle - The running active duty cycle of the root is 100. - If duty type is set to MESH_PS_DEVICE_DUTY_REQUEST, the running active duty cycle is nwk_duty provided by the network. - If duty type is set to MESH_PS_DEVICE_DUTY_DEMAND, the running active duty cycle is dev_duty specified by the users. - In a mesh network, devices are typically working with a certain duty-cycle (transmitting, receiving and sleep) to reduce the power consumption. The running active duty cycle decides the amount of awake time within a beacon interval. At each start of beacon interval, all devices wake up, broadcast beacons, and transmit packets if they do have pending packets for their parents or for their children. Note that Low-duty-cycle means devices may not be active in most of the time, the latency of data transmission might be greater.
- @brief Return the number of packets available in the queue waiting to be received by applications
- @brief Return whether enable self-organized networking or not
- @brief Get nodes in the subnet of a specific child
- @brief Get the number of nodes in the subnet of a specific child
- @brief Get parameters for parent switch
- @brief Get mesh topology
- @brief Get total number of devices in current network (including the root)
- @brief Get the TSF time
- @brief Return the number of packets pending in the queue waiting to be sent by the mesh stack
- @brief Get device type over mesh network
- @brief Get vote percentage threshold for approval of being a root
- @brief Get queue size
- @brief Check whether the device is in active state - If the device is not in active state, it will neither transmit nor receive frames.
- @brief Check whether the specified group address is my group
- @brief Check whether the mesh Power Save function is enabled
- @brief Return whether the device is the root node of the network
- @brief Check whether allow more than one root to exist in one network
- @brief Check whether network Fixed Root Setting is enabled - Enable/disable network Fixed Root Setting by API esp_mesh_fix_root(). - Network Fixed Root Setting also changes with the “flag” value in parent networking IE.
- @brief Post the toDS state to the mesh stack
- @brief Print the number of rxQ waiting
- @brief Enable mesh print scan result
- @brief Print the number of txQ waiting
- @brief Duty signaling
- @brief Get the running duties of device, parent and children
- @brief Receive a packet targeted to self over the mesh network
- @brief Receive a packet targeted to external IP network - Root uses this API to receive packets destined to external IP network - Root forwards the received packets to the final destination via socket. - If no socket connection is ready to send out the received packets and this esp_mesh_recv_toDS() hasn’t been called by applications, packets from the whole mesh network will be pending in toDS queue.
- @brief Get mesh networking IE length of one AP
- @brief Get AP record
- @brief Send a packet over the mesh network - Send a packet to any device in the mesh network. - Send a packet to external IP network.
- @brief Set blocking time of esp_mesh_send()
- @brief Enable the minimum rate to 6 Mbps
- @brief Set the device duty cycle and type - The range of dev_duty values is 1 to 100. The default value is 10. - dev_duty = 100, the PS will be stopped. - dev_duty is better to not less than 5. - dev_duty_type could be MESH_PS_DEVICE_DUTY_REQUEST or MESH_PS_DEVICE_DUTY_DEMAND. - If dev_duty_type is set to MESH_PS_DEVICE_DUTY_REQUEST, the device will use a nwk_duty provided by the network. - If dev_duty_type is set to MESH_PS_DEVICE_DUTY_DEMAND, the device will use the specified dev_duty.
- @brief Set announce interval - The default short interval is 500 milliseconds. - The default long interval is 3000 milliseconds.
- @brief Set mesh softAP associate expired time (default:10 seconds) - If mesh softAP hasn’t received any data from an associated child within this time, mesh softAP will take this child inactive and disassociate it. - If mesh softAP is encrypted, this value should be set a greater value, such as 30 seconds.
- @brief Set mesh softAP authentication mode
- @brief Set mesh max connection value - Set mesh softAP max connection = mesh max connection + non-mesh max connection
- @brief Set mesh softAP password
- @brief Set attempts for mesh self-organized networking
- @brief Set mesh network capacity (max:1000, default:300)
- @brief Set mesh stack configuration - Use MESH_INIT_CONFIG_DEFAULT() to initialize the default values, mesh IE is encrypted by default. - Mesh network is established on a fixed channel (1-14). - Mesh event callback is mandatory. - Mesh ID is an identifier of an MBSS. Nodes with the same mesh ID can communicate with each other. - Regarding to the router configuration, if the router is hidden, BSSID field is mandatory.
- @brief Set group ID addresses
- @brief Set mesh network ID
- @brief Set mesh IE crypto functions
- @brief Set mesh IE crypto key
- @brief Set network max layer value - for tree topology, the max is 25. - for chain topology, the max is 1000. - Network max layer limits the max hop count.
- @brief Set the network duty cycle, duration and rule - The range of nwk_duty values is 1 to 100. The default value is 10. - nwk_duty is the network duty cycle the entire network or the up-link path will use. A device that successfully sets the nwk_duty is known as a NWK-DUTY-MASTER. - duration_mins specifies how long the specified nwk_duty will be used. Once duration_mins expires, the root will take over as the NWK-DUTY-MASTER. If an existing NWK-DUTY-MASTER leaves the network, the root will take over as the NWK-DUTY-MASTER again. - duration_mins = (-1) represents nwk_duty will be used until a new NWK-DUTY-MASTER with a different nwk_duty appears. - Only the root can set duration_mins to (-1). - If applied_rule is set to MESH_PS_NETWORK_DUTY_APPLIED_ENTIRE, the nwk_duty will be used by the entire network. - If applied_rule is set to MESH_PS_NETWORK_DUTY_APPLIED_UPLINK, the nwk_duty will only be used by the up-link path nodes. - The root does not accept MESH_PS_NETWORK_DUTY_APPLIED_UPLINK. - A nwk_duty with duration_mins(-1) set by the root is the default network duty cycle used by the entire network.
- @brief Set a specified parent for the device
- @brief Set passive scan time
- @brief Set delay time before starting root healing
- @brief Get router configuration
- @brief Set RSSI threshold - The default high RSSI threshold value is -78 dBm. - The default medium RSSI threshold value is -82 dBm. - The default low RSSI threshold value is -85 dBm.
- @brief Enable/disable self-organized networking - Self-organized networking has three main functions: select the root node; find a preferred parent; initiate reconnection if a disconnection is detected. - Self-organized networking is enabled by default. - If self-organized is disabled, users should set a parent for the device via esp_mesh_set_parent().
- @brief Set parameters for parent switch
- @brief Set mesh topology. The default value is MESH_TOPO_TREE - MESH_TOPO_CHAIN supports up to 1000 layers
- @brief Designate device type over the mesh network - MESH_IDLE: designates a device as a self-organized node for a mesh network - MESH_ROOT: designates the root node for a mesh network - MESH_LEAF: designates a device as a standalone Wi-Fi station that connects to a parent - MESH_STA: designates a device as a standalone Wi-Fi station that connects to a router
- @brief Set vote percentage threshold for approval of being a root (default:0.9) - During the networking, only obtaining vote percentage reaches this threshold, the device could be a root.
- @brief Set the number of RX queue for the node, the average number of window allocated to one of its child node is: wnd = xon_qsize / (2 * max_connection + 1). However, the window of each child node is not strictly equal to the average value, it is affected by the traffic also.
- @brief Start mesh - Initialize mesh IE. - Start mesh network management service. - Create TX and RX queues according to the configuration. - Register mesh packets receive callback.
- @brief Stop mesh - Deinitialize mesh IE. - Disconnect with current parent. - Disassociate all currently associated children. - Stop mesh network management service. - Unregister mesh packets receive callback. - Delete TX and RX queues. - Release resources. - Restore Wi-Fi softAP to default settings if Wi-Fi dual mode is enabled. - Set Wi-Fi Power Save type to WIFI_PS_NONE.
- @brief Cause the root device to add Channel Switch Announcement Element (CSA IE) to beacon - Set the new channel - Set how many beacons with CSA IE will be sent before changing a new channel - Enable the channel switch function
- @brief Cause the root device to give up (waive) its mesh root status - A device is elected root primarily based on RSSI from the external router. - If external router conditions change, users can call this API to perform a root switch. - In this API, users could specify a desired root address to replace itself or specify an attempts value to ask current root to initiate a new round of voting. During the voting, a better root candidate would be expected to find to replace the current one. - If no desired root candidate, the vote will try a specified number of attempts (at least 15). If no better root candidate is found, keep the current one. If a better candidate is found, the new better one will send a root switch request to the current root, current root will respond with a root switch acknowledgment. - After that, the new candidate will connect to the router to be a new root, the previous root will disconnect with the router and choose another parent instead.
- @brief Lock access to RSA Accelerator (MPI/bignum operations)
- @brief Unlock access to RSA Accelerator (MPI/bignum operations)
- @brief Destroys the client handle
- @brief This api is typically used to force disconnection from the broker
- @brief Enqueue a message to the outbox, to be sent later. Typically used for messages with qos>0, but could be also used for qos=0 messages if store=true.
- @brief Get outbox size
- @brief Creates MQTT client handle based on the configuration
- @brief Client to send a publish message to the broker
- @brief This api is typically used to force reconnection upon a specific event
- @brief Registers MQTT event
- @brief Sets MQTT connection URI. This API is usually used to overrides the URI configured in esp_mqtt_client_init
- @brief Starts MQTT client with already created client handle
- @brief Stops MQTT client tasks
- @brief Subscribe the client to a list of defined topics with defined qos
- @brief Subscribe the client to defined topic with defined qos
- @brief Unregisters mqtt event
- @brief Unsubscribe the client from defined topic
- @brief Dispatch user event to the mqtt internal event loop
- @brief Set configuration structure, typically used when updating the config (i.e. on “before_connect” event
- @brief End NAN Datapath that is active
- @brief Send Datapath Request to the Publisher with matching service
- @brief Send Datapath Response to accept or reject the received request
- @brief Start Publishing a service in the NAN cluster
- @brief Send Follow-up to the Publisher with matching service
- @brief Subscribe for a service within the NAN cluster
- @brief Default building block for network interface action upon IPv6 address added by the underlying stack
- @brief Default building block for network interface action upon IO driver connected event
- @brief Default building block for network interface action upon IO driver disconnected event
- @brief Default building block for network interface action upon network got IP event
- @brief Default building block for network interface action upon IPv6 multicast group join
- @brief Default building block for network interface action upon IPv6 multicast group leave
- @brief Default building block for network interface action upon IPv6 address removed by the underlying stack
- @brief Default building block for network interface action upon IO driver start event Creates network interface, if AUTOUP enabled turns the interface on, if DHCPS enabled starts dhcp server
- @brief Default building block for network interface action upon IO driver stop event
- @brief Attaches esp_netif instance to the io driver handle
- @brief Attaches wifi soft AP interface to supplied netif
- @brief Attaches wifi station interface to supplied netif
- @brief Creates default WIFI AP. In case of any init error this API aborts.
- @brief Creates default STA and AP network interfaces for esp-mesh.
- @brief Creates default WIFI NAN. In case of any init error this API aborts.
- @brief Creates default WIFI STA. In case of any init error this API aborts.
- @brief Create interface link-local IPv6 address
- @brief Creates esp_netif WiFi object based on the custom configuration.
- @brief Deinitialize the esp-netif component (and the underlying TCP/IP stack)
- @brief Destroys the esp_netif object
- @brief Destroys default WIFI netif created with esp_netif_create_default_wifi_…() API.
- @brief Get DHCP client status
- @brief Set or Get DHCP client option
- @brief Start DHCP client (only if enabled in interface object)
- @brief Stop DHCP client (only if enabled in interface object)
- @brief Populate IP addresses of clients connected to DHCP server listed by their MAC addresses
- @brief Get DHCP Server status
- @brief Set or Get DHCP server option
- @brief Start DHCP server (only if enabled in interface object)
- @brief Stop DHCP server (only if enabled in interface object)
- @brief Get all IPv6 addresses of the specified interface
- @brief Getter function of the default netif
- @brief Returns configured interface type for this esp-netif instance
- @brief Get DNS Server information
- @brief Returns configured event for this esp-netif instance and supplied event type
- @brief Returns configured flags for this interface
- @brief Searches over a list of created objects to find an instance with supplied if key
- @brief Get interface hostname.
- @brief Returns configured interface key for this esp-netif instance
- @brief Gets media driver handle for this esp-netif instance
- @brief Get interface global IPv6 address
- @brief Get interface link-local IPv6 address
- @brief Get interface’s IP address information
- @brief Get the mac address for the interface instance
- @brief Get net interface index from network stack implementation
- @brief Get net interface name from network stack implementation
- @brief Returns number of registered esp_netif objects
- @brief Get interface’s old IP information
- @brief Returns configured routing priority number
- @brief Initialize the underlying TCP/IP stack
- @brief Get the IPv6 address type
- @brief Test if supplied interface is up or down
- @brief Cause the TCP/IP stack to join a IPv6 multicast group
- @brief Cause the TCP/IP stack to leave a IPv6 multicast group
- @brief Disable NAPT on an interface.
- @brief Enable NAPT on an interface
- @brief free the netstack buffer
- @brief increase the reference counter of net stack buffer
- @brief Creates an instance of new esp-netif object based on provided config
- @brief Iterates over list of interfaces. Returns first netif if NULL given as parameter
- @brief Passes the raw packets from communication media to the appropriate TCP/IP stack
- @brief Manual configuration of the default netif
- @brief Set DNS Server information
- @brief Configures driver related options of esp_netif object
- @brief Set the hostname of an interface
- @brief Sets IPv4 address to the specified octets
- @brief Set interface’s IP address information
- @brief Set the mac address for the interface instance
- @brief Set interface old IP information
- @brief Deinitialize esp_netif SNTP module
- @brief Initialize SNTP with supplied config struct @param config Config struct @return ESP_OK on success
- @brief Start SNTP service if it wasn’t started during init (config.start = false) or restart it if already started @return ESP_OK on success
- @brief Wait for time sync event @param tout Specified timeout in RTOS ticks @return ESP_TIMEOUT if sync event didn’t came withing the timeout ESP_ERR_NOT_FINISHED if the sync event came, but we’re in smooth update mode and still in progress (SNTP_SYNC_STATUS_IN_PROGRESS) ESP_OK if time sync’ed
- @brief Converts Ascii internet IPv4 address into esp_ip4_addr_t
- @brief Converts Ascii internet IPv6 address into esp_ip4_addr_t Zeros in the IP address can be stripped or completely ommited: “2001:db8:85a3:0:0:0:2:1” or “2001:db8::2:1”)
- @brief Utility to execute the supplied callback in TCP/IP context @param fn Pointer to the callback @param ctx Parameter to the callback @return The error code (esp_err_t) returned by the callback
- Function which sets up newlib in ROM for use with ESP-IDF
- Initialize newlib static locks
- @brief Add a peer to peer list
- @brief De-initialize ESPNOW function
- @brief Delete a peer from peer list
- @brief Fetch a peer from peer list. Only return the peer which address is unicast, for the multicast/broadcast address, the function will ignore and try to find the next in the peer list.
- @brief Get a peer whose MAC address matches peer_addr from peer list
- @brief Get the number of peers
- @brief Get the version of ESPNOW
- @brief Initialize ESPNOW function
- @brief Peer exists or not
- @brief Modify a peer
- @brief Register callback function of receiving ESPNOW data
- @brief Register callback function of sending ESPNOW data
- @brief Send ESPNOW data
- @brief Set ESPNOW rate config for each peer
- @brief Set the primary master key
- @brief Set wake window for esp_now to wake up in interval unit
- @brief Unregister callback function of receiving ESPNOW data
- @brief Unregister callback function of sending ESPNOW data
- @brief Abort OTA update, free the handle and memory associated with it.
- @brief Commence an OTA update writing to the specified partition.
- @brief Checks applications on the slots which can be booted in case of rollback.
- @brief Finish OTA update and validate newly written app image.
- @brief Erase previous boot app partition and corresponding otadata select for this partition.
- @brief Return esp_app_desc structure. This structure includes app version.
- @brief Fill the provided buffer with SHA256 of the ELF file, formatted as hexadecimal, null-terminated. If the buffer size is not sufficient to fit the entire SHA256 in hex plus a null terminator, the largest possible number of bytes will be written followed by a null.
- @brief Returns number of ota partitions provided in partition table.
- @brief Get partition info of currently configured boot app
- @brief Returns last partition with invalid state (ESP_OTA_IMG_INVALID or ESP_OTA_IMG_ABORTED).
- @brief Return the next OTA app partition which should be written with a new firmware.
- @brief Returns esp_app_desc structure for app partition. This structure includes app version.
- @brief Get partition info of currently running app
- @brief Returns state for given partition.
- @brief This function is called to roll back to the previously workable app with reboot.
- @brief This function is called to indicate that the running app is working well.
- @brief Configure OTA data for a new boot partition
- @brief Write OTA update data to partition
- @brief Write OTA update data to partition at an offset
- @brief Check for the identity of two partitions by SHA-256 digest.
- @brief Deregister the partition previously registered using esp_partition_register_external @param partition pointer to the partition structure obtained from esp_partition_register_external, @return - ESP_OK on success - ESP_ERR_NOT_FOUND if the partition pointer is not found - ESP_ERR_INVALID_ARG if the partition comes from the partition table - ESP_ERR_INVALID_ARG if the partition was not registered using esp_partition_register_external function.
- @brief Erase part of the partition
- @brief Find partition based on one or more parameters
- @brief Find first partition based on one or more parameters
- @brief Get esp_partition_t structure for given partition
- @brief Get SHA-256 digest for required partition.
- @brief Release partition iterator
- Check whether the region on the main flash is safe to write.
- @brief Configure MMU to map partition into data memory
- @brief Release region previously obtained using esp_partition_mmap
- @brief Move partition iterator to the next partition found
- @brief Read data from the partition
- @brief Read data from the partition without any transformation/decryption.
- @brief Register a partition on an external flash chip
- @brief Verify partition data
- @brief Write data to the partition
- @brief Write data to the partition without any transformation/encryption.
- @brief Delete a ping session
- @brief Get runtime profile of ping session
- @brief Create a ping session
- @brief Start the ping session
- @brief Stop the ping session
- @brief Set implementation-specific power management configuration @param config pointer to implementation-specific configuration structure (e.g. esp_pm_config_esp32) @return - ESP_OK on success - ESP_ERR_INVALID_ARG if the configuration values are not correct - ESP_ERR_NOT_SUPPORTED if certain combination of values is not supported, or if CONFIG_PM_ENABLE is not enabled in sdkconfig
- Dump the list of all locks to stderr
- @brief Get implementation-specific power management configuration @param config pointer to implementation-specific configuration structure (e.g. esp_pm_config_esp32) @return - ESP_OK on success - ESP_ERR_INVALID_ARG if the pointer is null
- @brief Take a power management lock
- @brief Initialize a lock handle for certain power management parameter
- @brief Delete a lock created using esp_pm_lock
- @brief Release the lock taken using esp_pm_lock_acquire.
- @brief Get the available size of the attached PSRAM chip
- @brief Initialize PSRAM interface/hardware.
- @brief If PSRAM has been initialized
- @brief Get current pthread creation configuration
- @brief Creates a default pthread configuration based on the values set via menuconfig.
- @brief Initialize pthread library
- @brief Configure parameters for creating pthread
- @brief Get one random 32-bit word from hardware RNG
- @brief Read base MAC address and set MAC address of the interface.
- Clean up some of lazily allocated buffers in REENT structures.
- Replacement for newlib’s _REENT_INIT_PTR and __sinit.
- @brief Register a callback to the idle hook of the core that calls this function. The callback should return true if it should be called by the idle hook once per interrupt (or FreeRTOS tick), and return false if it should be called repeatedly as fast as possible by the idle hook.
- @brief Register a callback to be called from the specified core’s idle hook. The callback should return true if it should be called by the idle hook once per interrupt (or FreeRTOS tick), and return false if it should be called repeatedly as fast as possible by the idle hook.
- @brief Register a callback to be called from the calling core’s tick hook.
- @brief Register a callback to be called from the specified core’s tick hook.
- @brief Register shutdown handler
- @brief Get reason of last reset @return See description of esp_reset_reason_t for explanation of each value.
- @brief Restart PRO and APP CPUs.
- @brief CRC8 value in big endian.
- @brief CRC8 value in little endian.
- @brief CRC16 value in big endian.
- @brief CRC16 value in little endian.
- @brief CRC32 value in big endian.
- @brief CRC32 value in little endian.
- @brief Pauses execution for us microseconds
- @brief Get the real CPU ticks per us
- @brief Get reset reason of CPU
- @brief Combine a GPIO input with a peripheral signal, which tagged as input attribute.
- @brief Combine a peripheral signal which tagged as output attribute with a GPIO.
- @brief Enable internal pull up, and disable internal pull down.
- @brief Configure IO Pad as General Purpose IO, so that it can be connected to internal Matrix, then combined with one or more peripheral signals.
- @brief Set IO Pad current drive capability.
- @brief Unhold the IO Pad. @note When the Pad is set to hold, the state is latched at that moment and won’t get changed.
- @brief esp_rom_printf can print message to different channels simultaneously. This function can help install the low level putc function for esp_rom_printf.
- @brief Install UART1 as the default console channel, equivalent to
esp_rom_install_channel_putc(1, esp_rom_uart_putc)
- @brief Extract the MD5 result, and erase the context
- @brief Initialize the MD5 context
- @brief Running MD5 algorithm over input data
- @brief Print formated string to console device @note float and long long data are not supported!
- @brief Route peripheral interrupt sources to CPU’s interrupt port by matrix
- @brief Set the real CPU tick rate
- @brief Software Reset cpu core.
- @brief Software Reset digital core include RTC.
- @brief Check RRM capability of connected AP
- @brief Send Radio measurement neighbor report request to connected AP
- @brief Read key digests from efuse. Any revoked/missing digests will be marked as NULL
- @brief If an OCD is connected over JTAG. set breakpoint 0 to the given function address. Do nothing otherwise. @param fn Pointer to the target breakpoint position
- @brief Install a new stub at runtime to run on wake from deep sleep
- @brief Set wake stub entry to default
esp_wake_stub_entry
- Update current microsecond time from RTC
- @brief Configure to isolate all GPIO pins in sleep state
- @brief CPU Power down low-level deinitialize, disable CPU power down during light sleep @return - ESP_OK on success - ESP_ERR_NO_MEM not enough retention memory
- @brief CPU Power down low-level initialize, enable CPU power down during light sleep @return - ESP_OK on success - ESP_ERR_NO_MEM not enough retention memory
- @brief CPU Power down de-initialize
- @brief CPU Power down initialize
- @brief Disable wakeup by bluetooth @return - ESP_OK on success - ESP_ERR_NOT_SUPPORTED if wakeup from bluetooth is not supported
- @brief Disable wakeup source
- @brief Disable beacon wakeup by WiFi MAC @return - ESP_OK on success
- @brief Disable wakeup by WiFi MAC @return - ESP_OK on success
- @brief Enable wakeup by bluetooth @return - ESP_OK on success - ESP_ERR_NOT_SUPPORTED if wakeup from bluetooth is not supported
- @brief Enable or disable GPIO pins status switching between slept status and waked status. @param enable decide whether to switch status or not
- @brief Enable wakeup from light sleep using GPIOs
- @brief Enable wakeup by timer @param time_in_us time before wakeup, in microseconds @return - ESP_OK on success - ESP_ERR_INVALID_ARG if value is out of range (TBD)
- @brief Enable wakeup from light sleep using UART
- @brief Enable beacon wakeup by WiFi MAC, it will wake up the system into modem state @return - ESP_OK on success
- @brief Enable wakeup by WiFi MAC @return - ESP_OK on success
- @brief Get the bit mask of GPIOs which caused wakeup (ext1)
- @brief Get the bit mask of GPIOs which caused wakeup (gpio)
- @brief Get the wakeup source which caused wakeup from sleep
- @brief Returns true if a GPIO number is valid for use as wakeup source.
- @brief Set power down mode for an RTC power domain in sleep mode
- @brief Set mode of SmartConfig. default normal mode.
- @brief Get reserved data of ESPTouch v2.
- @brief Get the version of SmartConfig.
- @brief Start SmartConfig, config ESP device to connect AP. You need to broadcast information by phone APP. Device sniffer special packets from the air that containing SSID and password of target AP.
- @brief Stop SmartConfig, free the buffer taken by esp_smartconfig_start.
- @brief Set protocol type of SmartConfig.
- @brief Start SmartConfig, config ESP device to connect AP. You need to broadcast information by phone APP. Device sniffer special packets from the air that containing SSID and password of target AP.
- @brief Stop SmartConfig, free the buffer taken by esp_smartconfig_start.
- @brief Checks if sntp is enabled @return true if sntp module is enabled
- @brief Get SNTP server IP @param idx Index of the server @return IP address of the server
- @brief Gets SNTP server name @param idx Index of the server @return Name of the server
- @brief Init and start SNTP service
- @brief Sets SNTP operating mode. The mode has to be set before init.
- @brief Sets SNTP server address
- @brief Sets SNTP hostname @param idx Index of the server @param server Name of the server
- @brief Stops SNTP service
- Check integrity of SPIFFS
- Format the SPIFFS partition
- @brief Perform garbage collection in SPIFFS partition
- Get information for SPIFFS
- Check if SPIFFS is mounted
- @brief Supplicant deinitialization
- @brief Supplicant initialization
- @brief Convert user input colon separated MAC Address into 6 byte MAC Address
- @brief Trigger a software abort
- @brief Subscribe a task to the Task Watchdog Timer (TWDT)
- @brief Subscribe a user to the Task Watchdog Timer (TWDT)
- @brief Deinitialize the Task Watchdog Timer (TWDT)
- @brief Unsubscribes a task from the Task Watchdog Timer (TWDT)
- @brief Unsubscribes a user from the Task Watchdog Timer (TWDT)
- @brief Initialize the Task Watchdog Timer (TWDT)
- @brief User ISR callback placeholder
- @brief Reconfigure the Task Watchdog Timer (TWDT)
- @brief Reset the Task Watchdog Timer (TWDT) on behalf of the currently running task
- @brief Reset the Task Watchdog Timer (TWDT) on behalf of a user
- @brief Query whether a task is subscribed to the Task Watchdog Timer (TWDT)
- @brief Create an esp_timer instance
- @brief De-initialize esp_timer library
- @brief Delete an esp_timer instance
- @brief Dump the list of timers to a stream
- @brief Minimal initialization of esp_timer
- @brief Get the expiry time of a one-shot timer
- @brief Get the timestamp when the next timeout is expected to occur @return Timestamp of the nearest timer event, in microseconds. The timebase is the same as for the values returned by esp_timer_get_time.
- @brief Get the timestamp when the next timeout is expected to occur skipping those which have skip_unhandled_events flag @return Timestamp of the nearest timer event, in microseconds. The timebase is the same as for the values returned by esp_timer_get_time.
- @brief Get the period of a timer
- @brief Get time in microseconds since boot @return number of microseconds since underlying timer has been started
- @brief Initialize esp_timer library
- @brief Returns status of a timer, active or not
- @brief Get the ETM event handle of esp_timer underlying alarm event
- @brief Restart a currently running timer
- @brief Start one-shot timer
- @brief Start a periodic timer
- @brief Stop the timer
- @brief Close the TLS/SSL connection and free any allocated resources.
- @brief Create a new blocking TLS/SSL connection with a given “HTTP” url
- @brief Create a new non-blocking TLS/SSL connection with a given “HTTP” url
- @brief Create a new blocking TLS/SSL connection with a given “HTTP” url
- @brief Create a new non-blocking TLS/SSL connection
- @brief Create a new blocking TLS/SSL connection
- @brief Read from specified tls connection into the buffer ‘data’.
- @brief Write from buffer ‘data’ into specified tls connection.
- @brief Free the global CA store currently being used.
- @brief Returns the last error captured in esp_tls of a specific type The error information is cleared internally upon return
- @brief Returns last error in esp_tls with detailed mbedtls related error codes. The error information is cleared internally upon return
- @brief Return the number of application data bytes remaining to be read from the current record
- @brief Returns the connection socket file descriptor from esp_tls session
- @brief Gets the connection state for the esp_tls session
- @brief Returns the ESP-TLS error_handle
- @brief Get the pointer to the global CA store currently being used.
- @brief Returns the ssl context
- @brief Create TLS connection
- @brief Create a global CA store, initially empty.
- @brief Creates a plain TCP connection, returning a valid socket fd on success or an error handle
- @brief Sets the connection socket file descriptor for the esp_tls session
- @brief Sets the connection state for the esp_tls session
- @brief Set the global CA store with the buffer provided in pem format.
- @brief Transport close
- @brief Transport connection function, to make a connection to server
- @brief Non-blocking transport connection function, to make a connection to server
- @brief Cleanup and free memory the transport
- @brief Get user data context of this transport
- @brief Get default port number used by this transport
- @brief Get and clear last captured socket errno
- @brief Returns esp_tls error handle. Warning: The returned pointer is valid only as long as esp_transport_handle_t exists. Once transport handle gets destroyed, this value (esp_tls_error_handle_t) is freed automatically.
- @brief Get transport handle of underlying protocol which can access this protocol payload directly (used for receiving longer msg multiple times)
- @brief Initialize a transport handle object
- @brief Add a transport to the list, and define a scheme to indentify this transport in the list
- @brief This function will remove all transport from the list, invoke esp_transport_destroy of every transport have added this the list
- @brief Cleanup and free all transports, include itself, this function will invoke esp_transport_destroy of every transport have added this the list
- @brief Get the transport by scheme, which has been defined when calling function
esp_transport_list_add
- @brief Create transport list
- @brief Poll the transport until readable or timeout
- @brief Poll the transport until writeable or timeout
- @brief Transport read function
- @brief Set transport functions for the transport handle
- @brief Set the user context data for this transport
- @brief Set default port number that can be used by this transport
- @brief Set transport functions for the transport handle
- @brief Set parent transport function to the handle
- @brief Enable the use of certification bundle for server verfication for an SSL connection. It must be first enabled in menuconfig.
- @brief Enable global CA store for SSL connection
- @brief Create new SSL transport, the transport handle must be release esp_transport_destroy callback
- @brief Set the list of supported application protocols to be used with ALPN. Note that, this function stores the pointer to data, rather than making a copy. So this data must remain valid until after the connection is cleaned up
- @brief Set SSL certificate data (as PEM format). Note that, this function stores the pointer to data, rather than making a copy. So this data must remain valid until after the connection is cleaned up
- @brief Set SSL certificate data (as DER format). Note that, this function stores the pointer to data, rather than making a copy. So this data must remain valid until after the connection is cleaned up
- @brief Set SSL client certificate data for mutual authentication (as PEM format). Note that, this function stores the pointer to data, rather than making a copy. So this data must remain valid until after the connection is cleaned up
- @brief Set SSL client certificate data for mutual authentication (as DER format). Note that, this function stores the pointer to data, rather than making a copy. So this data must remain valid until after the connection is cleaned up
- @brief Set SSL client key data for mutual authentication (as PEM format). Note that, this function stores the pointer to data, rather than making a copy. So this data must remain valid until after the connection is cleaned up
- @brief Set SSL client key data for mutual authentication (as DER format). Note that, this function stores the pointer to data, rather than making a copy. So this data must remain valid until after the connection is cleaned up
- @brief Set SSL client key password if the key is password protected. The configured password is passed to the underlying TLS stack to decrypt the client key
- @brief Set the server certificate’s common name field
- @brief Set the ds_data handle in ssl context.(used for the digital signature operation)
- @brief Set name of interface that socket can be binded on So the data can transport on this interface
- @brief Set keep-alive status in current ssl context
- @brief Set PSK key and hint for PSK server/client verification in esp-tls component. Important notes: - This function stores the pointer to data, rather than making a copy. So this data must remain valid until after the connection is cleaned up - ESP_TLS_PSK_VERIFICATION config option must be enabled in menuconfig - certificate verification takes priority so it must not be configured to enable PSK method.
- @brief Skip validation of certificate’s common name field
- @brief Set the ssl context to use secure element (atecc608a) for client(device) private key and certificate
- @brief Create TCP transport, the transport handle must be release esp_transport_destroy callback
- @brief Set name of interface that socket can be binded on So the data can transport on this interface
- @brief Set TCP keep-alive configuration
- @brief Translates the TCP transport error codes to esp_err_t error codes
- @brief Transport write function
- @brief Returns websocket fin flag for last received data
- @brief Returns websocket op-code for last received data
- @brief Returns payload length of the last received data
- @brief Returns the HTTP status code of the websocket handshake
- @brief Create web socket transport
- @brief Polls the active connection for termination
- @brief Sends websocket raw message with custom opcode and payload
- @brief Set websocket authorization headers
- @brief Set websocket transport parameters
- @brief Set websocket additional headers
- @brief Set HTTP path to update protocol to websocket
- @brief Set websocket sub protocol header
- @brief Set websocket user-agent header
- @brief Unregister shutdown handler
- @brief add uart/usb_serial_jtag/usb_otg_acmcdc virtual filesystem driver
- @brief add /dev/cdcacm virtual filesystem driver
- @brief Set the line endings expected to be received
- @brief Set the line endings to sent
- @brief Set the line endings expected to be received on specified UART
- @brief Set the line endings to sent to specified UART
- @brief add /dev/uart virtual filesystem driver
- @brief Set the line endings expected to be received on UART
- @brief Set the line endings to sent to UART
- @brief set VFS to use UART driver for reading and writing @note application must configure UART driver before calling these functions With these functions, read and write are blocking and interrupt-driven. @param uart_num UART peripheral number
- @brief set VFS to use simple functions for reading and writing UART Read is non-blocking, write is busy waiting until TX FIFO has enough space. These functions are used by default. @param uart_num UART peripheral number
- @brief add /dev/usbserjtag virtual filesystem driver
- @brief Set the line endings expected to be received
- @brief Set the line endings to sent
- @brief Registers the event vfs.
- @brief Unregisters the event vfs.
- @brief Get information for FATFS partition
- @deprecated Please use
esp_vfs_fat_spiflash_mount_ro
instead - @deprecated Please use
esp_vfs_fat_spiflash_unmount_ro
instead - @brief Register FATFS with VFS component
- @brief Format FAT filesystem
- @brief Unmount an SD card from the FAT filesystem and release resources acquired using
esp_vfs_fat_sdmmc_mount()
oresp_vfs_fat_sdspi_mount()
- @brief Convenience function to get FAT filesystem on SD card registered in VFS
- @brief Unmount FAT filesystem and release resources acquired using esp_vfs_fat_sdmmc_mount
- @brief Convenience function to get FAT filesystem on SD card registered in VFS
- @brief Format FAT filesystem
- @cond / /* @deprecated Please use
esp_vfs_fat_spiflash_mount_rw_wl
instead - @brief Convenience function to initialize read-only FAT filesystem and register it in VFS
- @brief Convenience function to initialize FAT filesystem in SPI flash and register it in VFS
- @deprecated Please use
esp_vfs_fat_spiflash_unmount_rw_wl
instead - @brief Unmount FAT filesystem and release resources acquired using esp_vfs_fat_spiflash_mount_ro
- @brief Unmount FAT filesystem and release resources acquired using esp_vfs_fat_spiflash_mount_rw_wl
- @brief Un-register FATFS from VFS
- @brief Implements the VFS layer of POSIX pread()
- @brief Implements the VFS layer of POSIX pwrite()
- Register a virtual filesystem for given path prefix.
- Special function for registering another file descriptor for a VFS registered by esp_vfs_register_with_id.
- Special case function for registering a VFS that uses a method other than open() to open new file descriptors from the interval <min_fd; max_fd).
- Special function for registering another file descriptor with given local_fd for a VFS registered by esp_vfs_register_with_id.
- Special case function for registering a VFS that uses a method other than open() to open new file descriptors. In comparison with esp_vfs_register_fd_range, this function doesn’t pre-registers an interval of file descriptors. File descriptors can be registered later, by using esp_vfs_register_fd.
- @brief Synchronous I/O multiplexing which implements the functionality of POSIX select() for VFS @param nfds Specifies the range of descriptors which should be checked. The first nfds descriptors will be checked in each set. @param readfds If not NULL, then points to a descriptor set that on input specifies which descriptors should be checked for being ready to read, and on output indicates which descriptors are ready to read. @param writefds If not NULL, then points to a descriptor set that on input specifies which descriptors should be checked for being ready to write, and on output indicates which descriptors are ready to write. @param errorfds If not NULL, then points to a descriptor set that on input specifies which descriptors should be checked for error conditions, and on output indicates which descriptors have error conditions. @param timeout If not NULL, then points to timeval structure which specifies the time period after which the functions should time-out and return. If it is NULL, then the function will not time-out. Note that the timeout period is rounded up to the system tick and incremented by one.
- @brief Notification from a VFS driver about a read/write/error condition
- @brief Notification from a VFS driver about a read/write/error condition (ISR version)
- @brief add virtual filesystem semihosting driver
- @brief Un-register semihosting driver from VFS
- Register and mount SPIFFS to VFS with given path prefix.
- Unregister and unmount SPIFFS from VFS
- Unregister a virtual filesystem for given path prefix
- Special function for unregistering a file descriptor belonging to a VFS registered by esp_vfs_register_with_id.
- Unregister a virtual filesystem with the given index
- @brief set VFS to use USB-SERIAL-JTAG driver for reading and writing @note application must configure USB-SERIAL-JTAG driver before calling these functions With these functions, read and write are blocking and interrupt-driven.
- @brief set VFS to use simple functions for reading and writing UART Read is non-blocking, write is busy waiting until TX FIFO has enough space. These functions are used by default.
- These functions are to be used in newlib syscall table. They will be called by newlib when it needs to use any of the syscalls. / /**@{
- @brief Default stub to run on wake from deep sleep.
- @brief Send raw ieee80211 data
- @brief Get AID of STA connected with soft-AP
- @brief Get STAs associated with soft-AP
- @brief Disable Wi-Fi SoftAP WPS function and release resource it taken.
- @brief Enable Wi-Fi AP WPS function.
- @brief WPS starts to work.
- @brief Configure wifi beacon montior default parameters
- @brief Clear AP list found in last scan
- @brief Clears default wifi event handlers for supplied network interface
- @brief Currently this API is just an stub API
- @brief Enable or disable 11b rate of specified interface
- @brief Config 80211 tx rate of specified interface
- @brief Config ESPNOW rate of specified interface
- @brief Connect WiFi station to the AP.
- @brief Set wake interval for connectionless modules to wake up periodically.
- @brief Creates wifi driver instance to be used with esp-netif
- @brief deauthenticate all stations or associated id equals to aid
- @brief Deinit WiFi Free all resource allocated in esp_wifi_init and stop WiFi task
- @brief Deinitialize Wi-Fi Driver Free resource for WiFi driver, such as WiFi control structure, RX/TX buffer, WiFi NVS structure among others.
- @brief Destroys wifi driver instance
- @brief Disable PMF configuration for specified interface
- @brief Disconnect WiFi station from the AP.
- @brief Request extra reference of Wi-Fi radio. Wi-Fi keep active state(RF opened) to be able to receive packets.
- @brief Release extra reference of Wi-Fi radio. Wi-Fi go to sleep state(RF closed) if no more use of radio.
- @brief End the ongoing FTM Initiator session
- @brief Start an FTM Initiator session by sending FTM request If successful, event WIFI_EVENT_FTM_REPORT is generated with the result of the FTM procedure
- @brief Set offset in cm for FTM Responder. An equivalent offset is calculated in picoseconds and added in TOD of FTM Measurement frame (T1).
- @brief Get current antenna configuration
- @brief Get current antenna GPIO configuration
- @brief Get the bandwidth of specified interface
- @brief Get the primary/secondary channel of device
- @brief Get configuration of specified interface
- @brief get the current country info
- @brief get the current country code
- @brief Get mask of WiFi events
- @brief Return mac of specified wifi driver instance
- @brief Get inactive time of specified interface
- @brief Get mac of specified interface
- @brief Get maximum transmiting power after WiFi start
- @brief Get current operating mode of WiFi
- @brief Get the promiscuous mode.
- @brief Get the subtype filter of the control packet in promiscuous mode.
- @brief Get the promiscuous filter.
- @brief Get the current protocol bitmap of the specified interface
- @brief Get current WiFi power save type
- @brief Get the TSF time In Station mode or SoftAP+Station mode if station is not connected or station doesn’t receive at least one beacon after connected, will return 0
- @brief Initialize WiFi Allocate resource for WiFi driver, such as WiFi control structure, RX/TX buffer, WiFi NVS structure etc. This WiFi also starts WiFi task
- @brief Initialize Wi-Fi Driver Alloc resource for WiFi driver, such as WiFi control structure, RX/TX buffer, WiFi NVS structure among others.
- @brief Check the MD5 values of the crypto types header files in IDF and WiFi library
- @brief Check the MD5 values of the esp_wifi_he.h in IDF and WiFi library
- @brief Check the MD5 values of the esp_wifi.h in IDF and WiFi library
- @brief free the rx buffer which allocated by wifi driver
- @brief Get the user-configured channel info
- @brief Get current WiFi log info
- @brief Get the negotiated bandwidth info after WiFi connection established
- @brief Get the negotiated channel info after WiFi connection established
- @brief A general API to set/get WiFi internal configuration, it’s for debug only
- @brief Check if WiFi TSF is active
- @brief Set light sleep mode to require WiFi to enable or disable Advanced DTIM sleep function
- @brief Set modem state mode to require WiFi to enable or disable Advanced DTIM sleep function
- @brief Check the MD5 values of the OS adapter header files in IDF and WiFi library
- @brief register the net stack buffer reference increasing and free callback
- @brief Set the WiFi RX callback
- @brief enable or disable transmitting WiFi MAC frame with fixed rate
- @brief Set current WiFi log level
- @brief Set current log module and submodule
- @brief Set device spp amsdu attributes
- @brief Notify WIFI driver that the station got ip successfully
- @brief transmit the buffer via wifi driver
- @brief transmit the buffer by reference via wifi driver
- @brief Update WIFI light sleep default parameters
- @brief Update WIFI light sleep wake ahead time
- @brief Update WiFi MAC time
- @brief De-initialize WAPI function when wpa_supplicant de-initialize.
- @brief Initialize WAPI function when wpa_supplicant initialize.
- @brief Check the MD5 values of the esp_wifi_he_types.h in IDF and WiFi library
- @brief Check the MD5 values of the esp_wifi_types.h in IDF and WiFi library
- @brief Return true if the supplied interface instance is ready after start. Typically used when registering on receive callback, which ought to be installed as soon as AP started, but once STA gets connected.
- @brief Wifi power domain power off
- @brief Wifi power domain power on
- @brief Register interface receive callback function with argument
- @brief Restore WiFi stack persistent settings to default values
- @brief Get number of APs found in last scan
- @brief Get AP list found in last scan
- @brief Scan all available APs.
- @brief Stop the scan in process
- @brief Set antenna configuration
- @brief Set antenna GPIO configuration
- @brief Set the bandwidth of specified interface
- @brief Set primary/secondary channel of device
- @brief Set the configuration of the STA, AP or NAN
- @brief configure country info
- @brief configure country
- @brief Enable or disable CSI
- @brief Set CSI data configuration
- @brief Register the RX callback function of CSI data.
- @brief Sets default wifi event handlers for AP interface
- @brief Sets default wifi event handlers for NAN interface
- @brief Sets default wifi event handlers for STA interface
- @brief Config dynamic carrier sense
- @brief Set mask to enable or disable some WiFi events
- @brief Set the inactive time of the STA or AP
- @brief Set wifi keep alive time
- @brief Set MAC address of WiFi station, soft-AP or NAN interface.
- @brief Set maximum transmitting power after WiFi start.
- @brief Set the WiFi operating mode
- @brief Enable the promiscuous mode.
- @brief Enable subtype filter of the control packet in promiscuous mode.
- @brief Enable the promiscuous mode packet type filter.
- @brief Register the RX callback function in the promiscuous mode.
- @brief Set protocol type of specified interface The default protocol is (WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N). if CONFIG_SOC_WIFI_HE_SUPPORT, the default protocol is (WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N|WIFI_PROTOCOL_11AX).
- @brief Set current WiFi power save type
- @brief Set RSSI threshold, if average rssi gets lower than threshold, WiFi task will post event WIFI_EVENT_STA_BSS_RSSI_LOW.
- @brief Set the delay time for wifi to enter the sleep state when light sleep
- @brief Set the WiFi API configuration storage type
- @brief Register the txDone callback function of type wifi_tx_done_cb_t
- @brief Set 802.11 Vendor-Specific Information Element
- @brief Register Vendor-Specific Information Element monitoring callback.
- @brief Disable EAP authentication(WiFi Enterprise) for the station mode.
- @brief Enable EAP authentication(WiFi Enterprise) for the station mode.
- @brief Get the Association id assigned to STA by AP
- @brief Get information of AP to which the device is associated with
- @brief Get the negotiated phymode after connection.
- @brief Get the rssi info after station connected to AP
- @brief Clear CA certificate for PEAP/TTLS method.
- @brief Clear client certificate and key.
- @brief Clear identity for PEAP/TTLS method.
- @brief Clear new password for MSCHAPv2 method..
- @brief Clear password for PEAP/TTLS method..
- @brief Clear username for PEAP/TTLS method. @deprecated This function is deprecated and will be removed in the future. Please use
esp_eap_client_clear_username
instead. - @brief Disable wpa2 enterprise authentication.
- @brief Enable wpa2 enterprise authentication.
- @brief Get wpa2 enterprise certs time check(disable or not).
- @brief Set CA certificate for PEAP/TTLS method.
- @brief Set client certificate and key.
- @brief Set wpa2 enterprise certs time check(disable or not).
- @brief Set Phase 1 parameters for EAP-FAST
- @brief Set identity for PEAP/TTLS method.
- @brief Set new password for MSCHAPv2 method..
- @brief Set client pac file
- @brief Set password for PEAP/TTLS method..
- @brief Set wpa2 enterprise ttls phase2 method
- @brief Set username for PEAP/TTLS method.
- @brief enable/disable 192 bit suite b certification checks
- @brief Use default CA cert bundle for server validation
- @brief Start WiFi according to current configuration If mode is WIFI_MODE_STA, it creates station control block and starts station If mode is WIFI_MODE_AP, it creates soft-AP control block and starts soft-AP If mode is WIFI_MODE_APSTA, it creates soft-AP and station control block and starts soft-AP and station If mode is WIFI_MODE_NAN, it creates NAN control block and starts NAN
- @brief Dump WiFi statistics
- @brief Stop WiFi If mode is WIFI_MODE_STA, it stops station and frees station control block If mode is WIFI_MODE_AP, it stops soft-AP and frees soft-AP control block If mode is WIFI_MODE_APSTA, it stops station/soft-AP and frees station/soft-AP control block If mode is WIFI_MODE_NAN, it stops NAN and frees NAN control block
- @brief Update WiFi TSF tick interval
- @brief Disable Wi-Fi WPS function and release resource it taken.
- @brief Enable Wi-Fi WPS function.
- @brief Start WPS session.
- @brief Check bss trasition capability of connected AP
- @brief Send bss transition query to connected AP
- @brief Get interrupt unmask @param none @return uint32_t interrupt unmask
- @brief Disable interrupts from interrupt controller.
- @brief Enable interrupts from interrupt controller.
- @brief Get the current priority of an interrupt
- @brief Get the current type of an interrupt
- Set interrupt priority in the interrupt controller @param rv_int_num CPU interrupt number @param priority Interrupt priority level, 1 to 7
- Set interrupt priority threshold. Interrupts with priority levels lower than the threshold are masked.
- @brief Set interrupt type
- @brief CPU do while loop for some time. In FreeRTOS task, please call FreeRTOS apis.
- @brief Get apb_freq value, If value not stored in RTC_STORE5, than store.
- @brief Get the real CPU ticks per us to the ets. This function do not return real CPU ticks per us, just the record in ets. It can be used to check with the real CPU frequency.
- @brief Get the uart channel of ets_printf(uart_tx_one_char).
- @brief Get the apb divior by xtal frequency. When any types of reset happen, the default value is 2.
- @brief Get xtal_freq value, If value not stored in RTC_STORE5, than store.
- @brief Ets_printf have two output functions: putc1 and putc2, both of which will be called if need ouput. To install putc1, which is defaulted installed as ets_write_char_uart in none silent boot mode, as NULL in silent mode.
- @brief Ets_printf have two output functions: putc1 and putc2, both of which will be called if need ouput. To install putc2, which is defaulted installed as NULL.
- @brief Install putc1 as ets_write_char_uart. In silent boot mode(to void interfere the UART attached MCU), we can call this function, after booting ok.
- @brief Lock the interrupt to level 2. This function direct set the CPU registers. In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Unlock the interrupt to level 0. This function direct set the CPU registers. In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Attach a interrupt handler to a CPU interrupt number. This function equals to _xtos_set_interrupt_handler_arg(i, func, arg). In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Mask the interrupts which show in mask bits. This function equals to _xtos_ints_off(mask). In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Unmask the interrupts which show in mask bits. This function equals to _xtos_ints_on(mask). In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Printf the strings to uart or other devices, similar with printf, simple than printf. Can not print float point data format, or longlong data format. So we maybe only use this in ROM.
- @brief Set Pro cpu Entry code, code can be called in PRO CPU when booting is not completed. When Pro CPU booting is completed, Pro CPU will call the Entry code if not NULL.
- @brief Arm an ets timer, this timer range is 640 us to 429496 ms. In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Arm an ets timer, this timer range is 640 us to 429496 ms. In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Disarm an ets timer. In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Unset timer callback and argument to NULL. In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Init ets timer, this timer range is 640 us to 429496 ms In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Set timer callback and argument. In FreeRTOS, please call FreeRTOS apis, never call this api.
- @brief Set the real CPU ticks per us to the ets, so that ets_delay_us will be accurate. Call this function when CPU frequency is changed.
- exit⚠
- feof⚠
- Get next available drive number
- @brief Get the driver number corresponding to a card
- Register or unregister diskio driver for given drive number.
- Register spi flash partition
- Register SD/MMC diskio driver
- Register spi flash partition
- @brief Enable/disable SD card status checking
- ffs⚠
- ffsl⚠
- fls⚠
- flsl⚠
- fork⚠
- free⚠
- getc⚠
- gets⚠
- getw⚠
- @brief GPIO common configuration
- @brief Disable all digital gpio pads hold function during Deep-sleep.
- @brief Enable all digital gpio pads hold function during Deep-sleep.
- @brief Disable GPIO deep-sleep wake-up function.
- @brief Enable GPIO deep-sleep wake-up function.
- @brief Bind the GPIO with the ETM event
- @brief Add GPIO to the ETM task.
- @brief Remove the GPIO from the ETM task
- @brief Force hold all digital and rtc gpio pads.
- @brief Force unhold all digital and rtc gpio pads.
- @brief Get GPIO pad drive capability
- @brief GPIO get input level
- @brief Disable gpio pad hold function.
- @brief Enable gpio pad hold function.
- @brief Install the GPIO driver’s ETS_GPIO_INTR_SOURCE ISR handler service, which allows per-pin GPIO interrupt handlers.
- @brief Disable GPIO module interrupt signal
- @brief Enable GPIO module interrupt signal
- @brief Set pad input to a peripheral signal through the IOMUX. @param gpio_num GPIO number of the pad. @param signal_idx Peripheral signal id to input. One of the
*_IN_IDX
signals insoc/gpio_sig_map.h
. - @brief Set peripheral output to an GPIO pad through the IOMUX. @param gpio_num gpio_num GPIO number of the pad. @param func The function number of the peripheral pin to output pin. One of the
FUNC_X_*
of specified pin (X) insoc/io_mux_reg.h
. @param oen_inv True if the output enable needs to be inverted, otherwise False. - @brief Add ISR handler for the corresponding GPIO pin.
- @brief Remove ISR handler for the corresponding GPIO pin.
- @brief Register GPIO interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on.
- @brief Create an ETM event object for the GPIO peripheral
- @brief Create an ETM task object for the GPIO peripheral
- @brief Disable pull-down on GPIO.
- @brief Enable pull-down on GPIO.
- @brief Disable pull-up on GPIO.
- @brief Enable pull-up on GPIO.
- @brief Reset an gpio to default state (select gpio function, enable pullup and disable input and output).
- @brief GPIO set direction
- @brief Set GPIO pad drive capability
- @brief GPIO set interrupt trigger type
- @brief GPIO set output level
- @brief Configure GPIO pull-up/pull-down resistors
- @brief Disable SLP_SEL to change GPIO status automantically in lightsleep. @param gpio_num GPIO number of the pad.
- @brief Enable SLP_SEL to change GPIO status automantically in lightsleep. @param gpio_num GPIO number of the pad.
- @brief GPIO set direction at sleep
- @brief Configure GPIO pull-up/pull-down resistors at sleep
- @brief Uninstall the driver’s GPIO ISR service, freeing related resources.
- @brief Disable GPIO wake-up function.
- @brief Enable GPIO wake-up function.
- @brief Delete the GPTimer handle
- @brief Disable GPTimer
- @brief Enable GPTimer
- @brief Get GPTimer captured count value
- @brief Get GPTimer raw count value
- @brief Return the real resolution of the timer
- @brief Get the ETM event for GPTimer
- @brief Get the ETM task for GPTimer
- @brief Create a new General Purpose Timer, and return the handle
- @brief Set callbacks for GPTimer
- @brief Set alarm event actions for GPTimer.
- @brief Set GPTimer raw count value
- @brief Start GPTimer (internal counter starts counting)
- @brief Stop GPTimer (internal counter stops counting)
- @brief Allocate an aligned chunk of memory which has the given capabilities
- @brief Allocate an aligned chunk of memory which has the given capabilities. The initialized value in the memory is set to zero.
- @brief Used to deallocate memory previously allocated with heap_caps_aligned_alloc
- @brief Allocate a chunk of memory which has the given capabilities. The initialized value in the memory is set to zero.
- @brief Allocate a chunk of memory as preference in decreasing order.
- @brief Check integrity of all heaps with the given capabilities.
- @brief Check integrity of heap memory around a given address.
- @brief Check integrity of all heap memory in the system.
- @brief Dump the full structure of all heaps with matching capabilities.
- @brief Dump the full structure of all heaps.
- @brief Free memory previously allocated via heap_caps_malloc() or heap_caps_realloc().
- @brief Return the size that a particular pointer was allocated with.
- @brief Get the total free size of all the regions that have the given capabilities
- @brief Get heap info for all regions with the given capabilities.
- @brief Get the largest free block of memory able to be allocated with the given capabilities.
- @brief Get the total minimum free memory of all regions with the given capabilities
- @brief Get the total size of all the regions that have the given capabilities
- @brief Allocate a chunk of memory which has the given capabilities
- @brief Enable malloc() in external memory and set limit below which malloc() attempts are placed in internal memory.
- @brief Allocate a chunk of memory as preference in decreasing order.
- @brief Print a summary of all memory with the given capabilities.
- @brief Reallocate memory previously allocated via heap_caps_malloc() or heap_caps_realloc().
- @brief Reallocate a chunk of memory as preference in decreasing order.
- @brief registers a callback function to be invoked if a memory allocation operation fails @param callback caller defined callback to be invoked @return ESP_OK if callback was registered.
- @brief Returns list of current socket descriptors of active sessions
- @brief Get HTTPD global transport context (it was set in the server config struct)
- @brief Get HTTPD global user context (it was set in the server config struct)
- @brief Helper function to get a URL query tag from a query string of the type param1=val1¶m2=val2
- @brief Queue execution of a function in HTTPD’s context
- @brief Function for registering HTTP error handlers
- @brief Registers a URI handler
- @brief Get the value string of a cookie value from the “Cookie” request headers by cookie name.
- @brief Search for a field in request headers and return the string length of it’s value
- @brief Get the value string of a field from the request headers
- @brief Get Query string length from the request URL
- @brief Get Query string from the request URL
- @brief API to read content data from the HTTP request
- @brief Get the Socket Descriptor from the HTTP request
- @brief API to send a complete HTTP response.
- @brief API to send one HTTP chunk
- @brief For sending out error code in response to HTTP request.
- @brief API to append any additional headers
- @brief API to set the HTTP status code
- @brief API to set the HTTP content type
- @brief Raw HTTP send
- @brief Get session context from socket descriptor
- @brief Get session ‘transport’ context by socket descriptor @see httpd_sess_get_ctx()
- @brief Set session context by socket descriptor
- @brief Override web server’s pending function (by session FD)
- @brief Override web server’s receive function (by session FD)
- @brief Override web server’s send function (by session FD)
- @brief Set session ‘transport’ context by socket descriptor @see httpd_sess_set_ctx()
- @brief Trigger an httpd session close externally
- @brief Update LRU counter for a given socket
- A low level API to receive data from a given socket
- A low level API to send data on a given socket
- @brief Starts the web server
- @brief Stops the web server
- @brief Unregister all URI handlers with the specified uri string
- @brief Unregister a URI handler
- @brief Test if a URI matches the given wildcard template.
- @brief Create and initialize an I2C commands list with a given buffer. After finishing the I2C transactions, it is required to call
i2c_cmd_link_delete()
to release and return the resources. The required bytes will be dynamically allocated. - @brief Create and initialize an I2C commands list with a given buffer. All the allocations for data or signals (START, STOP, ACK, …) will be performed within this buffer. This buffer must be valid during the whole transaction. After finishing the I2C transactions, it is required to call
i2c_cmd_link_delete_static()
. - @brief Free the I2C commands list
- @brief Free the I2C commands list allocated statically with
i2c_cmd_link_create_static
. - @brief Delete I2C driver
- @brief Install an I2C driver @note Not all Espressif chips can support slave mode (e.g. ESP32C2)
- @brief Disable filter on I2C bus
- @brief Enable hardware filter on I2C bus Sometimes the I2C bus is disturbed by high frequency noise(about 20ns), or the rising edge of the SCL clock is very slow, these may cause the master state machine to break. Enable hardware filter can filter out high frequency interference and make the master more stable. @note Enable filter will slow down the SCL clock.
- @brief get I2C data transfer mode
- @brief get I2C data signal timing
- @brief Get I2C master clock period
- @brief get I2C master start signal timing
- @brief get I2C master stop signal timing
- @brief get I2C timeout value @param i2c_num I2C port number @param timeout pointer to get timeout value @return - ESP_OK Success - ESP_ERR_INVALID_ARG Parameter error
- @brief Send all the queued commands on the I2C bus, in master mode. The task will be blocked until all the commands have been sent out. The I2C port is protected by mutex, so this function is thread-safe. This function shall only be called in I2C master mode.
- @brief Queue a “read (multiple) bytes” command to the commands list. Multiple bytes will be read on the I2C bus. This function shall only be called in I2C master mode. Call
i2c_master_cmd_begin()
to send all queued commands - @brief Queue a “read byte” command to the commands list. A single byte will be read on the I2C bus. This function shall only be called in I2C master mode. Call
i2c_master_cmd_begin()
to send all queued commands - @brief Perform a read to a device connected to a particular I2C port. This function is a wrapper to
i2c_master_start()
,i2c_master_write()
,i2c_master_read()
, etc… It shall only be called in I2C master mode. - @brief Queue a “START signal” to the given commands list. This function shall only be called in I2C master mode. Call
i2c_master_cmd_begin()
to send all the queued commands. - @brief Queue a “STOP signal” to the given commands list. This function shall only be called in I2C master mode. Call
i2c_master_cmd_begin()
to send all the queued commands. - @brief Queue a “write (multiple) bytes” command to the commands list. This function shall only be called in I2C master mode. Call
i2c_master_cmd_begin()
to send all queued commands - @brief Queue a “write byte” command to the commands list. A single byte will be sent on the I2C port. This function shall only be called in I2C master mode. Call
i2c_master_cmd_begin()
to send all queued commands - @brief Perform a write followed by a read to a device on the I2C bus. A repeated start signal is used between the
write
andread
, thus, the bus is not released until the two transactions are finished. This function is a wrapper toi2c_master_start()
,i2c_master_write()
,i2c_master_read()
, etc… It shall only be called in I2C master mode. - @brief Perform a write to a device connected to a particular I2C port. This function is a wrapper to
i2c_master_start()
,i2c_master_write()
,i2c_master_read()
, etc… It shall only be called in I2C master mode. - @brief Configure an I2C bus with the given configuration.
- @brief reset I2C rx fifo
- @brief reset I2C tx hardware fifo
- @brief set I2C data transfer mode
- @brief set I2C data signal timing
- @brief Set I2C master clock period
- @brief Configure GPIO pins for I2C SCK and SDA signals.
- @brief set I2C master start signal timing
- @brief set I2C master stop signal timing
- @brief set I2C timeout value @param i2c_num I2C port number @param timeout timeout value for I2C bus (unit: APB 80Mhz clock cycle) @return - ESP_OK Success - ESP_ERR_INVALID_ARG Parameter error
- @brief Read bytes from I2C internal buffer. When the I2C bus receives data, the ISR will copy them from the hardware RX FIFO to the internal ringbuffer. Calling this function will then copy bytes from the internal ringbuffer to the
data
user buffer. @note This function shall only be called in I2C slave mode. - @brief Write bytes to internal ringbuffer of the I2C slave data. When the TX fifo empty, the ISR will fill the hardware FIFO with the internal ringbuffer’s data. @note This function shall only be called in I2C slave mode.
- @brief Disable the i2s channel @note Only allowed to be called when the channel state is RUNNING, (i.e., channel has been started) the channel will enter READY state once it is disabled successfully. @note Disable the channel can stop the I2S communication on hardware. It will stop bclk and ws signal but not mclk signal
- @brief Enable the i2s channel @note Only allowed to be called when the channel state is READY, (i.e., channel has been initialized, but not started) the channel will enter RUNNING state once it is enabled successfully. @note Enable the channel can start the I2S communication on hardware. It will start outputting bclk and ws signal. For mclk signal, it will start to output when initialization is finished
- @brief Get I2S channel information
- @brief Initialize i2s channel to PDM TX mode @note Only allowed to be called when the channel state is REGISTERED, (i.e., channel has been allocated, but not initialized) and the state will be updated to READY if initialization success, otherwise the state will return to REGISTERED.
- @brief Initialize i2s channel to standard mode @note Only allowed to be called when the channel state is REGISTERED, (i.e., channel has been allocated, but not initialized) and the state will be updated to READY if initialization success, otherwise the state will return to REGISTERED.
- @brief Initialize i2s channel to TDM mode @note Only allowed to be called when the channel state is REGISTERED, (i.e., channel has been allocated, but not initialized) and the state will be updated to READY if initialization success, otherwise the state will return to REGISTERED.
- @brief Preload the data into TX DMA buffer @note Only allowed to be called when the channel state is READY, (i.e., channel has been initialized, but not started) @note As the initial DMA buffer has no data inside, it will transmit the empty buffer after enabled the channel, this function is used to preload the data into the DMA buffer, so that the valid data can be transmitted immediately after the channel is enabled. @note This function can be called multiple times before enabling the channel, the buffer that loaded later will be concatenated behind the former loaded buffer. But when all the DMA buffers have been loaded, no more data can be preload then, please check the
bytes_loaded
parameter to see how many bytes are loaded successfully, when thebytes_loaded
is smaller than thesize
, it means the DMA buffers are full. - @brief I2S read data @note Only allowed to be called when the channel state is RUNNING but the RUNNING only stands for the software state, it doesn’t mean there is no the signal transporting on line.
- @brief Reconfigure the I2S clock for PDM TX mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to PDM TX mode, i.e., ‘i2s_channel_init_pdm_tx_mode’ has been called before reconfiguring
- @brief Reconfigure the I2S gpio for PDM TX mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to PDM TX mode, i.e., ‘i2s_channel_init_pdm_tx_mode’ has been called before reconfiguring
- @brief Reconfigure the I2S slot for PDM TX mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to PDM TX mode, i.e., ‘i2s_channel_init_pdm_tx_mode’ has been called before reconfiguring
- @brief Reconfigure the I2S clock for standard mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to standard mode, i.e., ‘i2s_channel_init_std_mode’ has been called before reconfiguring
- @brief Reconfigure the I2S gpio for standard mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to standard mode, i.e., ‘i2s_channel_init_std_mode’ has been called before reconfiguring
- @brief Reconfigure the I2S slot for standard mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to standard mode, i.e., ‘i2s_channel_init_std_mode’ has been called before reconfiguring
- @brief Reconfigure the I2S clock for TDM mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to TDM mode, i.e., ‘i2s_channel_init_tdm_mode’ has been called before reconfiguring
- @brief Reconfigure the I2S gpio for TDM mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to TDM mode, i.e., ‘i2s_channel_init_tdm_mode’ has been called before reconfiguring
- @brief Reconfigure the I2S slot for TDM mode @note Only allowed to be called when the channel state is READY, i.e., channel has been initialized, but not started this function won’t change the state. ‘i2s_channel_disable’ should be called before calling this function if i2s has started. @note The input channel handle has to be initialized to TDM mode, i.e., ‘i2s_channel_init_tdm_mode’ has been called before reconfiguring
- @brief Set event callbacks for I2S channel
- @brief I2S write data @note Only allowed to be called when the channel state is RUNNING, (i.e., tx channel has been started and is not writing now) but the RUNNING only stands for the software state, it doesn’t mean there is no the signal transporting on line.
- @brief Delete the i2s channel @note Only allowed to be called when the i2s channel is at REGISTERED or READY state (i.e., it should stop before deleting it). @note Resource will be free automatically if all channels in one port are deleted
- @brief Install and start I2S driver.
- @brief Uninstall I2S driver.
- @brief get clock set on particular port number.
- @brief Allocate new I2S channel(s) @note The new created I2S channel handle will be REGISTERED state after it is allocated successfully. @note When the port id in channel configuration is I2S_NUM_AUTO, driver will allocate I2S port automatically on one of the i2s controller, otherwise driver will try to allocate the new channel on the selected port. @note If both tx_handle and rx_handle are not NULL, it means this I2S controller will work at full-duplex mode, the rx and tx channels will be allocated on a same I2S port in this case. Note that some configurations of tx/rx channel are shared on ESP32 and ESP32S2, so please make sure they are working at same condition and under same status(start/stop). Currently, full-duplex mode can’t guarantee tx/rx channels write/read synchronously, they can only share the clock signals for now. @note If tx_handle OR rx_handle is NULL, it means this I2S controller will work at simplex mode. For ESP32 and ESP32S2, the whole I2S controller (i.e. both rx and tx channel) will be occupied, even if only one of rx or tx channel is registered. For the other targets, another channel on this controller will still available.
- @brief Configure I2S a/u-law decompress or compress
- @brief Read data from I2S DMA receive buffer
- @brief Set clock & bit width used for I2S RX and TX.
- @brief Set TX PDM mode up-sample rate @note If you have set PDM mode while calling ‘i2s_driver_install’, default PDM TX upsample parameters have already been set, no need to call this function again if you don’t have to change the default configuration
- @brief Set I2S pin number
- @brief Set sample rate used for I2S RX and TX.
- @brief Start I2S driver
- @brief Stop I2S driver
- @brief Write data to I2S DMA transmit buffer.
- @brief Write data to I2S DMA transmit buffer while expanding the number of bits per sample. For example, expanding 16-bit PCM to 32-bit PCM.
- @brief Zero the contents of the TX DMA buffer.
- Get the interrupt handler function for the given CPU interrupt
- Get the interrupt handler argument associated with the given CPU interrupt
- Set the interrupt handler function for the given CPU interrupt @param rv_int_num CPU interrupt number @param fn Handler function @param arg Handler argument
- this function will be removed in later, please use
intr_matrix_set
instead Route the peripheral interrupt signal to the CPU @param periph_intr_source Peripheral interrupt number, one of ETS_XXX_SOURCE @param rv_int_num CPU interrupt number - @brief Attach an CPU interrupt to a hardware source. We have 4 steps to use an interrupt: 1.Attach hardware interrupt source to CPU. intr_matrix_set(0, ETS_WIFI_MAC_INTR_SOURCE, ETS_WMAC_INUM); 2.Set interrupt handler. xt_set_interrupt_handler(ETS_WMAC_INUM, func, NULL); 3.Enable interrupt for CPU. xt_ints_on(1 << ETS_WMAC_INUM); 4.Enable interrupt in the module.
- returns ptr to static buffer; not reentrant!
- returns ptr to static buffer; not reentrant!
- itoa⚠
- kill⚠
- l64a⚠
- labs⚠
- ldiv⚠
- @brief Bind LEDC channel with the selected timer
- @brief LEDC callback registration function @note The callback is called from an ISR, it must never attempt to block, and any FreeRTOS API called must be ISR capable. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param cbs Group of LEDC callback functions @param user_arg user registered data for the callback function @return - ESP_ERR_INVALID_ARG Parameter error - ESP_OK Success - ESP_ERR_INVALID_STATE Fade function not installed. - ESP_FAIL Fade function init error
- @brief LEDC channel configuration Configure LEDC channel with the given channel/output gpio_num/interrupt/source timer/frequency(Hz)/LEDC duty resolution
- @brief Install LEDC fade function. This function will occupy interrupt of LEDC module. @param intr_alloc_flags Flags used to allocate the interrupt. One or multiple (ORred) ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info.
- @brief Uninstall LEDC fade function.
- @brief Start LEDC fading. @note Call ledc_fade_func_install() once before calling this function. Call this API right after ledc_set_fade_with_time or ledc_set_fade_with_step before to start fading. @note Starting fade operation with this API is not thread-safe, use with care. @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel number @param fade_mode Whether to block until fading done. See ledc_types.h ledc_fade_mode_t for more info. Note that this function will not return until fading to the target duty if LEDC_FADE_WAIT_DONE mode is selected.
- @brief Stop LEDC fading. The duty of the channel is garanteed to be fixed at most one PWM cycle after the function returns. @note This API can be called if a new fixed duty or a new fade want to be set while the last fade operation is still running in progress. @note Call this API will abort the fading operation only if it was started by calling ledc_fade_start with LEDC_FADE_NO_WAIT mode. @note If a fade was started with LEDC_FADE_WAIT_DONE mode, calling this API afterwards HAS no use in stopping the fade. Fade will continue until it reachs the target duty. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel number
- @brief LEDC get duty This function returns the duty at the present PWM cycle. You shouldn’t expect the function to return the new duty in the same cycle of calling ledc_update_duty, because duty update doesn’t take effect until the next cycle.
- @brief LEDC get channel frequency (Hz)
- @brief LEDC get hpoint value, the counter value when the output is set high level.
- @brief Register LEDC interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on.
- @brief LEDC set duty This function do not change the hpoint value of this channel. if needed, please call ledc_set_duty_with_hpoint. only after calling ledc_update_duty will the duty update. @note ledc_set_duty, ledc_set_duty_with_hpoint and ledc_update_duty are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_duty_and_update. @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param duty Set the LEDC duty, the range of duty setting is [0, (2**duty_resolution) - 1]
- @brief A thread-safe API to set duty for LEDC channel and return when duty updated. @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished.
- @brief LEDC set duty and hpoint value Only after calling ledc_update_duty will the duty update. @note ledc_set_duty, ledc_set_duty_with_hpoint and ledc_update_duty are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_duty_and_update @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param duty Set the LEDC duty, the range of duty setting is [0, (2**duty_resolution) - 1] @param hpoint Set the LEDC hpoint value(max: 0xfffff)
- @brief LEDC set gradient Set LEDC gradient, After the function calls the ledc_update_duty function, the function can take effect. @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param duty Set the start of the gradient duty, the range of duty setting is [0, (2**duty_resolution) - 1] @param fade_direction Set the direction of the gradient @param step_num Set the number of the gradient @param duty_cycle_num Set how many LEDC tick each time the gradient lasts @param duty_scale Set gradient change amplitude
- @brief A thread-safe API to set and start LEDC fade function. @note Call ledc_fade_func_install() once before calling this function. @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param target_duty Target duty of fading [0, (2**duty_resolution) - 1] @param scale Controls the increase or decrease step scale. @param cycle_num increase or decrease the duty every cycle_num cycles @param fade_mode choose blocking or non-blocking mode @return - ESP_ERR_INVALID_ARG Parameter error - ESP_OK Success - ESP_ERR_INVALID_STATE Fade function not installed. - ESP_FAIL Fade function init error
- @brief A thread-safe API to set and start LEDC fade function, with a limited time. @note Call ledc_fade_func_install() once, before calling this function. @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param target_duty Target duty of fading [0, (2**duty_resolution) - 1] @param max_fade_time_ms The maximum time of the fading ( ms ). @param fade_mode choose blocking or non-blocking mode @return - ESP_ERR_INVALID_ARG Parameter error - ESP_OK Success - ESP_ERR_INVALID_STATE Fade function not installed. - ESP_FAIL Fade function init error
- @brief Set LEDC fade function. @note Call ledc_fade_func_install() once before calling this function. Call ledc_fade_start() after this to start fading. @note ledc_set_fade_with_step, ledc_set_fade_with_time and ledc_fade_start are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_fade_step_and_start @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. , @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param target_duty Target duty of fading [0, (2**duty_resolution) - 1] @param scale Controls the increase or decrease step scale. @param cycle_num increase or decrease the duty every cycle_num cycles
- @brief Set LEDC fade function, with a limited time. @note Call ledc_fade_func_install() once before calling this function. Call ledc_fade_start() after this to start fading. @note ledc_set_fade_with_step, ledc_set_fade_with_time and ledc_fade_start are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_fade_step_and_start @note For ESP32, hardware does not support any duty change while a fade operation is running in progress on that channel. Other duty operations will have to wait until the fade operation has finished. @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. , @param channel LEDC channel index (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t @param target_duty Target duty of fading [0, (2**duty_resolution) - 1] @param max_fade_time_ms The maximum time of the fading ( ms ).
- @brief LEDC set channel frequency (Hz)
- @brief Set LEDC output gpio.
- @brief LEDC stop. Disable LEDC output, and set idle level
- @brief LEDC timer configuration Configure LEDC timer with the given source timer/frequency(Hz)/duty_resolution
- @brief Pause LEDC timer counter
- @brief Resume LEDC timer
- @brief Reset LEDC timer
- @brief Configure LEDC settings
- @brief LEDC update channel parameters @note Call this function to activate the LEDC updated parameters. After ledc_set_duty, we need to call this function to update the settings. And the new LEDC parameters don’t take effect until the next PWM cycle. @note ledc_set_duty, ledc_set_duty_with_hpoint and ledc_update_duty are not thread-safe, do not call these functions to control one LEDC channel in different tasks at the same time. A thread-safe version of API is ledc_set_duty_and_update @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode. @param channel LEDC channel (0 - LEDC_CHANNEL_MAX-1), select from ledc_channel_t
- link⚠
- A hack to make sure that a few patches to the ESP-IDF which are implemented in Rust are linked to the final executable
- @brief Get the received length of a linked list, until end of the link or eof.
- Generate a linked list pointing to a (huge) buffer in an descriptor array.
- \brief This function implements the AES-CMAC-PRF-128 pseudorandom function, as defined in RFC-4615: The Advanced Encryption Standard-Cipher-based Message Authentication Code-Pseudo-Random Function-128 (AES-CMAC-PRF-128) Algorithm for the Internet Key Exchange Protocol (IKE).
- \brief Find a specific named_data entry in a sequence or list based on the OID.
- \brief Free all entries in a mbedtls_asn1_named_data list.
- \brief Free all shallow entries in a mbedtls_asn1_named_data list, but do not free internal pointer targets.
- \brief Retrieve an AlgorithmIdentifier ASN.1 sequence. Updates the pointer to immediately behind the full AlgorithmIdentifier.
- \brief Retrieve an AlgorithmIdentifier ASN.1 sequence with NULL or no params. Updates the pointer to immediately behind the full AlgorithmIdentifier.
- \brief Retrieve a bitstring ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.
- \brief Retrieve a bitstring ASN.1 tag without unused bits and its value. Updates the pointer to the beginning of the bit/octet string.
- \brief Retrieve a boolean ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.
- \brief Retrieve an enumerated ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.
- \brief Retrieve an integer ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.
- \brief Get the length of an ASN.1 element. Updates the pointer to immediately behind the length.
- \brief Retrieve an integer ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.
- \brief Parses and splits an ASN.1 “SEQUENCE OF
”. Updates the pointer to immediately behind the full sequence tag. - \brief Get the tag and length of the element. Check for the requested tag. Updates the pointer to immediately behind the tag and length.
- \brief Free a heap-allocated linked list presentation of an ASN.1 sequence, including the first element.
- \brief Traverse an ASN.1 SEQUENCE container and call a callback for each entry.
- \brief This function performs a CCM authenticated decryption of a buffer.
- \brief This function encrypts a buffer using CCM.
- \brief This function finishes the CCM operation and generates the authentication tag.
- \brief This function releases and clears the specified CCM context and underlying cipher sub-context.
- \brief This function initializes the specified CCM context, to make references valid, and prepare the context for mbedtls_ccm_setkey() or mbedtls_ccm_free().
- \brief The CCM checkup routine.
- \brief This function declares the lengths of the message and additional data for a CCM encryption or decryption operation.
- \brief This function initializes the CCM context set in the \p ctx parameter and sets the encryption key.
- \brief This function performs a CCM* authenticated decryption of a buffer.
- \brief This function encrypts a buffer using CCM*.
- \brief This function starts a CCM encryption or decryption operation.
- \brief This function feeds an input buffer into an ongoing CCM encryption or decryption operation.
- \brief This function feeds an input buffer as associated data (authenticated but not encrypted data) in a CCM encryption or decryption operation.
- \brief This function encrypts or decrypts data with ChaCha20 and the given key and nonce.
- \brief This function releases and clears the specified ChaCha20 context.
- \brief This function initializes the specified ChaCha20 context.
- \brief The ChaCha20 checkup routine.
- \brief This function sets the encryption/decryption key.
- \brief This function sets the nonce and initial counter value.
- \brief This function encrypts or decrypts data.
- \brief This function performs a complete ChaCha20-Poly1305 authenticated decryption with the previously-set key.
- \brief This function performs a complete ChaCha20-Poly1305 authenticated encryption with the previously-set key.
- \brief This function finished the ChaCha20-Poly1305 operation and generates the MAC (authentication tag).
- \brief This function releases and clears the specified ChaCha20-Poly1305 context.
- \brief This function initializes the specified ChaCha20-Poly1305 context.
- \brief The ChaCha20-Poly1305 checkup routine.
- \brief This function sets the ChaCha20-Poly1305 symmetric encryption key.
- \brief This function starts a ChaCha20-Poly1305 encryption or decryption operation.
- \brief Thus function feeds data to be encrypted or decrypted into an on-going ChaCha20-Poly1305 operation.
- \brief This function feeds additional data to be authenticated into an ongoing ChaCha20-Poly1305 operation.
- \brief The authenticated encryption (AEAD/NIST_KW) function.
- \brief The authenticated encryption (AEAD/NIST_KW) function.
- \brief This function checks the tag for AEAD ciphers. Currently supported with GCM and ChaCha20+Poly1305. This must be called after mbedtls_cipher_finish().
- \brief This function calculates the full generic CMAC on the input buffer with the provided key.
- \brief This function finishes an ongoing CMAC operation, and writes the result to the output buffer.
- \brief This function starts a new CMAC operation with the same key as the previous one.
- \brief This function starts a new CMAC computation by setting the CMAC key, and preparing to authenticate the input data. It must be called with an initialized cipher context.
- \brief This function feeds an input buffer into an ongoing CMAC computation.
- \brief The generic all-in-one encryption/decryption function, for all ciphers except AEAD constructs.
- \brief The generic cipher finalization function. If data still needs to be flushed from an incomplete block, the data contained in it is padded to the size of the last block, and written to the \p output buffer.
- \brief This function frees and clears the cipher-specific context of \p ctx. Freeing \p ctx itself remains the responsibility of the caller.
- \brief This function retrieves the cipher-information structure associated with the given cipher name.
- \brief This function retrieves the cipher-information structure associated with the given cipher type.
- \brief This function retrieves the cipher-information structure associated with the given cipher ID, key size and mode.
- \brief This function initializes a \p ctx as NONE.
- \brief This function retrieves the list of ciphers supported by the generic cipher module.
- \brief This function resets the cipher state.
- \brief This function sets the initialization vector (IV) or nonce.
- \brief This function sets the padding mode, for cipher modes that use padding.
- \brief This function sets the key to use with the given context.
- \brief This function prepares a cipher context for use with the given cipher primitive.
- \brief The generic cipher update function. It encrypts or decrypts using the given cipher context. Writes as many block-sized blocks of data as possible to output. Any data that cannot be written immediately is either added to the next block, or flushed when mbedtls_cipher_finish() is called. Exception: For MBEDTLS_MODE_ECB, expects a single block in size. For example, 16 Bytes for AES.
- \brief This function adds additional data for AEAD ciphers. Currently supported with GCM and ChaCha20+Poly1305.
- \brief This function writes a tag for AEAD ciphers. Currently supported with GCM and ChaCha20+Poly1305. This must be called after mbedtls_cipher_finish().
- \brief The CMAC checkup routine.
- Convert an ECC curve identifier from the PSA encoding to Mbed TLS.
- Convert an ECC curve identifier from the Mbed TLS encoding to PSA.
- \brief This function derives and exports the shared secret.
- \brief Check whether a given group can be used for ECDH.
- \brief This function computes the shared secret.
- \brief This function frees a context.
- \brief This function generates an ECDH keypair on an elliptic curve.
- \brief This function sets up an ECDH context from an EC key.
- \brief This function initializes an ECDH context.
- \brief This function generates an EC key pair and exports its in the format used in a TLS ServerKeyExchange handshake message.
- \brief This function generates a public key and exports it as a TLS ClientKeyExchange payload.
- \brief This function parses the ECDHE parameters in a TLS ServerKeyExchange handshake message.
- \brief This function parses and processes the ECDHE payload of a TLS ClientKeyExchange message.
- \brief This function sets up the ECDH context with the information given.
- \brief This function checks whether a given group can be used for ECDSA.
- \brief This function frees an ECDSA context.
- \brief This function sets up an ECDSA context from an EC key pair.
- \brief This function generates an ECDSA keypair on the given curve.
- \brief This function initializes an ECDSA context.
- \brief This function reads and verifies an ECDSA signature.
- \brief This function reads and verifies an ECDSA signature, in a restartable way.
- \brief This function computes the ECDSA signature of a previously-hashed message.
- \brief This function computes the ECDSA signature of a previously-hashed message, deterministic version.
- \brief This function computes the ECDSA signature of a previously-hashed message, in a restartable way.
- \brief This function computes the ECDSA signature of a previously-hashed message, in a restartable way.
- \brief This function verifies the ECDSA signature of a previously-hashed message.
- \brief This function verifies the ECDSA signature of a previously-hashed message, in a restartable manner
- \brief This function computes the ECDSA signature and writes it to a buffer, serialized as defined in RFC-4492: Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS).
- \brief This function computes the ECDSA signature and writes it to a buffer, in a restartable way.
- \brief Check if an ECJPAKE context is ready for use.
- \brief Derive the shared secret (TLS: Pre-Master Secret).
- \brief This clears an ECJPAKE context and frees any embedded data structure.
- \brief Initialize an ECJPAKE context.
- \brief Read and process the first round message (TLS: contents of the Client/ServerHello extension, excluding extension type and length bytes).
- \brief Read and process the second round message (TLS: contents of the Client/ServerKeyExchange).
- \brief Checkup routine
- \brief Set the point format for future reads and writes.
- \brief Set up an ECJPAKE context for use.
- \brief Generate and write the first round message (TLS: contents of the Client/ServerHello extension, excluding extension type and length bytes).
- \brief Generate and write the second round message (TLS: contents of the Client/ServerKeyExchange).
- \brief Write the shared key material to be passed to a Key Derivation Function as described in RFC8236.
- \brief This function checks that an \c mbedtls_mpi is a valid private key for this curve.
- \brief This function checks that the keypair objects \p pub and \p prv have the same group and the same public point, and that the private key in \p prv is consistent with the public key.
- \brief This function checks that a point is a valid public key on this curve.
- \brief This function copies the contents of point \p Q into point \p P.
- \brief This function retrieves curve information from an internal group identifier.
- \brief This function retrieves curve information from a human-readable name.
- \brief This function retrieves curve information from a TLS NamedCurve value.
- \brief This function retrieves the information defined in mbedtls_ecp_curve_info() for all supported curves.
- \brief This function exports generic key-pair parameters.
- \brief This function generates an ECP key.
- \brief This function generates an ECP keypair.
- \brief This function generates a keypair with a configurable base point.
- \brief This function generates a private key.
- \brief This function copies the contents of group \p src into group \p dst.
- \brief This function frees the components of an ECP group.
- \brief This function initializes an ECP group context without loading any domain parameters.
- \brief This function sets up an ECP group context from a standardized set of domain parameters.
- \brief This function retrieves the list of internal group identifiers of all supported curves in the order of preference.
- \brief This function checks if a point is the point at infinity.
- \brief This function frees the components of a key pair.
- \brief This function initializes a key pair as an invalid one.
- \brief This function performs a scalar multiplication of a point by an integer: \p R = \p m * \p P.
- \brief This function performs multiplication of a point by an integer: \p R = \p m * \p P in a restartable way.
- \brief This function performs multiplication and addition of two points by integers: \p R = \p m * \p P + \p n * \p Q
- \brief This function performs multiplication and addition of two points by integers: \p R = \p m * \p P + \p n * \p Q in a restartable way.
- \brief This function compares two points.
- \brief This function frees the components of a point.
- \brief This function initializes a point as zero.
- \brief This function imports a point from unsigned binary data.
- \brief This function imports a non-zero point from two ASCII strings.
- \brief This function exports a point into unsigned binary data.
- \brief This function reads an elliptic curve private key.
- \brief The ECP checkup routine.
- \brief This function sets a point to the point at infinity.
- \brief This function sets up an ECP group context from a TLS ECParameters record as defined in RFC 4492, Section 5.4.
- \brief This function extracts an elliptic curve group ID from a TLS ECParameters record as defined in RFC 4492, Section 5.4.
- \brief This function imports a point from a TLS ECPoint record.
- \brief This function exports an elliptic curve as a TLS ECParameters record as defined in RFC 4492, Section 5.4.
- \brief This function exports a point as a TLS ECPoint record defined in RFC 4492, Section 5.4.
- \brief This function exports an elliptic curve private key.
- \brief The GCM checkup routine.
- \brief Translate the high-level part of an Mbed TLS error code into a string representation.
- \brief RIPEMD-160 process data block (internal use only)
- \brief SHA-1 process data block (internal use only).
- \brief This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only.
- \brief This function processes a single data block within the ongoing SHA-512 computation. This function is for internal use only.
- \brief Translate the low-level part of an Mbed TLS error code into a string representation.
- \brief This function calculates the message-digest of a buffer, with respect to a configurable message-digest algorithm in a single call.
- \brief Output = MD5( input buffer )
- \brief Checkup routine
- \brief MD5 context setup
- \brief This function clones the state of a message-digest context.
- \brief This function calculates the message-digest checksum result of the contents of the provided file.
- \brief This function finishes the digest operation, and writes the result to the output buffer.
- \brief This function clears the internal structure of \p ctx and frees any embedded internal structure, but does not free \p ctx itself.
- \brief This function returns the name of the message digest for the message-digest information structure given.
- \brief This function extracts the message-digest size from the message-digest information structure.
- \brief This function extracts the message-digest type from the message-digest information structure.
- \brief This function calculates the full generic HMAC on the input buffer with the provided key.
- \brief This function finishes the HMAC operation, and writes the result to the output buffer.
- \brief This function prepares to authenticate a new message with the same key as the previous HMAC operation.
- \brief This function sets the HMAC key and prepares to authenticate a new message.
- \brief This function feeds an input buffer into an ongoing HMAC computation.
- \brief This function returns the message-digest information from the given context.
- \brief This function returns the message-digest information associated with the given digest name.
- \brief This function returns the message-digest information associated with the given digest type.
- \brief This function initializes a message-digest context without binding it to a particular message-digest algorithm.
- \brief This function returns the list of digests supported by the generic digest module.
- \brief This function selects the message digest algorithm to use, and allocates internal structures.
- \brief This function starts a message-digest computation.
- \brief This function feeds an input buffer into an ongoing message-digest computation.
- \brief Perform an unsigned addition of MPIs: X = |A| + |B|
- \brief Perform a signed addition of an MPI and an integer: X = A + b
- \brief Perform a signed addition of MPIs: X = A + B
- \brief Return the number of bits up to and including the most significant bit of value \c 1.
- \brief Compare the absolute values of two MPIs.
- \brief Compare an MPI with an integer.
- \brief Compare two MPIs.
- \brief Make a copy of an MPI.
- \brief Perform a division with remainder of an MPI by an integer: A = Q * b + R
- \brief Perform a division with remainder of two MPIs: A = Q * B + R
- \brief Perform a sliding-window exponentiation: X = A^E mod N
- @brief Perform a sliding-window exponentiation: X = A^E mod N
- \brief Fill an MPI with a number of random bytes.
- \brief This function frees the components of an MPI context.
- \brief Compute the greatest common divisor: G = gcd(A, B)
- \brief Generate a prime number.
- \brief Get a specific bit from an MPI.
- \brief Enlarge an MPI to the specified number of limbs.
- \brief Initialize an MPI context.
- \brief Compute the modular inverse: X = A^-1 mod N
- \brief Miller-Rabin primality test.
- \brief Return the number of bits of value \c 0 before the least significant bit of value \c 1.
- \brief Store integer value in MPI.
- \brief Check if an MPI is less than the other in constant time.
- \brief Perform a modular reduction with respect to an integer. r = A mod b
- \brief Perform a modular reduction. R = A mod B
- \brief Perform a multiplication of an MPI with an unsigned integer: X = A * b
- \brief Perform a multiplication of two MPIs: X = A * B
- Generate a random number uniformly in a range.
- \brief Import an MPI from unsigned big endian binary data.
- \brief Import X from unsigned binary data, little endian
- \brief Read an MPI from a line in an opened file.
- \brief Import an MPI from an ASCII string.
- \brief Perform a safe conditional copy of MPI which doesn’t reveal whether the condition was true or not.
- \brief Perform a safe conditional swap which doesn’t reveal whether the condition was true or not.
- \brief Checkup routine
- \brief Modify a specific bit in an MPI.
- \brief Perform a left-shift on an MPI: X <<= count
- \brief Perform a right-shift on an MPI: X >>= count
- \brief This function resizes an MPI downwards, keeping at least the specified number of limbs.
- \brief Return the total size of an MPI value in bytes.
- \brief Perform an unsigned subtraction of MPIs: X = |A| - |B|
- \brief Perform a signed subtraction of an MPI and an integer: X = A - b
- \brief Perform a signed subtraction of MPIs: X = A - B
- \brief Swap the contents of two MPIs.
- \brief Export X into unsigned binary data, big endian. Always fills the whole buffer, which will start with zeros if the number is smaller.
- \brief Export X into unsigned binary data, little endian. Always fills the whole buffer, which will end with zeros if the number is smaller.
- \brief Export an MPI into an opened file.
- \brief Export an MPI to an ASCII string.
- \brief Get time in milliseconds.
- \brief Tell if a context can do the operation given by type
- \brief Check if a public-private pair of keys matches.
- \brief Export debug information
- \brief Decrypt message (including padding if relevant).
- \brief Encrypt message (including padding if relevant).
- \brief Free the components of a #mbedtls_pk_context.
- \brief Get the size in bits of the underlying key
- \brief Access the type name
- \brief Get the key type
- \brief Return information associated with the given PK type
- \brief Initialize a #mbedtls_pk_context (as NONE).
- \ingroup pk_module / /* \brief Parse a private key in PEM or DER format
- \ingroup pk_module / /* \brief Load and parse a private key
- \ingroup pk_module / /* \brief Parse a public key in PEM or DER format
- \ingroup pk_module / /* \brief Load and parse a public key
- \brief Parse a SubjectPublicKeyInfo DER structure
- \brief Initialize a PK context with the information given and allocates the type-specific PK subcontext.
- \brief Initialize an RSA-alt context
- \brief Make signature, including padding if relevant.
- \brief Make signature given a signature type.
- \brief Restartable version of \c mbedtls_pk_sign()
- \brief Verify signature (including padding if relevant).
- \brief Verify signature, with options. (Includes verification of the padding depending on type.)
- \brief Restartable version of \c mbedtls_pk_verify()
- \brief Write a private key to a PKCS#1 or SEC1 DER structure Note: data is written at the end of the buffer! Use the return value to determine where you should start using the buffer
- \brief Write a private key to a PKCS#1 or SEC1 PEM string
- \brief Write a subjectPublicKey to ASN.1 data Note: function works backwards in data buffer
- \brief Write a public key to a SubjectPublicKeyInfo DER structure Note: data is written at the end of the buffer! Use the return value to determine where you should start using the buffer
- \brief Write a public key to a PEM string
- \brief Securely zeroize a buffer
- \brief This function generates the Poly1305 Message Authentication Code (MAC).
- \brief This function releases and clears the specified Poly1305 context.
- \brief This function initializes the specified Poly1305 context.
- \brief This function calculates the Poly1305 MAC of the input buffer with the provided key.
- \brief The Poly1305 checkup routine.
- \brief This function sets the one-time authentication key.
- \brief This functions feeds an input buffer into an ongoing Poly1305 computation.
- \brief Library deinitialization.
- \brief Get statistics about resource consumption related to the PSA keystore.
- \brief Inject an initial entropy seed for the random generator into secure storage.
- \brief Output = RIPEMD-160( input buffer )
- \brief Clone (the state of) a RIPEMD-160 context
- \brief RIPEMD-160 final digest
- \brief Clear RIPEMD-160 context
- \brief Initialize RIPEMD-160 context
- \brief Checkup routine
- \brief RIPEMD-160 context setup
- \brief RIPEMD-160 process buffer
- \brief This function checks if a context contains an RSA private key and perform basic consistency checks.
- \brief This function checks a public-private RSA key pair.
- \brief This function checks if a context contains at least an RSA public key.
- \brief This function completes an RSA context from a set of imported core parameters.
- \brief This function copies the components of an RSA context.
- \brief This function exports the core parameters of an RSA key.
- \brief This function exports CRT parameters of a private RSA key.
- \brief This function exports core parameters of an RSA key in raw big-endian binary format.
- \brief This function frees the components of an RSA key.
- \brief This function generates an RSA keypair.
- \brief This function retrieves the length of RSA modulus in Bytes.
- \brief This function retrieves hash identifier of mbedtls_md_type_t type.
- \brief This function retrieves padding mode of initialized RSA context.
- \brief This function imports a set of core parameters into an RSA context.
- \brief This function imports core RSA parameters, in raw big-endian binary format, into an RSA context.
- \brief This function initializes an RSA context.
- \brief This function performs an RSA operation, then removes the message padding.
- \brief This function adds the message padding, then performs an RSA operation.
- \brief This function performs a private RSA operation to sign a message digest using PKCS#1.
- \brief This function performs a public RSA operation and checks the message digest.
- \brief This function performs an RSA private key operation.
- \brief This function performs an RSA public key operation.
- \brief This function performs a PKCS#1 v2.1 OAEP decryption operation (RSAES-OAEP-DECRYPT).
- \brief This function performs a PKCS#1 v2.1 OAEP encryption operation (RSAES-OAEP-ENCRYPT).
- \brief This function performs a PKCS#1 v1.5 decryption operation (RSAES-PKCS1-v1_5-DECRYPT).
- \brief This function performs a PKCS#1 v1.5 encryption operation (RSAES-PKCS1-v1_5-ENCRYPT).
- \brief This function performs a PKCS#1 v1.5 signature operation (RSASSA-PKCS1-v1_5-SIGN).
- \brief This function performs a PKCS#1 v1.5 verification operation (RSASSA-PKCS1-v1_5-VERIFY).
- \brief This function performs a PKCS#1 v2.1 PSS signature operation (RSASSA-PSS-SIGN).
- \brief This function performs a PKCS#1 v2.1 PSS signature operation (RSASSA-PSS-SIGN).
- \brief This function performs a PKCS#1 v2.1 PSS verification operation (RSASSA-PSS-VERIFY).
- \brief This function performs a PKCS#1 v2.1 PSS verification operation (RSASSA-PSS-VERIFY).
- \brief The RSA checkup routine.
- \brief This function sets padding for an already initialized RSA context.
- \brief This function calculates the SHA-1 checksum of a buffer.
- \brief This function clones the state of a SHA-1 context.
- \brief This function finishes the SHA-1 operation, and writes the result to the output buffer.
- \brief This function clears a SHA-1 context.
- \brief This function initializes a SHA-1 context.
- \brief The SHA-1 checkup routine.
- \brief This function starts a SHA-1 checksum calculation.
- \brief This function feeds an input buffer into an ongoing SHA-1 checksum calculation.
- \brief This function calculates the SHA-3 checksum of a buffer.
- \brief This function clones the state of a SHA-3 context.
- \brief This function finishes the SHA-3 operation, and writes the result to the output buffer.
- \brief This function clears a SHA-3 context.
- \brief This function initializes a SHA-3 context.
- \brief Checkup routine for the algorithms implemented by this module: SHA3-224, SHA3-256, SHA3-384, SHA3-512.
- \brief This function starts a SHA-3 checksum calculation.
- \brief This function feeds an input buffer into an ongoing SHA-3 checksum calculation.
- \brief The SHA-224 checkup routine.
- \brief This function calculates the SHA-224 or SHA-256 checksum of a buffer.
- \brief This function clones the state of a SHA-256 context.
- \brief This function finishes the SHA-256 operation, and writes the result to the output buffer.
- \brief This function clears a SHA-256 context.
- \brief This function initializes a SHA-256 context.
- \brief The SHA-256 checkup routine.
- \brief This function starts a SHA-224 or SHA-256 checksum calculation.
- \brief This function feeds an input buffer into an ongoing SHA-256 checksum calculation.
- \brief The SHA-384 checkup routine.
- \brief This function calculates the SHA-512 or SHA-384 checksum of a buffer.
- \brief This function clones the state of a SHA-512 context.
- \brief This function finishes the SHA-512 operation, and writes the result to the output buffer.
- \brief This function clears a SHA-512 context.
- \brief This function initializes a SHA-512 context.
- \brief The SHA-512 checkup routine.
- \brief This function starts a SHA-384 or SHA-512 checksum calculation.
- \brief This function feeds an input buffer into an ongoing SHA-512 checksum calculation.
- \brief Check if there is data already read from the underlying transport but not yet processed.
- \brief Check whether a buffer contains a valid and authentic record that has not been seen before. (DTLS only).
- \brief Notify the peer that the connection is being closed
- \brief Set the supported Application Layer Protocols.
- \brief Set the certificate verification mode Default: NONE on server, REQUIRED on client
- \brief Set the data required to verify peer certificate
- \brief Set the X.509 security profile used for verification
- \brief Whether to send a list of acceptable CAs in CertificateRequest messages. (Default: do send)
- \brief Set the list of allowed ciphersuites and the preference order. First in the list has the highest preference.
- \brief Set the debug callback
- \brief Set a limit on the number of records with a bad MAC before terminating the connection. (DTLS only, no effect on TLS.) Default: 0 (disabled).
- \brief Enable or disable Encrypt-then-MAC (Default: MBEDTLS_SSL_ETM_ENABLED)
- \brief Set the current endpoint type
- \brief Enable or disable Extended Master Secret negotiation. (Default: MBEDTLS_SSL_EXTENDED_MS_ENABLED)
- \brief Set the allowed groups in order of preference.
- \brief Prevent or allow legacy renegotiation. (Default: MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION)
- \brief Set the maximum fragment length to emit and/or negotiate. (Typical: the smaller of #MBEDTLS_SSL_IN_CONTENT_LEN and #MBEDTLS_SSL_OUT_CONTENT_LEN, usually
2^14
bytes) (Server: set maximum fragment length to emit, usually negotiated by the client during handshake) (Client: set maximum fragment length to emit and negotiate with the server during handshake) (Default: #MBEDTLS_SSL_MAX_FRAG_LEN_NONE) - \brief Set own certificate chain and private key
- \brief Pick the ciphersuites order according to the second parameter in the SSL Server module (MBEDTLS_SSL_SRV_C). (Default, if never called: MBEDTLS_SSL_SRV_CIPHERSUITE_ORDER_SERVER)
- \brief Set the timeout period for mbedtls_ssl_read() (Default: no timeout.)
- \brief Enable / Disable renegotiation support for connection when initiated by peer (Default: MBEDTLS_SSL_RENEGOTIATION_DISABLED)
- \brief Enforce renegotiation requests. (Default: enforced, max_records = 16)
- \brief Set record counter threshold for periodic renegotiation. (Default: 2^48 - 1)
- \brief Set the random number generator callback
- \brief Set the session cache callbacks (server-side only) If not set, no session resuming is done (except if session tickets are enabled too).
- \brief Enable / Disable session tickets (client only). (Default: MBEDTLS_SSL_SESSION_TICKETS_ENABLED.)
- \brief Configure SSL session ticket callbacks (server only). (Default: none.)
- \brief Configure allowed signature algorithms for use in TLS 1.3
- \brief Set server side ServerName TLS extension callback (optional, server-side only).
- \brief Set the transport type (TLS or DTLS). Default: TLS
- \brief Set the verification callback (Optional).
- \brief Load reasonable default SSL configuration values. (You need to call mbedtls_ssl_config_init() first.)
- \brief Free an SSL configuration context
- \brief Initialize an SSL configuration context Just makes the context ready for mbedtls_ssl_config_defaults() or mbedtls_ssl_config_free().
- \brief Free referenced items in an SSL context and clear memory
- \brief Get the name of the negotiated Application Layer Protocol. This function should be called after the handshake is completed.
- \brief Return the number of application data bytes remaining to be read from the current record.
- \brief Return the name of the current ciphersuite
- \brief Return the ID of the ciphersuite associated with the given name
- \brief Return the id of the current ciphersuite
- \brief Return the name of the ciphersuite associated with the given ID
- \brief Retrieve SNI extension value for the current handshake. Available in \c f_cert_cb of \c mbedtls_ssl_conf_cert_cb(), this is the same value passed to \c f_sni callback of \c mbedtls_ssl_conf_sni() and may be used instead of \c mbedtls_ssl_conf_sni().
- \brief Return the current maximum incoming record payload in bytes.
- \brief Return the current maximum outgoing record payload in bytes.
- \brief Return the peer certificate from the current connection.
- \brief Return the (maximum) number of bytes added by the record layer: header + encryption/MAC overhead (inc. padding)
- \brief Export a session in order to resume it later.
- \brief Return the result of the certificate verification
- \brief Return the current TLS version
- \brief Perform the SSL handshake
- \brief Perform a single step of the SSL handshake
- \brief Initialize an SSL context Just makes the context ready for mbedtls_ssl_setup() or mbedtls_ssl_free()
- \brief Read at most ‘len’ application data bytes
- \brief Initiate an SSL renegotiation on the running connection. Client: perform the renegotiation right now. Server: request renegotiation, which will be performed during the next call to mbedtls_ssl_read() if honored by client.
- \brief Send an alert message
- \brief Free referenced items in an SSL session including the peer certificate and clear memory
- \brief Initialize SSL session structure
- \brief Load serialized session data into a session structure. On client, this can be used for loading saved sessions before resuming them with mbedtls_ssl_set_session(). On server, this can be used for alternative implementations of session cache or session tickets.
- \brief Reset an already initialized SSL context for re-use while retaining application-set variables, function pointers and data.
- \brief Save session structure as serialized data in a buffer. On client, this can be used for saving session data, potentially in non-volatile storage, for resuming later. On server, this can be used for alternative implementations of session cache or session tickets.
- \brief Set the underlying BIO callbacks for write, read and read-with-timeout.
- \brief Configure a key export callback. (Default: none.)
- \brief Set or reset the hostname to check against the received server certificate. It sets the ServerName TLS extension, too, if that extension is enabled. (client-side only)
- \brief Set authmode for the current handshake.
- \brief Set the data required to verify peer certificate for the current handshake
- \brief Set DN hints sent to client in CertificateRequest message
- \brief Set own certificate and key for the current handshake
- \brief Load a session for session resumption.
- \brief Set the timer callbacks (Mandatory for DTLS.)
- \brief Set a connection-specific verification callback (optional).
- \brief Set up an SSL context for use
- \brief TLS-PRF function for key derivation.
- \brief Try to write exactly ‘len’ application data bytes
- \brief Translate an Mbed TLS error code into a string representation. The result is truncated if necessary and always includes a terminating null byte.
- \brief Unallocate all CRL data
- \brief Returns an informational string about the CRL.
- \brief Initialize a CRL (chain)
- \brief Parse one or more CRLs and append them to the chained list
- \brief Parse a DER-encoded CRL and append it to the chained list
- \brief Load one or more CRLs and append them to the chained list
- \brief Check usage of certificate against extendedKeyUsage.
- \brief Check usage of certificate against keyUsage extension.
- \brief Unallocate all certificate data
- \brief Returns an informational string about the certificate.
- \brief Initialize a certificate (chain)
- \brief Verify the certificate revocation status
- \brief Parse one DER-encoded or one or more concatenated PEM-encoded certificates and add them to the chained list.
- \brief This function parses a CN string as an IP address.
- \brief Parse a single DER formatted certificate and add it to the end of the provided chained list.
- \brief Parse a single DER formatted certificate and add it to the end of the provided chained list. This is a variant of mbedtls_x509_crt_parse_der() which takes temporary ownership of the CRT buffer until the CRT is destroyed.
- \brief Parse a single DER formatted certificate and add it to the end of the provided chained list.
- \brief Load one or more certificates and add them to the chained list. Parses permissively. If some certificates can be parsed, the result is the number of failed certificates it encountered. If none complete correctly, the first error is returned.
- \brief Load one or more certificate files from a path and add them to the chained list. Parses permissively. If some certificates can be parsed, the result is the number of failed certificates it encountered. If none complete correctly, the first error is returned.
- \brief Verify a chain of certificates.
- \brief Returns an informational string about the verification status of a certificate.
- \brief Restartable version of \c mbedtls_crt_verify_with_profile()
- \brief Verify a chain of certificates with respect to a configurable security profile.
- \brief Store the certificate DN in printable form into buf; no more than size characters will be written.
- \brief Unallocate all data related to subject alternative name
- } addtogroup x509_module
- \brief This function parses an item in the SubjectAlternativeNames extension. Please note that this function might allocate additional memory for a subject alternative name, thus mbedtls_x509_free_subject_alt_name has to be called to dispose of this additional memory afterwards.
- \brief Store the certificate serial in printable form into buf; no more than size characters will be written.
- \brief Compare pair of mbedtls_x509_time.
- \brief Check a given mbedtls_x509_time against the system time and tell if it’s in the future.
- \brief Check a given mbedtls_x509_time against the system time and tell if it’s in the past.
- \brief Write a built up certificate to a X509 DER structure Note: data is written at the end of the buffer! Use the return value to determine where you should start using the buffer
- \brief Free the contents of a CRT write context
- \brief Initialize a CRT writing context
- \brief Write a built up certificate to a X509 PEM string
- \brief Set the authorityKeyIdentifier extension for a CRT Requires that mbedtls_x509write_crt_set_issuer_key() has been called before
- \brief Set the basicConstraints extension for a CRT
- \brief Set the Extended Key Usage Extension (e.g. MBEDTLS_OID_SERVER_AUTH)
- \brief Generic function to add to or replace an extension in the CRT
- \brief Set the issuer key used for signing the certificate
- \brief Set the issuer name for a Certificate Issuer names should contain a comma-separated list of OID types and values: e.g. “C=UK,O=ARM,CN=Mbed TLS CA”
- \brief Set the Key Usage Extension flags (e.g. MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_KEY_CERT_SIGN)
- \brief Set the MD algorithm to use for the signature (e.g. MBEDTLS_MD_SHA1)
- \brief Set the Netscape Cert Type flags (e.g. MBEDTLS_X509_NS_CERT_TYPE_SSL_CLIENT | MBEDTLS_X509_NS_CERT_TYPE_EMAIL)
- \brief Set the serial number for a Certificate.
- \brief Set Subject Alternative Name
- \brief Set the subject public key for the certificate
- \brief Set the subjectKeyIdentifier extension for a CRT Requires that mbedtls_x509write_crt_set_subject_key() has been called before
- \brief Set the subject name for a Certificate Subject names should contain a comma-separated list of OID types and values: e.g. “C=UK,O=ARM,CN=Mbed TLS Server 1”
- \brief Set the validity period for a Certificate Timestamps should be in string format for UTC timezone i.e. “YYYYMMDDhhmmss” e.g. “20131231235959” for December 31st 2013 at 23:59:59
- \brief Set the version for a Certificate Default: MBEDTLS_X509_CRT_VERSION_3
- @brief Disable MCPWM capture channel
- @brief Enable MCPWM capture channel
- @brief Set event callbacks for MCPWM capture channel
- @brief Trigger a catch by software
- @brief Disable MCPWM capture timer
- @brief Enable MCPWM capture timer
- @brief Get MCPWM capture timer resolution, in Hz
- @brief Set sync phase for MCPWM capture timer
- @brief Start MCPWM capture timer
- @brief Start MCPWM capture timer
- @brief Set event callbacks for MCPWM comparator
- @brief Set MCPWM comparator’s compare value
- @brief Delete MCPWM capture channel
- @brief Delete MCPWM capture timer
- @brief Delete MCPWM comparator
- @brief Delete MCPWM fault
- @brief Delete MCPWM generator
- @brief Delete MCPWM operator
- @brief Delete MCPWM sync source
- @brief Delete MCPWM timer
- @brief Set event callbacks for MCPWM fault
- @brief Set generator action on MCPWM brake event
- @brief Set generator action on MCPWM compare event
- @brief Set generator action on MCPWM timer event
- @brief Set generator actions on multiple MCPWM brake events
- @brief Set generator actions on multiple MCPWM compare events
- @brief Set generator actions on multiple MCPWM timer events
- @brief Set dead time for MCPWM generator
- @brief Set force level for MCPWM generator
- @brief Create MCPWM capture channel
- @brief Create MCPWM capture timer
- @brief Create MCPWM comparator
- @brief Allocate MCPWM generator from given operator
- @brief Create MCPWM GPIO fault
- @brief Create MCPWM GPIO sync source
- @brief Create MCPWM operator
- @brief Create MCPWM software fault
- @brief Create MCPWM software sync source
- @brief Create MCPWM timer
- @brief Create MCPWM timer sync source
- @brief Apply carrier feature for MCPWM operator
- @brief Connect MCPWM operator and timer, so that the operator can be driven by the timer
- @brief Try to make the operator recover from fault
- @brief Set event callbacks for MCPWM operator
- @brief Set brake method for MCPWM operator
- @brief Activate the software fault, trigger the fault event for once
- @brief Activate the software sync, trigger the sync event for once
- @brief Disable MCPWM timer
- @brief Enable MCPWM timer
- @brief Set event callbacks for MCPWM timer
- @brief Set sync phase for MCPWM timer
- @brief Send specific start/stop commands to MCPWM timer
- @brief allocate a chunk of memory with specific alignment
- @brief free() a buffer aligned in a given heap.
- @brief Check heap integrity
- @brief Dump heap information to stdout
- @brief free() a buffer in a given heap.
- @brief Return free heap size
- @brief Return the size that a particular pointer was allocated with.
- @brief Return metadata about a given heap
- @brief malloc() a buffer in a given heap
- @brief Return the lifetime minimum free heap size
- @brief realloc() a buffer in a given heap.
- @brief Register a new heap for use
- @brief Associate a private lock pointer with a heap
- nice⚠
- @brief Close the storage handle and free any allocated resources
- @brief Write any pending changes to non-volatile storage
- @brief Create an iterator to enumerate NVS entries based on one or more parameters
- @brief Fills nvs_entry_info_t structure with information about entry pointed to by the iterator.
- @brief Advances the iterator to next item matching the iterator criteria.
- @brief Erase all key-value pairs in a namespace
- @brief Erase key-value pair with given key name.
- @brief Deinitialize NVS storage for the default NVS partition
- @brief Deinitialize NVS storage for the given NVS partition
- @brief Erase the default NVS partition
- @brief Erase specified NVS partition
- @brief Erase custom partition.
- @brief Generate and store NVS keys in the provided esp partition
- @brief Initialize the default NVS partition.
- @brief Initialize NVS flash storage for the specified partition.
- @brief Initialize NVS flash storage for the partition specified by partition pointer.
- @brief Read NVS security configuration from a partition.
- @brief Initialize the default NVS partition.
- @brief Initialize NVS flash storage for the specified partition.
- @brief get blob value for given key
- @{*/ /** @brief get int8_t value for given key
- @brief get int16_t value for given key
- @brief get int32_t value for given key
- @brief get int64_t value for given key
- @brief Fill structure nvs_stats_t. It provides info about used memory the partition.
- @{*/ /** @brief get string value for given key
- @brief get uint8_t value for given key
- @brief get uint16_t value for given key
- @brief get uint32_t value for given key
- @brief get uint64_t value for given key
- @brief Calculate all entries in a namespace.
- @brief Open non-volatile storage with a given namespace from the default NVS partition
- @brief Open non-volatile storage with a given namespace from specified partition
- @brief Release iterator
- @brief set variable length binary value for given key
- @{*/ /** @brief set int8_t value for given key
- @brief set int16_t value for given key
- @brief set int32_t value for given key
- @brief set int64_t value for given key
- @brief set string for given key
- @brief set uint8_t value for given key
- @brief set uint16_t value for given key
- @brief set uint32_t value for given key
- @brief set uint64_t value for given key
- open⚠
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} char *pcTaskGetName( TaskHandle_t xTaskToQuery ); @endcode @endcond
- const char * const pcTimerGetName( TimerHandle_t xTimer );
- @brief Disable peripheral module by gating the clock and asserting the reset signal.
- @brief Enable peripheral module by un-gating the clock and de-asserting the reset signal.
- @brief Reset peripheral module by asserting and de-asserting the reset signal.
- pipe⚠
- poll⚠
- @brief Add endpoint request handler for a protocomm instance
- @brief Start Bluetooth Low Energy based transport layer for provisioning
- @brief Stop Bluetooth Low Energy based transport layer for provisioning
- @brief Frees internal resources used by a transport session
- @brief Delete a protocomm instance
- @brief Start HTTPD protocomm transport
- @brief Stop HTTPD protocomm transport
- @brief Create a new protocomm instance
- @brief Allocates internal resources for new transport session
- @brief Remove endpoint request handler for a protocomm instance
- @brief Calls the registered handler of an endpoint session for processing incoming data and generating the response
- @brief Add endpoint security for a protocomm instance
- @brief Set endpoint for version verification
- @brief Remove endpoint security for a protocomm instance
- @brief Remove version verification endpoint from a protocomm instance
- Abort an AEAD operation.
- Process an authenticated decryption operation.
- Set the key for a multipart authenticated decryption operation.
- Process an authenticated encryption operation.
- Set the key for a multipart authenticated encryption operation.
- Finish encrypting a message in an AEAD operation.
- Generate a random nonce for an authenticated encryption operation.
- Declare the lengths of the message and additional data for AEAD.
- Set the nonce for an authenticated encryption or decryption operation.
- Encrypt or decrypt a message fragment in an active AEAD operation.
- Pass additional data to an active AEAD operation.
- Finish authenticating and decrypting a message in an AEAD operation.
- \brief Decrypt a short message with a private key.
- \brief Encrypt a short message with a public key.
- Abort a cipher operation.
- Decrypt a message using a symmetric cipher.
- Set the key for a multipart symmetric decryption operation.
- Encrypt a message using a symmetric cipher.
- Set the key for a multipart symmetric encryption operation.
- Finish encrypting or decrypting a message in a cipher operation.
- Generate an IV for a symmetric encryption operation.
- Set the IV for a symmetric encryption or decryption operation.
- Encrypt or decrypt a message fragment in an active cipher operation.
- Close a key handle.
- Make a copy of a key.
- Get the cipher suite from given inputs.
- Get the password from given inputs.
- Get the length of the password in bytes from given inputs.
- Get the peer id from given inputs.
- Get the length of the peer id in bytes from given inputs.
- Get the user id from given inputs.
- Get the length of the user id in bytes from given inputs.
- \brief Library initialization.
- \brief Destroy a key.
- \brief Export a key in binary format.
- \brief Export a public key or the public part of a key pair in binary format.
- \brief Generate a key or key pair.
- \brief Generate random bytes.
- Retrieve the attributes of a key.
- \brief Get domain parameters for a key.
- Abort a hash operation.
- Clone a hash operation.
- Calculate the hash (digest) of a message and compare it with a reference value.
- Calculate the hash (digest) of a message.
- Finish the calculation of the hash of a message.
- Set up a multipart hash operation.
- Add a message fragment to a multipart hash operation.
- Finish the calculation of the hash of a message and compare it with an expected value.
- \brief Import a key in binary format.
- \brief Get the maximum number of ops allowed to be executed by an interruptible function in a single call. This will return the last value set by \c psa_interruptible_set_max_ops() or #PSA_INTERRUPTIBLE_MAX_OPS_UNLIMITED if that function has never been called.
- \brief Set the maximum number of ops allowed to be executed by an interruptible function in a single call.
- Abort a key derivation operation.
- Retrieve the current capacity of a key derivation operation.
- Provide an input for key derivation or key agreement.
- Provide a numeric input for key derivation or key agreement.
- Provide an input for key derivation in the form of a key.
- Perform a key agreement and use the shared secret as input to a key derivation.
- Read some data from a key derivation operation.
- Derive a key from an ongoing key derivation operation.
- Set the maximum capacity of a key derivation operation.
- Set up a key derivation operation.
- Compare output data from a key derivation operation to an expected value.
- Compare output data from a key derivation operation to an expected value stored in a key object.
- Abort a MAC operation.
- Calculate the MAC (message authentication code) of a message.
- Finish the calculation of the MAC of a message.
- Set up a multipart MAC calculation operation.
- Add a message fragment to a multipart MAC operation.
- Calculate the MAC of a message and compare it with a reference value.
- Finish the calculation of the MAC of a message and compare it with an expected value.
- Set up a multipart MAC verification operation.
- Open a handle to an existing persistent key.
- Abort a PAKE operation.
- Get implicitly confirmed shared secret from a PAKE.
- Provide input for a step of a password-authenticated key exchange.
- Get output for a step of a password-authenticated key exchange.
- Set the password for a password-authenticated key exchange from key ID.
- Set the peer ID for a password-authenticated key exchange.
- Set the application role for a password-authenticated key exchange.
- Set the user ID for a password-authenticated key exchange.
- Set the session information for a password-authenticated key exchange.
- Remove non-essential copies of key material from memory.
- Perform a key agreement and return the raw shared secret.
- Reset a key attribute structure to a freshly initialized state.
- \brief Set domain parameters for a key.
- \brief Sign a hash or short message with a private key.
- \brief Abort a sign hash operation.
- \brief Continue and eventually complete the action of signing a hash or short message with a private key, in an interruptible manner.
- \brief Get the number of ops that a hash signing operation has taken so far. If the operation has completed, then this will represent the number of ops required for the entire operation. After initialization or calling \c psa_sign_hash_interruptible_abort() on the operation, a value of 0 will be returned.
- \brief Start signing a hash or short message with a private key, in an interruptible manner.
- \brief Sign a message with a private key. For hash-and-sign algorithms, this includes the hashing step.
- \brief Verify the signature of a hash or short message using a public key.
- \brief Abort a verify hash operation.
- \brief Continue and eventually complete the action of reading and verifying a hash or short message signed with a private key, in an interruptible manner.
- \brief Get the number of ops that a hash verification operation has taken so far. If the operation has completed, then this will represent the number of ops required for the entire operation. After initialization or calling \c psa_verify_hash_interruptible_abort() on the operation, a value of 0 will be returned.
- \brief Start reading and verifying a hash or short message, in an interruptible manner.
- \brief Verify the signature of a message with a public key, using a hash-and-sign verification algorithm.
- putc⚠
- puts⚠
- putw⚠
- Get local storage pointer specific to the given task.
- void *pvTimerGetTimerID( TimerHandle_t xTimer );
- @brief Iterate over all tasks in the system
- Returns the start of the stack associated with xTask.
- rand⚠
- read⚠
- @brief Add channel into a synchronous group (channels in the same group can start transaction simultaneously)
- @brief Apply modulation feature for TX channel or demodulation feature for RX channel
- @brief Configure RMT parameters
- @brief Delete an RMT channel
- @brief Delete RMT encoder
- @brief Delete synchronization manager
- @brief Disable the RMT channel
- @brief Initialize RMT driver
- @brief Uninstall RMT driver.
- @brief Enable the RMT channel
- @brief Enable or disable the feature that when loop count reaches the threshold, RMT will stop transmitting.
- @brief Reset RMT encoder
- @brief Fill memory data of channel with given RMT items.
- @brief Get the current status of eight channels.
- @brief Get RMT clock divider, channel clock is divided from source clock.
- @brief Get speed of channel’s internal counter clock.
- @brief Get RMT idle output level for transmitter
- @brief Get RMT memory block number
- @brief Get RMT memory low power mode.
- @brief Get RMT memory owner.
- @brief Get ringbuffer from RMT.
- @brief Get RMT idle threshold value.
- @brief Get RMT source clock
- @brief Get RMT status
- @brief Get RMT tx loop mode.
- @brief Deregister previously registered RMT interrupt handler
- @brief Register RMT interrupt handler, the handler is an ISR.
- @brief Create RMT bytes encoder, which can encode byte stream into RMT symbols
- @brief Create RMT copy encoder, which copies the given RMT symbols into RMT memory
- @brief Create a RMT RX channel
- @brief Create a synchronization manager for multiple TX channels, so that the managed channel can start transmitting at the same time
- @brief Create a RMT TX channel
- @brief Initiate a receive job for RMT RX channel
- @brief Registers a callback that will be called when transmission ends.
- @brief Remove channel out of a group
- @brief Reset RMT RX memory
- @brief Set callbacks for RMT RX channel
- @brief Set RMT start receiving data.
- @brief Set RMT stop receiving data.
- @brief Set RMT clock divider, channel clock is divided from source clock.
- @brief Set RMT RX error interrupt enable
- @brief Configure the GPIO used by RMT channel
- @brief Set RMT idle output level for transmitter
- @brief Set RMT memory block number for RMT channel
- @brief Set RMT memory in low power mode.
- @brief Set RMT memory owner. @note Setting memory is only valid for RX channel.
- @brief Set RMT RX filter.
- @brief Set RMT RX idle threshold value
- @brief Set RMT RX interrupt enable
- @brief Set RMT RX threshold event interrupt enable
- @brief Set RMT source clock
- @brief Configure RMT carrier for TX signal.
- @brief Set RMT TX interrupt enable
- @brief Set loop count threshold value for RMT TX channel
- @brief Set RMT tx loop mode.
- @brief Set RMT TX threshold event interrupt enable
- @brief Reset synchronization manager
- @brief Get the user context set by ‘rmt_translator_set_context’
- @brief Init rmt translator and register user callback. The callback will convert the raw data that needs to be sent to rmt format. If a channel is initialized more than once, the user callback will be replaced by the later.
- @brief Set user context for the translator of specific channel
- @brief Transmit data by RMT TX channel
- @brief Reset RMT TX memory
- @brief Set event callbacks for RMT TX channel
- @brief Set RMT start sending data from memory.
- @brief Set RMT stop sending.
- @brief Wait for all pending TX transactions done
- @brief Wait RMT TX finished.
- @brief RMT send waveform from rmt_item array.
- @brief Translate uint8_t type of data into rmt format and send it out. Requires rmt_translator_init to init the translator first.
- @brief Determine if the specified GPIO is a valid RTC GPIO.
- @brief Deregister the handler previously registered using rtc_isr_register @param handler handler function to call (as passed to rtc_isr_register) @param handler_arg argument of the handler (as passed to rtc_isr_register) @return - ESP_OK on success - ESP_ERR_INVALID_STATE if a handler matching both handler and handler_arg isn’t registered
- @brief Disable the RTC interrupt that is allowed to be executed when cache is disabled. cache disabled. Internal interrupt handle function will call this function in interrupt handler function. Disable bits when
esp_intr_noniram_disable
is called. - @brief Enable the RTC interrupt that is allowed to be executed when cache is disabled. cache disabled. Internal interrupt handle function will call this function in interrupt handler function. Enable bits when
esp_intr_noniram_enable
is called. - @brief Register a handler for specific RTC_CNTL interrupts
- sbrk⚠
- Check if SD/MMC card supports discard
- Check if SD/MMC card supports trim
- Probe and initialize SD/MMC card using given host
- @brief Print information about the card to a stream @param stream stream obtained using fopen or fdopen @param card card information structure initialized using sdmmc_card_init
- Erase given number of sectors from the SD/MMC card
- Erase complete SD/MMC card
- Get status of SD/MMC card
- Enable SDIO interrupt in the SDMMC host
- Get the data of CIS region of an SDIO card.
- Parse and print the CIS information of an SDIO card.
- Read blocks of data from an SDIO card using IO_RW_EXTENDED (CMD53)
- Read one byte from an SDIO card using IO_RW_DIRECT (CMD52)
- Read multiple bytes from an SDIO card using IO_RW_EXTENDED (CMD53)
- Block until an SDIO interrupt is received
- Write blocks of data to an SDIO card using IO_RW_EXTENDED (CMD53)
- Write one byte to an SDIO card using IO_RW_DIRECT (CMD52)
- Write multiple bytes to an SDIO card using IO_RW_EXTENDED (CMD53)
- Check if SD/MMC card supports sanitize
- Sanitize the data that was unmapped by a Discard command
- Read given number of sectors from the SD/MMC card
- Write given number of sectors to SD/MMC card
- @brief Release resources allocated using sdspi_host_init
- @brief Send command to the card and get response
- @brief Calculate working frequency for specific device
- @brief Initialize SD SPI driver
- @brief Attach and initialize an SD SPI device on the specific SPI bus
- @brief Enable SDIO interrupt.
- @brief Wait for SDIO interrupt until timeout.
- @brief Remove an SD SPI device
- @brief Set card clock frequency
- @brief Configure Sigma-delta channel
- @brief Set Sigma-delta channel duty.
- @brief Set Sigma-delta signal output pin
- @brief Set Sigma-delta channel’s clock pre-scale value. The source clock is APP_CLK, 80MHz. The clock frequency of the sigma-delta channel is APP_CLK / pre_scale
- @brief Get the sync interval of SNTP operation
- @brief Get set sync mode
- @brief Get status of time sync
- @brief system time getter used in the sntp module @note The lwip sntp uses u32_t types for sec and us arguments
- @brief Restart SNTP
- @brief Set the sync interval of SNTP operation
- @brief Set the sync mode
- @brief Set status of time sync
- @brief system time setter used in the sntp module @note The lwip sntp uses u32_t types for sec and us arguments
- @brief Set a callback function for time synchronization notification
- @brief This function updates the system time.
- @brief Allocate a device on a SPI bus
- @brief Free a SPI bus
- @brief Get max length (in bytes) of one transaction
- @brief Initialize a SPI bus
- @brief Remove a device from the SPI bus
- @brief Occupy the SPI bus for a device to do continuous transactions.
- @brief Calculate working frequency for specific device
- @brief Get the result of a SPI transaction queued earlier by
spi_device_queue_trans
. - @brief Poll until the polling transaction ends.
- @brief Immediately start a polling transaction.
- @brief Send a polling transaction, wait for it to complete, and return the result
- @brief Queue a SPI transaction for interrupt transaction execution. Get the result by
spi_device_get_trans_result
. - @brief Release the SPI bus occupied by the device. All other devices can start sending transactions.
- @brief Send a SPI transaction, wait for it to complete, and return the result
- @brief Given a memory address where flash is mapped, return the corresponding physical flash offset.
- @brief Map region of flash memory into data or instruction address space
- @brief Display information about mapped regions
- @brief get free pages number which can be mmap
- @brief Map sequences of pages of flash memory into data or instruction address space
- @brief Release region previously obtained using spi_flash_mmap
- @brief Given a physical offset in flash, return the address where it is mapped in the memory space.
- @brief Calculate the working frequency that is most close to desired frequency.
- @brief Get the frequency limit of current configurations. SPI master working at this limit is OK, while above the limit, full duplex mode and DMA will not work, and dummy bits will be aplied in the half duplex mode.
- @brief Calculate the timing settings of specified frequency and settings.
- @brief Free a SPI bus claimed as a SPI slave interface
- @brief Get the result of a SPI transaction queued earlier
- @brief Initialize a SPI bus as a slave interface
- @brief Queue a SPI transaction for execution
- @brief Do a SPI transaction
- stat⚠
- sync⚠
- @brief Wait for transmission of output
- @brief Suspend or restart the transmission or reception of data
- @brief Flush non-transmitted output data and non-read input data
- @brief Gets the parameters of the terminal
- @brief Get process group ID for session leader for controlling terminal
- @brief Send a break for a specific duration
- @brief Sets the parameters of the terminal
- @brief Disable temperature sensor
- @brief Enable the temperature sensor
- @brief Read temperature sensor data that is converted to degrees Celsius. @note Should not be called from interrupt.
- @brief Install temperature sensor driver
- @brief Uninstall the temperature sensor driver
- time⚠
- @brief Deinitializes the timer.
- @brief Disable timer interrupt
- @brief Enable timer interrupt
- @brief Get timer alarm value.
- @brief Get timer configure value.
- @brief Read the counter value of hardware timer, in unit of a given scale.
- @brief Read the counter value of hardware timer.
- @brief Clear timer interrupt status, just used in ISR
- @brief Enable alarm interrupt, just used in ISR
- @brief Get auto reload enable status, just used in ISR
- @brief Get the current counter value, just used in ISR
- @brief Get interrupt status, just used in ISR
- @brief Disable timer group interrupt, by disable mask
- @brief Enable timer group interrupt, by enable mask
- @brief Set the alarm threshold for the timer, just used in ISR
- @brief Enable/disable a counter, just used in ISR
- @brief Initializes and configure the timer.
- @brief Add ISR handle callback for the corresponding timer.
- @brief Remove ISR handle callback for the corresponding timer.
- @brief Register Timer interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on.
- @brief Pause the counter of hardware timer.
- @brief Enable or disable generation of timer alarm events.
- @brief Set timer alarm value.
- @brief Enable or disable counter reload function when alarm event occurs.
- @brief Set counting mode for hardware timer.
- @brief Set counter value to hardware timer.
- @brief Set hardware divider of the source clock to the timer group. By default, the source clock is APB clock running at 80 MHz. For more information, please check Chapter Reset and Clock in Chip Technical Reference Manual. @param group_num Timer group number, 0 for TIMERG0 or 1 for TIMERG1 @param timer_num Timer index, 0 for hw_timer[0] & 1 for hw_timer[1] @param divider Timer clock divider value. The divider’s range is from from 2 to 65536.
- @brief Start the counter of hardware timer.
- @brief Clear the receive queue
- @brief Clear the transmit queue
- @brief Install TWAI driver
- @brief Uninstall the TWAI driver
- @brief Get current status information of the TWAI driver
- @brief Start the bus recovery process
- @brief Read TWAI driver alerts
- @brief Receive a TWAI message
- @brief Reconfigure which alerts are enabled
- @brief Start the TWAI driver
- @brief Stop the TWAI driver
- @brief Transmit a TWAI message
- @brief Clear UART interrupt status
- @brief Clear UART interrupt enable bits
- @brief UART disable pattern detect function. Designed for applications like ‘AT commands’. When the hardware detects a series of one same character, the interrupt will be triggered.
- @brief Disable UART RX interrupt (RX_FULL & RX_TIMEOUT INTERRUPT)
- @brief Disable UART TX interrupt (TX_FULL & TX_TIMEOUT INTERRUPT)
- @brief Uninstall UART driver.
- @brief Install UART driver and set the UART to the default configuration.
- @brief Set UART interrupt enable
- @brief UART enable pattern detect function. Designed for applications like ‘AT commands’. When the hardware detect a series of one same character, the interrupt will be triggered.
- @brief Enable UART RX interrupt (RX_FULL & RX_TIMEOUT INTERRUPT)
- @brief Enable UART TX interrupt (TX_FULL & TX_TIMEOUT INTERRUPT)
- @brief Alias of uart_flush_input. UART ring buffer flush. This will discard all data in the UART RX buffer. @note Instead of waiting the data sent out, this function will clear UART rx buffer. In order to send all the data in tx FIFO, we can use uart_wait_tx_done function. @param uart_num UART port number, the max port number is (UART_NUM_MAX -1).
- @brief Clear input buffer, discard all the data is in the ring-buffer. @note In order to send all the data in tx FIFO, we can use uart_wait_tx_done function. @param uart_num UART port number, the max port number is (UART_NUM_MAX -1).
- @brief Get the UART baud rate configuration.
- @brief UART get RX ring buffer cached data length
- @brief Returns collision detection flag for RS485 mode Function returns the collision detection flag into variable pointed by collision_flag. *collision_flag = true, if collision detected else it is equal to false. This function should be executed when actual transmission is completed (after uart_write_bytes()).
- @brief Get the UART hardware flow control configuration.
- @brief Get the UART parity mode configuration.
- @brief Get the frequency of a clock source for the UART
- @brief Get mutex guarding select() notifications
- @brief Get the UART stop bit configuration.
- @brief UART get TX ring buffer free space size
- @brief Get the number of RX pin signal edges for light sleep wakeup.
- @brief Get the UART data bit configuration.
- @brief Configure UART interrupts.
- @brief Checks whether the driver is installed or not
- @brief Set UART configuration parameters.
- @brief Return the nearest detected pattern position in buffer. The positions of the detected pattern are saved in a queue, This function do nothing to the queue. @note If the RX buffer is full and flow control is not enabled, the detected pattern may not be found in the rx buffer due to overflow.
- @brief Return the nearest detected pattern position in buffer. The positions of the detected pattern are saved in a queue, this function will dequeue the first pattern position and move the pointer to next pattern position. @note If the RX buffer is full and flow control is not enabled, the detected pattern may not be found in the rx buffer due to overflow.
- @brief Allocate a new memory with the given length to save record the detected pattern position in rx buffer.
- @brief UART read bytes from UART buffer
- @brief Configure behavior of UART RX timeout interrupt.
- @brief Set UART baud rate.
- @brief Manually set the UART DTR pin level.
- @brief Set hardware flow control.
- @brief Set UART line inverse mode
- @brief Configure TX signal loop back to RX module, just for the test usage.
- @brief UART set communication mode
- @brief Set UART parity mode.
- @brief Assign signals of a UART peripheral to GPIO pins
- @brief Manually set the UART RTS pin level. @note UART must be configured with hardware flow control disabled.
- @brief Set uart threshold value for RX fifo full @note If application is using higher baudrate and it is observed that bytes in hardware RX fifo are overwritten then this threshold can be reduced
- @brief UART set threshold timeout for TOUT feature
- @brief Set notification callback function for select() events @param uart_num UART port number @param uart_select_notif_callback callback function
- @brief Set UART stop bits.
- @brief Set software flow control.
- @brief Set uart threshold values for TX fifo empty
- @brief Set UART idle interval after tx FIFO is empty
- @brief Set the number of RX pin signal edges for light sleep wakeup
- @brief Set UART data bits.
- @brief Send data to the UART port from a given buffer and length.
- @brief Wait until UART TX FIFO is empty.
- @brief Wait until UART tx memory empty and the last char send ok (polling mode).
- @brief Send data to the UART port from a given buffer and length,
- @brief Send data to the UART port from a given buffer and length,
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} uint32_t ulTaskNotifyTakeIndexed( UBaseType_t uxIndexToWaitOn, BaseType_t xClearCountOnExit, TickType_t xTicksToWait );
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} uint32_t ulTaskNotifyValueClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToClear, uint32_t ulBitsToClear );
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code uint32_t ulTaskGetIdleRunTimeCounter( void ); @endcode @endcond
- @brief Install USB-SERIAL-JTAG driver and set the USB-SERIAL-JTAG to the default configuration.
- @brief Uninstall USB-SERIAL-JTAG driver.
- @brief Check if the USB Serial/JTAG port is connected to the host
- @brief USB_SERIAL_JTAG read bytes from USB_SERIAL_JTAG buffer
- @brief Send data to the USB-UART port from a given buffer and length,
- utoa⚠
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} UBaseType_t uxQueueMessagesWaiting( const QueueHandle_t xQueue ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} UBaseType_t uxQueueSpacesAvailable( const QueueHandle_t xQueue ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} uint16_t uxTaskGetNumberOfTasks( void ); @endcode @endcond
- @brief Fill an array of TaskSnapshot_t structures for every task in the system
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} UBaseType_t uxTaskGetStackHighWaterMark( TaskHandle_t xTask ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} configSTACK_DEPTH_TYPE uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ); @endcode @endcond
- configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for uxTaskGetSystemState() to be available.
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} UBaseType_t uxTaskPriorityGet( const TaskHandle_t xTask ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} UBaseType_t uxTaskPriorityGetFromISR( const TaskHandle_t xTask ); @endcode @endcond
- UBaseType_t uxTimerGetReloadMode( TimerHandle_t xTimer );
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer, StackType_t ** ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize ) @endcode @endcond This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Idle Task TCB. This function is required when configSUPPORT_STATIC_ALLOCATION is set. For more information see this URI: https://www.FreeRTOS.org/a00110.html#configSUPPORT_STATIC_ALLOCATION
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} void vApplicationGetTimerTaskMemory( StaticTask_t ** ppxTimerTaskTCBBuffer, StackType_t ** ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize ) @endcode @endcond
- @brief Hook function called on entry to tickless idle
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} void vApplicationStackOverflowHook( TaskHandle_t xTask char *pcTaskName); @endcode @endcond The application stack overflow hook is called when a stack overflow is detected for a task.
- @cond !DOC_EXCLUDE_HEADER_SECTION event_groups.h @code{c} void xEventGroupDelete( EventGroupHandle_t xEventGroup ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION
- @brief Clear current interrupt mask and set given mask
- @brief Enter a critical section
- @brief Exit a critical section
- @brief Set interrupt mask and return current interrupt enable register
- @brief Set a watchpoint to watch the last 32 bytes of the stack
- @brief Perform a context switch from a task
- @brief Perform a context switch from an ISR
- @brief Yields the other core
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} void vQueueDelete( QueueHandle_t xQueue ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION
- @brief Delete a ring buffer
- @brief Get information about ring buffer status
- @brief Return a previously-retrieved item to the ring buffer
- @brief Return a previously-retrieved item to the ring buffer from an ISR
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskAllocateMPURegions( TaskHandle_t xTask, const MemoryRegion_t * const pxRegions ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskDelay( const TickType_t xTicksToDelay ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskDelete( TaskHandle_t xTask ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskEndScheduler( void ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskNotifyGiveIndexedFromISR( TaskHandle_t xTaskHandle, UBaseType_t uxIndexToNotify, BaseType_t *pxHigherPriorityTaskWoken ); void vTaskNotifyGiveFromISR( TaskHandle_t xTaskHandle, BaseType_t *pxHigherPriorityTaskWoken ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskGetInfo( TaskHandle_t xTask, TaskStatus_t *pxTaskStatus, BaseType_t xGetFreeStackSpace, eTaskState eState ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskGetRunTimeStats( char *pcWriteBuffer ); @endcode @endcond
- @brief Fill a TaskSnapshot_t structure for specified task.
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskList( char *pcWriteBuffer ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskPrioritySet( TaskHandle_t xTask, UBaseType_t uxNewPriority ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskResume( TaskHandle_t xTaskToResume ); @endcode @endcond
- Set local storage pointer specific to the given task.
- Set local storage pointer and deletion callback.
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} void vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskStartScheduler( void ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskSuspend( TaskHandle_t xTaskToSuspend ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void vTaskSuspendAll( void ); @endcode @endcond
- void vTimerSetReloadMode( TimerHandle_t xTimer, const UBaseType_t uxAutoReload );
- void vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID );
- @brief Disable Wi-Fi and BT common module
- @brief Enable Wi-Fi and BT common module
- @brief Callocate memory for WiFi driver
- @brief Allocate a chunk of memory for WiFi driver
- @brief Disable Wi-Fi module
- @brief Enable Wi-Fi module
- @brief Handler for receiving and responding to requests from master
- @brief Runs Wi-Fi as Station with the supplied configuration
- @brief Stop provisioning (if running) and release resource used by the manager
- @brief Disable auto stopping of provisioning service upon completion
- @brief Create an additional endpoint and allocate internal resources for it
- @brief Register a handler for the previously created endpoint
- @brief Unregister the handler for an endpoint
- @brief Get reason code in case of Wi-Fi station disconnection during provisioning
- @brief Get state of Wi-Fi Station during provisioning
- @brief Initialize provisioning manager instance
- @brief Checks if device is provisioned
- @brief Reset Wi-Fi provisioning config
- @brief Reset internal state machine and clear provisioned credentials.
- @brief Reset internal state machine and clear provisioned credentials.
- @brief Set application version and capabilities in the JSON data returned by proto-ver endpoint
- @brief Start provisioning service
- @brief Stop provisioning service
- @brief Wait for provisioning service to finish
- @brief Set manufacturer specific data in scan response
- @brief Set the 128 bit GATT service UUID used for provisioning
- @brief Provide HTTPD Server handle externally.
- @brief Reallocate a chunk of memory for WiFi driver
- @brief Erase part of the WL storage
- @brief Mount WL for defined partition
- @brief Read data from the WL storage
- @brief Get sector size of the WL instance
- @brief Get size of the WL storage
- @brief Unmount WL for defined partition
- @brief Write data to the WL storage
- @cond !DOC_EXCLUDE_HEADER_SECTION event_groups.h @code{c} EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION event_groups.h @code{c} EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION event_groups.h @code{c} EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION event_groups.h @code{c} EventBits_t xEventGroupSync( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, const EventBits_t uxBitsToWaitFor, TickType_t xTicksToWait ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION event_groups.h @code{c} EventBits_t xEventGroupWaitBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, const TickType_t xTicksToWait ); @endcode @endcond
- @brief Checks if a given piece of memory can be used to store a task’s TCB
- @brief Get the tick rate per second
- @brief Checks if the current core is in an ISR context
- @brief Check if in ISR context from High priority ISRs
- @brief Checks if a given piece of memory can be used to store a task’s stack
- Adds a queue or semaphore to a queue set that was previously created by a call to xQueueCreateSet().
- @cond !DOC_EXCLUDE_HEADER_SECTION
- For internal use only. Use xSemaphoreCreateMutex(), xSemaphoreCreateCounting() or xSemaphoreGetMutexHolder() instead of calling these functions directly.
- Queue sets provide a mechanism to allow a task to block (pend) on a read operation from multiple queues or semaphores simultaneously.
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueueGenericSend( QueueHandle_t xQueue, const void * pvItemToQueue, TickType_t xTicksToWait BaseType_t xCopyPosition ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueueGenericSendFromISR( QueueHandle_t xQueue, const void *pvItemToQueue, BaseType_t *pxHigherPriorityTaskWoken, BaseType_t xCopyPosition ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueuePeek( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueuePeekFromISR( QueueHandle_t xQueue, void *pvBuffer, ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueueReceive( QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION queue. h @code{c} BaseType_t xQueueReceiveFromISR( QueueHandle_t xQueue, void *pvBuffer, BaseType_t *pxTaskWoken ); @endcode @endcond
- Removes a queue or semaphore from a queue set. A queue or semaphore can only be removed from a set if the queue or semaphore is empty.
- xQueueSelectFromSet() selects from the members of a queue set a queue or semaphore that either contains data (in the case of a queue) or is available to take (in the case of a semaphore). xQueueSelectFromSet() effectively allows a task to block (pend) on a read operation on all the queues and semaphores in a queue set simultaneously.
- A version of xQueueSelectFromSet() that can be used from an ISR.
- For internal use only. Use xSemaphoreTakeMutexRecursive() or xSemaphoreGiveMutexRecursive() instead of calling these functions directly.
- @brief Add the ring buffer to a queue set. Notified when data has been written to the ring buffer
- @brief Create a ring buffer
- @brief Create a ring buffer of type RINGBUF_TYPE_NOSPLIT for a fixed item_size
- @brief Create a ring buffer but manually provide the required memory
- @brief Get current free size available for an item/data in the buffer
- @brief Get maximum size of an item that can be placed in the ring buffer
- @brief Debugging function to print the internal pointers in the ring buffer
- @brief Retrieve an item from the ring buffer
- @brief Retrieve an item from the ring buffer in an ISR
- @brief Retrieve a split item from an allow-split ring buffer
- @brief Retrieve a split item from an allow-split ring buffer in an ISR
- @brief Retrieve bytes from a byte buffer, specifying the maximum amount of bytes to retrieve
- @brief Retrieve bytes from a byte buffer, specifying the maximum amount of bytes to retrieve. Call this from an ISR.
- @brief Remove the ring buffer from a queue set
- @brief Insert an item into the ring buffer
- @brief Acquire memory from the ring buffer to be written to by an external source and to be sent later.
- @brief Actually send an item into the ring buffer allocated before by
xRingbufferSendAcquire
. - @brief Insert an item into the ring buffer in an ISR
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION stream_buffer.h
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskAbortDelay( TaskHandle_t xTask ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} BaseType_t xTaskCallApplicationTaskHook( TaskHandle_t xTask, void *pvParameter ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code{c} BaseType_t xTaskCatchUpTicks( TickType_t xTicksToCatchUp ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task.h @code BaseType_t xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut, TickType_t * const pxTicksToWait ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskDelayUntil( TickType_t *pxPreviousWakeTime, const TickType_t xTimeIncrement ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskNotifyIndexed( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction ); BaseType_t xTaskNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskNotifyIndexedFromISR( TaskHandle_t xTaskToNotify, UBaseType_t uxIndexToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken ); BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskNotifyStateClearIndexed( TaskHandle_t xTask, UBaseType_t uxIndexToCLear );
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskNotifyWaitIndexed( UBaseType_t uxIndexToWaitOn, uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait );
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} TaskHandle_t xTaskGetHandle( const char *pcNameToQuery ); @endcode @endcond
- xTaskGetIdleTaskHandle() is only available if INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h.
- Get the handle of idle task for the given CPU.
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} TickType_t xTaskGetTickCount( void ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} TickType_t xTaskGetTickCountFromISR( void ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} BaseType_t xTaskResumeAll( void ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION task. h @code{c} void xTaskResumeFromISR( TaskHandle_t xTaskToResume ); @endcode @endcond
- @cond !DOC_EXCLUDE_HEADER_SECTION
- TickType_t xTimerGetExpiryTime( TimerHandle_t xTimer );
- TickType_t xTimerGetPeriod( TimerHandle_t xTimer );
- TaskHandle_t xTimerGetTimerDaemonTaskHandle( void );
- BaseType_t xTimerIsTimerActive( TimerHandle_t xTimer );
- BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait );
- BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken );
Type Aliases§
- @addtogroup ets_timer_apis @{
- @addtogroup ets_apis @{
- Enum for the HTTP status codes.
- Defines the memory ranges allocated to the task when an MPU is used.
- Type by which message buffers are referenced. For example, a call to xMessageBufferCreate() returns an MessageBufferHandle_t variable that can then be used as a parameter to xMessageBufferSend(), xMessageBufferReceive(), etc.
- Type by which queue sets are referenced. For example, a call to xQueueCreateSet() returns an xQueueSet variable that can then be used as a parameter to xQueueSelectFromSet(), xQueueAddToSet(), etc.
- Queue sets can contain both queues and semaphores, so the QueueSetMemberHandle_t is defined as a type to be used where a parameter or return value can be either an QueueHandle_t or an SemaphoreHandle_t.
- Type by which ring buffers are referenced. For example, a call to xRingbufferCreate() returns a RingbufHandle_t variable that can then be used as a parameter to xRingbufferSend(), xRingbufferReceive(), etc.
- @brief Struct that is equivalent in size to the ring buffer’s data structure
- @brief Task Snapshot structure
- Used internally only.
- Prototype of local storage pointer deletion callback.
- @brief ADC attenuation parameter. Different parameters determine the range of the ADC.
- @brief ADC resolution setting option. @note Only used in single read mode
- @brief ADC calibration handle
- @brief ADC calibration scheme
- @brief ADC channels
- @brief Prototype of ADC continuous mode event callback
- @brief ADC digital controller clock source @brief ADC digital controller clock source
- @brief Type of adc continuous mode driver handle
- @brief ADC digital controller (DMA mode) work mode.
- @brief IIR Filter Coefficient
- @brief ADC IIR Filter ID
- @brief ADC DMA driver configuration
- @brief ADC digital controller (DMA mode) output data format option.
- @brief ADC digital controller clock source @brief ADC digital controller clock source
- @brief Type of ADC unit handle for oneshot mode
- @brief ADC unit
- LwIP bridge configuration
- enum btm_query_reason: Reason code for sending btm query
- Restart output.
- Possible return values for eTaskConfirmSleepModeStatus().
- Task states returned by eTaskGetState.
- @brief RMII Clock GPIO number Options
- @brief RMII Clock Mode Options
- Definitions for error constants.
- @brief Type of calibration value used in characterization
- @brief The AES callback function when do WPS connect.
- @brief The AES callback function when do WPS connect.
- @brief Deinitialize AES decryption
- @brief Initialize AES for decryption
- @brief Decrypt one AES block
- @brief Deinitialize AES encryption
- @brief Initialize AES for encryption
- @brief Encrypt one AES block
- @brief One-Key GMAC hash with AES for MIC computation
- @brief The AES callback function when do STA connect.
- @brief The AES callback function when do STA connect.
- @brief callback called when an allocation operation fails, if registered @param size in bytes of failed allocation @param caps capabilities requested of failed allocation @param function_name function which generated the failure
- @brief Decrypt data using CCMP (Counter Mode CBC-MAC Protocol OR Counter Mode Cipher Block Chaining Message Authentication Code Protocol) which is used in IEEE 802.11i RSN standard. @tk: 128-bit Temporal Key for obtained during 4-way handshake @hdr: Pointer to IEEE802.11 frame headeri needed for AAD @data: Pointer to encrypted data buffer @data_len: Encrypted data length in bytes @decrypted_len: Length of decrypted data @espnow_pkt: Indicates if it’s an ESPNOW packet Returns: Pointer to decrypted data on success, NULL on failure
- @brief Encrypt data using CCMP (Counter Mode CBC-MAC Protocol OR Counter Mode Cipher Block Chaining Message Authentication Code Protocol) which is used in IEEE 802.11i RSN standard. @tk: 128-bit Temporal Key for obtained during 4-way handshake @frame: Pointer to IEEE802.11 frame including header @len: Length of the frame including header @hdrlen: Length of the header @pn: Packet Number counter @keyid: Key ID to be mentioned in CCMP Vector @encrypted_len: Length of the encrypted frame including header
- @brief ESP chip ID
- @brief Console command main function @param argc number of arguments @param argv array with argc entries, each pointing to a zero-terminated string argument @return console command return code, 0 indicates “success”
- @brief Type defined for console REPL
- @brief CPU cycle count type
- @brief CPU interrupt handler type
- @brief CPU interrupt type
- @brief CPU watchpoint trigger type
- @brief CRC32 value in little endian.
- @brief Function type for stub to run on wake from sleep.
- @brief Enumeration of phase 2 authentication types for EAP-TTLS.
- @brief Type of eFuse blocks ESP32C3
- @brief Type of coding scheme
- @brief Type of key purpose
- @brief Type definition for ROM log scheme
- @brief Handle of Ethernet driver
- @brief Command list for ioctl API
- @brief Ethernet MAC
- @brief Ethernet mediator
- @brief Handle of netif glue - an intermediate layer between netif and Ethernet driver
- @brief Ethernet PHY
- @brief Ethernet driver state
- @brief ETM channel handle
- @brief ETM event handle
- @brief ETM task handle
- @brief Mode used for reading from SPI flash
- @brief SPI flash clock speed values, always refer to them by the enum rather than the actual value (more speed may be appended into the list).
- @brief SPI flash clock speed values, always refer to them by the enum rather than the actual value (more speed may be appended into the list).
- @brief HMAC-MD5 over data buffer (RFC 2104)’
- @brief HMAC-MD5 over data vector (RFC 2104)
- @brief HMAC-SHA1 over data buffer (RFC 2104)
- @brief HMAC-SHA1 over data vector (RFC 2104)
- @brief The SHA256 callback function when do WPS connect.
- @brief HTTP Authentication type
- @brief HTTP Client events id
- @brief HTTP Client events data
- @brief HTTP method
- @brief Argument structure for HTTP_EVENT_ON_DATA event
- @brief Argument structure for HTTP_EVENT_REDIRECT event
- @brief HTTP Client transport
- @brief HTTP Server events id
- @brief Supported SPI flash sizes
- @brief SPI flash clock division factor.
- @brief SPI flash mode, used in esp_image_header_t
- @brief IPv4 address
- @brief IPv6 address
- @brief IP address
- @cond / /* @brief LCD color space type definition (WRONG!) @deprecated RGB and BGR should belong to the same color space, but this enum take them both as two different color spaces. If you want to use a enum to describe a color space, please use lcd_color_space_t instead.
- @brief Declare the prototype of the function that will be invoked when panel IO finishes transferring color data
- @brief Line ending settings
- @brief Log level
- @brief MD5 hash for data vector
- @brief Mesh topology
- MQTT connection error codes propagated via ERROR event
- @brief MQTT error code structure to be passed as a contextual information into ERROR event
- MQTT connection error codes propagated via ERROR event
- @brief MQTT event types.
- MQTT protocol version used for connection
- Topic definition struct
- @brief TCPIP thread safe callback used with esp_netif_tcpip_exec()
- @brief Generic esp_netif configuration
- @brief Supported options for DHCP client or DHCP server
- @brief Mode for DHCP client or DHCP server option functions
- @brief Status of DHCP client or DHCP server
- @brief Type of DNS server
- @brief ESP-netif driver base handle
- @brief Specific IO driver configuration
- @brief ESP-netif inherent config parameters
- @brief IO driver handle type
- @brief Specific L3 network stack configuration
- @brief ESP-NETIF Receive function type
- @brief ESPNOW peer information parameters.
- @brief Number of ESPNOW peers which exist currently.
- @brief ESPNOW rate config
- @brief Callback function of receiving ESPNOW data @param esp_now_info received ESPNOW packet information @param data received data @param data_len length of received data @attention esp_now_info is a local variable,it can only be used in the callback.
- @brief ESPNOW packet information
- @brief Callback function of sending ESPNOW data @param mac_addr peer MAC address @param status status of sending ESPNOW data (succeed or fail)
- @brief Status of sending ESPNOW data .
- @brief One-Key CBC MAC (OMAC1) hash with AES-128 for MIC computation
- @brief Opaque handle for an application OTA update
- OTA_DATA states for checking operability of the app.
- @brief Opaque partition iterator type
- @brief Opaque handle for memory region obtained from esp_partition_mmap.
- @brief Enumeration which specifies memory space requested in an mmap call
- @brief Partition subtype
- @brief Partition type
- @brief SHA1-based key derivation function (PBKDF2) for IEEE 802.11i
- @brief Type of “ping” session handle
- @brief Profile of ping session
- backward compatibility newer chips no longer require this typedef
- @brief Power management config
- @brief Power management config
- @brief Power management config
- @brief Power management config
- @brief Power management config
- @brief Opaque handle to the power management lock
- @brief Power management constraints
- @brief XOR RC4 stream to given data with skip-stream-start
- @brief Reset reasons
- @brief SHA1-based Pseudo-Random Function (PRF) (IEEE 802.11i, 8.5.1.1)
- @brief SHA-1 hash for data vector
- @brief The AES callback function when do STA connect.
- @brief SHA256 hash for data vector @num_elem: Number of elements in the data vector @addr: Pointers to the data areas @len: Lengths of the data blocks @mac: Buffer for the hash Returns: 0 on success, -1 on failure
- @brief Sleep mode
- @brief Power domains which can be powered down in sleep mode
- @brief Power down options
- @brief Sleep wakeup cause
- @brief Sleep wakeup cause @brief Sleep wakeup cause
- @brief SNTP configuration struct
- SNTP operating modes per lwip SNTP module
- @brief Time sync notification function
- @brief Task Watchdog Timer (TWDT) user handle
- @brief Error types for TCP connection issues not covered in socket’s errno
- @brief Timer callback function type @param arg pointer to opaque user-specific data
- @brief Method for dispatching timer callback
- @brief Opaque type representing a single esp_timer
- @brief ESP-TLS configuration parameters
- @brief ESP-TLS Connection State
- @brief ESP-TLS Connection State @brief ESP-TLS Connection State
- Definition of different types/sources of error codes reported from different components
- @brief Error structure containing relevant errors in case tls error occurred
- @brief Keep alive parameters structure
- @brief Function signature for received Vendor-Specific Information Element callback. @param ctx Context argument, as passed to esp_wifi_set_vendor_ie_cb() when registering callback. @param type Information element type, based on frame type received. @param sa Source 802.11 address. @param vnd_ie Pointer to the vendor specific element data received. @param rssi Received signal strength indication.
- @brief Configuration arguments for esp_vfs_fat_sdmmc_mount and esp_vfs_fat_spiflash_mount_rw_wl functions
- @brief Ethernet Checksum
- @brief Ethernet interface
- @brief Ethernet duplex mode
- @brief Ethernet event declarations
- @brief Ethernet link status
- @brief Internal ethernet EMAC’s DMA available burst sizes
- @brief Auto-negotiation controll commands
- @brief Ethernet speed
- @addtogroup ets_intr_apis @{
- @addtogroup ets_apis @{ @addtogroup ets_apis @{
- @brief GPIO edges that can be used as ETM event
- @brief GPIO actions that can be taken by the ETM task
- @brief Available option for configuring hysteresis feature of GPIOs
- @brief GPIO interrupt handler
- @endcond
- @brief Timer alarm callback prototype
- @brief GPTimer clock source @note User should select the clock source based on the power and resolution requirement @brief Type of GPTimer clock source
- @brief GPTimer count direction
- @brief GPTimer specific events that supported by the ETM module
- @brief GPTimer specific tasks that supported by the ETM module
- @brief Type of General Purpose Timer handle
- @brief Function prototype for closing a session.
- @brief HTTP Server Configuration Structure
- @brief Error codes sent as HTTP response in case of errors encountered during processing of an HTTP request
- @brief Function prototype for HTTP error handling.
- @brief Prototype for freeing context data (if any) @param[in] ctx object to free
- @brief HTTP Server Instance Handle
- @brief HTTP Method Type wrapper over “enum http_method” available in “http_parser” library
- @brief Function prototype for opening a session.
- @brief Prototype for HTTPDs low-level “get pending bytes” function
- @brief Prototype for HTTPDs low-level recv function
- @brief HTTP Request Data Structure
- @brief Prototype for HTTPDs low-level send function
- @brief Function prototype for URI matching.
- @brief Structure for URI handler
- @brief Prototype of the HTTPD work function Please refer to httpd_queue_work() for more details. @param[in] arg The arguments for this work function
- @brief I2C group clock source @brief Type of I2C clock source.
- @brief I2C port number, can be I2C_NUM_0 ~ (I2C_NUM_MAX-1).
- @brief I2S bit width per chan.
- @brief I2S bit width per sample.
- @brief I2S channel format type
- @brief I2S channel.
- @brief I2S clock source enum @brief I2S clock source enum
- @brief I2S communication standard format
- @brief I2S controller communication mode
- @brief I2S driver configuration parameters
- @brief Available data bit width in one slot
- @brief I2S channel direction
- @brief I2S event queue types
- @brief I2S event callback @param[in] handle I2S channel handle, created from
i2s_new_channel()
@param[in] event I2S event data @param[in] user_ctx User registered context, passed fromi2s_channel_register_event_callback()
- @brief The multiple of mclk to sample rate
- @brief I2S Mode
- @brief A/U-law decompress or compress configuration.
- @brief pdm tx singnal scaling mode
- @brief I2S slot select in PDM mode
- @brief PDM TX line mode @note For the standard codec mode, PDM pins are connect to a codec which requires both clock signal and data signal For the DAC output mode, PDM data signal can be connected to a power amplifier directly with a low-pass filter, normally, DAC output mode doesn’t need the clock signal.
- @brief I2S controller port number, the max port number is (SOC_I2S_NUM -1).
- @brief I2S controller role
- @brief Total slot bit width in one slot
- @brief I2S channel slot mode
- @brief I2S slot select in standard mode @note It has different meanings in tx/rx/mono/stereo mode, and it may have differen behaviors on different targets For the details, please refer to the I2S API reference
- @brief tdm slot number @note Multiple slots in TDM mode. For TX module, only the active slot send the audio data, the inactive slot send a constant or will be skipped if ‘skip_msk’ is set. For RX module, only receive the audio data in active slots, the data in inactive slots will be ignored. the bit map of active slot can not exceed (0x1<<total_slot_num). e.g: slot_mask = (I2S_TDM_SLOT0 | I2S_TDM_SLOT3), here the active slot number is 2 and total_slot is not supposed to be smaller than 4.
- @brief Interrupt core ID type
- Handle to an interrupt handler
- Callback type of the interrupt handler
- ip4_addr_t uses a struct for convenience only, so that the same defines can operate both on ip4_addr_t as well as on ip4_addr_p_t.
- IPv6 address
- @ingroup ipaddr A union struct for both IP version’s addresses. ATTENTION: watch out for its size when adding IPv6 address scope!
- IP event declarations
- @brief LCD color range
- for backward compatible @brief RGB color endian
- @brief LCD color space
- @brief RGB data endian
- @brief RGB color endian
- @brief The standard used for conversion between RGB and YUV
- @brief YUV sampling method
- @brief LEDC callback event type
- @brief Type of LEDC event callback @param param LEDC callback parameter @param user_arg User registered data @return Whether a high priority task has been waken up by this function
- @brief LEDC clock source configuration struct
- @brief LEDC timer-specific clock sources
- @brief LEDC global clock sources
- @}
- @ingroup ipaddr IP address types for use in ip_addr_t.type member. @see tcp_new_ip_type(), udp_new_ip_type(), raw_new_ip_type().
- Symbolic constants for the ‘type’ parameters in some of the macros. These exist for efficiency only, allowing the macros to avoid certain tests when the address is known not to be of a certain type. Dead code elimination will do the rest. IP6_MULTICAST is supported but currently not optimized. @see ip6_addr_has_scope, ip6_addr_assign_zone, ip6_addr_lacks_zone.
- \brief Supported cipher types.
- Supported cipher modes.
- Supported cipher padding types.
- \brief Supported {cipher type, cipher mode} pairs.
- Defines the source of the imported EC key.
- Defines the ECDH implementation used.
- \brief The ECDSA context structure.
- Roles in the EC J-PAKE exchange
- Domain-parameter identifiers: curve, subgroup, and generator.
- \brief The GCM context structure.
- @brief Type defined for MD5 context
- Used internally to indicate whether a context uses legacy or PSA.
- \brief Supported message digests.
- \brief Flags for mbedtls_mpi_gen_prime()
- Type of operation.
- \brief Types for interfacing with the debug module
- \brief Types for RSA-alt abstraction
- \brief Public key types
- \brief Statistics about resource consumption related to the PSA keystore.
- SHA-3 family id.
- \brief Callback type: server-side session cache getter
- \brief Callback type: server-side session cache setter
- \brief Callback type: verify a cookie
- \brief Callback type: generate a cookie
- \brief Callback type: Export key alongside random values for session identification, and PRF for implementation of TLS key exporters.
- \brief Callback type: get status of timers/delays
- \brief Callback type: generic handshake callback
- Human-friendly representation of the (D)TLS protocol version.
- \brief Callback type: receive data from the network.
- \brief Callback type: receive data from the network, with timeout
- \brief Callback type: send data on the network.
- \brief Callback type: set a pair of timers/delays to watch
- \brief Callback type: parse and load session ticket
- \brief Callback type: generate and write session ticket
- Container for ASN1 bit strings.
- Type-length-value structure that allows for ASN1 using DER.
- \brief The type of trusted certificate callbacks.
- \brief The type of certificate extension callbacks.
- Container for ASN1 named information objects. It allows for Relative Distinguished Names (e.g. cn=localhost,ou=code,etc.).
- Container for a sequence of ASN.1 items
- @brief MCPWM operator brake event callback function
- @brief Type of MCPWM capture channel handle
- @brief Type of MCPWM capture timer handle
- @brief MCPWM capture edge
- @brief MCPWM capture event callback function
- @brief Type of MCPWM comparator handle
- @brief MCPWM comparator event callback function
- @brief MCPWM fault event callback function
- @brief Type of MCPWM fault handle
- @brief Type of MCPWM generator handle
- @brief MCPWM generator actions
- @brief Type of MCPWM operator handle
- @brief MCPWM operator brake mode
- @brief Type of MCPWM sync handle
- @brief MCPWM timer count modes
- @brief MCPWM timer count direction
- @brief MCPWM timer event callback function
- @brief MCPWM timer events
- @brief Type of MCPWM timer handle
- @brief MCPWM timer commands, specify the way to start or stop the timer
- @brief Type defined for MD5 context
- Create the list of all memory pools managed by memp. MEMP_MAX represents a NULL pool at the end
- @brief Mesh disconnect reason code
- @brief Child connected information
- @brief Child disconnected information
- @brief Parent disconnected information
- @brief Root address
- @brief New router information
- @brief The reachability of the root to a DS (distribute system)
- @brief Protocol of transmitted application data
- @brief For reliable transmission, mesh stack provides three type of services
- @brief Device type
- @brief Vote reason
- @brief Opaque handle to a registered heap
- @brief Callback function type to get neighbor report
- @ingroup netif Function used for extended netif status callbacks Note: When parsing reason argument, keep in mind that more reasons may be added in the future! @param netif netif that is affected by change @param reason change reason @param args depends on reason, see reason description
- Function prototype for netif igmp_mac_filter functions
- Function prototype for netif init functions. Set up flags and output/linkoutput callback functions in this function.
- Function prototype for netif->input functions. This function is saved as ‘input’ callback function in the netif struct. Call it when a packet has been received.
- Function prototype for netif->linkoutput functions. Only used for ethernet netifs. This function is called by ARP when a packet shall be sent.
- MAC Filter Actions, these are passed to a netif’s igmp_mac_filter or mld_mac_filter callback function.
- Function prototype for netif mld_mac_filter functions
- @ingroup netif Extended netif status callback (NSC) reasons flags. May be extended in the future!
- Function prototype for netif->output functions. Called by lwIP when a packet shall be sent. For ethernet netif, set this to ‘etharp_output’ and set ‘linkoutput’.
- Function prototype for netif->output_ip6 functions. Called by lwIP when a packet shall be sent. For ethernet netif, set this to ‘ethip6_output’ and set ‘linkoutput’.
- Function prototype for netif status- or link-callback functions.
- Opaque pointer type representing non-volatile storage handle
- Opaque pointer type representing iterator to nvs entries
- @brief Mode of opening the non-volatile storage @brief Mode of opening the non-volatile storage
- @brief Mode of opening the non-volatile storage
- @brief Types of variables
- Prototype for a function to free a custom pbuf
- @ingroup pbuf Enumeration of pbuf layers
- @ingroup pbuf Enumeration of pbuf types
- @brief Config parameters for protocomm BLE service
- @brief This structure maps handler required by protocomm layer to UUIDs which are used to uniquely identify BLE characteristics from a smartphone or a similar client device.
- @brief Function prototype for protocomm endpoint handler
- @brief Protocomm Security 1 parameters: Proof Of Possession
- @brief Protocomm Security 2 parameters: Salt and Verifier
- @brief Protocomm Security 1 parameters: Proof Of Possession
- @brief Events generated by the protocomm security layer
- @brief Protocomm security object structure.
- @brief This structure corresponds to a unique instance of protocomm returned when the API
protocomm_new()
is called. The remaining Protocomm APIs require this object as the first parameter. - @brief Events generated by BLE transport
- The type of the state data structure for multipart AEAD operations.
- \brief Encoding of a cryptographic algorithm.
- The type of the state data structure for multipart cipher operations.
- The type of input values for PAKE operations.
- The type of PSA Diffie-Hellman group family identifiers.
- A slot number identifying a key in a driver.
- The type of PSA elliptic curve family identifiers.
- For encrypt-decrypt functions, whether the operation is an encryption or a decryption.
- The type of the state data structure for multipart hash operations.
- The type of computation stage for J-PAKE operations.
- A mask of flags that can be stored in key attributes.
- The type of a structure containing key attributes.
- The type of the state data structure for key derivation operations.
- \brief Encoding of the step of a key derivation.
- Encoding of identifiers of persistent keys.
- Encoding of key lifetimes.
- Encoding of key location indicators.
- Encoding of key persistence levels.
- \brief Encoding of a key type.
- \brief Encoding of permitted usage on a key.
- The type of the state data structure for multipart MAC operations.
- The type of the data structure for PAKE cipher suites.
- \brief Encoding of the family of the primitive associated with the PAKE.
- The type of the state data structure for PAKE operations.
- \brief Encoding of the primitive associated with the PAKE.
- Encoding of the type of the PAKE’s primitive.
- \brief Encoding of the application role of PAKE
- Encoding of input and output indicators for PAKE.
- The type of the state data structure for interruptible hash signing operations.
- The type of the state data structure for interruptible hash verification operations.
- @brief ESP-TLS preshared key and hint structure
- @brief RMT Carrier Level
- @brief Type of RMT channel handle
- @brief RMT Channel Status
- @brief RMT channel ID
- @brief Type of RMT clock source @brief Type of RMT clock source
- @brief RMT Data Mode
- @brief RMT encoding state
- @brief Type of RMT encoder handle
- @brief RMT Idle Level
- @brief RMT interrupt handle
- @brief RMT Internal Memory Owner
- @brief RMT Channel Working Mode (TX or RX)
- @brief Prototype of RMT event callback
- @brief Type of RMT clock source, reserved for the legacy RMT driver @brief Type of RMT clock source, reserved for the legacy RMT driver
- @brief Type of RMT synchronization manager handle
- @brief Prototype of RMT event callback @param[in] tx_chan RMT channel handle, created from
rmt_new_tx_channel()
@param[in] edata Point to RMT event data. The lifecycle of this pointer memory is inside this function, user should copy it into static memory if used outside this function. @param[in] user_ctx User registered context, passed fromrmt_tx_register_event_callbacks()
- @brief Type of RMT Tx End callback function
- RTCIO output/input mode type.
- @brief User callback function to convert uint8_t type data to rmt format(rmt_item32_t).
- SD/MMC erase command(38) arguments SD: ERASE: Erase the write blocks, physical/hard erase.
- SD/MMC command response buffer
- Handle representing an SD SPI device
- Shutdown handler type
- @brief Sigma-delta channel list
- @brief SIGMADELTA port number, the max port number is (SIGMADELTA_NUM_MAX -1).
- @endcond
- Smartconfig event declarations
- SNTP time update mode
- SNTP sync status
- @brief SNTP callback function for notifying about time sync event
- @brief CPU_CLK mux inputs, which are the supported clock sources for the CPU_CLK @note Enum values are matched with the register field values on purpose
- @brief Supported clock sources for modules (CPU, peripherals, RTC, etc.)
- @brief ADC digital controller clock source
- @brief Glitch filter clock source
- @brief Type of GPTimer clock source
- @brief Type of I2C clock source.
- @brief I2S clock source enum
- @brief Type of LEDC clock source, reserved for the legacy LEDC driver
- @brief MWDT clock source
- @brief Type of RMT clock source, reserved for the legacy RMT driver
- @brief Type of RMT clock source
- @brief Sigma Delta Modulator clock source
- @brief Type of SPI clock source.
- @brief Type of SYSTIMER clock source
- @brief Type of Temp Sensor clock source
- @brief Type of Timer Group clock source, reserved for the legacy timer group driver
- @brief TWAI clock source
- @brief Type of UART clock source, reserved for the legacy UART driver
- @brief Naming conventions: RESET_REASON_{reset level}_{reset reason} @note refer to TRM:
chapter - @brief Root clock
- @brief RTC_FAST_CLK mux inputs, which are the supported clock sources for the RTC_FAST_CLK @note Enum values are matched with the register field values on purpose
- @brief RTC_SLOW_CLK mux inputs, which are the supported clock sources for the RTC_SLOW_CLK @note Enum values are matched with the register field values on purpose
- @brief Type of SPI clock source. @brief Type of SPI clock source.
- @brief SPI command.
- @brief SPI DMA channels
- @brief SPI DMA channels @brief SPI DMA channels
- SPI Events
- Host driver configuration and context structure.
- @brief Opaque handle for memory region obtained from spi_flash_mmap.
- @brief Enumeration which specifies memory space requested in an mmap call
- @brief Enum with the three SPI peripherals that are software-accessible in it
- @brief Type of Temp Sensor clock source @brief Type of Temp Sensor clock source
- @brief Type of temperature sensor driver handle
- @brief Timer alarm command
- @brief Timer autoreload command
- @brief Timer count direction
- @brief Timer-Group ID
- @brief Timer ID
- @brief Timer interrupt type
- @brief Interrupt types of the timer.
- @brief Interrupt handle, used in order to free the isr after use.
- @brief Interrupt handler callback function
- @brief Timer group clock source @brief Type of Timer Group clock source, reserved for the legacy timer group driver
- @brief Timer start/stop command
- @brief Keep alive parameters structure
- Touch sensor charge/discharge speed
- Touch sensor filter configuration
- @brief Touch channel IIR filter coefficient configuration. @note On ESP32S2. There is an error in the IIR calculation. The magnitude of the error is twice the filter coefficient. So please select a smaller filter coefficient on the basis of meeting the filtering requirements. Recommended filter coefficient selection
IIR_16
. - Touch sensor FSM mode
- Touch sensor high reference voltage
- Touch sensor low reference voltage
- Touch channel idle state configuration
- Touch sensor denoise configuration
- Touch sensor shield channel drive capability level
- Touch pad channel
- Touch sensor waterproof configuration
- @brief Level of filter applied on the original data against large noise interference. @note On ESP32S2. There is an error in the IIR calculation. The magnitude of the error is twice the filter coefficient. So please select a smaller filter coefficient on the basis of meeting the filtering requirements. Recommended filter coefficient selection
IIR_2
. - Touch sensor initial charge level
- ESP32 Only
- Touch sensor high reference voltage attenuation
- @endcond
- @brief TWAI clock source @brief TWAI clock source
- @brief TWAI Controller operating modes
- @brief TWAI driver states
- @brief UART event types used in the ring buffer
- @brief UART hardware flow control modes
- @brief UART mode selection
- @brief UART parity constants
- @brief UART port number, can be UART_NUM_0 ~ (UART_NUM_MAX -1).
- @brief UART source clock @brief Type of UART clock source, reserved for the legacy UART driver
- @brief UART signal bit map
- @brief UART stop bits number
- @brief UART word length constants
- @brief The Rx callback function of Action Tx operations
- @brief WiFi antenna mode
- @brief WiFi antenna
- @brief The RX callback function of Channel State Information(CSI) data.
- Argument structure for WIFI_EVENT_STA_WPS_ER_FAILED event
- WiFi event declarations
- @brief FTM operation status types
- @brief WiFi ioctl command type
- @brief WiFi log level
- @brief WiFi log module definition
- @brief Update WiFi MAC time
- @brief NAN Services types
- @brief Forward declaration of WiFi interface handle
- @brief The net stack buffer free callback function
- @brief The net stack buffer reference counter callback function
- @brief Operation Phymode
- @brief WiFi PHY rate encodings
- @brief The RX callback function in the promiscuous mode. Each time a packet is received, the callback function will be called.
- @brief Promiscuous frame type
- @brief Events generated by manager
- @brief Internal handlers for receiving and responding to protocomm requests from master
- @brief Type of context data passed to each get/set/apply handler function set in
wifi_prov_config_handlers
structure. - @brief Structure for specifying the provisioning scheme to be followed by the manager
- @brief Security modes supported by the Provisioning Manager.
- @brief Security 1 params structure This needs to be passed when using WIFI_PROV_SECURITY_1
- @brief Security 2 params structure This needs to be passed when using WIFI_PROV_SECURITY_2
- @brief Security modes supported by the Provisioning Manager.
- @brief WiFi STA connection fail reason
- @brief WiFi STA status for conveying back to the provisioning master
- @brief The WiFi RX callback function
- Configuration for SAE-PK
- Configuration for SAE PWE derivation
- @breif TxDone callback function type. Should be registered using esp_wifi_set_tx_done_cb()
- @brief Vendor Information Element index
- @brief Vendor Information Element type
- @brief wear levelling handle
- @brief Enumeration of WPS (Wi-Fi Protected Setup) types.
- @brief Enumeration of WPS (Wi-Fi Protected Setup) types. @brief Enumeration of WPS (Wi-Fi Protected Setup) types.
Unions§
- @brief Ethernet MAC Clock Configuration
- @brief Mesh address
- @brief Mesh event information
- @brief Vote address configuration
- @ingroup netif Argument supplied to netif_ext_callback_fn.
- Protocomm HTTPD Configuration Data
- @brief The layout of RMT symbol stored in memory, which is decided by the hardware design
- @brief Configuration data for device’s AP or STA or NAN.