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. - Type by which event groups are referenced. For example, a call to xEventGroupCreate() returns an EventGroupHandle_t variable that can then be used as a parameter to other event group functions.
- @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 Task Snapshot iterator
- @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. @note ESP32: Only
type1
is valid. ADC2 does not support DMA mode. @note ESP32-S2: Memberchannel
can be used to judge the validity of the ADC data, because the role of the arbiter may get invalid ADC data. - @brief ADC digital controller pattern configuration
- @brief ADC channel configurations
- @brief ADC oneshot driver initial configurations
- Advertising parameters
- @brief Connection descriptor
- @brief Connection parameters
- @brief Advertising report
- @brief Discovery parameters
- Represents a GAP-related event. When such an event occurs, the host notifies the application by passing an instance of this structure to an application-specified callback.
- Represents a connection attempt. Valid for the following event types: o BLE_GAP_EVENT_CONNECT
- Represents a successful Link establishment attempt. Valid for the following event types: o BLE_GAP_EVENT_LINK_ESTAB
- Represents a terminated connection. Valid for the following event types: o BLE_GAP_EVENT_DISCONNECT
- Represents a completed discovery procedure. Valid for the following event types: o BLE_GAP_EVENT_DISC_COMPLETE
- Represents a completed advertise procedure. Valid for the following event types: o BLE_GAP_EVENT_ADV_COMPLETE
- Represents an attempt to update a connection’s parameters. If the attempt was successful, the connection’s descriptor reflects the updated parameters.
- Represents a peer’s request to update the connection parameters. This event is generated when a peer performs any of the following procedures: o L2CAP Connection Parameter Update Procedure o Link-Layer Connection Parameters Request Procedure
- Represents a failed attempt to terminate an established connection. Valid for the following event types: o BLE_GAP_EVENT_TERM_FAILURE
- Represents an attempt to change the encrypted state of a connection. If the attempt was successful, the connection descriptor reflects the updated encrypted state.
- Represents a passkey query needed to complete a pairing procedure.
- Represents a received ATT notification or indication.
- Represents a transmitted ATT notification or indication, or a completed indication transaction.
- Represents a state change in a peer’s subscription status. In this comment, the term “update” is used to refer to either a notification or an indication. This event is triggered by any of the following occurrences: o Peer enables or disables updates via a CCCD write. o Connection is about to be terminated and the peer is subscribed to updates. o Peer is now subscribed to updates after its state was restored from persistence. This happens when bonding is restored.
- Represents a change in an L2CAP channel’s MTU.
- Represents a change in peer’s identity. This is issued after successful pairing when Identity Address Information was received.
- Represents a change of PHY. This is issue after successful change on PHY.
- GATT Authorization Event. Ask the user to authorize a GATT read/write operation.
- Represent a event for DTM test results
- Represent an event for LE Data length change
- Event listener structure
- @brief Extended discovery parameters
- @brief Passkey query
- Connection security state
- @brief Connection parameters update parameters
- @server.
- Client Presentation Format Descriptor Defines the format of the Characteristic Value.
- @client.
- Context passed to the registration callback; represents the GATT service, characteristic, or descriptor being registered.
- Service; valid if op == BLE_GATT_REGISTER_OP_SVC.
- Characteristic; valid if op == BLE_GATT_REGISTER_OP_CHR.
- Descriptor; valid if op == BLE_GATT_REGISTER_OP_DSC.
- @brief Bluetooth Host main configuration structure
- @brief Used to report the result of a stop procedure.
- Represents a L2CAP-related event. When such an event occurs, the host notifies the application by passing an instance of this structure to an application-specified callback.
- Represents a connection attempt. Valid for the following event types: o BLE_L2CAP_EVENT_COC_CONNECTED
- Represents a terminated connection. Valid for the following event types: o BLE_L2CAP_EVENT_COC_DISCONNECTED
- Represents connection accept. Valid for the following event types: o BLE_L2CAP_EVENT_COC_ACCEPT
- Represents received data. Valid for the following event types: o BLE_L2CAP_EVENT_COC_DATA_RECEIVED
- Represents tx_unstalled data. Valid for the following event types: o BLE_L2CAP_EVENT_COC_TX_UNSTALLED
- Represents reconfiguration done. Valid for the following event types: o BLE_L2CAP_EVENT_COC_RECONFIG_COMPLETED o BLE_L2CAP_EVENT_COC_PEER_RECONFIGURED
- Used as a key for lookups of stored client characteristic configuration descriptors (CCCDs). This struct corresponds to the BLE_STORE_OBJ_TYPE_CCCD store object type.
- Used as a key for lookups of security material. This struct corresponds to the following store object types: o BLE_STORE_OBJ_TYPE_OUR_SEC o BLE_STORE_OBJ_TYPE_PEER_SEC
- Represents a write that failed due to storage exhaustion. Valid for the following event types: o BLE_STORE_EVENT_OVERFLOW
- Represents the possibility that a scheduled write will fail due to storage exhaustion. Valid for the following event types: o BLE_STORE_EVENT_FULL
- Represents a stored client characteristic configuration descriptor (CCCD). This struct corresponds to the BLE_STORE_OBJ_TYPE_CCCD store object type.
- Represents stored security material. This struct corresponds to the following store object types: o BLE_STORE_OBJ_TYPE_OUR_SEC o BLE_STORE_OBJ_TYPE_PEER_SEC
- 16-bit UUID
- 32-bit UUID
- 128-bit UUID
- Generic UUID type, to be used only as a pointer
- LwIP bridge configuration
- @brief DAC continuous channels’ configurations
- @brief DAC cosine channel configurations
- @brief Config the cosine wave generator function in DAC module.
- @brief Group of DAC callbacks @note The callbacks are all running under ISR environment @note When CONFIG_DAC_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 DAC event queue
- @brief DAC oneshot channel 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 Bootloader description structure
- @brief Bluetooth Controller config options @note 1. For parameters configurable in menuconfig, please refer to menuconfig for details on range and default values. 2. It is not recommended to modify the default values of
controller_task_stack_size
,controller_task_prio
. - @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 Data structure to Read/Write PHY register via ioctl API
- @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 LCD Intel 8080 bus configuration structure
- @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 intel 8080 interface
- @brief Panel IO configuration structure, for SPI interface
- @brief LCD panel IO interface
- @brief LCD panel interface
- @brief Mesh power save 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 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 Vendor HCI (VHCI) callback functions to notify the Host on the next operation
- @brief Structure representing configuration settings for WPS (Wi-Fi Protected Setup).
- @brief EMAC specific configuration
- @brief Configuration of Ethernet MAC object
- @brief Ethernet PHY configuration
- @brief Custom SPI Driver Configuration. This structure declares configuration and callback functions to access Ethernet SPI module via user’s custom SPI driver.
- 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 Members of clock division
- @brief Clock infomation
- @brief HTTP Server Configuration Structure
- @brief HTTP Request Data Structure
- @brief Structure for URI handler
- @brief I2C initialization parameters
- @brief I2C device configuration
- @brief Data structure for calculating I2C bus timing.
- @brief I2C master bus specific configurations
- @brief Group of I2C master callbacks, can be used to get status during transaction or doing other small things. But take care potential concurrency issues. @note The callbacks are all running under ISR context @note When CONFIG_I2C_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 Data type used in I2C event callback
- @brief I2C slave specific configurations
- @brief Group of I2C slave callbacks (e.g. get i2c slave stretch cause). But take care of potential concurrency issues. @note The callbacks are all running under ISR context @note When CONFIG_I2C_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 I2C slave
- @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 clock configuration for PDM RX mode
- @brief I2S PDM RX mode major configuration that including clock/slot/GPIO configuration
- @brief I2S PDM TX mode GPIO pins configuration
- @brief I2S slot configuration for PDM RX mode
- @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
- 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 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 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 event comparator ETM event configuration
- @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 fault event
- @brief Generator action on specific sync 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
- @brief Mesh initialization configuration
- @brief Mesh chain assoc
- @brief Mesh chain layer
- @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 Mesh RSSI threshold
- @brief The number of packets available in the queue waiting to be received by applications
- @brief Mesh switch parent
- @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
- @brief NVS encryption: Security scheme configuration structure
- @note Info about storage space NVS.
- Chained memory buffer.
- A packet header structure that preceeds the mbuf packet headers.
- A mbuf pool from which to allocate mbufs. This contains a pointer to the os mempool to allocate mbufs out of, the total number of elements in the pool, and the amount of “user” data in a non-packet header mbuf. The total pool size, in bytes, should be: os_mbuf_count * (omp_databuf_len + sizeof(struct os_mbuf))
- A memory block structure. This simply contains a pointer to the free list chain and is only used when the block is on the free list. When the block has been removed from the free list the entire memory block is usable by the caller.
- Memory pool
- Information describing a memory pool, used to return OS information to the management layer.
- Structure representing a queue of mbufs.
- 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 PCNT channel configuration
- @brief Pulse Counter configuration for a single channel
- @brief Group of supported PCNT callbacks @note The callbacks are all running under ISR environment @note When CONFIG_PCNT_ISR_IRAM_SAFE is enabled, the callback itself and functions callbed by it should be placed in IRAM.
- @brief PCNT glitch filter configuration
- @brief PCNT unit configuration
- @brief PCNT watch event data
- @brief Config parameters for protocomm BLE service
- @brief Structure for BLE events in Protocomm.
- @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.
- @brief Pin function information for a single RTCIO pad’s.
- Configuration of SDIO slave
- 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
- Extra configuration for SDMMC peripheral slot
- 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 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
- Type by which tasks are referenced. For example, a call to xTaskCreate returns (via a pointer parameter) an TaskHandle_t variable that can then be used as a parameter to vTaskDelete to delete the task.
- @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 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_HOME_CHANNEL_CHANGE 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 by esp_wifi. 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.
- @brief Struct that is equivalent in size to the ring buffer’s data structure
- @brief Task Snapshot structure
- Used with the uxTaskGetSystemState() function to return the state of each task in the system.
- @cond !DOC_EXCLUDE_HEADER_SECTION
Constants§
- 16-bit UUID (BT SIG assigned)
- 32-bit UUID (BT SIG assigned)
- 128-bit UUID
- < Chip did not respond to the command, or timed out.
- < The chip doesn’t have enough space for the current partition table
- 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 GPIO36
- < ADC1 channel 1 is GPIO37
- < ADC1 channel 2 is GPIO38
- < ADC1 channel 3 is GPIO39
- < ADC1 channel 4 is GPIO32
- < ADC1 channel 5 is GPIO33
- < ADC1 channel 6 is GPIO34
- < ADC1 channel 7 is GPIO35
- < ADC2 channel 0 is GPIO4 (ESP32), GPIO11 (ESP32-S2)
- < ADC2 channel 1 is GPIO0 (ESP32), GPIO12 (ESP32-S2)
- < ADC2 channel 2 is GPIO2 (ESP32), GPIO13 (ESP32-S2)
- < ADC2 channel 3 is GPIO15 (ESP32), GPIO14 (ESP32-S2)
- < ADC2 channel 4 is GPIO13 (ESP32), GPIO15 (ESP32-S2)
- < ADC2 channel 5 is GPIO12 (ESP32), GPIO16 (ESP32-S2)
- < ADC2 channel 6 is GPIO14 (ESP32), GPIO17 (ESP32-S2)
- < ADC2 channel 7 is GPIO27 (ESP32), GPIO18 (ESP32-S2)
- < ADC2 channel 8 is GPIO25 (ESP32), GPIO19 (ESP32-S2)
- < ADC2 channel 9 is GPIO26 (ESP32), GPIO20 (ESP32-S2)
- <No input attenuation, ADC can measure up to approx.
- <The input voltage of ADC will be attenuated extending the range of measurement by about 6 dB
- <The input voltage of ADC will be attenuated extending the range of measurement by about 2.5 dB
- <This is deprecated, it behaves the same as
ADC_ATTEN_DB_12
- <The input voltage of ADC will be attenuated extending the range of measurement by about 12 dB
- < ADC capture width is 9Bit.
- < ADC capture width is 10Bit.
- < ADC capture width is 11Bit.
- < 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
- < Characterization based on default reference voltage
- < Characterization based on Two Point values stored in eFuse
- < Characterization based on reference voltage stored in eFuse
- < 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
- < The monitor index 0.
- < The monitor index 1.
- < ADC raw_result > threshold value, monitor interrupt will be generated.
- < ADC raw_result < threshold value, monitor interrupt will be generated.
- < ADC ULP mode is disabled
- < ADC is controlled by ULP FSM
- < ADC is controlled by ULP RISCV
- < SAR ADC 1
- < SAR ADC 2
- < Both DAC channel 0 and channel 1
- < DAC channel 0 is GPIO25(ESP32) / GPIO17(ESP32S2)
- < DAC channel 1 is GPIO26(ESP32) / GPIO18(ESP32S2)
- < Alias of ‘DAC_CHAN_0’, now the channel index start from ‘0’
- < Alias of ‘DAC_CHAN_1’, now the channel index start from ‘0’
- < DAC channel 0 is GPIO25(ESP32) / GPIO17(ESP32S2)
- < DAC channel 1 is GPIO26(ESP32) / GPIO18(ESP32S2)
- < The data in the DMA buffer is alternately output to the enable channel of the DAC.
- < The data in the DMA buffer is simultaneously output to the enable channel of the DAC.
- < Original amplitude of the DAC cosine wave, equals to DAC_COSINE_ATTEN_DEFAULT
- < 1/2 amplitude of the DAC cosine wave
- < 1/4 amplitude of the DAC cosine wave
- < 1/8 amplitude of the DAC cosine wave
- < No attenuation to the DAC cosine wave amplitude. Default.
- < Phase shift +0°
- < Phase shift +180°
- < Phase shift +0°
- < Phase shift +180°
- < 1/1. Default.
- < 1/2.
- < 1/4.
- < 1/8.
- < Increment the task’s notification value.
- < Notify the task without updating its notify value.
- < Set bits in the task’s notification value.
- < Set the task’s notification value to a specific value even if the previous value has not yet been read by the task.
- < Set the task’s notification value if the previous value has been read by the task.
- < A task has been made ready or a context switch pended since portSUPPRESS_TICKS_AND_SLEEP() was called - abort entering a sleep mode.
- < No tasks are waiting for a timeout so it is safe to enter a sleep mode that can only be exited by an external interrupt.
- < Enter a sleep mode that will not last any longer than the expected idle time.
- < The task being queried is in the Blocked state.
- < The task being queried has been deleted, but its TCB has not yet been freed.
- < Used as an ‘invalid state’ value.
- < The task being queried is in a ready or pending ready list.
- < A task is querying the state of itself, so must be running.
- < The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out.
- @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
- < TX power for advertising
- < TX power for connection handle 0
- < TX power for connection handle 1
- < TX power for connection handle 2
- < TX power for connection handle 3
- < TX power for connection handle 4
- < TX power for connection handle 5
- < TX power for connection handle 6
- < TX power for connection handle 7
- < TX power for connection handle 8
- < Default TX power type, which can be used to set the TX power for power types that have not been set before.
- < Number of types
- < TX power for scan
- < BLE SCA at 20 ppm
- < BLE SCA at 30 ppm
- < BLE SCA at 50 ppm
- < BLE SCA at 75 ppm
- < BLE SCA at 100 ppm
- < BLE SCA at 150 ppm
- < BLE SCA at 250 ppm
- < BLE SCA at 500 ppm
- < The Controller has been initialized and enabled.
- < The Controller is not initialized or has been de-initialized.
- < The Controller has been initialized, but not enabled or has been disabled.
- < Number of Controller statuses
- < Bluetooth is operating in BLE mode.
- < Bluetooth is operating in Dual mode.
- < Bluetooth is operating in Classic Bluetooth mode.
- < Bluetooth is not operating.
- < chip ID: ESP32
- < chip ID: ESP32-C2
- < chip ID: ESP32-C3
- < chip ID: ESP32-C6
- < chip ID: ESP32-H2
- < chip ID: ESP32-P4
- < 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 block. Reserved.
- < Number of eFuse block. Used for Flash Encryption. If not using that Flash Encryption feature, they can be used for another purpose.
- < Number of eFuse block. Used for Secure Boot. If not using that Secure Boot feature, they can be used for another purpose.
- < Number of eFuse block. Uses for the purpose of the user.
- < Number of eFuse block. Used for Flash Encryption. If not using that Flash Encryption feature, they can be used for another purpose.
- < Number of eFuse block. Used for Flash Encryption. If not using that Flash Encryption feature, they can be used for another purpose.
- < Number of eFuse block. Used for Secure Boot. If not using that Secure Boot feature, they can be used for another purpose.
- < Number of eFuse block. Uses for the purpose of the user.
- < Number of eFuse block. Used for Secure Boot. If not using that Secure Boot feature, they can be used for another purpose.
- < 3/4 coding
- < None
- < Repeat coding
- < BLOCK1
- < MAX PURPOSE
- < BLOCK2
- < BLOCK0
- < BLOCK3
- < 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
- < Read PHY register
- < Set PHY Auto Negotiation
- < Set Duplex mode
- < Set flow control
- < Set MAC address
- < Set PHY address
- < Set PHY loopback
- < Set promiscuous mode
- < Set Speed
- < Write PHY register
- < 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 Digest 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 compatibility 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
- < Install the peripheral interrupt to CPU core 0
- < Install the peripheral interrupt to CPU core 1
- < Install the peripheral interrupt to ANY CPU core, decided by on which CPU the interrupt allocator is running
- !< 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
- !< LITTLEFS 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.
- < Corresponding to 0 dBm
- < Backward compatibility! Setting to -2 dBm will actually result in 0 dBm
- < Corresponding to -3 dBm
- < Backward compatibility! Setting to -5 dBm will actually result in -3 dBm
- < Corresponding to -6 dBm
- < Backward compatibility! Setting to -8 dBm will actually result in -6 dBm
- < Corresponding to -9 dBm
- < Backward compatibility! Setting to -11 dBm will actually result in -9 dBm
- < Corresponding to -12 dBm
- < Backward compatibility! Setting to -14 dBm will actually result in -12 dBm
- < Backward compatibility! Setting to +1 dBm will actually result in +3 dBm
- < Corresponding to +3 dBm
- < Backward compatibility! Setting to +4 dBm will actually result in +6 dBm
- < Corresponding to +6 dBm
- < Backward compatibility! Setting to +7 dBm will actually result in +9 dBm
- < Corresponding to +9 dBm
- !< Brownout reset (software or hardware)
- !< Reset due to CPU lock up
- !< Reset after exiting deep sleep mode
- !< Reset due to efuse error
- !< Reset by external pin (not applicable for ESP32)
- !< Reset (software or hardware) due to interrupt watchdog
- !< Reset by JTAG
- !< Software reset due to exception/panic
- !< Reset due to power-on event
- !< Reset due to power glitch detected
- !< Reset over SDIO
- !< Software reset via esp_restart
- !< Reset due to task watchdog
- !< Reset reason can not be determined
- !< Reset by USB peripheral
- !< Reset due to other watchdogs
- < data over HCI transport
- < data over PCM interface
- !< Wake the chip when all selected GPIOs go low
- !< Wake the chip when any of the selected GPIOs go high
- !< deep sleep mode
- !< light sleep mode
- !< Number of domains
- !< MODEM, includes WiFi, Bluetooth and IEEE802.15.4
- !< Internal Fast oscillator
- !< RTC fast memory
- !< RTC IO, sensors and ULP co-processor
- !< RTC slow memory
- !< 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
- < 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
- < GPIO22, input and output
- < GPIO23, input and output
- < GPIO25, input and output
- < GPIO26, input and output
- < GPIO27, input and output
- < GPIO28, input and output
- < GPIO29, input and output
- < GPIO30, input and output
- < GPIO31, input and output
- < GPIO32, input and output
- < GPIO33, input and output
- < GPIO34, input mode only
- < GPIO35, input mode only
- < GPIO36, input mode only
- < GPIO37, input mode only
- < GPIO38, input mode only
- < GPIO39, input mode only
- < 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
- < Round the division to the nearest integer (round up if fraction >= 1/2, round down if fraction < 1/2)
- < Round the division down to the floor integer
- < Round the division up to the ceiling integer
- < I2C ack for each byte read
- < I2C nack for the last byte
- < I2C nack for each byte read
- < i2c address bit length 7
- < I2C 7bit address for slave mode
- < I2C 10bit address for slave mode
- < i2c bus in alive status.
- < i2c bus transaction done
- < i2c bus nack
- < i2c bus timeout
- < ack error status for current master command
- < I2C command done
- < idle status for current master command
- < read status for current master command
- < Start status for current master command
- < stop status for current master command
- < I2C bus status error, and operation timeout
- < write status for current master command
- < I2C master mode
- < I2C slave mode
- < I2C port 0
- < I2C port 1
- < I2C port max
- < I2C read data
- < I2C write data
- < Stretching SCL low when the slave is read by the master and the address just matched
- < Stretching SCL low when RX FIFO is full in slave mode
- < Stretching SCL low when slave sending ACK
- < Stretching SCL low when TX FIFO is empty in slave mode
- < 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
- < 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 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
- < Enable both of the I2S built-in DAC channels.
- < Disable I2S built-in DAC signals
- < Enable I2S built-in DAC left channel, maps to DAC channel 1 on GPIO26
- < I2S built-in DAC mode max index
- < Enable I2S built-in DAC right channel, maps to DAC channel 0 on GPIO25
- < 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
- < Input I2S data from built-in ADC, each data can be 12-bit width at most
- < Output I2S data to built-in DAC, no matter the data format is 16bit or 32 bit, the DAC module will only take the 8bits from MSB
- < Master mode
- < I2S PDM mode
- < RX mode
- < Slave mode
- < TX mode
- < downsampling number is 8 for PDM RX mode
- < downsampling number is 16 for PDM RX mode
- < 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
- < I2S controller port 0
- < I2S controller port 1
- < 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
- < 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 channel 6
- < LEDC channel 7
- < LEDC timer clock divided from APB clock (80Mhz)
- < LEDC timer clock divided from reference tick (1Mhz)
- < 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 high speed speed_mode
- < 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 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 PWM duty resolution of 15 bits
- < LEDC PWM duty resolution of 16 bits
- < LEDC PWM duty resolution of 17 bits
- < LEDC PWM duty resolution of 18 bits
- < LEDC PWM duty resolution of 19 bits
- < LEDC PWM duty resolution of 20 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
- < The count value equals the value of comparator
- < Maximum number of comparator events
- < 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 standalone 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.
- < Decrease count value
- < Hold current count value
- < Increase count value
- < Hold current count value
- < Invert current count mode (increase -> decrease, decrease -> increase)
- < Keep current count mode
- < PCNT channel 0
- < PCNT channel 1
- < PCNT watch point event: Maximum counter value
- < PCNT watch point event: Minimum counter value
- < PCNT watch point event: threshold0 value event
- < PCNT watch point event: threshold1 value event
- < PCNT watch point event: counter value zero event
- < PCNT port 0
- < PCNT port max
- PCNT unit 0
- PCNT unit 1
- PCNT unit 2
- PCNT unit 3
- PCNT unit 4
- PCNT unit 5
- PCNT unit 6
- PCNT unit 7
- Maximum number of PCNT units
- < start from negative value, end to positive value, i.e. -N->+M
- < start from negative value, end to zero, i.e. -N->0
- < start from positive value, end to negative value, i.e. +N->-M
- < start from positive value, end to zero, i.e. +N->0
- < 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 efuse, level, not likely to use
- < interrupt of ethernet mac, level
- < 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 controller0, level
- < interrupt of I2S0, level
- < interrupt of I2S1, level
- < interrupt of LED PWM, level
- < total number of interrupt sources
- < interrupt of MMU Invalid Access, LEVEL
- < interrupt of MPU Invalid Access, LEVEL
- < interrupt of pluse count, level
- < interrupt of PWM0, level, Reserved
- < interrupt of PWM1, level, Reserved
- < 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 SD/SDIO/MMC HOST, level
- < interrupt of SLC0, level
- < interrupt of SLC1, level
- < interrupt of SPI0, level, SPI0 is for Cache Access, do not use this
- < interrupt of SPI1 DMA, SPI1 is for flash read/write, do not use this
- < interrupt of SPI1, level, SPI1 is for flash read/write, do not use this
- < interrupt of SPI2 DMA, level
- < interrupt of SPI2, level
- < interrupt of SPI3 DMA, level
- < interrupt of SPI3, level
- < interrupt of TIMER_GROUP0, LACT, EDGE
- < interrupt of TIMER_GROUP0, LACT, level
- < interrupt of TIMER_GROUP0, TIMER0, EDGE
- < interrupt of TIMER_GROUP0, TIMER0, level, we would like use EDGE for timer if permission
- < interrupt of TIMER_GROUP0, TIMER1, EDGE
- < interrupt of TIMER_GROUP0, TIMER1, level, we would like use EDGE for timer if permission
- < interrupt of TIMER_GROUP0, WATCH DOG, EDGE
- < interrupt of TIMER_GROUP0, WATCHDOG, level
- < interrupt of TIMER_GROUP0, LACT, EDGE
- < interrupt of TIMER_GROUP1, LACT, level
- < interrupt of TIMER_GROUP1, TIMER0, EDGE
- < interrupt of TIMER_GROUP1, TIMER0, level, we would like use EDGE for timer if permission
- < interrupt of TIMER_GROUP1, TIMER1, EDGE
- < interrupt of TIMER_GROUP1, TIMER1, level, we would like use EDGE for timer if permission
- < interrupt of TIMER_GROUP1, WATCHDOG, EDGE
- < interrupt of TIMER_GROUP1, WATCHDOG, level
- < will be cancelled
- < will be cancelled
- < interrupt of twai, level
- < interrupt of UART0, level
- < interrupt of UART1, level
- < interrupt of UART2, level
- < interrupt of UHCI0, level
- < interrupt of UHCI1, level
- < will be cancelled
- < 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
- < RMT channel number 4
- < RMT channel number 5
- < RMT channel number 6
- < RMT channel number 7
- < 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
- < General purpose interrupt bit 0.
- < New packet available
- < Packet mode, one packets will be sent one after another (only increase packet_len if last packet sent).
- < Stream mode, all packets to send will be combined as one if possible
- < Send at negedge, and sample at negedge
- < Send at negedge, and sample at posedge. Default value for DS mode and below. If :c:macro:
SDIO_SLAVE_FLAG_DEFAULT_SPEED
is specified in :cpp:class:sdio_slave_config_t
, this should be selected. - < Send at posedge, and sample at negedge
- < Send at posedge, and sample at posedge. Default value for HS mode. If :c:macro:
SDIO_SLAVE_FLAG_HIGH_SPEED
is specified in :cpp:class:sdio_slave_config_t
, this should be selected. Normally there’s no problem using this to work in DS mode. - < Delay phase 0
- < Delay phase 1
- < Delay phase 2
- < Delay phase 3
- < 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 4
- < Sigma-delta channel 5
- < Sigma-delta channel 6
- < Sigma-delta channel 7
- < 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.
- < Divided by PLL, frequency is configurable
- < I2S0 clock, depends on the i2s driver configuration
- < I2S1 clock, depends on the i2s driver configuration
- < PLL_CLK is the output of crystal oscillator frequency multiplier
- < From PLL, usually be 80MHz
- < RC fast clock, about 8MHz
- < RC slow clock, depends on the RTC_CLK_SRC configuration
- < Divided by APB clock, usually be 1MHz
- < Main crystal oscillator clock
- < Select APLL_CLK as CPU_CLK source
- < 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
- < APLL is sourced from PLL, and its frequency is configurable through APLL configuration registers
- < CPU_CLK can be sourced from XTAL, PLL, RC_FAST, or APLL by configuring soc_cpu_clk_src_t
- < Indication of the end of the available module clock sources
- < PLL_D2_CLK is derived from PLL, it has a fixed divider of 2
- < PLL_F160M_CLK is derived from PLL, and has a fixed frequency of 160MHz
- < RC_FAST_CLK comes from the internal 8MHz rc oscillator, passing a clock gating to the peripherals
- < RC_FAST_D256_CLK comes from the internal 8MHz rc oscillator, divided by 256, and passing a clock gating to the peripherals
- < REF_TICK is derived from APB, it has a fixed frequency of 1MHz even when APB frequency changes
- < RTC_FAST_CLK can be sourced from XTAL_D4 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 crystal (2~40MHz)
- < XTAL32K_CLK comes from the external 32kHz crystal, passing a clock gating to the peripherals
- < Select APLL as the source clock
- < Select F160M as the default clock choice
- < Select F160M as the source clock
- < Select RC_FAST as the default clock choice
- < Select RC_FAST as the source clock
- < Select RTC FAST as the default source clock
- < Select RTC FAST as the source clock
- < Select APLL as the source clock
- < Select PLL_D2 as the default source clock
- < Select PLL_D2 as the source clock
- < Select APB as the source clock
- < Select APB as the default choice
- < Select APLL as the source clock
- < Select PLL_F160M as the default source clock
- < Select PLL_F160M as the source clock
- < Select PLL_160M as the default choice
- < Select PLL_160M 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
- < Select REF_TICK as the source clock
- < Alias of ‘LEDC_USE_RC_FAST_CLK’
- < Select APB as the source clock
- < Select APB as the default clock choice
- < Select PLL_F160M as the default clock choice
- < Select PLL_F160M as the source clock
- < Select PLL_F160M as the default clock choice
- < Select PLL_F160M as the source clock
- < Select APB as the source clock
- < Select APB as the default clock choice
- < RMT source clock is APB CLK
- < RMT source clock default choice is APB
- < RMT source clock is REF_TICK
- < Select APB as the source clock
- < Select APB as the default choice
- < Select REF_TICK as the source clock
- < Select APB as the source clock
- < Select APB as the default clock choice
- < Select PLL_160M as the default choice
- < Select PLL_160M as the source clock
- < Select APB as SPI source clock
- < Select APB as SPI source clock
- < SYSTIMER source clock default choice is XTAL
- < SYSTIMER source clock is XTAL
- < Timer group source clock is APB
- < Timer group source clock default choice is APB
- < 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 REF_TICK
- < External 2~40MHz crystal
- < External 32kHz crystal/clock signal
- < Internal 8MHz RC oscillator
- < Internal 150kHz RC oscillator
- < Invalid RTC_FAST_CLK source
- < Select RC_FAST_CLK as RTC_FAST_CLK source
- < Select XTAL_D4_CLK (may referred as XTAL_CLK_DIV_4) as RTC_FAST_CLK source
- < Alias name for
SOC_RTC_FAST_CLK_SRC_XTAL_D4
- < 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, select DMA Channel 1
- < Enable DMA, select DMA Channel 2
- < 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
- < SPI3
- < 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
- < Select timer1 of GROUPx
- < Interrupt mode: level mode
- < interrupt of timer 0
- < interrupt of timer 1
- < 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
- <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
- < 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)
- <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
- < 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
- < UART port 0
- < UART port 1
- < UART port 2
- < UART port max
- < 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: 2bits
- < stop bit: 1.5bits
- < 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
- < this authentication mode will yield same result as WIFI_AUTH_WPA3_PSK and not recommended to be used. It will be deprecated in future, please use WIFI_AUTH_WPA3_PSK instead.
- < this authentication mode will yield same result as WIFI_AUTH_WPA3_PSK and not recommended to be used. It will be deprecated in future, please use WIFI_AUTH_WPA3_PSK instead.
- < 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
- < Recv deauth from AP while wps handshake
- < 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
- < bTWT setup
- < bTWT teardown
- < Connectionless module wake interval start
- < Receive report of FTM procedure
- < WiFi home channel change,doesn’t occur when scanning
- < 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
- < TWT wakeup
- < WiFi ready
- < Peer rejected FTM configuration in FTM Request
- < Unknown error during FTM exchange
- < Peer did not respond to FTM Requests
- < FTM session did not result in any valid measurements
- < FTM exchange is successful
- < Peer does not support FTM
- < User triggered termination
- < 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⚠
- SENS⚠
- __sf⚠
- @cond
- @brief Pointer to the “default” SPI flash chip, ie the main chip attached to the MCU.
- @brief Default log level
- 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 Provides access to a constant table of RTC I/O pin function information. The index of table is the index of rtcio.
- @brief Provides a constant table to get rtc io number with gpio number
- @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
- 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 ADC1 to be usable by the ULP
- @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 Line Fitting calibration scheme
- @brief Delete the Line Fitting calibration scheme handle
- @brief Convert ADC raw data to calibrated voltage
- @brief Helper function to quickly check the ADC calibration code burnt on your eFuse
- @brief Get GPIO number from the given ADC channel
- @brief Set ADC continuous mode required configurations
- @brief Deinitialize the ADC continuous driver.
- @brief Flush the driver internal pool
- @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 Set ADC source clock @param clk_div ADC clock divider, ADC clock is divided from APB clock @return - ESP_OK success
- @brief Set ADC data invert @param adc_unit ADC unit index @param inv_en whether enable data invert @return - ESP_OK success - ESP_ERR_INVALID_ARG Parameter error
- @brief Configure ADC capture width.
- @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⚠
- Retrieves the ATT MTU of the specified connection. If an MTU exchange for this connection has occurred, the MTU is the lower of the two peers’ preferred values. Otherwise, the MTU is the default value of 23.
- Retrieves the preferred ATT MTU. This is the value indicated by the device during an ATT MTU exchange.
- Sets the preferred ATT MTU; the device will indicate this value in all subsequent ATT MTU exchanges. The ATT MTU of a connection is equal to the lower of the two peers’ preferred MTU values. The ATT MTU is what dictates the maximum size of any message sent during a GATT procedure.
- Reads a locally registered attribute. If the specified attribute handle corresponds to a GATT characteristic value or descriptor, the read is performed by calling the registered GATT access callback.
- Writes a locally registered attribute. This function consumes the supplied mbuf regardless of the outcome. If the specified attribute handle corresponds to a GATT characteristic value or descriptor, the write is performed by calling the registered GATT access callback.
- Configures the device to advertise Eddystone UID beacons.
- Configures the device to advertise Eddystone URL beacons.
- Indicates whether an advertisement procedure is currently in progress.
- Configures the data to include in subsequent scan responses.
- Configures the fields to include in subsequent scan responses. This is a convenience wrapper for ble_gap_adv_rsp_set_data().
- Configures the data to include in subsequent advertisements.
- Configures the fields to include in subsequent advertisements. This is a convenience wrapper for ble_gap_adv_set_data().
- @brief Start advertising
- Stops the currently-active advertising procedure. A success return code indicates that advertising has been fully aborted and a new advertising procedure can be initiated immediately.
- Indicates whether a connect procedure is currently in progress.
- Aborts a connect procedure in progress.
- Searches for a connection with the specified handle. If a matching connection is found, the supplied connection descriptor is filled correspondingly.
- Searches for a connection with a peer with the specified address. If a matching connection is found, the supplied connection descriptor is filled correspondingly.
- Retrieves the most-recently measured RSSI for the specified connection. A connection’s RSSI is updated whenever a data channel PDU is received.
- Initiates a connect procedure.
- Authorizes or deauthorizes a BLE device for a connection.
- Performs the Limited or General Discovery Procedures.
- Indicates whether a discovery procedure is currently in progress.
- Cancels the discovery procedure currently in progress. A success return code indicates that scanning has been fully aborted; a new discovery or connect procedure can be initiated immediately.
- Start a test where the DUT receives test reference packets at fixed interval
- Start a test where the DUT generates reference packets at a fixed interval.
- Start a test where the DUT receives test reference packets at a fixed interval.
- Stop any test which is in progress
- Start a test where the DUT generates reference packets at a fixed interval.
- Initiates the GAP encryption procedure as a master. This is for testing only and should not be used by application. Use ble_gap_security_initiate() instead.
- Registers listener for GAP events
- Unregisters listener for GAP events
- Initiates an extended connect procedure.
- Performs the Limited or General Extended Discovery Procedures.
- This API is called to get local used address and address type.
- This API gives the current status of various stack operations
- Initiates the GAP pairing procedure as a master. This is for testing only and should not be used by application. Use ble_gap_security_initiate() instead.
- Read PHYs used for specified connection.
- Read LE Suggested Default Data Length in controller (OGF = 0x08, OCF = 0x0024).
- Initiates the GAP security procedure.
- Configure LE Data Length in controller (OGF = 0x08, OCF = 0x0022).
- Set Data Related Address Changes Param
- Configures a connection to use the specified GAP event callback. A connection’s GAP event callback is first specified when the connection is created, either via advertising or initiation. This function replaces the callback that was last configured.
- Set preferred default PHYs to be used for connections.
- Set preferred PHYs to be used for connection.
- Set privacy mode for specified peer device
- Terminates an established connection.
- Unpairs a device with the specified address. The keys related to that peer device are removed from storage and peer address is removed from the resolve list from the controller. If a peer is connected, the connection is terminated.
- Similar to
ble_gap_unpair_oldest_peer()
, except it makes sure that the peer received in input parameters is not deleted. - Unpairs the oldest bonded peer device. The keys related to that peer device are removed from storage and peer address is removed from the resolve list from the controller. If a peer is connected, the connection is terminated.
- Initiates a connection parameter update procedure.
- Retrieves the size of the controller’s white list.
- Overwrites the controller’s white list with the specified contents.
- Clears all addresses from controller’s white list.
- Removes the address from controller’s white list.
- Configure LE Suggested Default Data Length in controller (OGF = 0x08, OCF = 0x0024).
- Initiates GATT procedure: Discover All Characteristics of a Service.
- Initiates GATT procedure: Discover All Characteristic Descriptors.
- Initiates GATT procedure: Discover All Primary Services.
- Initiates GATT procedure: Discover Characteristics by UUID.
- Initiates GATT procedure: Discover Primary Service by Service UUID.
- Initiates GATT procedure: Exchange MTU.
- Initiates GATT procedure: Find Included Services.
- Deprecated. Should not be used. Use ble_gatts_indicate instead.
- Deprecated. Should not be used. Use ble_gatts_indicate_custom instead.
- Deprecated. Should not be used. Use ble_gatts_notify instead.
- Deprecated. Should not be used. Use ble_gatts_notify_custom instead.
- Initiates GATT procedure: Read Characteristic Value.
- Initiates GATT procedure: Read Using Characteristic UUID.
- Initiates GATT procedure: Read Long Characteristic Values.
- Initiates GATT procedure: Read Multiple Characteristic Values.
- Initiates GATT procedure: Signed Write. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Write Characteristic Value. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Write Characteristic Value (flat buffer version).
- Initiates GATT procedure: Write Long Characteristic Values. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Write Without Response. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Write Without Response. This function consumes the supplied mbuf regardless of the outcome.
- Initiates GATT procedure: Reliable Writes. This function consumes the supplied mbufs regardless of the outcome.
- Queues a set of service definitions for registration. All services queued in this manner get registered when ble_gatts_start() is called.
- Send notification (or indication) to any connected devices that have subscribed for notification (or indication) for specified characteristic.
- Adjusts a host configuration object’s settings to accommodate the specified service definition array. This function adds the counts to the appropriate fields in the supplied configuration object without clearing them first, so it can be called repeatedly with different inputs to calculate totals. Be sure to zero the GATT server settings prior to the first call to this function.
- Retrieves the pair of attribute handles associated with a local GATT characteristic.
- Retrieves the attribute handle associated with a local GATT descriptor.
- Retrieves the attribute handle associated with a local GATT service.
- Returns the current number of configured characteristics
- Sends a characteristic indication. The content of the message is read from the specified characteristic.
- Sends a “free-form” characteristic indication. The provided mbuf contains the indication payload. This function consumes the supplied mbuf regardless of the outcome.
- Sends a characteristic notification. The content of the message is read from the specified characteristic.
- Sends a “free-form” characteristic notification. This function consumes the supplied mbuf regardless of the outcome.
- Gets Client Supported Features for specified connection.
- Saves Client Supported Features for specified connection.
- Resets the GATT server to its initial state. On success, this function removes all supported services, characteristics, and descriptors. This function requires that: o No peers are connected, and o No GAP operations are active (advertise, discover, or connect).
- Prints dump of local GATT database. This is useful to log local state of database in human readable form.
- Makes all registered services available to peers. This function gets called automatically by the NimBLE host on startup; manual calls are only necessary for replacing the set of supported services with a new one. This function requires that: o No peers are connected, and o No GAP operations are active (advertise, discover, or connect).
- Resets the GATT configuration parameters and deallocates the memory of attributes.
- Set visibility of local GATT service. Invisible services are not removed from database but are not discoverable by peer devices. Service Changed should be handled by application when needed by calling ble_svc_gatt_changed().
- Sends ACL data from host to controller.
- Sends an HCI command from the host to the controller.
- Sends ACL data from controller to host.
- Sends an HCI event from the controller to the host.
- Deinitializes the NimBLE host. This function must be called after the NimBLE host stop procedure is complete.
- Designates the specified event queue for NimBLE host work. By default, the host uses the default event queue and runs in the main task. This function is useful if you want the host to run in a different task.
- Queries the controller for the channel map used with the specified connection. The channel map is represented as an array of five bytes, with each bit corresponding to an individual channel. The array is interpreted as little-endian, such that: map[0] & 0x01 –> Channel 0. map[0] & 0x02 –> Channel 1. … map[1] & 0x01 –> Channel 8.
- Instructs the controller to use the specified channel map. The channel map is represented as an array of five bytes, with each bit corresponding to an individual channel. The array is interpreted as little-endian, such that: map[0] & 0x01 –> Channel 0. map[0] & 0x02 –> Channel 1. … map[1] & 0x01 –> Channel 8.
- Read host’s suggested values for the controller’s maximum transmitted number of payload octets and maximum packet transmission time (OGF = 0x08, OCF = 0x0024).
- Configure LE Data Length in controller (OGF = 0x08, OCF = 0x0022).
- Configure host’s suggested maximum transmitted number of payload octets and maximum packet transmission time in controller (OGF = 0x08, OCF = 0x0024).
- Retrieves one of the device’s identity addresses. The device can have two identity addresses: one public and one random. The id_addr_type argument specifies which of these two addresses to retrieve.
- Generates a new random address. This function does not configure the device with the new address; the caller can use the address in subsequent operations.
- Determines the best address type to use for automatic address type resolution. Calculation of the best address type is done as follows:
- Sets the device’s random address. The address type (static vs. non-resolvable private) is inferred from the most-significant byte of the address. The address is specified in host byte order (little-endian!).
- Initializes the NimBLE host. This function must be called before the OS is started. The NimBLE stack requires an application task to function. One application task in particular is designated as the “host parent task”. In addition to application-specific work, the host parent task does work for NimBLE by processing events generated by the host.
- @brief Indicates whether the host is enabled. The host is enabled if it is starting or fully started. It is disabled if it is stopping or stopped.
- Allocates an mbuf suitable for an ATT command packet. The resulting packet has sufficient leading space for:
- Allocates an mbuf and fills it with the contents of the specified flat buffer.
- Copies the contents of an mbuf into the specified flat buffer. If the flat buffer is too small to contain the mbuf’s contents, it is filled to capacity and BLE_HS_EMSGSIZE is returned.
- Causes the host to reset the NimBLE stack as soon as possible. The application is notified when the reset occurs via the host reset callback.
- Enqueues a host start event to the default event queue. The actual host startup is performed in the host parent task, but using the default queue here ensures the event won’t run until the end of main() when this is called during system initialization. This allows the application to configure the host package in the meantime.
- @brief Called when the system is shutting down. Stops the BLE host.
- Synchronizes the host with the controller by sending a sequence of HCI commands. This function must be called before any other host functionality is used, but it must be called after both the host and controller are initialized. Typically, the host-parent-task calls this function at the top of its task routine. This function must only be called in the host parent task. A safe alternative for starting the stack from any task is to call
ble_hs_sched_start()
. - @brief Stops the BLE host.
- Indicates whether the host has synchronized with the controller. Synchronization must occur before any host procedures can be performed.
- Tries to configure the device with at least one Bluetooth address. Addresses are restored in a hardware-specific fashion.
- This API is called to get ADV data for a specific type.
- Utility functions.
- @brief Compares two Bluetooth UUIDs.
- @brief Copy Bluetooth UUID
- @brief Constructs a UUID object from a byte array.
- @brief Converts the specified UUID to its string representation.
- @brief Converts the specified 16-bit UUID to a uint16_t.
- @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 Read ota_info partition and fill array from two otadata structures.
- @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
- @brief Delete the DAC continuous handle
- @brief Disable the DAC continuous mode
- @brief Enabled the DAC continuous mode @note Must enable the channels before
- @brief Allocate new DAC channels in continuous mode @note The DAC channels can’t be registered to continuous mode separately
- @brief Set event callbacks for DAC continuous mode
- @brief Start the async writing @note When the asynchronous writing start, the DAC will keep outputting ‘0’ until the data are loaded into the DMA buffer. To loaded the data into DMA buffer, ‘on_convert_done’ callback is required, which can be registered by ‘dac_continuous_register_event_callback’ before enabling
- @brief Stop the sync writing
- @brief Write DAC data continuously @note The data in buffer will only be converted one time, This function will be blocked until all data loaded or timeout then the DAC output will keep outputting the voltage of the last data in the buffer @note Specially, on ESP32, the data bit width of DAC continuous data is fixed to 16 bits while only the high 8 bits are available, The driver will help to expand the inputted buffer automatically by default, you can also align the data to 16 bits manually by clearing
CONFIG_DAC_DMA_AUTO_16BIT_ALIGN
in menuconfig. - @brief Write DAC data asynchronously @note This function can be called when the asynchronous writing started, and it can be called in the callback directly but recommend to writing data in a task, referring to :example:
peripherals/dac/dac_continuous/dac_audio
- @brief Write DAC continuous data cyclically @note The data in buffer will be converted cyclically using DMA once this function is called, This function will return once the data loaded into DMA buffers. @note The buffer size of cyclically output is limited by the descriptor number and dma buffer size while initializing the continuous mode. Concretely, in order to load all the data into descriptors, the cyclic buffer size is not supposed to be greater than
desc_num * buf_size
@note Specially, on ESP32, the data bit width of DAC continuous data is fixed to 16 bits while only the high 8 bits are available, The driver will help to expand the inputted buffer automatically by default, you can also align the data to 16 bits manually by clearingCONFIG_DAC_DMA_AUTO_16BIT_ALIGN
in menuconfig. - @brief Delete the DAC cosine wave channel
- @brief Allocate a new DAC cosine wave channel @note Since there is only one cosine wave generator, only the first channel can set the frequency of the cosine wave. Normally, the latter one is not allowed to set a different frequency, but the it can be forced to set by setting the bit
force_set_freq
in the configuration, notice that another channel will be affected as well when the frequency is updated. - @brief Start outputting the cosine wave on the channel
- @brief Stop outputting the cosine wave on the channel
- @brief Config the cosine wave generator function in DAC module.
- @brief Disable cosine wave generator output.
- @brief Enable cosine wave generator output.
- @brief Disable DAC output data from I2S
- @brief Enable DAC output data from I2S
- @brief Delete the DAC oneshot channel @note The channel will be disabled as well when the channel deleted
- @brief Allocate a new DAC oneshot channel @note The channel will be enabled as well when the channel allocated
- @brief Output the voltage @note Generally it’ll take 7~11 us on ESP32 and 10~21 us on ESP32-S2
- @brief DAC pad output disable
- @brief DAC pad output enable
- @brief Set DAC output voltage. DAC output is 8-bit. Maximum (255) corresponds to VDD3P3_RTC.
- @brief Get the GPIO number of a specific DAC channel.
- div⚠
- dup⚠
- dup2⚠
- INCLUDE_eTaskGetState must be defined as 1 for this function to be available. See the configuration section for more information.
- @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.
- XTS-AES 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.
- Allocates a flat buffer of the specified type.
- Frees the specified flat buffer. The buffer must have been allocated via ble_hci_trans_buf_alloc().
- Configures the HCI transport to operate with a host. The transport will execute specified callbacks upon receiving HCI packets from the controller.
- Sends ACL data from host to controller.
- Allocates a flat buffer of the specified type.
- Resets the HCI module to a clean state. Frees all buffers and reinitializes the underlying transport.
- @brief Manually clear the scan duplicate list
- @brief Get BLE TX power
- @brief Set BLE TX power
- @brief Return esp_bootloader_desc structure.
- @brief Set default SCO data path
- @brief Get BR/EDR TX power
- @brief Set BR/EDR TX power
- @brief De-initialize Bluetooth Controller to free resources and delete tasks
- @brief Disable Bluetooth Controller
- @brief Enable Bluetooth Controller
- @brief Get Bluetooth Controller status
- @brief Initialize the Bluetooth Controller to allocate tasks and other resources
- @brief Release the Controller memory as per the mode
- @brief Release the Controller memory, BSS and data section of the Classic Bluetooth/BLE Host stack as per the mode
- @brief Disable Bluetooth modem sleep
- @brief Enable Bluetooth modem sleep
- @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 Print/store coredump data to the selected destination uart or flash.
- @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
- Initialize the crosscore interrupt system for this CPU. This needs to be called once on every CPU that is used by FreeRTOS.
- Send an interrupt to a CPU indicating it should update its CCOMPARE1 value due to a frequency switch.
- Send an interrupt to a CPU indicating it should print its current backtrace
- Send an interrupt to a CPU indicating it call
task_wdt_timeout_abort_xtensa
. This will make the CPU abort, using the interrupted task frame. - Send an interrupt to a CPU indicating it should yield its currently running task in favour of a higher-priority task that presumably just woke up.
- @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 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 Disable BASIC ROM Console via efuse
- @brief Disable ROM Download Mode via eFuse
- @brief Find a key block with the particular purpose set.
- @brief Return efuse coding scheme for blocks.
- @brief Returns the number of bits used by field.
- @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 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 a read protection for the key block.
- @brief Sets a write protection for the 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 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 ESP32 Ethernet MAC instance
- @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 Allocate a block in high memory
- @brief Allocate a memory region to map blocks into
- @brief Free a block of physical memory
- @brief Free a mapping range
- @brief Get free amount of memory under control of himem API
- @brief Get total amount of memory under control of himem API
- @brief Map a block of high memory into the CPUs address space
- @brief Get amount of SPI memory address space needed for bankswitching
- @brief Unmap a region
- @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 preferable 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 reuse 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 Reset the redirection counter. This is useful to reset redirect counter in cases where the same handle is used for multiple requests.
- @brief On receiving a custom authentication header, this API can be invoked to set the authentication information from the header. This API can be called from the event handler.
- @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 control 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 Dump the status of allocated interrupts @param stream The stream to dump to, if NULL then stdout is used @return ESP_OK on success
- @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 Execute a callback on a given CPU
- @brief Execute a callback on a given CPU until and block until it completes
- @brief Destroy Intel 8080 bus handle
- @brief Create Intel 8080 bus handle
- @brief Create LCD panel IO handle, for I2C interface in legacy implementation
- @brief Create LCD panel IO handle, for I2C interface in new implementation
- @brief Create LCD panel IO, for Intel 8080 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 Enter or exit sleep mode
- @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 context setup
- \brief MD5 process buffer
- @brief Set whether allow more than one root existing in one network - The default value is true, that is, multiple roots are allowed.
- @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 of current parent
- @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() - Suggest to set the blocking time to at least 5s when the environment is poor. Otherwise, esp_mesh_send() may timeout frequently.
- @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 of current parent - 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 Cause the TCP/IP stack to add an IPv6 address to the interface
- @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 Return a netif pointer for the first interface that meets criteria defined by the callback
- @brief Get all IPv6 addresses of the specified interface
- @brief Get all preferred 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 Iterates over list of interfaces without list locking. Returns first netif if NULL given as parameter
- @brief Passes the raw packets from communication media to the appropriate TCP/IP stack
- @brief Cause the TCP/IP stack to remove an IPv6 address from the interface
- @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 Returns SNTP server’s reachability shift register as described in RFC 5905.
- @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
- Postponed _GLOBAL_REENT stdio FPs initialization.
- Initialize newlib static locks
- @brief esp_nimble_deinit - Deinitialize the NimBLE host stack
- @brief esp_nimble_disable - Disable the NimBLE host task
- @brief esp_nimble_enable - Initialize the NimBLE host task
- @brief Deinitialize VHCI transport layer between NimBLE Host and ESP Bluetooth controller
- @brief Initialize VHCI transport layer between NimBLE Host and ESP Bluetooth controller
- @brief esp_nimble_init - Initialize the NimBLE host stack
- @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 the description structure of the bootloader.
- @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.
- Check whether the region on the main flash is not read-only.
- @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 Unload partitions and free space allocated by them
- @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 Check if the pointer is byte accessible
- @brief Check if the pointer is in external ram dma capable region
- @brief Check if the pointer is in external ram
- @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 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 Disable wakeup by bluetooth @return - ESP_OK on success - ESP_ERR_NOT_SUPPORTED if wakeup from bluetooth is not supported
- @brief Disable ext1 wakeup pins with IO masks. This will remove selected IOs from the wakeup IOs. @param io_mask Bit mask of GPIO numbers which will cause wakeup. Only GPIOs which have RTC functionality can be used in this bit map. If value is zero, this func will remove all previous ext1 configuration. For different SoCs, the related GPIOs are: - ESP32: 0, 2, 4, 12-15, 25-27, 32-39 - ESP32-S2: 0-21 - ESP32-S3: 0-21 - ESP32-C6: 0-7 - ESP32-H2: 7-14
- @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 wakeup using a pin
- @brief Enable wakeup using multiple pins
- @brief Enable ext1 wakeup pins with IO masks.
- @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 by touch sensor
- @brief Enable wakeup from light sleep using UART
- @brief Enable wakeup by ULP coprocessor @note On ESP32, ULP wakeup source cannot be used when RTC_PERIPH power domain is forced, to be powered on (ESP_PD_OPTION_ON) or when ext0 wakeup source is used. @return - ESP_OK on success - ESP_ERR_NOT_SUPPORTED if additional current by touch (CONFIG_RTC_EXT_CRYST_ADDIT_CURRENT) is enabled. - ESP_ERR_INVALID_STATE if ULP co-processor is not enabled or if wakeup triggers conflict
- @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 touch pad which caused wakeup
- @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 the configured operating mode
- @brief Gets the server reachability shift register as described in RFC 5905. @param idx Index of the SNTP server @return reachability shift register
- @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 Disable or enable the caching of Pairwise Master Keys (PMK) in the supplicant.
- @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 Prints or retrieves information about tasks/users that triggered the Task Watchdog Timeout.
- @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 Get supported TLS ciphersuites list.
- @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 Set TLS protocol version for ESP-TLS connection
- @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. This function should only be used to register permanent file descriptors (socket fd) that are not removed after being closed.
- 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 Check whether the Controller is ready to receive the packet
- @brief Register the VHCI callback funations defined in
esp_vhci_host_callback
structure. - @brief Send the packet to the Controller
- @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 Power off Bluetooth Wi-Fi power domain
- @brief Power on Bluetooth Wi-Fi power domain
- @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 Get FTM measurements report copied into a user provided buffer.
- @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 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 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 one AP record from the scanned AP list.
- @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 min active time for wifi to enter the sleep state when light sleep
- @brief Set the min broadcast data wait time for wifi to enter the sleep state
- @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 information of AP to which the device is associated with
- @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 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
- 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 Dump IO configuration information to console
- @brief Bind the GPIO with the ETM event
- @brief Add GPIO to the ETM task.
- @brief Remove the GPIO from the ETM task
- @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 Calculate the clock division with fractal part accurately @note Accuracy first algorithm, Time complexity O(n). About 1~hundreds times more accurate than the fast algorithm
- @brief Calculate the clock division with fractal part fast @note Speed first algorithm, Time complexity O(log n). About 8~10 times faster than the accurate algorithm
- @brief Calculate the clock division without fractal part
- @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 Start an asynchronous request. This function can be called in a request handler to get a request copy that can be used on a async thread.
- @brief Mark an asynchronous request as completed. This will
- @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 Deinitialize the I2C master bus and delete the handle.
- @brief Deinitialize the I2C slave device
- @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 Add I2C master BUS device.
- @brief Reset the I2C master bus.
- @brief I2C master bus delete device
- @brief Wait for all pending I2C transactions done
- @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 Probe I2C address, if address is correct and ACK is received, this function will return ESP_OK.
- @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 Perform a read transaction on the I2C bus. The transaction will be undergoing until it finishes or it reaches the timeout provided.
- @brief Register I2C transaction callbacks for a master device
- @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 Perform a write transaction on the I2C bus. The transaction will be undergoing until it finishes or it reaches the timeout provided.
- @brief Perform a write-read transaction on the I2C bus. The transaction will be undergoing until it finishes or it reaches the timeout provided.
- @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 Allocate an I2C master bus
- @brief Initialize an I2C slave device
- @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 Read bytes from I2C internal buffer. Start a job to receive I2C data.
- @brief Set I2C slave event callbacks for I2C slave channel.
- @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.
- @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 Stop to use I2S built-in ADC mode @param i2s_num i2s port index @note This function would release the lock of ADC so that other tasks can use ADC. @return - ESP_OK Success - ESP_ERR_INVALID_ARG Parameter error - ESP_ERR_INVALID_STATE Driver state error
- @brief Start to use I2S built-in ADC mode @note This function would acquire the lock of ADC to prevent the data getting corrupted during the I2S peripheral is being used to do fully continuous ADC sampling.
- @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 RX 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 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 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 RX 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 RX mode, i.e.,i2s_channel_init_pdm_rx_mode
has been called before reconfiguring - @brief Reconfigure the I2S GPIO for PDM RX 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 RX mode, i.e.,i2s_channel_init_pdm_rx_mode
has been called before reconfiguring - @brief Reconfigure the I2S slot for PDM RX 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 RX mode, i.e.,i2s_channel_init_pdm_rx_mode
has been called before reconfiguring - @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 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 Read data from I2S DMA receive buffer
- @brief Set built-in ADC mode for I2S DMA, this function will initialize ADC pad, and set ADC parameters. @note In this mode, the ADC maximum sampling rate is 150KHz. Set the sampling rate through
i2s_config_t
. @param adc_unit SAR ADC unit index @param adc_channel ADC channel index @return - ESP_OK Success - ESP_ERR_INVALID_ARG Parameter error - @brief Set clock & bit width used for I2S RX and TX.
- @brief Set I2S dac mode, I2S built-in DAC is disabled by default
- @brief Set PDM mode down-sample rate In PDM RX mode, there would be 2 rounds of downsample process in hardware. In the first downsample process, the sampling number can be 16 or 8. In the second downsample process, the sampling number is fixed as 8. So the clock frequency in PDM RX mode would be (fpcm * 64) or (fpcm * 128) accordingly. @param i2s_num I2S port number @param downsample i2s RX down sample rate for PDM mode.
- @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.
- 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
- @brief LEDC channel configuration Configure LEDC channel with the given channel/output gpio_num/interrupt/source timer/frequency(Hz)/LEDC duty
- @brief Install LEDC fade function. This function will occupy interrupt of LEDC module.
- @brief Uninstall LEDC fade function.
- @brief Start LEDC fading.
- @brief Helper function to find the maximum possible duty resolution in bits for ledc_timer_config()
- @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.
- @brief A thread-safe API to set duty for LEDC channel and return when duty updated.
- @brief LEDC set duty and hpoint value Only after calling ledc_update_duty will the duty update.
- @brief LEDC set gradient Set LEDC gradient, After the function calls the ledc_update_duty function, the function can take effect.
- @brief A thread-safe API to set and start LEDC fade function.
- @brief A thread-safe API to set and start LEDC fade function, with a limited time.
- @brief Set LEDC fade function.
- @brief Set LEDC fade function, with a limited time.
- @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
- 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.
- \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 Return the ECP group for provided context.
- \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 Calculate the public key from a private key in a key pair.
- \brief This function frees the components of a key pair.
- \brief Query the group that a key pair belongs to.
- \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 Set the public key in a key pair object.
- \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 This function exports an elliptic curve public 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 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 Create a PK context starting from a key stored in PSA. This key: - must be exportable and - must be an RSA or EC key pair or public key (FFDH is not supported in PK).
- \brief Create a PK context for the public key of a PSA key.
- \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 Determine valid PSA attributes that can be used to import a key into PSA.
- \brief Get the key type
- \brief Import a key into the PSA key store.
- \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 the RSA modulus in bits.
- \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 calculates the SHA-3 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 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 This function calculates the SHA-224 or SHA-256 checksum of a buffer.
- \brief This function calculates the SHA-512 or SHA-384 checksum of a buffer.
- \brief The SHA-224 checkup routine.
- \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 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
- \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 Access the ca_istrue field
- \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
- \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 Convert the certificate DN string \p name into a linked list of mbedtls_x509_name (equivalent to mbedtls_asn1_named_data).
- \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 Stop MCPWM capture timer
- @brief Get the ETM event for MCPWM comparator
- @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 Fault event
- @brief Set generator action on MCPWM Sync 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 a new period 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 Perform an aligned allocation from the provided offset
- @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 nimble_port_deinit - Deinitialize controller and NimBLE host stack
- @brief nimble_port_init - Initialize controller and NimBLE host stack
- @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 Create an iterator to enumerate NVS entries based on a handle and type
- @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 Lookup 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 Generate (and store) the NVS keys using the specified key-protection scheme
- @brief Fetch the configuration structure for the default active security scheme for NVS encryption
- @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 Read NVS security configuration set by the specified security scheme
- @brief Registers the given security scheme for NVS encryption The scheme registered with sec_scheme_id by this API be used as the default security scheme for the “nvs” partition. Users will have to call this API explicitly in their application.
- @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 memory used by NVS.
- @{*/ /** @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⚠
- @brief Converts an OS error code (
OS_[...]
) to an equivalent system error code (SYS_E[...]
). - Adjust the length of a mbuf, trimming either from the head or the tail of the mbuf.
- Append data onto a mbuf
- Reads data from one mbuf and appends it to another. On error, the specified data range may be partially appended. Neither mbuf is required to contain an mbuf packet header.
- Performs a memory compare of the specified region of an mbuf chain against a flat buffer.
- Compares the contents of two mbuf chains. The ranges of the two chains to be compared are specified via the two offset parameters and the len parameter. Neither mbuf chain is required to contain a packet header.
- Attaches a second mbuf chain onto the end of the first. If the first chain contains a packet header, the header’s length is updated. If the second chain has a packet header, its header is cleared.
- Copies the contents of a flat buffer into an mbuf chain, starting at the specified destination offset. If the mbuf is too small for the source data, it is extended as necessary. If the destination mbuf contains a packet header, the header length is updated.
- Duplicate a chain of mbufs. Return the start of the duplicated chain.
- Increases the length of an mbuf chain by the specified amount. If there is not sufficient room in the last buffer, a new buffer is allocated and appended to the chain. It is an error to request more data than can fit in a single buffer.
- Release a mbuf back to the pool
- Free a chain of mbufs
- Get an mbuf from the mbuf pool. The mbuf is allocated, and initialized prior to being returned.
- Allocate a new packet header mbuf out of the os_mbuf_pool.
- @brief Calculates the length of an mbuf chain.
- Locates the specified absolute offset within an mbuf chain. The offset can be one past than the total length of the chain, but no greater.
- Creates a single chained mbuf from m1 and m2 utilizing all the available buffer space in all mbufs in the resulting chain. In other words, ensures there is no leading space in any mbuf in the resulting chain and trailing space only in the last mbuf in the chain. Mbufs from either chain may be freed if not needed. No mbufs are allocated. Note that mbufs from m2 are added to the end of m1. If m1 has a packet header, it is retained and length updated. If m2 has a packet header it is discarded. If m1 is NULL, NULL is returned and m2 is left untouched.
- Initialize a pool of mbufs.
- Increases the length of an mbuf chain by adding data to the front. If there is insufficient room in the leading mbuf, additional mbufs are allocated and prepended as necessary. If this function fails to allocate an mbuf, the entire chain is freed.
- Prepends a chunk of empty data to the specified mbuf chain and ensures the chunk is contiguous. If either operation fails, the specified mbuf chain is freed and NULL is returned.
- Rearrange a mbuf chain so that len bytes are contiguous, and in the data area of an mbuf (so that OS_MBUF_DATA() will work on a structure of size len.) Returns the resulting mbuf chain on success, free’s it and returns NULL on failure.
- Removes and frees empty mbufs from the front of a chain. If the chain contains a packet header, it is preserved.
- Increases the length of an mbuf chain by inserting a gap at the specified offset. The contents of the gap are indeterminate. If the mbuf chain contains a packet header, its total length is increased accordingly.
- Checks if a memory block was allocated from the specified mempool.
- Get a memory block from a memory pool
- Puts the memory block back into the pool
- Puts the memory block back into the pool, ignoring the put callback, if any. This function should only be called from a put callback to free a block without causing infinite recursion.
- Clears a memory pool.
- Clears an extended memory pool.
- Initializes an extended memory pool. Extended attributes (e.g., callbacks) are not specified when this function is called; they are assigned manually after initialization.
- Get information about the next system memory pool.
- Initialize a memory pool.
- Performs an integrity check of the specified mempool. This function attempts to detect memory corruption in the specified memory pool.
- Removes the specified mempool from the list of initialized mempools.
- Remove and return a single mbuf from the mbuf queue. Does not block.
- Initializes an mqueue. An mqueue is a queue of mbufs that ties to a particular task’s event queue. Mqueues form a helper API around a common paradigm: wait on an event queue until at least one packet is available, then process a queue of packets.
- Adds a packet (i.e. packet header mbuf) to an mqueue. The event associated with the mqueue gets posted to the specified eventq.
- Count the number of blocks in all the mbuf pools that are allocated.
- Allocate a mbuf from msys. Based upon the data size requested, os_msys_get() will choose the mbuf pool that has the best fit.
- Allocate a packet header structure from the MSYS pool. See os_msys_register() for a description of MSYS.
- Return the number of free blocks in Msys
- MSYS is a system level mbuf registry. Allows the system to share packet buffers amongst the various networking stacks that can be running simultaeneously.
- De-registers all mbuf pools from msys.
- @return The text (human readable) name of the task referenced by the handle xTaskToQuery. A task can query its own name by either passing in its own handle, or by setting xTaskToQuery to NULL.
- Returns the name that was assigned to a timer when the timer was created.
- @brief Set channel actions when edge signal changes (e.g. falling or rising edge occurred). The edge signal is input from the
edge_gpio_num
configured inpcnt_chan_config_t
. We use these actions to control when and how to change the counter value. - @brief Set channel actions when level signal changes (e.g. signal level goes from high to low). The level signal is input from the
level_gpio_num
configured inpcnt_chan_config_t
. We use these actions to control when and how to change the counting mode. - @brief Clear and reset PCNT counter value to zero
- @brief Pause PCNT counter of PCNT unit
- @brief Resume counting for PCNT counter
- @brief Delete the PCNT channel
- @brief Delete the PCNT unit handle
- @brief Disable PCNT event of PCNT unit
- @brief Enable PCNT event of PCNT unit
- @brief Disable PCNT input filter
- @brief Enable PCNT input filter
- @brief Get pulse counter value
- @brief Get PCNT event status of PCNT unit
- @brief Get PCNT event value of PCNT unit
- @brief Get PCNT filter value
- @brief Disable PCNT interrupt for PCNT unit
- @brief Enable PCNT interrupt for PCNT unit @note Each Pulse counter unit has five watch point events that share the same interrupt. Configure events with pcnt_event_enable() and pcnt_event_disable()
- @brief Add ISR handler for specified unit.
- @brief Delete ISR handler for specified unit.
- @brief Register PCNT interrupt handler, the handler is an ISR. The handler will be attached to the same CPU core that this function is running on. Please do not use pcnt_isr_service_install if this function was called.
- @brief Install PCNT ISR service. @note We can manage different interrupt service for each unit. This function will use the default ISR handle service, Calling pcnt_isr_service_uninstall to uninstall the default service if needed. Please do not use pcnt_isr_register if this function was called.
- @brief Uninstall PCNT ISR service, freeing related resources.
- @brief Unregister PCNT interrupt handler (registered by pcnt_isr_register), the handler is an ISR. The handler will be attached to the same CPU core that this function is running on. If the interrupt service is registered by pcnt_isr_service_install, please call pcnt_isr_service_uninstall instead
- @brief Create PCNT channel for specific unit, each PCNT has several channels associated with it
- @brief Create a new PCNT unit, and return the handle
- @brief Set PCNT event value of PCNT unit
- @brief Set PCNT filter value
- @brief Set PCNT counter mode
- @brief Configure PCNT pulse signal input pin and control input pin
- @brief Add a watch point for PCNT unit, PCNT will generate an event when the counter value reaches the watch point value
- @brief Clear PCNT pulse count value to zero
- @brief Configure Pulse Counter unit @note This function will disable three events: PCNT_EVT_L_LIM, PCNT_EVT_H_LIM, PCNT_EVT_ZERO.
- @brief Disable the PCNT unit
- @brief Enable the PCNT unit
- @brief Get PCNT count value
- @brief Set event callbacks for PCNT unit
- @brief Remove a watch point for PCNT unit
- @brief Set glitch filter for PCNT unit
- @brief Start the PCNT unit, the counter will start to count according to the edge and/or level input signals
- @brief Stop PCNT from counting
- @brief Disable peripheral module by gating the clock and asserting the reset signal.
- @note The following APIs are no longer supported since ESP32P4, please use the RCC lock macros instead. / /** @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.
- @cond
- 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 a key or key pair using custom production parameters.
- \brief Generate random bytes.
- Retrieve the attributes of 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.
- Derive a key from an ongoing key derivation operation with custom production parameters.
- 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 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⚠
- @brief Get a void pointer to the current TCB of a particular core
- Returns the ID assigned to the timer.
- Returns the start of the stack associated with xTask.
- rand⚠
- read⚠
- @brief A helper function to allocate a proper memory for RMT encoder
- @brief Apply modulation feature for TX channel or demodulation feature for RX channel
- @brief Update the configuration of the bytes encoder
- @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 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 Check if the RMT memory is force powered down
- @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 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 source clock
- @brief Configure RMT carrier for TX signal.
- @brief Set RMT TX interrupt enable
- @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 Init a GPIO as digital GPIO
- @brief Disable force hold signal for all RTC IOs
- @brief Enable force hold signal for all RTC IOs
- @brief Get RTC GPIO pad drive capability
- @brief Get the RTC IO input level
- @brief Disable hold function on an RTC IO pad
- @brief Enable hold function on an RTC IO pad
- @brief Init a GPIO as RTC GPIO
- @brief Select a RTC IOMUX function for the RTC IO
- @brief Determine if the specified GPIO is a valid RTC GPIO.
- @brief Helper function to disconnect internal circuits from an RTC IO This function disables input, output, pullup, pulldown, and enables hold feature for an RTC IO. Use this function if an RTC IO needs to be disconnected from internal circuits in deep sleep, to minimize leakage current.
- @brief RTC GPIO pulldown disable
- @brief RTC GPIO pulldown enable
- @brief RTC GPIO pullup disable
- @brief RTC GPIO pullup enable
- @brief RTC GPIO set direction
- @brief RTC GPIO set direction in deep sleep mode or disable sleep status (default). In some application scenarios, IO needs to have another states during deep sleep.
- @brief Set RTC GPIO pad drive capability
- @brief Set the RTC IO output level
- @brief Disable wakeup from sleep mode using specific GPIO @param gpio_num GPIO number @return - ESP_OK on success - ESP_ERR_INVALID_ARG if gpio_num is not an RTC IO
- @brief Enable wakeup from sleep mode using specific GPIO @param gpio_num GPIO number @param intr_type Wakeup on high level (GPIO_INTR_HIGH_LEVEL) or low level (GPIO_INTR_LOW_LEVEL) @return - ESP_OK on success - ESP_ERR_INVALID_ARG if gpio_num is not an RTC IO, or intr_type is not one of GPIO_INTR_HIGH_LEVEL, GPIO_INTR_LOW_LEVEL.
- @brief Get RTC IO index number by gpio number.
- @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⚠
- Clear general purpose interrupt to host.
- De-initialize the sdio slave driver to release the resources.
- Get the interrupt enable for host.
- Initialize the sdio slave driver
- Read the spi slave register shared with host.
- Get received data if exist. The driver returns the ownership of the buffer to the app.
- Retrieve the buffer corresponding to a handle.
- Load buffer to the queue waiting to receive data. The driver takes ownership of the buffer until the buffer is returned by
sdio_slave_send_get_finished
after the transaction is finished. - Get buffer of received data if exist with packet information. The driver returns the ownership of the buffer to the app.
- Register buffer used for receiving. All buffers should be registered before used, and then can be used (again) in the driver by the handle returned.
- Unregister buffer from driver, and free the space used by the descriptor pointing to the buffer.
- Clear the data still in the driver, as well as reset the PKT_LEN and TOKEN1 counting.
- Return the ownership of a finished transaction. @param out_arg Argument of the finished transaction. Set to NULL if unused. @param wait Time to wait if there’s no finished sending transaction.
- Interrupt the host by general purpose interrupt.
- Put a new sending transfer into the send queue. The driver takes ownership of the buffer until the buffer is returned by
sdio_slave_send_get_finished
after the transaction is finished. - Set the interrupt enable for host.
- Start hardware for sending and receiving, as well as set the IOREADY1 to 1.
- Stop hardware from sending and receiving, also set IOREADY1 to 0.
- Start a new sending transfer, and wait for it (blocked) to be finished.
- Wait for general purpose interrupt from host.
- Write the spi slave register shared with host.
- 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
- @brief Disable SDMMC host and release allocated resources
- @brief Send command to the card and get response
- @brief Provides a real frequency used for an SD card installed on specific slot of SD/MMC host controller
- @brief Get bus width configured in
sdmmc_host_init_slot
to be used for data transfer - @brief Initialize SDMMC host peripheral
- @brief Initialize given slot of SDMMC peripheral
- @brief Enable IO interrupts
- @brief Block until an SDIO interrupt is received, or timeout occurs @param slot slot number (SDMMC_HOST_SLOT_0 or SDMMC_HOST_SLOT_1) @param timeout_ticks number of RTOS ticks to wait for the interrupt @return
- @brief Enable or disable DDR mode of SD interface @param slot slot number (SDMMC_HOST_SLOT_0 or SDMMC_HOST_SLOT_1) @param ddr_enabled enable or disable DDR mode @return - ESP_OK on success - ESP_ERR_NOT_SUPPORTED if DDR mode is not supported on this slot
- @brief Select bus width to be used for data transfer
- @brief Set card clock frequency
- @brief Enable or disable always-on card clock When cclk_always_on is false, the host controller is allowed to shut down the card clock between the commands. When cclk_always_on is true, the clock is generated even if no command is in progress. @param slot slot number @param cclk_always_on enable or disable always-on clock @return - ESP_OK on success - ESP_ERR_INVALID_ARG if the slot number is invalid
- @brief set input delay
- 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
- 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 touch sensor group mask. Touch pad module has two sets of signals, Interrupt is triggered only if at least one of touch pad in this group is “touched”. This function will clear the register bits according to the given bitmask. @param set1_mask bitmask touch sensor signal group1, it’s a 10-bit value @param set2_mask bitmask touch sensor signal group2, it’s a 10-bit value @param en_mask bitmask of touch sensor work enable, it’s a 10-bit value @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief To clear the touch sensor channel active status.
- @brief Configure touch pad interrupt threshold.
- @brief Un-install touch pad driver. @note After this function is called, other touch functions are prohibited from being called. @return - ESP_OK Success - ESP_FAIL Touch pad driver not initialized
- @brief delete touch pad filter driver and release the memory Need to call touch_pad_filter_start before all touch filter APIs @return - ESP_OK Success - ESP_ERR_INVALID_STATE driver state error
- @brief start touch pad filter function This API will start a filter to process the noise in order to prevent false triggering when detecting slight change of capacitance. Need to call touch_pad_filter_start before all touch filter APIs
- @brief stop touch pad filter function Need to call touch_pad_filter_start before all touch filter APIs @return - ESP_OK Success - ESP_ERR_INVALID_STATE driver state error
- @brief Get touch sensor charge/discharge speed for each pad @param touch_num touch pad index @param slope pointer to accept touch pad charge/discharge slope @param opt pointer to accept the initial voltage @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief get touch pad filter calibration period, in ms Need to call touch_pad_filter_start before all touch filter APIs @param p_period_ms pointer to accept period @return - ESP_OK Success - ESP_ERR_INVALID_STATE driver state error - ESP_ERR_INVALID_ARG parameter error
- @brief Get touch sensor FSM mode @param mode pointer to accept FSM mode @return - ESP_OK on success
- @brief Get touch sensor group mask. @param set1_mask pointer to accept bitmask of touch sensor signal group1, it’s a 10-bit value @param set2_mask pointer to accept bitmask of touch sensor signal group2, it’s a 10-bit value @param en_mask pointer to accept bitmask of touch sensor work enable, it’s a 10-bit value @return - ESP_OK on success
- @brief Get touch sensor measurement and sleep time @param sleep_cycle Pointer to accept sleep cycle number @param meas_cycle Pointer to accept measurement cycle count. @return - ESP_OK on success - ESP_ERR_INVALID_ARG The input parameter is NULL
- @brief Get the clock cycles of each measurement
- @brief Get the interval between two measurements
- @brief Get the touch sensor channel active status mask. The bit position represents the channel number. The 0/1 status of the bit represents the trigger status.
- @brief Get touch sensor interrupt threshold @param touch_num touch pad index @param threshold pointer to accept threshold @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief Get touch sensor interrupt trigger mode @param mode pointer to accept touch sensor interrupt trigger mode @return - ESP_OK on success
- @brief Get touch sensor interrupt trigger source @param src pointer to accept touch sensor interrupt trigger source @return - ESP_OK on success
- @brief Get touch sensor reference voltage, @param refh pointer to accept DREFH value @param refl pointer to accept DREFL value @param atten pointer to accept the attenuation on DREFH @return - ESP_OK on success
- @brief Get the touch pad which caused wakeup from deep sleep. @param pad_num pointer to touch pad which caused wakeup @return - ESP_OK Success - ESP_ERR_INVALID_ARG parameter is NULL
- @brief Initialize touch module. @note If default parameter don’t match the usage scenario, it can be changed after this function. @return - ESP_OK Success - ESP_ERR_NO_MEM Touch pad init error - ESP_ERR_NOT_SUPPORTED Touch pad is providing current to external XTAL
- @brief To clear touch pad interrupt @return - ESP_OK on success
- @brief To disable touch pad interrupt @return - ESP_OK on success
- @brief To enable touch pad interrupt @return - ESP_OK on success
- @brief Initialize touch pad GPIO @param touch_num touch pad index @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief Deregister the handler previously registered using touch_pad_isr_handler_register @param fn handler function to call (as passed to touch_pad_isr_handler_register) @param arg argument of the handler (as passed to touch_pad_isr_handler_register) @return - ESP_OK on success - ESP_ERR_INVALID_STATE if a handler matching both fn and arg isn’t registered
- @brief Register touch-pad ISR. The handler will be attached to the same CPU core that this function is running on. @param fn Pointer to ISR handler @param arg Parameter for ISR @return - ESP_OK Success ; - ESP_ERR_INVALID_ARG GPIO error - ESP_ERR_NO_MEM No memory
- @brief Check touch sensor measurement status.
- @brief get touch sensor counter value. Each touch sensor has a counter to count the number of charge/discharge cycles. When the pad is not ‘touched’, we can get a number of the counter. When the pad is ‘touched’, the value in counter will get smaller because of the larger equivalent capacitance.
- @brief get filtered touch sensor counter value by IIR filter.
- @brief get raw data (touch sensor counter value) from IIR filter process. Need not request hardware measurements.
- @brief Set touch sensor charge/discharge speed for each pad. If the slope is 0, the counter would always be zero. If the slope is 1, the charging and discharging would be slow, accordingly. If the slope is set 7, which is the maximum value, the charging and discharging would be fast. @note The higher the charge and discharge current, the greater the immunity of the touch channel, but it will increase the system power consumption. @param touch_num touch pad index @param slope touch pad charge/discharge speed @param opt the initial voltage @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief set touch pad filter calibration period, in ms. Need to call touch_pad_filter_start before all touch filter APIs @param new_period_ms filter period, in ms @return - ESP_OK Success - ESP_ERR_INVALID_STATE driver state error - ESP_ERR_INVALID_ARG parameter error
- @brief Register the callback function that is called after each IIR filter calculation. @note The ‘read_cb’ callback is called in timer task in each filtering cycle. @param read_cb Pointer to filtered callback function. If the argument passed in is NULL, the callback will stop. @return - ESP_OK Success - ESP_ERR_INVALID_ARG set error
- @brief Set touch sensor FSM mode, the test action can be triggered by the timer, as well as by the software. @param mode FSM mode @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief Set touch sensor group mask. Touch pad module has two sets of signals, ‘Touched’ signal is triggered only if at least one of touch pad in this group is “touched”. This function will set the register bits according to the given bitmask. @param set1_mask bitmask of touch sensor signal group1, it’s a 10-bit value @param set2_mask bitmask of touch sensor signal group2, it’s a 10-bit value @param en_mask bitmask of touch sensor work enable, it’s a 10-bit value @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief Set touch sensor measurement and sleep time. Excessive total time will slow down the touch response. Too small measurement time will not be sampled enough, resulting in inaccurate measurements. @note The touch sensor will count the number of charge/discharge cycles over a fixed period of time (specified as the second parameter). That means the number of cycles (raw value) will decrease as the capacity of the touch pad is increasing. @note The greater the duty cycle of the measurement time, the more system power is consumed.
- @brief Set the clock cycles of each measurement @note This function will specify the clock cycles of each measurement and the clock is sourced from SOC_MOD_CLK_RTC_FAST, its default frequency is SOC_CLK_RC_FAST_FREQ_APPROX The touch sensor will record the charge and discharge times during these clock cycles as the final result (raw value) @note If clock cyles is too small, it may lead to inaccurate results.
- @brief Set the interval between two measurements @note The touch sensor will sleep between two mesurements This function is to set the interval cycle And the interval is clocked from SOC_MOD_CLK_RTC_SLOW, its default frequency is SOC_CLK_RC_SLOW_FREQ_APPROX
- @brief Set touch sensor interrupt threshold @param touch_num touch pad index @param threshold threshold of touchpad count, refer to touch_pad_set_trigger_mode to see how to set trigger mode. @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief Set touch sensor interrupt trigger mode. Interrupt can be triggered either when counter result is less than threshold or when counter result is more than threshold. @param mode touch sensor interrupt trigger mode @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief Set touch sensor interrupt trigger source. There are two sets of touch signals. Set1 and set2 can be mapped to several touch signals. Either set will be triggered if at least one of its touch signal is ‘touched’. The interrupt can be configured to be generated if set1 is triggered, or only if both sets are triggered. @param src touch sensor interrupt trigger source @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief Set touch sensor high voltage threshold of chanrge. The touch sensor measures the channel capacitance value by charging and discharging the channel. So the high threshold should be less than the supply voltage. @param refh the value of DREFH @param refl the value of DREFL @param atten the attenuation on DREFH @return - ESP_OK on success - ESP_ERR_INVALID_ARG if argument is wrong
- @brief Trigger a touch sensor measurement, only support in SW mode of FSM @return - ESP_OK on success
- @brief Clear the receive queue
- @brief Clear the receive queue of a given TWAI driver handle
- @brief Clear the transmit queue
- @brief Clear the transmit queue of a given TWAI driver handle
- @brief Install TWAI driver
- @brief Install TWAI driver and return a handle
- @brief Uninstall the TWAI driver
- @brief Uninstall the TWAI driver with a given handle
- @brief Get current status information of the TWAI driver
- @brief Get current status information of a given TWAI driver handle
- @brief Start the bus recovery process
- @brief Start the bus recovery process with a given handle
- @brief Read TWAI driver alerts
- @brief Read TWAI driver alerts with a given handle
- @brief Receive a TWAI message
- @brief Receive a TWAI message via a given handle
- @brief Reconfigure which alerts are enabled
- @brief Reconfigure which alerts are enabled, with a given handle
- @brief Start the TWAI driver
- @brief Start the TWAI driver with a given handle
- @brief Stop the TWAI driver
- @brief Stop the TWAI driver with a given handle
- @brief Transmit a TWAI message
- @brief Transmit a TWAI message via a given handle
- @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 HP UART port
- @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,
- Waits for a direct to task notification on a particular index in the calling task’s notification array in a manner similar to taking a counting semaphore.
- See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
- configGENERATE_RUN_TIME_STATS, configUSE_STATS_FORMATTING_FUNCTIONS and INCLUDE_xTaskGetIdleTaskHandle must all be defined as 1 for these functions to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE() to configure a peripheral timer/counter and return the timers current count value respectively. The counter should be at least 10 times the frequency of the tick count.
- utoa⚠
- Return the number of messages stored in a queue.
- A version of uxQueueMessagesWaiting() that can be called from an ISR. Return the number of messages stored in a queue.
- Return the number of free spaces available in a queue. This is equal to the number of items that can be sent to the queue before the queue becomes full if no items are removed.
- @return The number of tasks that the real time kernel is currently managing. This includes all ready, blocked and suspended tasks. A task that has been deleted but not yet freed by the idle task will also be included in the count.
- @brief Fill an array of TaskSnapshot_t structures for every task in the system
- INCLUDE_uxTaskGetStackHighWaterMark must be set to 1 in FreeRTOSConfig.h for this function to be available.
- INCLUDE_uxTaskGetStackHighWaterMark2 must be set to 1 in FreeRTOSConfig.h for this function to be available.
- configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for uxTaskGetSystemState() to be available.
- INCLUDE_uxTaskPriorityGet must be defined as 1 for this function to be available. See the configuration section for more information.
- A version of uxTaskPriorityGet() that can be used from an ISR.
- Queries a timer to determine if it is an auto-reload timer, in which case the timer automatically resets itself each time it expires, or a one-shot timer, in which case the timer will only expire once unless it is manually restarted.
- 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
- This function is used to provide a statically allocated block of memory to FreeRTOS to hold the Timer 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
- @brief Hook function called on entry to tickless idle
- The application stack overflow hook is called when a stack overflow is detected for a task.
- Delete an event group that was previously created by a call to xEventGroupCreate(). Tasks that are blocked on the event group will be unblocked and obtain 0 as the event group’s value.
- @brief Deletes an event group previously created using xEventGroupCreateWithCaps()
- @cond !DOC_EXCLUDE_HEADER_SECTION
- @brief Assert if in ISR context
- @brief Exit a SMP critical section
- @brief FreeRTOS compliant version of vPortExitCritical()
- @brief Set a watchpoint to watch the last 32 bytes of the stack
- @brief TCB cleanup hook
- @brief Perform a solicited context switch
- @brief Yields the other core
- Delete a queue - freeing all the memory allocated for storing of items placed on the queue.
- @brief Deletes a queue previously created using xQueueCreateWithCaps()
- @cond !DOC_EXCLUDE_HEADER_SECTION
- @brief Delete a ring buffer
- @brief Deletes a ring buffer previously created using xRingbufferCreateWithCaps()
- @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
- @brief Deletes a semaphore previously created using one of the xSemaphoreCreate…WithCaps() functions
- Deletes a stream buffer that was previously created using a call to xStreamBufferCreate() or xStreamBufferCreateStatic(). If the stream buffer was created using dynamic memory (that is, by xStreamBufferCreate()), then the allocated memory is freed.
- Memory regions are assigned to a restricted task when the task is created by a call to xTaskCreateRestricted(). These regions can be redefined using vTaskAllocateMPURegions().
- Delay a task for a given number of ticks. The actual time that the task remains blocked depends on the tick rate. The constant portTICK_PERIOD_MS can be used to calculate real time from the tick rate - with the resolution of one tick period.
- INCLUDE_vTaskDelete must be defined as 1 for this function to be available. See the configuration section for more information.
- @brief Deletes a task previously created using xTaskCreateWithCaps() or xTaskCreatePinnedToCoreWithCaps()
- NOTE: At the time of writing only the x86 real mode port, which runs on a PC in place of DOS, implements this function.
- A version of xTaskNotifyGiveIndexed() that can be called from an interrupt service routine (ISR).
- configUSE_TRACE_FACILITY must be defined as 1 for this function to be available. See the configuration section for more information.
- configGENERATE_RUN_TIME_STATS and configUSE_STATS_FORMATTING_FUNCTIONS must both be defined as 1 for this function to be available. The application must also then provide definitions for portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and portGET_RUN_TIME_COUNTER_VALUE() to configure a peripheral timer/counter and return the timers current count value respectively. The counter should be at least 10 times the frequency of the tick count.
- @brief Fill a TaskSnapshot_t structure for specified task.
- configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS must both be defined as 1 for this function to be available. See the configuration section of the FreeRTOS.org website for more information.
- INCLUDE_vTaskPrioritySet must be defined as 1 for this function to be available. See the configuration section for more information.
- INCLUDE_vTaskSuspend must be defined as 1 for this function to be available. See the configuration section for more information.
- Each task contains an array of pointers that is dimensioned by the configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h. The kernel does not use the pointers itself, so the application writer can use the pointers for any purpose they wish. The following two functions are used to set and query a pointer respectively.
- Set local storage pointer and deletion callback.
- Capture the current time for future use with xTaskCheckForTimeOut().
- Starts the real time kernel tick processing. After calling the kernel has control over which tasks are executed and when.
- INCLUDE_vTaskSuspend must be defined as 1 for this function to be available. See the configuration section for more information.
- Suspends the scheduler without disabling interrupts. Context switches will not occur while the scheduler is suspended.
- Updates a timer to be either an auto-reload timer, in which case the timer automatically resets itself each time it expires, or a one-shot timer, in which case the timer will only expire once unless it is manually restarted.
- Sets the ID assigned to the timer.
- @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 Bluetooth Random address
- @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 the actual flash size in use for the WL storage partition
- @brief Unmount WL for defined partition
- @brief Write data to the WL storage
- Clear bits within an event group. This function cannot be called from an interrupt.
- @brief Creates an event group with specific memory capabilities
- A version of xEventGroupGetBits() that can be called from an ISR.
- Set bits within an event group. This function cannot be called from an interrupt. xEventGroupSetBitsFromISR() is a version that can be called from an interrupt.
- Atomically set bits within an event group, then wait for a combination of bits to be set within the same event group. This functionality is typically used to synchronise multiple tasks, where each task has to wait for the other tasks to reach a synchronisation point before proceeding.
- [Potentially] block to wait for one or more bits to be set within a previously created event group.
- @brief Checks if a given piece of memory can be used to store a FreeRTOS list
- @brief Checks if a given piece of memory can be used to store a task’s TCB
- @brief Enter a SMP critical section with a timeout
- @brief FreeRTOS Compliant version of xPortEnterCriticalTimeout()
- @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
- Queue sets provide a mechanism to allow a task to block (pend) on a read operation from multiple queues or semaphores simultaneously.
- @brief Creates a queue with specific memory capabilities
- It is preferred that the macros xQueueSend(), xQueueSendToFront() and xQueueSendToBack() are used in place of calling this function directly.
- It is preferred that the macros xQueueSendFromISR(), xQueueSendToFrontFromISR() and xQueueSendToBackFromISR() be used in place of calling this function directly. xQueueGiveFromISR() is an equivalent for use by semaphores that don’t actually copy any data.
- Queries a queue to determine if the queue is empty. This function should only be used in an ISR.
- Queries a queue to determine if the queue is full. This function should only be used in an ISR.
- Receive an item from a queue without removing the item from the queue. The item is received by copy so a buffer of adequate size must be provided. The number of bytes copied into the buffer was defined when the queue was created.
- A version of xQueuePeek() that can be called from an interrupt service routine (ISR).
- Receive an item from a queue. The item is received by copy so a buffer of adequate size must be provided. The number of bytes copied into the buffer was defined when the queue was created.
- Receive an item from a queue. It is safe to use this function from within an interrupt service routine.
- 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.
- @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 Creates a ring buffer with specific memory capabilities
- @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 Retrieve the pointers to a statically created 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
- Queries a stream buffer to see how much data it contains, which is equal to the number of bytes that can be read from the stream buffer before the stream buffer would be empty.
- @cond !DOC_EXCLUDE_HEADER_SECTION
- @cond
- Queries a stream buffer to see if it is empty. A stream buffer is empty if it does not contain any data.
- Queries a stream buffer to see if it is full. A stream buffer is full if it does not have any free space, and therefore cannot accept any more data.
- Receives bytes from a stream buffer.
- For advanced users only.
- An interrupt safe version of the API function that receives bytes from a stream buffer.
- Resets a stream buffer to its initial, empty, state. Any data that was in the stream buffer is discarded. A stream buffer can only be reset if there are no tasks blocked waiting to either send to or receive from the stream buffer.
- Sends bytes to a stream buffer. The bytes are copied into the stream buffer.
- For advanced users only.
- Interrupt safe version of the API function that sends a stream of bytes to the stream buffer.
- A stream buffer’s trigger level is the number of bytes that must be in the stream buffer before a task that is blocked on the stream buffer to wait for data is moved out of the blocked state. For example, if a task is blocked on a read of an empty stream buffer that has a trigger level of 1 then the task will be unblocked when a single byte is written to the buffer or the task’s block time expires. As another example, if a task is blocked on a read of an empty stream buffer that has a trigger level of 10 then the task will not be unblocked until the stream buffer contains at least 10 bytes or the task’s block time expires. If a reading task’s block time expires before the trigger level is reached then the task will still receive however many bytes are actually available. Setting a trigger level of 0 will result in a trigger level of 1 being used. It is not valid to specify a trigger level that is greater than the buffer size.
- Queries a stream buffer to see how much free space it contains, which is equal to the amount of data that can be sent to the stream buffer before it is full.
- INCLUDE_xTaskAbortDelay must be defined as 1 in FreeRTOSConfig.h for this function to be available.
- Calls the hook function associated with xTask. Passing xTask as NULL has the effect of calling the Running tasks (the calling task) hook function.
- This function corrects the tick count value after the application code has held interrupts disabled for an extended period resulting in tick interrupts having been missed.
- Determines if pxTicksToWait ticks has passed since a time was captured using a call to vTaskSetTimeOutState(). The captured time includes the tick count and the number of times the tick count has overflowed.
- @brief Create a new task that is pinned to a particular core
- @brief Creates a pinned task where its stack has specific memory capabilities
- @brief Create a new static task that is pinned to a particular core
- INCLUDE_xTaskDelayUntil must be defined as 1 for this function to be available. See the configuration section for more information.
- See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
- See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
- See https://www.FreeRTOS.org/RTOS-task-notifications.html for details.
- Waits for a direct to task notification to be pending at a given index within an array of direct to task notifications.
- @brief Get the current core ID of a particular task
- @brief Get the handle of the task currently running on a certain core
- NOTE: This function takes a relatively long time to complete and should be used sparingly.
- xTaskGetIdleTaskHandle() is only available if INCLUDE_xTaskGetIdleTaskHandle is set to 1 in FreeRTOSConfig.h.
- @brief Get the handle of idle task for the given core.
- @brief Get the next task using the task iterator.
- @return The count of ticks since vTaskStartScheduler was called.
- @return The count of ticks since vTaskStartScheduler was called.
- @cond !DOC_EXCLUDE_HEADER_SECTION
- Resumes scheduler activity after it was suspended by a call to vTaskSuspendAll().
- INCLUDE_xTaskResumeFromISR must be defined as 1 for this function to be available. See the configuration section for more information.
- @cond !DOC_EXCLUDE_HEADER_SECTION
- Returns the time in ticks at which the timer will expire. If this is less than the current tick count then the expiry time has overflowed from the current time.
- Returns the period of a timer.
- Queries a timer to determine if it is an auto-reload timer, in which case the timer automatically resets itself each time it expires, or a one-shot timer, in which case the timer will only expire once unless it is manually restarted.
- Simply returns the handle of the timer service/daemon task. It it not valid to call xTimerGetTimerDaemonTaskHandle() before the scheduler has been started.
- Queries a timer to see if it is active or dormant.
- Used to defer the execution of a function to the RTOS daemon task (the timer service task, hence this function is implemented in timers.c and is prefixed with ‘Timer’).
- Used from application interrupt service routines to defer the execution of a function to the RTOS daemon task (the timer service task, hence this function is implemented in timers.c and is prefixed with ‘Timer’).
Type Aliases§
- Enum for the HTTP status codes.
- 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. Message buffer is essentially built as a stream buffer hence its handle is also set to same type as a stream buffer handle.
- Defines the prototype to which functions used with the xTimerPendFunctionCallFromISR() function must conform.
- 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
- Type used as a stream buffer’s optional callback.
- Defines the prototype to which the application task hook function must conform.
- @brief Task Snapshot iterator
- @brief Task Snapshot structure
- Used with the uxTaskGetSystemState() function to return the state of each task in the system.
- @cond !DOC_EXCLUDE_HEADER_SECTION
- Defines the prototype to which timer callback functions must conform.
- Prototype of local storage pointer deletion callback.
- Type of UUID
- @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 Type of calibration value used in line fitting scheme characterization
- @brief ADC calibration scheme
- @brief ADC channels
- @brief Prototype of ADC continuous mode event callback
- @brief ADC digital controller clock source @note ADC DMA mode is clocked from I2S on ESP32, using
ADC_DIGI_
here for compatibility Its clock source is same as I2S @brief ADC digital controller clock source @note ADC DMA mode is clocked from I2S on ESP32, usingADC_DIGI_
here for compatibility Its clock source is same as I2S - @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 monitor (continuous mode) ID
- @brief Monitor config/event mode type
- @brief ADC RTC controller clock source @brief ADC RTC controller clock source
- @brief Type of ADC unit handle for oneshot mode
- @brief ADC unit
- The host will free the attribute mbuf automatically after the callback is executed. The application can take ownership of the mbuf and prevent it from being freed by assigning NULL to attr->om.
- The host will free the attribute mbuf automatically after the callback is executed. The application can take ownership of the mbuf and prevent it from being freed by assigning NULL to attr->om.
- The host will free the attribute mbufs automatically after the callback is executed. The application can take ownership of the mbufs and prevent them from being freed by assigning NULL to each attribute’s om field.
- Callback function types; executed when HCI packets are received.
- @brief Stack reset callback
- @typedef ble_hs_stop_fn @brief Callback function; reports the result of a host stop procedure.
- @brief Stack sync callback
- Searches the store for the first object matching the specified criteria. If a match is found, it is deleted from the store.
- Searches the store for an object matching the specified criteria. If a match is found, it is read from the store and the dst parameter is populated with the retrieved object.
- Indicates an inability to perform a store operation. This callback should do one of two things: o Address the problem and return 0, indicating that the store operation should proceed. o Return nonzero to indicate that the store operation should be aborted.
- Writes the specified object to the store. If an object with the same identity is already in the store, it is replaced. If the store lacks sufficient capacity to write the object, this function may remove previously stored values to make room.
- LwIP bridge configuration
- enum btm_query_reason: Reason code for sending btm query
- Restart output.
- @brief DAC channel mask
- @brief DAC channel work mode in dma mode @note Only take effect when multiple channels enabled. @note Assume the data in buffer is ‘A B C D E F’ DAC_CHANNEL_MODE_SIMUL: - channel 0: A B C D E F - channel 1: A B C D E F DAC_CHANNEL_MODE_ALTER: - channel 0: A C E - channel 1: B D F
- @brief DAC DMA (digitial controller) clock source @brief DAC digital controller clock source
- @brief The attenuation of the amplitude of the cosine wave generator. The max amplitude is VDD3P3_RTC.
- @brief DAC cosine wave generator clock source @brief DAC cosine wave generator clock source
- @brief Set the phase of the cosine wave generator output. @note Only 0 or 180 are supported, it will be set to 0 as default if configured to an unsupported phase.
- @brief Set the phase of the cosine wave generator output.
- @brief The multiple of the amplitude of the cosine wave generator. The max amplitude is VDD3P3_RTC.
- @brief DAC event callback @param[in] handle DAC channel handle, created from
dac_continuous_new_channels()
@param[in] event DAC event data @param[in] user_data User registered context, passed fromdac_continuous_register_event_callback()
- Actions that can be performed when vTaskNotify() is called.
- 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 128 decrypt callback function used by esp_wifi.
- @brief The AES 128 encrypt callback function used by esp_wifi.
- @brief Deinitialize AES decryption callback function
- @brief Initialize AES callback function for decryption
- @brief Decrypt one AES block callback function
- @brief Deinitialize AES encryption callback function
- @brief Initialize AES callback function for encryption
- @brief Encrypt one AES block callback function
- @brief One-Key GMAC hash callback function with AES for MIC computation
- @brief The AES unwrap callback function used by esp_wifi.
- @brief The AES wrap callback function used by esp_wifi.
- @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 BLE TX power type @note 1. The connection TX power can only be set after the connection is established. After disconnecting, the corresponding TX power will not be affected. 2.
ESP_BLE_PWR_TYPE_DEFAULT
can be used to set the TX power for power types that have not been set before. It will not affect the TX power values which have been set for the following CONN0-8/ADV/SCAN power types. 3. If none of power type is set, the system will useESP_PWR_LVL_P3
as default for all power types. - @brief BLE sleep clock accuracy (SCA)
- @brief Bluetooth Controller status
- @brief Bluetooth Controller mode
- @brief Decrypt data callback function 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. @param tk 128-bit Temporal Key for obtained during 4-way handshake @param ieee80211_hdr Pointer to IEEE802.11 frame headeri needed for AAD @param data Pointer to encrypted data buffer @param data_len Encrypted data length in bytes @param decrypted_len Length of decrypted data @param espnow_pkt Indicates if it’s an ESPNOW packet Returns: Pointer to decrypted data on success, NULL on failure
- @brief Encrypt data callback function 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. @param tk 128-bit Temporal Key for obtained during 4-way handshake @param frame Pointer to IEEE802.11 frame including header @param len Length of the frame including header @param hdrlen Length of the header @param pn Packet Number counter @param keyid Key ID to be mentioned in CCMP Vector @param 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 callback function 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 for ESP32
- @brief Type of coding scheme
- @brief Type of key purpose (virtual because ESP32 has only fixed purposes for blocks)
- @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 callback function over data buffer (RFC 2104)’
- @brief HMAC-MD5 callback function over data vector (RFC 2104)
- @brief HMAC-SHA1 callback function over data buffer (RFC 2104)
- @brief HMAC-SHA1 callback function over data vector (RFC 2104)
- @brief The SHA256 callback function used by esp_wifi.
- @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 Interrupt CPU core affinity
- @brief IPv4 address
- @brief IPv6 address
- @brief IP address
- @brief IPC Callback
- @brief RGB color endian @brief RGB color endian
- @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 callback function 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 Predicate callback for esp_netif_find_if() used to find interface which meets defined criteria
- @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 callback function 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) callback function 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 Bluetooth TX power level (index). Each index corresponds to a specific power value in dBm.
- @brief XOR RC4 stream callback function to given data with skip-stream-start
- @brief Reset reasons
- @brief Bluetooth audio data transport path
- @brief SHA1-based Pseudo-Random Function (PRF) (IEEE 802.11i, 8.5.1.1) callback function
- @brief SHA-1 hash callback function for data vector
- @brief The SHA256 PRF callback function used by esp_wifi.
- @brief SHA256 hash callback function for data vector @param num_elem Number of elements in the data vector @param addr Pointers to the data areas @param len Lengths of the data blocks @param buf 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 Vendor HCI (VHCI) callback functions to notify the Host on the next operation
- @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
- @brief Callback function that is called after each IIR filter calculation. @note This callback is called in timer task in each filtering cycle. @note This callback should not be blocked. @param raw_value The latest raw data(touch sensor counter value) that points to all channels(raw_value[0..TOUCH_PAD_MAX-1]). @param filtered_value The latest IIR filtered data(calculated from raw data) that points to all channels(filtered_value[0..TOUCH_PAD_MAX-1]).
- @brief GPIO edges that can be used as ETM event
- @brief GPIO actions that can be taken by the ETM task
- @brief GPIO interrupt handler
- @endcond
- @brief GPIO number
- @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 Integer division operation
- @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 Enumeration for I2C device address bit length
- @brief I2C group clock source @brief Type of I2C clock source.
- @brief Type of I2C master bus handle
- @brief An callback for I2C transaction.
- @brief Type of I2C master bus device handle
- @brief Enumeration for I2C event.
- @brief Enumeration for I2C fsm status.
- @brief I2C port number.
- @brief I2C port number, can be I2C_NUM_0 ~ (I2C_NUM_MAX-1).
- @brief Type of I2C slave device handle
- @brief Callback signature for I2C slave.
- @brief Enum for I2C slave stretch causes
- @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 I2S DAC mode for i2s_set_dac_mode.
- @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 I2S PDM RX down-sampling mode
- @brief pdm tx singnal scaling mode
- @brief I2S slot select in PDM mode
- @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
- Handle to an interrupt handler
- Function prototype for interrupt handler function
- 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 clock source @brief Type of LCD clock source
- @brief LCD color range
- @cond */ /// 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
- @typedef log_append_cb @brief Callback that is executed each time the corresponding log is appended to.
- @typdef log_notify_rotate_cb @brief Callback that is executed each time we are about to rotate a log.
- @}
- @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 Type of MCPWM capture clock source @brief Type of MCPWM capture clock source
- @brief MCPWM capture edge
- @brief MCPWM capture event callback function
- @brief Type of MCPWM carrier clock source @brief Type of MCPWM carrier clock source
- @brief Type of MCPWM comparator handle
- @brief MCPWM comparator specific events that supported by the ETM module
- @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 Type of MCPWM timer clock source @brief Type of MCPWM timer clock source
- @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.
- @brief Callback function prototype for generating the NVS encryption keys
- @brief Callback function prototype for reading the NVS encryption keys
- 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
- Block put callback function. If configured, this callback gets executed whenever a block is freed to the corresponding extended mempool. Note: The os_memblock_put() function calls this callback instead of freeing the block itself. Therefore, it is the callback’s responsibility to free the block via a call to os_memblock_put_from_cb().
- Prototype for a function to free a custom pbuf
- @ingroup pbuf Enumeration of pbuf layers
- @ingroup pbuf Enumeration of pbuf types
- @brief PCNT channel action on signal edge
- @brief Type of PCNT channel handle
- @brief PCNT channel action on control level
- @brief Selection of channels available for a single PCNT unit
- @brief Selection of available modes that determine the counter’s action on the edge of the pulse signal’s input GPIO @note Configuration covers two actions, one for positive, and one for negative edge on the pulse input @brief PCNT channel action on signal edge
- @brief Selection of available modes that determine the counter’s action depending on the state of the control signal’s input GPIO @note Configuration covers two actions, one for high, and one for low level on the control input @brief PCNT channel action on control level
- @brief Selection of counter’s events the may trigger an interrupt
- @brief PCNT interrupt handle
- @brief PCNT port number, the max port number is (PCNT_PORT_MAX - 1).
- @brief Type of PCNT unit handle
- Selection of all available PCNT units
- @brief PCNT unit zero cross mode
- @brief PCNT watch event callback prototype
- @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.
- 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 Custom parameters for key generation or key derivation.
- \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).
- Handle of a receive buffer, register a handle by calling
sdio_slave_recv_register_buf
. Use the handle to load the buffer to the driver, or callsdio_slave_recv_unregister_buf
if it is no longer used. - Mask of interrupts sending to the host.
- Configuration of SDIO slave mode
- Timing of SDIO slave
- SD/MMC Host clock timing delay phases
- 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
- CLOCK OUTPUT///////////////////////////////////////////////////////////
- @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 @note ADC DMA mode is clocked from I2S on ESP32, using
ADC_DIGI_
here for compatibility Its clock source is same as I2S - @brief ADC RTC controller clock source
- @brief DAC cosine wave generator clock source
- @brief DAC digital controller clock source
- @brief Type of GPTimer clock source
- @brief Type of I2C clock source.
- @brief I2S clock source enum
- @brief Type of LCD clock source
- @brief Type of LEDC clock source, reserved for the legacy LEDC driver
- @brief Type of MCPWM capture clock source
- @brief Type of MCPWM carrier clock source
- @brief Type of MCPWM timer clock source
- @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 SDMMC clock source
- @brief Type of SPI clock source.
- @brief Type of SYSTIMER 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 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 FSM mode
- Touch sensor high reference voltage
- Touch sensor low reference voltage
- Touch pad channel
- 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 handle
- @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
- @brief 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§
- A discriminated union containing additional details concerning the GAP event. The ‘type’ field indicates which member of the union is valid.
- The GATT operation being performed dictates which field in this union is valid. If a characteristic is being accessed, the chr field is valid. Otherwise a descriptor is being accessed, in which case the dsc field is valid.
- The value of the op field determines which field in this union is valid.
- A discriminated union containing additional details concerning the L2CAP event. The ‘type’ field indicates which member of the union is valid.
- Used as a key for store lookups. This union must be accompanied by an object type code to indicate which field is valid.
- Additional data related to the event; the valid field is inferred from the obj_type,event_code pair.
- Represents stored data. This union must be accompanied by an object type code to indicate which field is valid.
- Universal UUID type, to be used for any-UUID static allocation
- @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.