Merge branch 'master' into release/v3.1.x

This commit is contained in:
Me No Dev 2024-08-28 15:49:38 +03:00 committed by GitHub
commit 75b29fde57
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
90 changed files with 221 additions and 193 deletions

View file

@ -1,9 +1,8 @@
[codespell]
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/spell-check/.codespellrc
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = ba,licence,ot,dout,als,exten,acount,totaly,pasttime
ignore-words-list = ba,licence,ot,dout,als,exten
skip = ./.git,./.licenses,__pycache__,.clang-format,.codespellrc,.editorconfig,.flake8,.prettierignore,.yamllint.yml,.gitignore,boards.txt,platform.txt,programmers.txt
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
write-changes =

View file

@ -1,7 +1,9 @@
exclude: |
(?x)(
^\.github\/|
^tests\/performance\/coremark\/.*\.[ch]$
^tests\/performance\/coremark\/.*\.[ch]$|
^tests\/performance\/superpi\/.*\.(cpp|h)$|
LICENSE\.md$
)
default_language_version:
@ -24,11 +26,10 @@ repos:
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]
- repo: https://github.com/codespell-project/codespell
rev: "v2.2.4"
rev: "v2.3.0"
hooks:
- id: codespell
exclude: ^.*\.(svd|SVD)$
stages: [manual]
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: "v18.1.3"
hooks:
@ -64,8 +65,6 @@ repos:
pass_filenames: false
args: [sync]
types_or: [markdown, rst]
stages: [manual]
- id: vale
language_version: "1.21.6"
types_or: [markdown, rst]
stages: [manual]

View file

@ -23,7 +23,7 @@ StylesPath = .vale/styles
# Specify the minimum alert severity that Vale will report.
MinAlertLevel = suggestion # "suggestion", "warning", or "error"
MinAlertLevel = error # "suggestion", "warning", or "error"
# Specify vocabulary for special treatment.

View file

@ -5,7 +5,7 @@
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
identity and expression, level of experience, education, socioeconomic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

View file

@ -179,7 +179,7 @@ void initArduino(void);
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);
unsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); // codespell:ignore shiftin
void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
#ifdef __cplusplus

View file

@ -443,7 +443,7 @@ size_t HWCDC::write(const uint8_t *buffer, size_t size) {
if (connected) {
usb_serial_jtag_ll_ena_intr_mask(USB_SERIAL_JTAG_INTR_SERIAL_IN_EMPTY);
}
// tracks CDC trasmission progress to avoid hanging if CDC is unplugged while still sending data
// tracks CDC transmission progress to avoid hanging if CDC is unplugged while still sending data
size_t last_toSend = to_send;
uint32_t tries = tx_timeout_ms; // waits 1ms per sending data attempt, in case CDC is unplugged
while (connected && to_send) {
@ -479,7 +479,7 @@ size_t HWCDC::write(const uint8_t *buffer, size_t size) {
}
}
}
// CDC was diconnected while sending data ==> flush the TX buffer keeping the last data
// CDC was disconnected while sending data ==> flush the TX buffer keeping the last data
if (to_send && !usb_serial_jtag_ll_txfifo_writable()) {
connected = false;
flushTXBuffer(buffer + so_far, to_send);

View file

@ -228,7 +228,7 @@ public:
// onReceive will setup a callback that will be called whenever an UART interruption occurs (UART_INTR_RXFIFO_FULL or UART_INTR_RXFIFO_TOUT)
// UART_INTR_RXFIFO_FULL interrupt triggers at UART_FULL_THRESH_DEFAULT bytes received (defined as 120 bytes by default in IDF)
// UART_INTR_RXFIFO_TOUT interrupt triggers at UART_TOUT_THRESH_DEFAULT symbols passed without any reception (defined as 10 symbos by default in IDF)
// UART_INTR_RXFIFO_TOUT interrupt triggers at UART_TOUT_THRESH_DEFAULT symbols passed without any reception (defined as 10 symbols by default in IDF)
// onlyOnTimeout parameter will define how onReceive will behave:
// Default: true -- The callback will only be called when RX Timeout happens.
// Whole stream of bytes will be ready for being read on the callback function at once.

View file

@ -45,7 +45,7 @@ struct uart_struct_t {
bool has_peek; // flag to indicate that there is a peek byte pending to be read
uint8_t peek_byte; // peek byte that has been read but not consumed
QueueHandle_t uart_event_queue; // export it by some uartGetEventQueue() function
// configuration data:: Arduino API tipical data
// configuration data:: Arduino API typical data
int8_t _rxPin, _txPin, _ctsPin, _rtsPin; // UART GPIOs
uint32_t _baudrate, _config; // UART baudrate and config
// UART ESP32 specific data

View file

@ -20,7 +20,7 @@
#include "esp32-hal.h"
#include "wiring_private.h"
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) {
uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder) { // codespell:ignore shiftin
uint8_t value = 0;
uint8_t i;

View file

@ -53,7 +53,7 @@ analogReadResolution
^^^^^^^^^^^^^^^^^^^^
This function is used to set the resolution of ``analogRead`` return value. Default is 12 bits (range from 0 to 4095)
for all chips except ESP32S3 where default is 13 bits (range from 0 to 8191).
for all chips except ESP32-S3 where default is 13 bits (range from 0 to 8191).
When different resolution is set, the values read will be shifted to match the given resolution.
Range is 1 - 16 .The default value will be used, if this function is not used.
@ -146,7 +146,7 @@ analogSetWidth
.. note:: This function is only available for ESP32 chip.
This function is used to set the hardware sample bits and read resolution.
Default is 12bit (0 - 4095).
Default is 12 bits (0 - 4095).
Range is 9 - 12.
.. code-block:: arduino
@ -250,13 +250,13 @@ This function is used to set the attenuation for ADC continuous peripheral. For
void analogContinuousSetAtten(adc_attenuation_t attenuation);
* ``attenuation`` sets the attenuation (default is 11db).
* ``attenuation`` sets the attenuation (default is 11 dB).
analogContinuousSetWidth
^^^^^^^^^^^^^^^^^^^^^^^^
This function is used to set the hardware resolution bits.
Default value for all chips is 12bit (0 - 4095).
Default value for all chips is 12 bits (0 - 4095).
.. note:: This function will take effect only for ESP32 chip, as it allows to set resolution in range 9-12 bits.

View file

@ -104,7 +104,7 @@ Create an instance of the `ESP_NOW_Peer` class.
* ``mac_addr``: MAC address of the peer device.
* ``channel``: Communication channel.
* ``iface``: WiFi interface.
* ``iface``: Wi-Fi interface.
* ``lmk``: Optional. Pass the local master key (LMK) if encryption is enabled.
add
@ -190,24 +190,24 @@ Set the communication channel of the peer.
getInterface
^^^^^^^^^^^^
Get the WiFi interface of the peer.
Get the Wi-Fi interface of the peer.
.. code-block:: cpp
wifi_interface_t getInterface() const;
Returns the WiFi interface.
Returns the Wi-Fi interface.
setInterface
^^^^^^^^^^^^
Set the WiFi interface of the peer.
Set the Wi-Fi interface of the peer.
.. code-block:: cpp
void setInterface(wifi_interface_t iface);
* ``iface``: WiFi interface.
* ``iface``: Wi-Fi interface.
isEncrypted
^^^^^^^^^^^

View file

@ -9,7 +9,7 @@ One of the most used and versatile peripheral in a microcontroller is the GPIO.
GPIO stands to General Purpose Input Output, and is responsible to control or read the state of a specific pin in the digital world. For example, this peripheral is widely used to create the LED blinking or to read a simple button.
.. note:: There are some GPIOs with special restrictions, and not all GPIOs are accessible through the developemnt board. For more information about it, see the corresponding board pin layout information.
.. note:: There are some GPIOs with special restrictions, and not all GPIOs are accessible through the development board. For more information about it, see the corresponding board pin layout information.
GPIOs Modes
***********

View file

@ -5,7 +5,7 @@ ESP Insights
About
-----
ESP Insights is a remote diagnostics solution that allows users to remotely monitor the health of ESP devices in the field.
ESP Insights is a remote diagnostics solution that allows users to remotely monitor the health of Espressif devices in the field.
Developers normally prefer debugging issues by physically probing them using gdb or observing the logs. This surely helps debug issues, but there are often cases wherein issues are seen only in specific environments under specific conditions. Even things like casings and placement of the product can affect the behavior. A few examples are
@ -156,8 +156,8 @@ This function will return
Insights.metrics.dumpWiFi
*************************
Dumps the wifi metrics and prints them to the console.
This API can be used to collect wifi metrics at any given point in time.
Dumps the Wi-Fi metrics and prints them to the console.
This API can be used to collect Wi-Fi metrics at any given point in time.
.. code-block:: arduino
@ -185,8 +185,8 @@ Insights.metrics.setWiFiPeriod
******************************
Reset the periodic interval
By default, wifi metrics are collected every 30 seconds, this function can be used to change the interval.
If the interval is set to 0, wifi metrics collection disabled.
By default, Wi-Fi metrics are collected every 30 seconds, this function can be used to change the interval.
If the interval is set to 0, Wi-Fi metrics collection disabled.
.. code-block:: arduino

View file

@ -29,7 +29,7 @@ ESP RainMaker Agent API
RMaker.initNode
***************
This initializes the ESP RainMaker agent, wifi and creates the node.
This initializes the ESP RainMaker agent, Wi-Fi and creates the node.
You can also set the configuration of the node using the following API
@ -54,7 +54,7 @@ It starts the ESP RainMaker agent.
**NOTE**:
1. ESP RainMaker agent should be initialized before this call.
2. Once ESP RainMaker agent starts, compulsorily call WiFi.beginProvision() API.
2. Once ESP RainMaker agent starts, compulsorily call ``WiFi.beginProvision()`` API.
.. code-block:: arduino

View file

@ -112,8 +112,8 @@ the threshold value. Default is lower.
void touchInterruptSetThresholdDirection(bool mustbeLower);
TOUCH API specific for ESP32S2 and ESP32S3 chip (TOUCH_V2)
**********************************************************
TOUCH API specific for ESP32-S2 and ESP32-S3 chip (TOUCH_V2)
************************************************************
touchInterruptGetLastStatus
^^^^^^^^^^^^^^^^^^^^^^^^^^^

View file

@ -43,7 +43,7 @@ This is the mode to be used if you want to connect your project to the Internet.
API Description
---------------
Here is the description of the WiFi API.
Here is the description of the Wi-Fi API.
Common API
----------
@ -53,7 +53,7 @@ Here are the common APIs that are used for both modes, AP and STA.
onEvent (and removeEvent)
*************************
Registers a caller-supplied function to be called when WiFi events
Registers a caller-supplied function to be called when Wi-Fi events
occur. Several forms are available.
Function pointer callback taking the event ID:
@ -92,7 +92,7 @@ A similar set of functions are available to remove callbacks:
In all cases, the subscribing function accepts an optional event type to
invoke the callback only for that specific event; with the default
``ARDUINO_EVENT_MAX``, the callback will be invoked for all WiFi events.
``ARDUINO_EVENT_MAX``, the callback will be invoked for all Wi-Fi events.
Any callback function is given the event type in a parameter.
Some of the possible callback function formats also take an
@ -141,9 +141,9 @@ may be retrieved:
.. warning::
The ``setHostname()`` function must be called BEFORE WiFi is started with
The ``setHostname()`` function must be called BEFORE Wi-Fi is started with
``WiFi.begin()``, ``WiFi.softAP()``, ``WiFi.mode()``, or ``WiFi.run()``.
To change the name, reset WiFi with ``WiFi.mode(WIFI_MODE_NULL)``,
To change the name, reset Wi-Fi with ``WiFi.mode(WIFI_MODE_NULL)``,
then proceed with ``WiFi.setHostname(...)`` and restart WiFi from scratch.
useStaticBuffers
@ -619,7 +619,7 @@ WiFiScan
To perform the Wi-Fi scan for networks, you can use the following functions:
Start scan WiFi networks available.
Start scan Wi-Fi networks available.
.. code-block:: arduino
@ -637,7 +637,7 @@ Delete last scan result from RAM.
void scanDelete();
Loads all infos from a scanned wifi in to the ptr parameters.
Loads all infos from a scanned Wi-Fi in to the ptr parameters.
.. code-block:: arduino
@ -648,7 +648,7 @@ To see how to use the ``WiFiScan``, take a look at the ``WiFiScan.ino`` or ``WiF
Examples
--------
`Complete list of WiFi examples <https://github.com/espressif/arduino-esp32/tree/master/libraries/WiFi/examples>`_.
`Complete list of Wi-Fi examples <https://github.com/espressif/arduino-esp32/tree/master/libraries/WiFi/examples>`_.
.. _ap example:

View file

@ -7,8 +7,8 @@ The ESP32-C3-DevKitM-1 development board is one of Espressif's official boards.
Specifications
--------------
- Small­ sized 2.4 GHz Wi­Fi (802.11 b/g/n) and Bluetooth® 5 module
- Built around ESP32­C3 series of SoCs, RISC­V single­core microprocessor
- Small sized 2.4 GHz Wi-Fi (802.11b/g/n) and Bluetooth® 5 module
- Built around ESP32-C3 series of SoCs, RISC-V single-core microprocessor
- 4 MB flash in chip package
- 15 available GPIOs (module)
- Peripherals
@ -30,7 +30,7 @@ Specifications
- 2 × 54-bit general-purpose timers
- 3 × watchdog timers
- 1 × 52-bit system timer
- On­board PCB antenna or external antenna connector
- PCB antenna or external antenna connector
Header Block
------------
@ -40,6 +40,9 @@ Header Block
J1
^^^
.. vale off
=== ==== ========== ===================================
No. Name Type [1]_ Function
=== ==== ========== ===================================
@ -60,6 +63,8 @@ No. Name Type [1]_ Function
15 GND G Ground
=== ==== ========== ===================================
.. vale on
J3
^^^
=== ==== ========== ====================================

View file

@ -28,7 +28,7 @@ Specifications
- ADC
- DAC
- Two-Wire Automotive Interface (TWAI®, compatible with ISO11898-1)
- On­board PCB antenna or external antenna connector
- PCB antenna or external antenna connector
Header Block
------------
@ -38,6 +38,9 @@ Header Block
J1
^^^
.. vale off
=== ==== ===== ===================================
No. Name Type Function
=== ==== ===== ===================================
@ -62,6 +65,8 @@ No. Name Type Function
19 5V0 P 5 V power supply
=== ==== ===== ===================================
.. vale on
J3
^^^
=== ==== ===== ====================================
@ -110,7 +115,7 @@ Some of the GPIO's have important features during the booting process. Here is t
==== ========= ===================================================================== ============ ==============
GPIO Default Function Pull-up Pull-down
==== ========= ===================================================================== ============ ==============
IO12 Pull-down Voltage of Internal LDO (VDD_SDIO) 1V8 3V3
IO12 Pull-down Voltage of Internal LDO (VDD_SDIO) 1.8 V 3.3 V
IO0 Pull-up Booting Mode SPI Boot Download Boot
IO2 Pull-down Booting Mode Don't Care Download Boot
IO15 Pull-up Enabling/Disabling Log Print During Booting and Timing of SDIO Slave U0TXD Active U0TXD Silent

View file

@ -28,7 +28,7 @@ Specifications
- 1 × LCD interface (8-bit serial RGB/8080/6800), implemented using the hardware resources of SPI2
- 1 × LCD interface (8/16/24-bit parallel), implemented using the hardware resources of I2S
- 1 × TWAI® controller (compatible with ISO 11898-1)
- On­board PCB antenna or external antenna connector
- PCB antenna or external antenna connector
Header Block
------------
@ -38,6 +38,9 @@ Header Block
J2
^^^
.. vale off
=== ==== ===== ===================================
No. Name Type Function
=== ==== ===== ===================================
@ -64,6 +67,8 @@ No. Name Type Function
21 GND G Ground
=== ==== ===== ===================================
.. vale on
J3
^^^
=== ==== ===== ====================================
@ -114,7 +119,7 @@ Some of the GPIO's have important features during the booting process. Here is t
==== ========= ===================================================================== ============ ==============
GPIO Default Function Pull-up Pull-down
==== ========= ===================================================================== ============ ==============
IO45 Pull-down Voltage of Internal LDO (VDD_SDIO) 1V8 3V3
IO45 Pull-down Voltage of Internal LDO (VDD_SDIO) 1.8 V 3.3 V
IO0 Pull-up Booting Mode SPI Boot Download Boot
IO46 Pull-down Booting Mode Don't Care Download Boot
IO46 Pull-up Enabling/Disabling Log Print During Booting and Timing of SDIO Slave U0TXD Active U0TXD Silent

View file

@ -12,6 +12,9 @@ Header Block
Header1
^^^^^^^
.. vale off
=== ==== ===== ===================================
No. Name Type Function
=== ==== ===== ===================================
@ -21,6 +24,8 @@ No. Name Type Function
4 GND G Ground
=== ==== ===== ===================================
.. vale on
Pin Layout
----------

View file

@ -183,7 +183,9 @@ The Arduino component requires the FreeRTOS tick rate `CONFIG_FREERTOS_HZ` set t
Compilation Errors
------------------
As commits are made to esp-idf and submodules, the codebases can develop incompatibilities that cause compilation errors. If you have problems compiling, follow the instructions in `Issue #1142 <https://github.com/espressif/arduino-esp32/issues/1142>`_ to roll esp-idf back to a different version.
As commits are made to ESP-IDF and submodules, the codebases can develop incompatibilities that cause compilation errors.
If you have problems compiling, follow the instructions in `Issue #1142 <https://github.com/espressif/arduino-esp32/issues/1142>`_
to roll ESP-IDF back to a different version.
Adding arduino library
----------------------

View file

@ -64,14 +64,14 @@ Supported Operating Systems
---------------------------
+-------------------+-------------------+-------------------+
| |windows-logo| | |linux-logo| | |macos-logo| |
| |windows-logo| | |linux-logo| | |macOS-logo| |
+-------------------+-------------------+-------------------+
| Windows | Linux | macOS |
+-------------------+-------------------+-------------------+
.. |windows-logo| image:: ../_static/logo_windows.png
.. |linux-logo| image:: ../_static/logo_linux.png
.. |macos-logo| image:: ../_static/logo_macos.png
.. |macOS-logo| image:: ../_static/logo_macos.png
Supported IDEs
---------------------------

View file

@ -69,7 +69,7 @@ Use this function to select the flash memory frequency. The frequency will be de
* **40 MHz**
* **80 MHz**
If you don't know if your memory supports **80Mhz**, you can try to upload the sketch using the **80MHz** option and watch the log output via the serial monitor.
If you don't know if your memory supports **80 MHz**, you can try to upload the sketch using the **80 MHz** option and watch the log output via the serial monitor.
.. note:: In some boards/SoC, the flash frequency is automatically selected according to the flash mode. In some cases (i.e ESP32-S3), the flash frequency is up to 120 MHz.

View file

@ -355,7 +355,7 @@ Where ``~/Documents/Arduino`` represents your sketch book location as per "Ardui
- Try ``python3`` instead of ``python`` if you get the error: ``IOError: [Errno socket error] [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)`` when running ``python get.py``
- If you get the following error when running ``python get.py`` urllib.error.URLError: <urlopen error SSL: CERTIFICATE_VERIFY_FAILED, go to Macintosh HD > Applications > Python3.6 folder (or any other python version), and run the following scripts: Install Certificates.command and Update Shell Profile.command
- If you get the following error when running ``python get.py``: ``urllib.error.URLError: <urlopen error SSL: CERTIFICATE_VERIFY_FAILED``, go to ``Macintosh HD > Applications > Python3.6 folder (or any other python version)``, and run the following scripts: Install Certificates.command and Update Shell Profile.command
- Restart Arduino IDE.

View file

@ -172,7 +172,7 @@ Set the build type. ex. 'build' to build the project and prepare for uploading t
Additional Configuration
^^^^^^^^^^^^^^^^^^^^^^^^
Specify additional configs to be applied. ex. 'qio 80m' to compile for QIO Flash@80MHz.
Specify additional configs to be applied. ex. ``qio 80m`` to compile for QIO Flash at 80 MHz.
.. note:: This command requires the ``-b`` to work properly.

View file

@ -217,8 +217,8 @@ Functional changes
* ``begin(baud)`` will not change any pins that have been set before this call, through a previous ``begin(baud, rx, tx)`` or ``setPin()``.
* If the application only uses RX or TX, ``begin(baud, -1, tx)`` or ``begin(baud, rx)`` will change only the assigned pin and keep the other unchanged.
WiFi
****
Wi-Fi
*****
Functional changes
^^^^^^^^^^^^^^^^^^

View file

@ -63,7 +63,7 @@ Here are some steps that you can try:
* In some instances, you must keep **GPIO0** LOW during the uploading process via the serial interface.
* Hold down the **“BOOT”** button on your ESP32 board while uploading/flashing.
* Solder a **10 uF** capacitor in parallel with **RST** and **GND**.
* If you are using external power connected to pins, it is easy to confuse pins **CMD** (which is usually next to the 5V pin) and **GND**.
* If you are using external power connected to pins, it is easy to confuse pins **CMD** (which is usually next to the ``5V`` pin) and **GND**.
In some development boards, you can try adding the reset delay circuit, as described in the *Power-on Sequence* section on the `ESP32 Hardware Design Guidelines <https://www.espressif.com/sites/default/files/documentation/esp32_hardware_design_guidelines_en.pdf>`_ to get into the download mode automatically.

View file

@ -43,10 +43,10 @@ Where:
``nvs``
The nvs partition subtype is used to define the partition to store general data, like the WiFi data, device PHY calibration data and any other data to be stored on the non-volatile memory.
The nvs partition subtype is used to define the partition to store general data, like the Wi-Fi data, device PHY calibration data and any other data to be stored on the non-volatile memory.
This kind of partition is suitable for small custom configuration data, cloud certificates, etc. Another usage for the NVS is to store sensitive data, since the NVS supports encryption.
It is highly recommended to add at least one nvs partition, labeled with the name nvs, in your custom partition tables with size of at least 12 kB (0x3000 bytes). If needed, you can increase the size of the nvs partition.
The recommended size for this partition is from 12kb to 64kb. Although larger NVS partitions can be defined, we recommend using FAT or SPIFFS filesystem for storage of larger amounts of data.
The recommended size for this partition is from 12 kB to 64 kB. Although larger NVS partitions can be defined, we recommend using FAT or SPIFFS filesystem for storage of larger amounts of data.
``coredump``
@ -135,7 +135,7 @@ An alternative is to create the new partition table as a new file in the `tools/
Another alternative is to create the new partition table as a new file, and place it in the `variants <https://github.com/espressif/arduino-esp32/tree/master/variants>`_ folder under your boards folder, and edit the `boards.txt <https://github.com/espressif/arduino-esp32/tree/master/boards.txt>`_ file to add your custom partition table, noting that in order for the compiler to find your custom partition table file you must use the '.build.custom_partitions=' option in the boards.txt file, rather than the standard '.build.partitions=' option. The '.build.variant=' option has the name of the folder holding your custom partition table in the variants folder.
An example of the PartitionScheme listing using the ESP32S3 Dev Module as a reference, would be to have the following:
An example of the PartitionScheme listing using the ESP32-S3 Dev Module as a reference, would be to have the following:
**Custom Partition - CSV file in /variants/custom_esp32s3/ folder**

View file

@ -386,7 +386,7 @@ To send to the serial monitor the number of available entries the following coul
The number of available entries in the key table changes depending on the number of keys in the namespace and also the dynamic size of certain types of data stored in the namespace. Details are in the `Preferences API Reference`_.
Do note that the number of entries in the key table does not guarantee that there is room in the opened NVS namespace for all the data to be stored in that namespace. Refer to the espressif `Non-volatile storage library`_ documentation for full details.
Do note that the number of entries in the key table does not guarantee that there is room in the opened NVS namespace for all the data to be stored in that namespace. Refer to the Espressif `Non-volatile storage library`_ documentation for full details.
Determining the Type of a key-value Pair
@ -565,7 +565,7 @@ If you need to access a different namespace, close the one before opening the ot
currentNamespace.end(); // closes 'myNamespace'
currentNamespace.begin("myOtherNamespace", false); // opens a different Preferences namesspace.
currentNamespace.begin("myOtherNamespace", false); // opens a different Preferences namespace.
// do other stuff...
currentNamespace.end(); // closes 'myOtherNamespace'
@ -644,7 +644,7 @@ Returning to the example above:
..
will assign to the variable ``dessert`` the String ``gravel`` if an error occurred, or the value stored against the key ``favourites`` if not.
will assign to the variable ``dessert`` the String ``gravel`` if an error occurred, or the value stored against the key ``favorites`` if not.
If we predetermine a default value that is outside all legitimate values, we now have a way to test if an error actually occurred.

View file

@ -3,7 +3,7 @@ version=3.0.4
author=Ivan Grokhotkov and Hristo Gochkov
maintainer=Hristo Gochkov <hristo@espressif.com>
sentence=Enables Over The Air upgrades, via wifi and espota.py UDP request/TCP download.
paragraph=With this library you can enable your sketch to be upgraded over network. Includes mdns anounces to get discovered by the arduino IDE.
paragraph=With this library you can enable your sketch to be upgraded over network. Includes mdns announces to get discovered by the arduino IDE.
category=Communication
url=
architectures=esp32

View file

@ -25,7 +25,7 @@ class MyBLEExtAdvertisingCallbacks : public BLEExtAdvertisingCallbacks {
// here we can receive regular advertising data from BLE4.x devices
Serial.println("BLE4.2");
} else {
// here we will get extended advertising data that are advertised over data channel by BLE5 divices
// here we will get extended advertising data that are advertised over data channel by BLE5 devices
Serial.printf("Ext advertise: data_le: %d, data_status: %d \n", report.adv_data_len, report.data_status);
}
}

View file

@ -177,7 +177,7 @@ void BLERemoteCharacteristic::gattClientEventHandler(esp_gattc_cb_event_t event,
}
// At this point, we have determined that the event is for us, so now we save the value
// and unlock the semaphore to ensure that the requestor of the data can continue.
// and unlock the semaphore to ensure that the requester of the data can continue.
if (evtParam->read.status == ESP_GATT_OK) {
m_value = String((char *)evtParam->read.value, evtParam->read.value_len);
if (m_rawData != nullptr) {

View file

@ -69,7 +69,7 @@ void BLERemoteDescriptor::gattClientEventHandler(esp_gattc_cb_event_t event, esp
} else {
m_value = "";
}
// Unlock the semaphore to ensure that the requestor of the data can continue.
// Unlock the semaphore to ensure that the requester of the data can continue.
m_semaphoreReadDescrEvt.give();
break;

View file

@ -80,7 +80,7 @@ void setup() {
Serial.println("Didn't find any devices");
}
} else {
Serial.println("Error on discoverAsync f.e. not workin after a \"connect\"");
Serial.println("Error on discoverAsync f.e. not working after a \"connect\"");
}
}

View file

@ -1101,7 +1101,7 @@ static esp_err_t win_handler(httpd_req_t *req) {
int offsetX = parse_get_var(buf, "offx", 0);
int offsetY = parse_get_var(buf, "offy", 0);
int totalX = parse_get_var(buf, "tx", 0);
int totalY = parse_get_var(buf, "ty", 0);
int totalY = parse_get_var(buf, "ty", 0); // codespell:ignore totaly
int outputX = parse_get_var(buf, "ox", 0);
int outputY = parse_get_var(buf, "oy", 0);
bool scale = parse_get_var(buf, "scale", 0) == 1;
@ -1110,10 +1110,10 @@ static esp_err_t win_handler(httpd_req_t *req) {
log_i(
"Set Window: Start: %d %d, End: %d %d, Offset: %d %d, Total: %d %d, Output: %d %d, Scale: %u, Binning: %u", startX, startY, endX, endY, offsetX, offsetY,
totalX, totalY, outputX, outputY, scale, binning
totalX, totalY, outputX, outputY, scale, binning // codespell:ignore totaly
);
sensor_t *s = esp_camera_sensor_get();
int res = s->set_res_raw(s, startX, startY, endX, endY, offsetX, offsetY, totalX, totalY, outputX, outputY, scale, binning);
int res = s->set_res_raw(s, startX, startY, endX, endY, offsetX, offsetY, totalX, totalY, outputX, outputY, scale, binning); // codespell:ignore totaly
if (res) {
return httpd_resp_send_500(req);
}

View file

@ -81,7 +81,7 @@ void setup() {
/*
If there are no external pull-up/downs, tie wakeup pins to inactive level with internal pull-up/downs via RTC IO
during deepsleep. However, RTC IO relies on the RTC_PERIPH power domain. Keeping this power domain on will
increase some power comsumption. However, if we turn off the RTC_PERIPH domain or if certain chips lack the RTC_PERIPH
increase some power consumption. However, if we turn off the RTC_PERIPH domain or if certain chips lack the RTC_PERIPH
domain, we will use the HOLD feature to maintain the pull-up and pull-down on the pins during sleep.
*/
rtc_gpio_pulldown_en(WAKEUP_GPIO); // GPIO33 is tie to GND in order to wake up in HIGH

View file

@ -35,7 +35,7 @@
before reading data, if necessary.
In long UART transmissions, some data will be received based on FIFO Full parameter, and whenever
an error ocurs, it will raise the UART error interrupt.
an error occurs, it will raise the UART error interrupt.
This sketch produces BREAK UART error in the beginning of a transmission and also at the end of a
transmission. It will be possible to understand the order of the events in the logs.

View file

@ -91,9 +91,9 @@ void testAndReport(uint8_t fifoFull) {
}
}
uint32_t pastTime = millis() - now;
uint32_t pastTime = millis() - now; // codespell:ignore pasttime
Serial.printf("\nIt has sent %d bytes from Serial1 TX to Serial1 RX\n", sentBytes);
Serial.printf("It took %lu milliseconds to read %d bytes\n", pastTime, bytesReceived);
Serial.printf("It took %lu milliseconds to read %d bytes\n", pastTime, bytesReceived); // codespell:ignore pasttime
Serial.printf("Per execution Serial.read() number of bytes data and time information:\n");
for (i = 0; i < DATA_SIZE; i++) {
Serial.printf("#%03d - Received %03lu bytes after %lu ms.\n", i, bytesJustReceived[i], i > 0 ? timeStamp[i] - timeStamp[i - 1] : timeStamp[i] - now);

View file

@ -85,9 +85,9 @@ void testAndReport(uint8_t rxTimeout) {
}
}
uint32_t pastTime = millis() - now;
uint32_t pastTime = millis() - now; // codespell:ignore pasttime
Serial.printf("\nIt has sent %d bytes from Serial1 TX to Serial1 RX\n", sentBytes);
Serial.printf("It took %lu milliseconds to read %d bytes\n", pastTime, bytesReceived);
Serial.printf("It took %lu milliseconds to read %d bytes\n", pastTime, bytesReceived); // codespell:ignore pasttime
Serial.print("Received data: [");
Serial.write(dataReceived, DATA_SIZE);
Serial.println("]");

View file

@ -1,7 +1,7 @@
/*
This is an example how to use Touch Intrrerupts
The sketh will tell when it is touched and then relesased as like a push-button
The sketch will tell when it is touched and then released as like a push-button
This method based on touchInterruptSetThresholdDirection() is only available for ESP32
*/

View file

@ -1,7 +1,7 @@
/*
This is an example how to use Touch Intrrerupts
The sketh will tell when it is touched and then relesased as like a push-button
The sketch will tell when it is touched and then released as like a push-button
This method based on touchInterruptGetLastStatus() is only available for ESP32 S2 and S3
*/

View file

@ -127,7 +127,7 @@ static void esp_zb_task(void *pvParameters) {
esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK);
//Erase NVRAM before creating connection to new Coordinator
esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are conneting to new Coordinator
esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are connecting to new Coordinator
ESP_ERROR_CHECK(esp_zb_start(false));
esp_zb_main_loop_iteration();

View file

@ -159,7 +159,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) {
esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION);
} else {
log_i("Device rebooted");
log_i("Openning network for joining for %d seconds", 180);
log_i("Opening network for joining for %d seconds", 180);
esp_zb_bdb_open_network(180);
}
} else {

View file

@ -255,7 +255,7 @@ static void esp_zb_task(void *pvParameters) {
esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK);
//Erase NVRAM before creating connection to new Coordinator
//esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are conneting to new Coordinator
//esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are connecting to new Coordinator
ESP_ERROR_CHECK(esp_zb_start(false));
esp_zb_main_loop_iteration();

View file

@ -279,7 +279,7 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) {
esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION);
} else {
log_i("Device rebooted");
log_i("Openning network for joining for %d seconds", 180);
log_i("Opening network for joining for %d seconds", 180);
esp_zb_bdb_open_network(180);
}
} else {

View file

@ -23,8 +23,8 @@ Copy Auth Key to the example
const char insights_auth_key[] = "<ENTER YOUR AUTH KEY>";
```
### Enter WiFi Credentials
Inside the example sketch, enter your WiFi credentials in `WIFI_SSID` and `WIFI_PASSPHRASE` macros.
### Enter Wi-Fi Credentials
Inside the example sketch, enter your Wi-Fi credentials in `WIFI_SSID` and `WIFI_PASSPHRASE` macros.
### Setup
* Build and flash the sketch and monitor the console

View file

@ -5,9 +5,9 @@
## What to expect in this example?
- This example demonstrates the use of ESP Insights framework in minimal way
- Device will try to connect with the configured WiFi network
- Device will try to connect with the configured Wi-Fi network
- ESP Insights is enabled in this example, so any error/warning logs, crashes will be reported to cloud
- This example collects heap and wifi metrics every 10 minutes and network variables are collected when they change
- This example collects heap and Wi-Fi metrics every 10 minutes and network variables are collected when they change
## Try out the example
@ -19,8 +19,8 @@ Copy Auth Key to the example
const char insights_auth_key[] = "<ENTER YOUR AUTH KEY>";
```
### Enter WiFi Credentials
Inside the example sketch, enter your WiFi credentials in `WIFI_SSID` and `WIFI_PASSPHRASE` macros.
### Enter Wi-Fi Credentials
Inside the example sketch, enter your Wi-Fi credentials in `WIFI_SSID` and `WIFI_PASSPHRASE` macros.
### Get the Node ID
- Start the Serial monitor

View file

@ -12,7 +12,7 @@ typedef struct {
uint8_t flags1;
uint8_t flags2;
uint16_t qcount;
uint16_t acount;
uint16_t acount; // codespell:ignore acount
uint16_t nscount;
uint16_t adcount;
uint8_t name_len;
@ -26,7 +26,7 @@ typedef struct {
uint8_t flags1;
uint8_t flags2;
uint16_t qcount;
uint16_t acount;
uint16_t acount; // codespell:ignore acount
uint16_t nscount;
uint16_t adcount;
uint8_t name_len;
@ -84,7 +84,7 @@ void NetBIOS::_onPacket(AsyncUDPPacket &packet) {
nbnsa.flags1 = 0x85;
nbnsa.flags2 = 0;
append_16((void *)&nbnsa.qcount, 0);
append_16((void *)&nbnsa.acount, 1);
append_16((void *)&nbnsa.acount, 1); // codespell:ignore acount
append_16((void *)&nbnsa.nscount, 0);
append_16((void *)&nbnsa.adcount, 0);
nbnsa.name_len = question->name_len;

View file

@ -113,14 +113,14 @@ Examples
#### NetworkClientInsecure
Demonstrates usage of insecure connection using `NetworkClientSecure::setInsecure()`
#### NetworkClientPSK
Wifi secure connection example for ESP32 using a pre-shared key (PSK)
Wi-Fi secure connection example for ESP32 using a pre-shared key (PSK)
This is useful with MQTT servers instead of using a self-signed cert, tested with mosquitto.
Running on TLS 1.2 using mbedTLS
#### NetworkClientSecure
Wifi secure connection example for ESP32
Wi-Fi secure connection example for ESP32
Running on TLS 1.2 using mbedTLS
#### NetworkClientSecureEnterprise
This example demonstrates a secure connection to a WiFi network using WPA/WPA2 Enterprise (for example eduroam),
This example demonstrates a secure connection to a Wi-Fi network using WPA/WPA2 Enterprise (for example eduroam),
and establishing a secure HTTPS connection with an external server (for example arduino.php5.sk) using the defined anonymous identity, user identity, and password.
.. note::

View file

@ -22,7 +22,7 @@
https://en.wikipedia.org/wiki/Trust_on_first_use).
In this scheme; we start the very first time without any security checks
but once we have our first connection; we store the public crytpographic
but once we have our first connection; we store the public cryptographic
details (or a proxy, such as a sha256 of this). And then we use this for
any subsequent connections.

View file

@ -90,7 +90,7 @@ bool otDeviceSetup(const char **otSetupCmds, uint8_t nCmds1, const char **otCoap
}
void setupNode() {
// tries to set the Thread Network node and only returns when succeded
// tries to set the Thread Network node and only returns when succeeded
bool startedCorrectly = false;
while (!startedCorrectly) {
startedCorrectly |=

View file

@ -79,12 +79,12 @@ bool otDeviceSetup(
}
Serial.println("OpenThread setup done. Node is ready.");
// all fine! LED goes and stays Blue
rgbLedWrite(RGB_BUILTIN, 0, 0, 64); // BLUE ... Swtich is ready!
rgbLedWrite(RGB_BUILTIN, 0, 0, 64); // BLUE ... Switch is ready!
return true;
}
void setupNode() {
// tries to set the Thread Network node and only returns when succeded
// tries to set the Thread Network node and only returns when succeeded
bool startedCorrectly = false;
while (!startedCorrectly) {
startedCorrectly |= otDeviceSetup(
@ -138,11 +138,11 @@ bool otCoapPUT(bool lampState) {
return false;
}
// this fucntion is used by the Switch mode to check the BOOT Button and send the user action to the Lamp node
// this function is used by the Switch mode to check the BOOT Button and send the user action to the Lamp node
void checkUserButton() {
static long unsigned int lastPress = 0;
const long unsigned int debounceTime = 500;
static bool lastLampState = true; // first button press will turn the Lamp OFF from inital Green
static bool lastLampState = true; // first button press will turn the Lamp OFF from initial Green
pinMode(USER_BUTTON, INPUT_PULLUP); // C6/H2 User Button
if (millis() > lastPress + debounceTime && digitalRead(USER_BUTTON) == LOW) {
@ -150,7 +150,7 @@ void checkUserButton() {
if (!otCoapPUT(lastLampState)) { // failed: Lamp Node is not responding due to be off or unreachable
// timeout from the CoAP PUT message... restart the node.
rgbLedWrite(RGB_BUILTIN, 255, 0, 0); // RED ... something failed!
Serial.println("Reseting the Node as Switch... wait.");
Serial.println("Resetting the Node as Switch... wait.");
// start over...
setupNode();
}

View file

@ -117,7 +117,7 @@ bool otExecCommand(const char *cmd, const char *arg, ot_cmd_return_t *returnCode
i--; // search for ' ' before ":'
}
if (*i == ' ') {
i++; // move it forward to the number begining
i++; // move it forward to the number beginning
returnCode->errorCode = atoi(i);
returnCode->errorMessage = m;
} // otherwise, it will keep the "bad error message" information

View file

@ -226,7 +226,7 @@ bool PPPClass::setPins(int8_t tx, int8_t rx, int8_t rts, int8_t cts, esp_modem_f
bool PPPClass::begin(ppp_modem_model_t model, uint8_t uart_num, int baud_rate) {
esp_err_t ret = ESP_OK;
bool pin_ok = false;
int trys = 0;
int tries = 0;
if (_esp_netif != NULL || _dce != NULL) {
log_w("PPP Already Started");
@ -313,11 +313,11 @@ bool PPPClass::begin(ppp_modem_model_t model, uint8_t uart_num, int baud_rate) {
if (_pin_rst >= 0) {
// wait to be able to talk to the modem
log_v("Waiting for response from the modem");
while (esp_modem_sync(_dce) != ESP_OK && trys < 100) {
trys++;
while (esp_modem_sync(_dce) != ESP_OK && tries < 100) {
tries++;
delay(500);
}
if (trys >= 100) {
if (tries >= 100) {
log_e("Failed to wait for communication");
goto err;
}

View file

@ -100,11 +100,13 @@ arduino-esp32 includes libraries for Arduino compatibility along with some objec
### WebServer
A simple HTTP daemon
<!-- vale off -->
### WiFi
Arduino compatible WiFi driver (includes Ethernet driver)
<!-- vale on -->
Arduino compatible Wi-Fi driver
### NetworkClientSecure
Arduino compatible WiFi client object using embedded encryption
Arduino compatible Wi-Fi client object using embedded encryption
### Wire
Arduino compatible I2C driver

View file

@ -41,7 +41,7 @@ NOTE : ESP RainMaker library is currently supported for ESP32 board only.
## ESP RainMaker Agent API
### RMaker.initNode()
This initializes the ESP RainMaker agent, wifi and creates the node.
This initializes the ESP RainMaker agent, Wi-Fi and creates the node.
```
Node initNode(const char *name, const char *type);
```
@ -67,7 +67,7 @@ esp_err_t start()
> NOTE :
> 1. ESP RainMaker agent should be initialized before this call.
> 2. Once ESP RainMaker agent starts, compulsorily call WiFi.beginProvision() API.
> 2. Once ESP RainMaker agent starts, compulsorily call `WiFi.beginProvision()` API.
### RMaker.stop()
It stops the ESP RainMaker agent which was started using `RMaker.start()`.

View file

@ -2,7 +2,7 @@
While building any examples for ESP RainMaker, take care of the following:
1. Change the partition scheme that fits your flash size in Arduino IDE to "RainMaker 4MB", "RainMaker 4MB no OTA" or "RainMaker 8MB" (Tools -> Partition Scheme -> RainMaker).
1. Change the partition scheme that fits your flash size in Arduino IDE to `RainMaker 4MB`, `RainMaker 4MB no OTA` or `RainMaker 8MB` (Tools -> Partition Scheme -> RainMaker).
2. Once ESP RainMaker gets started, compulsorily call `WiFi.beginProvision()` which is responsible for user-node mapping.
3. Use the appropriate provisioning scheme as per the board.
- ESP32 Board: BLE Provisioning

View file

@ -52,7 +52,7 @@ void Device::addCb(deviceWriteCb writeCb, deviceReadCb readCb) {
esp_err_t Device::addDeviceAttr(const char *attr_name, const char *val) {
err = esp_rmaker_device_add_attribute(getDeviceHandle(), attr_name, val);
if (err != ESP_OK) {
log_e("Failed to add attriute to the device");
log_e("Failed to add attribute to the device");
return err;
}
return ESP_OK;

View file

@ -45,7 +45,7 @@
static const int spiClk = 1000000; // 1 MHz
//uninitialised pointers to SPI objects
//uninitialized pointers to SPI objects
SPIClass *vspi = NULL;
SPIClass *hspi = NULL;

View file

@ -393,7 +393,7 @@ bool UpdateClass::_writeBuffer() {
}
}
// try to skip empty blocks on unecrypted partitions
// try to skip empty blocks on unencrypted partitions
if ((_partition->encrypted || _chkDataInBlock(_buffer + skip / sizeof(uint32_t), _bufferLen - skip))
&& !ESP.partitionWrite(_partition, _progress + skip, (uint32_t *)_buffer + skip / sizeof(uint32_t), _bufferLen - skip)) {
_abort(UPDATE_ERROR_WRITE);

View file

@ -2,7 +2,7 @@
This example tests support for multi-homed servers, i.e. a distinct web servers on distinct IP interface.
It only tests the case n=2 because on a basic ESP32 device, we only have two IP interfaces, namely the WiFi station interfaces and the WiFi soft AP interface.
It only tests the case n=2 because on a basic ESP32 device, we only have two IP interfaces, namely the Wi-Fi station interfaces and the Wi-Fi soft AP interface.
For this to work, the WebServer and the NetworkServer classes must correctly handle the case where an IP address is passed to their relevant constructor.
It also requires WebServer to work with multiple, simultaneous instances.
@ -55,7 +55,7 @@ Currently, this example supports the following targets.
## How to Use Example
Change the SSID and password in the example to your WiFi and flash the example.
Change the SSID and password in the example to your Wi-Fi and flash the example.
Open a serial terminal and the example will write the exact addresses with used IP addresses you can use to test the servers.
* How to install the Arduino IDE: [Install Arduino IDE](https://github.com/espressif/arduino-esp32/tree/master/docs/arduino-ide).

View file

@ -6,8 +6,8 @@ It is a small project in it's own and has some files to use on the web server to
This example requires some space for a filesystem and runs fine on supported SoCs with 4 MByte or more flash by selecting the proper partition table:
* For using SPIFFS(LittleFS): Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
* For using FATFS: Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
* For using SPIFFS(LittleFS): `Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)`
* For using FATFS: `Default 4MB with ffat (1.2MB APP/1.5MB FATFS)`
It features
@ -36,7 +36,7 @@ Currently, this example supports the following targets.
How to install the Arduino IDE: [Install Arduino IDE](https://github.com/espressif/arduino-esp32/tree/master/docs/arduino-ide).
* In the file `secrets.h` you can add the home WiFi network name ans password.
* In the file `secrets.h` you can add the home Wi-Fi network name ans password.
* Compile and upload to the device.
* Have a look into the monitoring output.
* Open <http://webserver> or <http://(ip-address)> using a browser.
@ -56,9 +56,9 @@ It offers plug-in capabilities by registering specific functionalities that will
In the setup() function in the webserver.ino sketch file the following steps are implemented to make the webserver available on the local network.
* Create a webserver listening to port 80 for http requests.
* Create a webserver listening to port 80 for HTTP requests.
* Initialize the access to the filesystem in the free flash memory.
* Connect to the local WiFi network. Here is only a straight-forward implementation hard-coding network name and passphrase. You may consider to use something like the WiFiManager library in real applications.
* Connect to the local Wi-Fi network. Here is only a straight-forward implementation hard-coding network name and passphrase. You may consider to use something like the WiFiManager library in real applications.
* Register the device in DNS using a known hostname.
* Registering several plug-ins (see below).
* Starting the web server.

View file

@ -243,7 +243,7 @@ void setup(void) {
TRACE("Starting WebServer example...\n");
// ----- check partitions for finding the fileystem type -----
// ----- check partitions for finding the filesystem type -----
esp_partition_iterator_t i;
i = esp_partition_find(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_FAT, nullptr);

View file

@ -4,7 +4,7 @@ This example demonstrates reading and writing data from and to a web service whi
# Supported Targets
Currently, this example supports all SoC with WiFi.
Currently, this example supports all SoC with Wi-Fi.
| Supported Targets | ESP32 | ESP32-S2 | ESP32-C3 | ESP32-S3 |
@ -18,7 +18,7 @@ Please note that this public channel can be accessed by anyone and it is possibl
### Configure the Project
Change `SSID` and `password` to connect to your WiFi.
Change `SSID` and `password` to connect to your Wi-Fi.
Default values will allow you to use this example without any changes. If you want to use your own channel and you don't have one already follow these steps:
* Create an account on [thingspeak.com](https://www.thingspeak.com).
@ -79,7 +79,7 @@ load:0x403cc710,len:0x918
load:0x403ce710,len:0x24e4
entry 0x403cc710
```
Follows the setup output where connection to your WiFi happens:
Follows the setup output where connection to your Wi-Fi happens:
```
******************************************************
Connecting to your-ssid
@ -139,7 +139,7 @@ After this the write+read log repeat every 10 seconds.
***Important: Make sure you are using a good quality USB cable and that you have a reliable power source***
* **WiFi not connected:** Check the SSID and password and also that the signal has sufficient strength.
* **Wi-Fi not connected:** Check the SSID and password and also that the signal has sufficient strength.
* **400 Bad Request:** Check the writeApiKey.
* **404 Not Found:** Check the channel ID.
* **No data on chart / reading NULL:** Data must be sent as an integer, without commas.

View file

@ -1,6 +1,6 @@
# NetworkClientConnect Example
This example demonstrates how to connect to the WiFi and manage the status and disconnection from STA.
This example demonstrates how to connect to the Wi-Fi and manage the status and disconnection from STA.
# Supported Targets

View file

@ -1,5 +1,5 @@
# ESP32-Eduroam
* Eduroam wifi connection with university login identity
* Eduroam Wi-Fi connection with university login identity
* Working under Eduroam networks worldwide
* Methods: PEAP + MsCHAPv2
@ -15,6 +15,7 @@
* Board will auto reconnect to Eduroam if it lost connection
# Tested locations
<!-- vale off -->
|University|Board|Method|Result|
|-------------|-------------| -----|------|
|Technical University in Košice (Slovakia)|ESP32 Devkit v1|PEAP + MsCHAPv2|Working|
@ -29,13 +30,14 @@
|Universidade Federal de Santa Catarina (Brazil)|xxx|EAP-TTLS + MsCHAPv2|Working|
|University of Central Florida (Orlando, Florida)|ESP32 Built-in OLED Heltec WiFi Kit 32|PEAP + MsCHAPv2|Working|
|Université de Montpellier (France)|NodeMCU-32S|PEAP + MsCHAPv2|Working|
<!-- vale on -->
# Common errors - Switch to Debug mode for Serial monitor prints
|Error|Appearance|Solution|
|-------------|-------------|-------------|
|wifi: Set status to INIT|Frequent|Hold EN button for few seconds|
|Wi-Fi: Set status to INIT|Frequent|Hold EN button for few seconds|
|HANDSHAKE_TIMEOUT|Rare|Bug was found under Zeroshell RADIUS authentization - Unsuccessful connection|
|AUTH_EXPIRE|Common|In the case of weak wifi network signal, this error is quite common, bring your device closer to AP|
|AUTH_EXPIRE|Common|In the case of weak Wi-Fi network signal, this error is quite common, bring your device closer to AP|
|ASSOC_EXPIRE|Rare|-|
# Successful connection example
![alt text](https://i.nahraj.to/f/24Kc.png)

View file

@ -1,6 +1,6 @@
# WiFiScan Example
This example demonstrates how to use the WiFi library to scan available WiFi networks and print the results.
This example demonstrates how to use the Wi-Fi library to scan available Wi-Fi networks and print the results.
## Supported Targets

View file

@ -1,6 +1,6 @@
# WiFiScanAsync Example
This example demonstrates how to use the WiFi library to scan available WiFi networks in asynchronous mode and print the results.
This example demonstrates how to use the Wi-Fi library to scan available Wi-Fi networks in asynchronous mode and print the results.
## Supported Targets

View file

@ -1,6 +1,6 @@
# WiFiScan Example
This example demonstrates how to use the WiFi library to scan available WiFi networks and print the results.
This example demonstrates how to use the Wi-Fi library to scan available Wi-Fi networks and print the results.
This example shows the basic functionality of the dual antenna capability.

View file

@ -1,6 +1,6 @@
# WiFiScanTime Example
This example demonstrates how to use the WiFi library to scan available WiFi networks with custom scan timing and print the results.
This example demonstrates how to use the Wi-Fi library to scan available Wi-Fi networks with custom scan timing and print the results.
## Supported Targets

View file

@ -8,12 +8,16 @@ This example allows Arduino users to choose either BLE or SOFTAP as the mode of
## APIs introduced for provisioning
<!-- vale off -->
### WiFi.onEvent()
<!-- vale on -->
This API can be used to register a function to be called from another
thread for WiFi Events and Provisioning Events.
thread for Wi-Fi Events and Provisioning Events.
<!-- vale off -->
### WiFi.beginProvision()
<!-- vale on -->
```
WiFi.beginProvision(void (*scheme_cb)(), wifi_prov_scheme_event_handler_t scheme_event_handler, wifi_prov_security_t security, char *pop, char *service_name, char *service_key, uint8_t *uuid);
@ -50,7 +54,7 @@ WiFi.beginProvision(void (*scheme_cb)(), wifi_prov_scheme_event_handler_t scheme
{ 0xb4, 0xdf, 0x5a, 0x1c, 0x3f, 0x6b, 0xf4, 0xbf, 0xea, 0x4a, 0x82, 0x03, 0x04, 0x90, 0x1a, 0x02 }
```
- `reset_provisioned`: Resets previously provisioned data before initializing. Using this prevents problem when the device automatically connects to previously connected WiFi and therefore cannot be found.
- `reset_provisioned`: Resets previously provisioned data before initializing. Using this prevents problem when the device automatically connects to previously connected Wi-Fi and therefore cannot be found.
**NOTE:** If none of the parameters are specified in `beginProvision`, default provisioning takes place using SoftAP with the following settings:
- `scheme = WIFI_PROV_SCHEME_SOFTAP`

Binary file not shown.

View file

@ -171,7 +171,7 @@ def is_latest_version(destination, dirname, rename_to, cfile, checksum):
except Exception as e:
if verbose:
print(f"Falied to verify version for {rename_to}: {e}")
print(f"Failed to verify version for {rename_to}: {e}")
return False

View file

@ -5,7 +5,7 @@
#define USB_PID 0x0003
#define USB_MANUFACTURER "Alfredo"
#define USB_PRODUCT "NoU3"
#define USB_SERIAL "" // Empty string for MAC adddress
#define USB_SERIAL "" // Empty string for MAC address
// User LED
#define LED_BUILTIN 45

View file

@ -10,7 +10,7 @@
// This board uses pin mapping but the build system has disabled it
#warning The build system forces the Arduino API to use GPIO numbers on a board that has custom pin mapping.
#elif defined(BOARD_USES_HW_GPIO_NUMBERS)
// The user has chosen to disable pin mappin.
// The user has chosen to disable pin mapping.
#warning The Arduino API will use GPIO numbers for this build.
#endif

View file

@ -7,7 +7,7 @@
#define USB_PID 0x80DB
#define USB_MANUFACTURER "CircuitART"
#define USB_PRODUCT "ZeroS3"
#define USB_SERIAL "" // Empty string for MAC adddress
#define USB_SERIAL "" // Empty string for MAC address
// User LED
#define LED_BUILTIN 46