* Fix memory leak and undefined behavour in Updater #7984
* Update error message
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Update error message
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* Adds Analog Continuous mode API
* fix when stopping/starting ADC data are not complete
* Added example
* fix size check
* update frequency in example
* set buffer to NULL if error occurs
* add docs
* set buffer to null on error
* fix example
* update docs
* fix example
* change return value to bool type
* updated adc modes description in docs
* Add empty line at the end of sketch
* Initial changes to compile under ESP-IDF v5.1
* Initial import for ESP-IDF v5.1 libs
* Update toolchain
* Update esp32-hal-psram.c
* Add missing LDs
* Update platform.txt
* Stop some CI jobs, because they will always fail
* Fix examples
* Update app_httpd.cpp
* Update ResetReason.ino
* Warnings fixes
* Added the example guideline and template (#7665)
* Added the example guideline and template
* PR review changes with some typos and grammar fixes
* Changes according to the PR review
* Added ESP32-S3 link to the datasheet (#7738)
* Update HiFreq_ADC.ino
* Replace periph_ctrl.h use because of deprecation
* Replace esp_spi_flash.h use because of deprecation
* Add includes to male mDNS::enableWorkstation compile
* Fix ssl_client mbedtls_pk_parse_key callback
* Update temperature sensor driver
* Allow sketch_utils to compile with arduino-cli
* Run CI with arduino-cli
* Fix arduino-cli CI build on Windows
* Refactor platform.txt to not use components installed through the board manager when running from git
* Initial Peripheral Manager Implementation
* Update SigmaDelta driver to use the new ESP-IDF driver API
* Small improvements to peripheral manager and SigmaDelta
* Remove deleted function from SigmaDelta header
* Update DAC driver to use the new ESP-IDF driver API
* Adds softAp(String) to make it compatible with ESP8266 (#7801)
* Fix commentary (#7800)
Minor fix based on observation done in https://github.com/espressif/arduino-esp32/issues/7795#issuecomment-1416868611
* add adafruit new board feather esp32s2 reserve tft (#7794)
* bugfix: add <stdint.h> for uint8_t to avoid compilation failure (GCC 11.2.0) (#7744)
* Adding 3rd party boards for VALTRACK-V4-VTS-ESP32-C3 & VALTRACK-V4-MFW-ESP32-C3 (#7735)
* Added VALTRACK-V4-VTS-ESP32-C3 board definition
Created pins_arduino.h & made changes to boards.txt with necessary changes
* Modified the URL
* Renamed json
* renamed all auRL
* Adding VALTRACK-V4 series board definitions
Added VALTRACK-V4-VTS-ESP32C3 & VALTRACK-V4-MFW-ESP32-C3 board variants
* Adding VALTRACK-V4 series board definitions
Added VALTRACK-V4-VTS-ESP32C3 & VALTRACK-V4-MFW-ESP32-C3 board variants
* Reverted package_esp32_index.template.json
restored package_esp32_index.template.json from edits
* Reverted package_esp32_index.template.json
Added new line to package_esp32_index.template.json
* Update Platformio CI (#7725)
* WiFiClient example fix (#7711)
* Modified WiFiClient example to use thingspeak instead of non-functionig sparkfun
* Moved instructions to README
* Fixed spelling
* Added link to S3 datasheet
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Mirror update from Heltec repository (#7709)
Heltec updated the I2C pins in b10f4bf85d
* Fixes BLE data printing (#7699)
* Fixes BLE data printing
BLE data has no '\0' terminator, therefore it can't be printed as a regular C string.
This fix just prints the BLE data based on its length.
* Simplify printing to a single call
* split menu options + lora_32_V3 fix (#7697)
* Change header gaurd name (#7696)
* Fix Name (#7691)
Wrong name in definitions.
* Fix error in WiFiClient.cpp where the connect function fails for timeouts below 1 second (#7686)
* Update WiFiClient.cpp
This change will allow specifying connect timeouts below 1 second. Without this change, if connect timeouts under 1 second are given, the connect defaults to 0ms and fails.
This will also allow timeouts in fractions of seconds, e.g. 1500ms. Without this change, connect timeouts are truncated to full second increments.
* Make parameter timeout_ms clear
* Change connection timeout_ms name for clarity
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* fixed the function header (#7674)
* fixed the function header
* fixed function name and paramaters
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Ticker fix solving #6155 (#7664)
* Wrapped Ticker functions with #pragma disabling -Wcast-function-type
* Revert "Wrapped Ticker functions with #pragma disabling -Wcast-function-type"
This reverts commit 160be7e67a10d01b6e44c4bf2521c0ccd6348976.
* Fixed Ticker example
* Modified Ticker example
* Fixed LED_BUILTIN err for ESP32
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* setPins fix ESP32 "specified pins are not supported by this chip." (#7646)
[ESP32: SDMMCFS::begin hardcodes the usage of slot 1, only check if the pins match slot 1 pins.]
setPins() was testing pins D1, D2 and D3 all against D1 ... fine in 1 pin mode when all are -1 not so much if you're trying to get 4 pin mode working.
I now see this function doesn't really do anything on the ESP32...accept now correctly checks that you are trying to use the slot 1 pins.
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Allow passing IP as connect method parameter in WiFiClientSecure and skip unnecessary host-ip conversions (#7643)
* Add LED_BUILTIN* definitions and initialization for LEDs to stop them floating. (#7636)
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Expand path to tinuf2 image when checking existence in platformio-build.py (#7631)
* Expand path to tinuf2 image when checking existence
* More isFiles fixed
* Remove (useless) trailing semicolon from Print.cpp (#7622)
* ADD: New variant Edgebox-ESP-100 (#7771)
* ADD: New variant Edgebox-ESP-100
* FIX: Edgebox-ESP-100 Board.txt usb mode option change back to default value as ESP32S3
* Add Crabik Slot ESP32-S3 board (#7790)
* Added Crabik Slot ESP32-S3
* Adding CPU frequency settings and removing excess from partition scheme settings
* new variant LilyGO T-Display-S3 (#7763)
* new variant LilyGO T-Display-S3
https://github.com/Xinyuan-LilyGO/T-Display-S3
* Add boards.txt definition
---------
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* Update get.py to support Apple ARM64
* Update package_esp32_index.template.json
* WString Return bool (#7774)
* Add Roboheart Hercules development board to the esp32-core (#7672)
* added Roboheart Hercules pin definitions and board.txt entries
* added package_roboheat.json for prototyping
* Roboheart Hercules pins
* Updated the pins
* Delete package_roboheart.json
* Requested changes
---------
Co-authored-by: renebohne <rene.bohne@gmail.com>
* Reword "ESP-IDF as Component" (#7812)
I think "Arduino as an ESP-IDF component" or just "As ESP-IDF component" instead of "ESP-IDF as Component" is more correct way to name the link.
1. "ESP-IDF as Component" would imply that ESP-IDF is some sort of library for Arduino, which is (IMO) misleading, because it's true the other way around.
2. It's written as "Arduino as an ESP-IDF component" on the webpage it points to as well.
- Also I removed the capitalization from "Component" as I have not found a reason why is it capitalized.
* add new board Adafruit Feather ESP32-S3 Reverse TFT (#7811)
* Multi threading examples (tasks, queues, semaphores, mutexes) (#7660)
* Moved and renamed example ESP32/FreeRTOS to MultiThreading/BasicMultiThreading
* Added dummy files
* Modified original example
* Fixed BasicMultiThreading.ino
* Added Example demonstrating use of queues
* Extended info in BasicMultiThreading
* Renamed Queues to singular Queue
* Added Mutex example
* Added Semaphore example
* Moved info from example to README
* Moved doc from Mutex to README
* Added Queue README
* Removed unecesary text
* Fixed grammar
* Increased stack size for Sempahore example
* Added headers into .ino files
* Added word Example at the end of title in README
* removed unused line
* Added forgotten README
* Modified BasicMultiThreading example
* Added missing S3 entry in README
* moved location
* Update ESP-IDF libs
* Update CMakeLists.txt
* Update esptool to v4.4
* Add function timerAttachInterruptFlag (#7809)
* Update esptool to v4.5
* ADC refactoring (#7827)
* Adc refactored + periman implementation
Peripheral manager still needs to be checked if the implementation is right.
* switched to working solution for milivolts read
* Periman detachbus fix
* coding style
* fix CI warnings
* fix FreeRTOS example
* Update ETH.cpp
* Update FunctionalInterruptStruct.ino
* Update package_esp32_index.template.json
* Update package_esp32_index.template.json
* Fixes for the latest IDF v5.1
* update esp-idf libs and toolchain
* Turn OFF auto crystal frequency for ESP32 (needed by TWAI)
* Update examples
* Switch build to mostly use flags from files
Includes can not be done this way
* Reorganize flag files
* Optimize chip build flags further
* Revert defines from file. MBEDTLS_CONFIG_FILE does not properly expand
* Add support for includes and defines from file
* Replace old sdk path references in platform.txt
* use gcc-ar (#8013)
* Makes F_CPU generic for all SoC (#8007)
Based on CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ that is correctly defined in the sdkconfig file for each SoC.
* TIMER refactoring (#7904)
* refactor using GPtimer
* Updated timer HW test
* fix examples
* Add v2.0.7 in issue template (#7871)
* refactor using GPtimer
* Updated timer HW test
* fix examples
* Revert "Add v2.0.7 in issue template (#7871)"
This reverts commit fcc3b17d62ff57861f8913ca1f142fd5163b7457.
* Update upload-artifact to v3 in HW CI
* Revert "Update upload-artifact to v3 in HW CI"
This reverts commit 1ba228071718ba37c4e26d98db22f77b2a7364a6.
* replace resolution with frequency
* remove count_down option
* countup removed from examples + header
* Refactored timer object
* code cleanup + examples and tests fixes
* TimerAlarm fix
---------
Co-authored-by: Vojtěch Bartoška <76958047+VojtechBartoska@users.noreply.github.com>
* [Docs] ADC and Timer API Update (+some docs fixes) (#7906)
* updated docs
* remove hall sensor docs
Removed Hall sensor documentation as its no longer supported in IDF-5
* Fixed ESPNow examples location in docs
* Last timer refactored API + gpio small fix
* AlarmWrite fix
* Fixes APLL/PLL with RTC Frequency (#8025)
log_d() was displaying APLL for any SoC, but S3 and C3 has not such option, causing compilation errors.
* Update IDF libs and fix OPI PSRAM on S3
* Add setMode function HardwareSerial.c to set the esp32 uart mode for use with RS485 auto RTS (#7935)
* Added setMode function to set the esp32 uart mode
Used to set the esp32 uart mode for use with RS485 Half Duplex and the auto RTS pin mode. This will set/clear the RTS pin output to control the RE/DE pin on most RS485 chips.
* Add Success (bool) return in some functions
* Add Success (bool) return code to some functions
* Add Success (bool) return to some functions
* Add Success (bool) return to some functions
* Fix uartSetRxTimeout return type
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Add support for esp-elf-gdb
* WFG Crashfix (#8044)
* Update component libs
* IDF release/v5.1 (#8061)
* IDF release/v5.1 bb9200acec
* Update Esp.cpp
* IDF release/v5.1 420ebd208a
* Update esp32-hal-psram.c
* Switch SDK to be an external package
* fix path (#8096)
* Makes UART work at any APB Frequency (#8097)
Fixes HardwareSerial to work with IDF 5.1 on any CPU/APB Frequency (240MHz to 10MHZ), including user created low power modes.
* Add required callbacks for TinyUSB DFU
* Update version to 3.0.0
* Add ESP.getCoreVersion() and update ESP.getChipModel()
* Update timer hal for the latest 5.1
* Use separate RX and TX buffer sizes in HTTP client
optimizes download by allowing up to 4K packets to be received
* Rename clock tree enum name in latest 5.1
* ESP32-H4 support was removed in ESP-IDF v5.1
* IDF release/v5.1 2004bf4e11 (#8165)
* Deinit previous bus first (#8180)
* TIMER - add timer_started flag, fix timerEnd() + timer HW test (#8135)
* Add timer_started flag and stop before disable
* Fix timer HW test
* TOUCH - Peripheral manager implementation (#8129)
* Touch periman implemented
* Deinit previous bus first
* LEDC Refactoring - Peripheral manager implemented (#8126)
* LEDC periman implementation
* Fix examples
* Rework tone
* Update ledc docs
* fix missing bracket
* Update analog funtions esp32-hal.h
* Update CameraWebServer example
* Fix HiFreq_ADC example
* minor fixes - typos
* Avoid calling tone/notone when tone already runs on dif. pin
* Remove unused channels_resolution
* GPIO - Peripheral manager implementation (#8179)
* periman-implementation
* fix RGB_BUILTIN and remove space
* Enforces more consistency into Peripheral Manager (#8188)
* Avoid log_i() message the first time a bus is assigned
* Prevent operation with ESP32_BUS_TYPE_INIT
* keeps coding style
* do not print messages on INIT bus type
* [Arduino Core 3.0.0] RMT IDF5.1 Refactoring (#7994)
* RMT IDF5.1 refactoring
* Fixes initial value setting
* removed rmtRead() with user callback
* simplify/remove Read data structure
* Deep API simplification
* fixes the examples
* fix rmt.h
* adds support to APB different frequencies
* fixes CI and not defined RGB_BUILTIN
* new RMT API and examples
* fixing commentaties
* Update esp32-hal-rgb-led.c
* changes Filter API
* Fixes example with Filter API
* Update PlatformIO scripts for the upcoming 3.0 core (#8183)
* Update PlatformIO scripts for the upcoming 3.0 core
* Dynamically select proper framework-arduinoespressif32-libs package
With this change the dev-platform will be dynamically configured to
pull the latest .zip package with precompiled libraries from extracted from
package_esp32_index.template.json
* free memory on detach (#8264)
* SPI - Peripheral manager implementation (#8255)
* spi periman implementation
* fix header file
* remove unused struct
* fix missing braces
* Update esp32-hal-rmt.c (#8216)
Optimizing Peripheral Manager Test
* I2C - Peripheral manager implementation (#8220)
* i2c-master periman initial commit
* i2c-master make detachbus static + comment remove
* i2c-slave periman implementation
* SetPinBus to INIT on i2cDeinits
* Fix slave pins deinit
* remove dbg logs
* set ret to ESP_FAIL instead of returning
* Fix warnings in hal-spi caused by pariman transition
* Update esptool.py to version 4.6
* Add platform support for ESP_SR
* Add USB Type and valid pin check to periman
* replace bus with spi->num+1 (#8279)
* Remove default pins from SPI HAL
* Add commented out handlers for esptool.js in TinyUSB CDC
For future use
* Add build defines for host os and fqbn (for debug purposes)
* Provide proper memory caps total size
* Update Esp.cpp
* SDMMC - Peripheral manager implementation (#8289)
* sdmmc periman implemented
* save pins when SOC_SDMMC_USE_IOMUX
* IDF release/v5.1 4bc762621d (#8292)
* Adds missing pinMode (#8312)
* Adds missing pinMode
The example code lacks a pinMode() to initialize the GPIO 0 (button). In Arduino Core 3.0.0, it prints an error message when trying to read a not initialized GPIO.
* Update KeyboardLogout.ino
Adds <buttonPin> to keep code standard
* Update KeyboardReprogram.ino
Adds <buttonPin> to keep code standard
* LEDC Fade implementation (#8338)
* fade API + pointer fixes
* Add fade api
* Add fade example
* update ledc docs
* remove unused variables
* fix path to example
* Adds USB to Peripheral Manager - Arduino Core 3.0.0 (#8335)
* ETHERNET - Peripheral manager implementation (#8297)
* Peripheral manager implemented
* remove unused variable
* Add all RMII pins
* fix typo
* Adds HardwareSerial to Peripheral Manager Arduino 3.0.0 (#8328)
* Do not limit ETHERNET in periman to only ESP32. SPI is also an option
* Initial support for ESP32-C6 (#8337)
* Add checks for SOC defines (#8351)
* Add checks for SOC defines
* Add SoC checks to BLE library
* fix i2c compilation error
* fix wrong placement of include
* add check to SPI library
* add check to USB library
* add checks to Wire library
* Feature/esp32h2 support (#8373)
* Initial support for ESP32H2
* Additional changes for ESP32H2
* Update libs for ESP32H2
* Fix flashing on ESP32-H2
* Fix GPIO Configs for ESP32-C6 and ESP32-H2
* Update Timer test sketch
* Fix upload flash parameters
* Use ets_write_char_uart instead of ets_printf in log_printfv
* Print full chip report when log level is sufficient (#8282)
* ESP32-C3 does not have ets_write_char_uart
* Fix BLE gap event name
* HW Testing - Pytest update (#8389)
* update tests requirements
* remove already handled components
* Update version of pytest
* Add missing ESP32-H2 to hil.yml
* Updated FreeRTOS names (#8418)
* HW Testing - ESP32-C6 + ESP32-H2 fixes (#8404)
* add C6/H2 to tests cfg.json
* remove ,
* workflow runs-on runner by matrix
* Add need for arduino tag to select runner
* Add cryptography to requirements.txt
* Removed duplicate TX1 define for H2 (#8402)
* Fix broken examples
* Fixes RMT filter & idle timing and setup (#8359)
* Fixes Filter and Idle parameter to uint32
* Fixes Filter and Idle setup
* Fixes it to 5.1Libs branch
* fix RMT CLK source and Filter API
* fixes missing ;
* fixes missing ;
* fixes RMT example
* IDF release/v5.1 a7b62bbcaf (#8438)
* Add workflow to build executables from python scripts (#8290)
* Add workflow to build executables from python scripts
* Push binary to tools
* Enable executable signing on Windows
* Update get.py
* Push binary to tools
* Try with multiple files
* Try more actions
* Try powershell
* Restore tools so they do not get rebuilt
* Finalize scripts
* Push binary to tools
* App rollback should be after PSRAM is initialized
* Correcting RX1 to GPIO4 and TX1 to GPIO5 to be consistent with documentation. Previous pin use works but is inconsistent with C6 docs.
* Fixes Memory Leak (#8486)
* fixes preprocessor test (#8485)
* fixes preprocessor test
When using `#define USE_SOFT_AP`
Change
`&& not USE_SOFT_AP` ==> `&& !defined(USE_SOFT_AP)`
* Adds any BLE capable device in WiFiProv.ino
Removing ESP32 restriction for BLE Provisioning.
* fix flash mode read out for C6
* Add option for custom partitions without restrictions
* SD_MMC update (#8298)
* Updated SD_MMC lib and examples
* Removed getter implementation and commented usage in examples
* squashed updates
* IDF release/v5.1 f0437b945f (#8599)
* Update package_esp32_index.template.json
* Fix printf format build error in BTAdvertisedDeviceSet.cpp
---------
Co-authored-by: Pedro Minatel <pedro.minatel@espressif.com>
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Ha Thach <thach@tinyusb.org>
Co-authored-by: Martin Turski <quiret@vfemail.net>
Co-authored-by: raviypujar <raviypujar@gmail.com>
Co-authored-by: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Co-authored-by: Tomáš Pilný <34927466+PilnyTomas@users.noreply.github.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Daniel Berlin <dberlin@dberlin.org>
Co-authored-by: Nima Askari (نیما عسکری) <nimaltd@yahoo.com>
Co-authored-by: rtpmsys <106180646+rtpmsys@users.noreply.github.com>
Co-authored-by: bytiful <55647551+bytiful@users.noreply.github.com>
Co-authored-by: tmfarrington <tmfarrington@users.noreply.github.com>
Co-authored-by: Krzysiek S <chris.streh@gmail.com>
Co-authored-by: surt <carl.olsson@gmail.com>
Co-authored-by: Max Scheffler <max.scheffler@pm.me>
Co-authored-by: Clemens Kirchgatterer <clemens@1541.org>
Co-authored-by: Peter Pan's Techland <twinkle-pirate@hotmail.com>
Co-authored-by: Roman <programmeofficemilkyway@gmail.com>
Co-authored-by: Eistee <Eistee82@users.noreply.github.com>
Co-authored-by: David McCurley <44048235+mrengineer7777@users.noreply.github.com>
Co-authored-by: Gaya3N25 <30388176+Gaya3N25@users.noreply.github.com>
Co-authored-by: renebohne <rene.bohne@gmail.com>
Co-authored-by: Olivér Remény <25034625+remenyo@users.noreply.github.com>
Co-authored-by: davidk88 <david.kotar@gmail.com>
Co-authored-by: Vojtěch Bartoška <76958047+VojtechBartoska@users.noreply.github.com>
Co-authored-by: James Armstrong <jamesarmstrong3@me.com>
Co-authored-by: Valerii Koval <valeros@users.noreply.github.com>
Co-authored-by: Peter G. Jensen <root@petergjoel.dk>
* Updated preferences.rst
* Added into FAQ info about SPIFFS failed mount
* Updated troubleshooting
* Moved SPIFFS paragraph from FAQ to troubleshooting
* Minor updates
* Updated troubleshooting
* Updated SD README files and example comments
* Updated troubleshooting with SD issue
* Added note about S3 pins
* Updated SDMMC test setPins calls + added definition for default pins
* Updated SD_MMC comments
* Added pin table to SD_MMC readme
* Updated table in SD_SPI
* Updated based on comments
* Update io_mux.rst
* Update README.md
In WiFiSTA you can ask for the subnet mask, but not in WiFiAP.
Only the CIDR is reported.
Therefor the missing method is added to have the same features in softAP as well.
This PR fixes an issue of multiple device callbacks (one callback per device) were not getting registered and invoked.
Consider an example where I create two devices, a switch and a fan; each of them having their own write callbacks. On controlling either switch/fan through Rainmaker app, the callback that got registered at last gets invoked. This is also seen in the issue reported in #8231
Resolves deprecation warnings in CameraWebServer.ino. pin_sscb_sda -> pin_sccb_sda. pin_sscb_scl -> pin_sccb_scl.
The variables are in the same union and are identical.
* Makes sure it can be tested with Windows 10/11
Initial code had no effect with Win10/11 because BUTTON_START was not recognized.
This change makes it visible in the Windows Game Controller Testing TAB.
* Examples tests all USB gamepad APIs.
It is possible to change the selected gamepad button when pressing BOOT (long/short press).
The selected button is used as parameter to change R/L Stick and Trigger as well as the Hat.
* Remove __FlashStringHelper from ESP32, it's not needed - all the files using it are different from their ESP8266 counterparts anyway.
* Revert removal of class __FlashStringHelper forward for continued compatibility with external libs
* Improved fix, works for libs that return const __FlashStringHelper*
* Inline all wrappers using const __FlashStringHelper*.
* new variant Seeed XIAO_ESP32S3
* add pin define for camera example
* Remove excess comments and fix minor errors
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Changed data type of temperature
* Changed data type in EddystoneTLM class and example
* Revert "Changed data type in EddystoneTLM class and example"
This reverts commit 1f3a9414ee13341f80bd6d51cdbd57254aadfe97.
* Draft of Eddystone TLM example
* Adds MACROs to convert beacon temperature
2 Macros
EDDYSTONE_TEMP_U16_TO_FLOAT(tempU16) - takes the TLM BigEndian 8.8 fixed point representation and returns its float value
EDDYSTONE_TEMP_FLOAT_TO_U16(tempFloat) - takes a float (temperature) and returns its BigEndian 8.8 fixed point representation
* Fixed temp
* Changed to conform with PR comments
* Fixed comment on closing bracket
* Prints negative TEMP big endian as just 2 bytes
* Extacts correct Eddyston Service Data
* Fixes BLEEddystoneTLM::toString() negative temp
* Fixes URL field length
* Fixes Eddystone URL decoding
* Fixes MSB for iBeacon UUID
iBeacons use big endian BLE fields.
* Fix to detect iBeacon that also has Service UUID
This fix makes the BLE_iBeacon.ino to work correctly with the BLE_Beacon_Scanner.ino example
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Remove inline code comments for the struct description
* Renamed ESPNow examples
* Changed example from C++ class to C struct
* Updated MultiHomedServers
* Updated BT Serial examples
* Added short overview of exaples - missing Enterprise
* Added draft of Enterprise header note
* Fixed note in README
* Fixed compilation error
* Changed FunctionalInterrupt example
* Fixes
* Returned FunctionalInterrupts to original state + added modified version as new example
* Added methods + example to retrive local MAC for BT
* Added .skip files in the new example folder
* Fixed typos and formatting + added doxygen comments
* changed std::string to String
* another std::string -> String
* Changed std::string to String
* chaged string type in example
* Moved and renamed example ESP32/FreeRTOS to MultiThreading/BasicMultiThreading
* Added dummy files
* Modified original example
* Fixed BasicMultiThreading.ino
* Added Example demonstrating use of queues
* Extended info in BasicMultiThreading
* Renamed Queues to singular Queue
* Added Mutex example
* Added Semaphore example
* Moved info from example to README
* Moved doc from Mutex to README
* Added Queue README
* Removed unecesary text
* Fixed grammar
* Increased stack size for Sempahore example
* Added headers into .ino files
* Added word Example at the end of title in README
* removed unused line
* Added forgotten README
* Modified BasicMultiThreading example
* Added missing S3 entry in README
* moved location
[ESP32: SDMMCFS::begin hardcodes the usage of slot 1, only check if the pins match slot 1 pins.]
setPins() was testing pins D1, D2 and D3 all against D1 ... fine in 1 pin mode when all are -1 not so much if you're trying to get 4 pin mode working.
I now see this function doesn't really do anything on the ESP32...accept now correctly checks that you are trying to use the slot 1 pins.
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Update WiFiClient.cpp
This change will allow specifying connect timeouts below 1 second. Without this change, if connect timeouts under 1 second are given, the connect defaults to 0ms and fails.
This will also allow timeouts in fractions of seconds, e.g. 1500ms. Without this change, connect timeouts are truncated to full second increments.
* Make parameter timeout_ms clear
* Change connection timeout_ms name for clarity
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Fixes BLE data printing
BLE data has no '\0' terminator, therefore it can't be printed as a regular C string.
This fix just prints the BLE data based on its length.
* Simplify printing to a single call
* Modified WiFiClient example to use thingspeak instead of non-functionig sparkfun
* Moved instructions to README
* Fixed spelling
* Added link to S3 datasheet
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Fixed issue where esp32 won't reconnect to WiFi AP if the AP was restarted
* Added the autoReconnect condition and removed the reconnect reason
* Chenges on the WiFi reconnection and added new example
* Added new line at the end
* Changes reverted with some minor changes. New example remained
* Changes reverted and sync
Co-authored-by: pedro.minatel <pedro.minatel@espressif.com>
* ESP Insights: Added library support
* ESP Insights: Added Examples
* ESP Insights: Added custom partitions file
* ESP Insights: Added API documentation.
* Added recipe and script to create Insights package
* Updated ESP Insights examples.
* Changed Insights Firmware package output directory
* Changed license to include SPDX license
* Fix Insights package for Windows
* Updated .exe of insights script
* Added coredump partition to all schemes
* Updated header files of Insights diagnostics
* hotfix: Added elf-sha256-offset flag in elf2bin
builder
* Update API to be more Arduino-like and partitions offsets
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* adds extended HardwareSerial examples
* Adds new example with Serial RxTimeout
* adds and improves Serial onReceive expamples
* adjust includes CMake - UART example
* adjust includes CMake - UART example
* fixes CMake and CI
* adds ESP/Serial to CMakeList
* adds ESP/Serial to CMakeList
* fixes demo include
* fixes BREAK demo
* fixes onReceive demo
* Changes FIFO Full criteria
Changed the "1-by-1" Serial only when baud rate is 57600 or lower.
* example code replacement
* replaces functions in hal
* Update `WiFiScan` example to show more useful data
* Add channel to output.
* Add type of encryption to output.
* Format output as table.
* Update outdated example description.
* Add `scanDelete()` as hint to free memory.
* added 32 chars SSID + readme edit
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* replaced original iBeacon example with a known-good one
* addressed VojtechBartoska's comment
* incorporated P-R-O-C-H-Y's change
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* refactor(toString method): Add RSSI / serviceData
These are key characteristics of the BLE advertising packet. Really useful, adding to this method allows data to be easily obtained and passed over TCP/IP for processing.
* fix: remove line 565 bug
Currently, if a second connection occur in Bluetooth, this second connection is automatically disconnected (line 284).
This disconnection trigger the ESP_SPP_CLOSE_EVT, which clear the bit SPP_CONNECTED.
But the first connection remain active, and this flag shouldn't be cleared.
This fix the issue, by clearing the flag only if the last connection is closed
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
This commit addes an example showing how to receive messages using the TWAI
driver interface and a CAN transceiver. Specifically, the example demonstrates:
- How to configure and install the TWAI drvier
- How to poll for TWAI events (i.e., alerts) using twai_read_alerts()
- How to handle the various events (such as TWAI_ALERT_RX_DATA)
Closes https://github.com/espressif/arduino-esp32/pull/7430
Co-authored-by: Stephan Martin <designer2k2@gmail.com>
* Added enableScenes API
* Added enableScenes API documentation
* Added enableScenes API to example
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Fixed#7406 . The "reason2str" macro in WiFiGeneric.cpp tries to read memory from index "-1" in "system_event_reasons" array when handling STA_DISCONNECTED event with reason 0. Dealing with reason 0 as a reason 1 (WIFI_REASON_UNSPECIFIED) will solve the problem (the reason for this event to arrive with reason 0 is unknown). #7406
The original code assumes 100Hz FreeRTOS tick rate and just supplies vTaskDelay with the assumed number of ticks required for the wanted delay. This patch simply fixes it to use portTICK_PERIOD_MS, thereby working correctly regardless of what tick rate FreeRTOS has been configured to run at.
The HID semaphore allows USBHID::SendReport() to wait for the completion of
report sending.
With a zero timeout xSemaphoreTake() after calling tud_hid_n_report(),
occasionally, the following would happening:
1. USBHID::SendReport() would send a report by calling tud_hid_n_report().
2. The send would complete and (presumably on another thread)
tud_hid_report_complete_cb() would be called and it would xSemaphoreGive()
the semaphore.
3. In USBHID::SendReport(), the zero timeout xSemaphoreTake(sem, 0) would
succeed, taking the semaphore.
4. On the next line, xSemaphoreTake(sem, timeout_ms ...) would timeout
because the semaphore was already taken by the previous line of code.
The result would be waiting timeout_ms for no reason.
The purpose of the zero timeout xSemaphoreTake() is to clear the semaphore in
case a previous SendReport() timed out waiting for the semaphore. In that case,
tud_hid_report_complete_cb() may be called after the timeout, giving the
semaphore. Then the next SendReport() would start with the semaphore given,
which isn't desired if we want to call xSemaphoreTake(sem, timeout_ms ...) on
it.
There have also been other cases where tud_hid_report_complete_cb() is called
an extra time, causing the same situation.
The fix is to move the zero timeout xSemaphoreTake() before the call to
tud_hid_n_report(). This eliminates the race between the zero timeout
xSemaphoreTake() and tud_hid_report_complete_cb() in the common case when no
timeout occurs.
There is still a possible race condition between the zero timeout
xSemaphoreTake() and tud_hid_report_complete_cb() in the case of a timeout,
but that should be rarer.
Arduino-esp32 2.0.4 was released with a version of TinyUSB hid_device.h
that uses uint16_t for the last argument:
https://github.com/espressif/arduino-esp32/blob/2.0.4/tools/sdk/esp32s2/include/arduino_tinyusb/tinyusb/src/class/hid/hid_device.h
TU_ATTR_WEAK void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint16_t len);
But USBHID implements this callback with uint8_t:
https://github.com/espressif/arduino-esp32/blob/2.0.4/libraries/USB/src/USBHID.cpp
void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint8_t len){
if (tinyusb_hid_device_input_sem) {
xSemaphoreGive(tinyusb_hid_device_input_sem);
}
}
The result is that when USBHIDKeyboard sends a report to the host, it
times out, waiting 100 ms for the callback to be called. It does this
once for pressing the key and once for releasing the key, so
100 ms * 2 = 200 ms.
The latest version of hid_device.h reverts the last argument to uint8_t:
860b104691/tools/sdk/esp32s2/include/arduino_tinyusb/tinyusb/src/class/hid/hid_device.h
TU_ATTR_WEAK void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, /*uint16_t*/ uint8_t len );
But these commits suggest that the last argument will eventually be
changed to uint16_t:
556b5d5044
change report len in hid API from uint8_t to uint16_t
since HS interrupt endpoint can be up to 1024, 8-bit is not enough.
affected APIs are:
- tud_hid_n_report() / tud_hid_report()
- tud_hid_report_complete_cb()
b495d6f8ec
temporarily revert len back to uint8_t in tud_hid_report_complete_cb() for up coming release
To prevent this from becoming broken again, in preparation for the change
to uint16_t, make USBHID resilient to any type for the last argument for
tud_hid_report_complete_cb() by using some C++ template metaprogramming,
adapted from https://stackoverflow.com/a/22632571.
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Removed option to change CHANNEL
* Revert "Removed option to change CHANNEL"
This reverts commit b2ec27de1d2d4703a15f6397550a46896413828a.
* Fixed the ability to change CHANNEL
* WiFi scan only on selected channel
otherwise the compiler will complain about unused variable event
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Improve RGB LED Driver
Replaces the use of the `LED_BUILTIN` variable by creating a new variable called `RGB_BUILTIN`. On boards with both a regular LED and RGB LED, this change provides functionality to control either LED.
The `LED_BRIGHTNESS` variable is changed to `RGB_BRIGHTNESS`, which aligns more closely with the `RGB_BUILTIN` variable name.
`BOARD_HAS_NEOPIXEL` is no longer necessary; it is replaced by `RGB_BUILTIN`.
* Update BlinkRGB example
Update example code for changes with the RGB driver:
- Replace `LED_BUILTIN` and `BOARD_HAS_NEOPIXEL` with `RGB_BUILTIN`
- Replace `LED_BRIGHTNESS` with `RGB_BRIGHTNESS`
* Update board variants
Update board variants for changes with the RGB driver:
- Remove `BOARD_HAS_NEOPIXEL`
- Define `RGB_BUILTIN` pin
- Replace `LED_BRIGHTNESS` with `RGB_BRIGHTNESS` to align with `RGB_BUILTIN` name
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Vojtěch Bartoška <76958047+VojtechBartoska@users.noreply.github.com>
With recent compiler update, the following warning is generated:
packages/esp32/hardware/esp32/2.0.4/libraries/LittleFS/src/LittleFS.cpp:85:5: warning: missing initializer for member 'esp_vfs_littlefs_conf_t::dont_mount' [-Wmissing-field-initializers]
This commit adds the missing identifier.
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Added definitions for various parameters and UI types.
* Overload for `const char*` added.
* Function `addValidStrList` added.
This is needed for mode parameters (see example RMakerCustomAirCooler.ino).
* Example of a custom device that uses toggle, mode and range parameters.
* Revert: Added definitions for various parameters and UI types.
* Fixed declaration for addValidStrList
* Fixed missing gpio definition for ESP32C3 target
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Description of Change
Original code does not work (crashing) - related issue #6832 - now fixed.
Extended description to be more helpful.
Added options to modify the setup at the top of the code via constants.
Added option do plot with Arduino Serial plotter.
Even if the crashing was solved alone the ledc PWM would not output any signal.
Tests scenarios
Tested on ESP32 with oscilloscope and signal generator.
Related links
Closing #6832
Fixed issue with ssl_client->socket being closed without being consistently set to -1. Changed close to lwip_close to be consistent with lwip_socket, resolved issue with long term assert after 4+ days (assert failed: lock_release_generic locks.c:186).
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Description of Change
This PR fixes an issue related to BLE Server and Descriptors.
The issue:
If the BLE Server code changes its own descriptors, it is not reflected in the GATTS database.
BLE2902 CCCD also didn't reflect any changes to the GATTS database.
Because of this issue, the client could never read the real Descriptor values from the remote Server.
Tests scenarios
Tested with ESP32.
Related links
Fixes#6863Fixes#6868
* Initial implementation of RGB driver via digitalWrite
* Moved constants to pins_arduino.h
* Changed pin definition + added example
* Wrapped BlinkRGB in #ifdef BOARD_HAS_NEOPIXEL
* Removed forgotten log from example
* Moved RGBLedWrite to new file esp32-hal-rgb-led and created pinMode in variatn.cpp
* Updated example - lowered single channel brightness to LED_BRIGHTNESS
* Changed function name from RGBLedWrite to neopixelWrite + code polishing
* Moved pinSetup portion related to RGB back to common file
- Created new temporary variable, stopping confusion with the reuse of "error". As Wire.requestFrom() doesn't return an error.
- Added a cast to help clarify when and why bytes are being read
When building the core with `-Wextra` a few locations have `case:`
fall throughs or skipped field initializers.
Add proper comments for B64 cases to avoid GCC warnings
Initialized unused fields in Tone and WiFiGeneric to avoid missing
field initializer warnings.
````
2022-05-19T17:40:42.2280300Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cdecode.c: In function 'base64_decode_block_signed':
2022-05-19T17:40:42.2282122Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cdecode.c:42:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
2022-05-19T17:40:42.2283247Z *plainchar = (fragment & 0x03f) << 2;
2022-05-19T17:40:42.2284240Z ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
2022-05-19T17:40:42.2285087Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cdecode.c:43:7: note: here
2022-05-19T17:40:42.2285435Z case step_b:
2022-05-19T17:40:42.2285691Z ^~~~
2022-05-19T17:40:42.2286515Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cdecode.c:53:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
2022-05-19T17:40:42.2286932Z *plainchar = (fragment & 0x00f) << 4;
2022-05-19T17:40:42.2287219Z ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
2022-05-19T17:40:42.2287609Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cdecode.c:54:7: note: here
2022-05-19T17:40:42.2287909Z case step_c:
2022-05-19T17:40:42.2288200Z ^~~~
2022-05-19T17:40:42.2288972Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cdecode.c:64:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
2022-05-19T17:40:42.2289491Z *plainchar = (fragment & 0x003) << 6;
2022-05-19T17:40:42.2289745Z ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
2022-05-19T17:40:42.2290162Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cdecode.c:65:7: note: here
2022-05-19T17:40:42.2290509Z case step_d:
2022-05-19T17:40:42.2290714Z ^~~~
2022-05-19T17:40:42.2482744Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cencode.c: In function 'base64_encode_block':
2022-05-19T17:40:42.2484713Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cencode.c:46:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
2022-05-19T17:40:42.2485415Z result = (fragment & 0x003) << 4;
2022-05-19T17:40:42.2486713Z ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
2022-05-19T17:40:42.2487696Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cencode.c:47:9: note: here
2022-05-19T17:40:42.2488519Z case step_B:
2022-05-19T17:40:42.2489175Z ^~~~
2022-05-19T17:40:42.2492458Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cencode.c:56:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
2022-05-19T17:40:42.2493351Z result = (fragment & 0x00f) << 2;
2022-05-19T17:40:42.2494227Z ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
2022-05-19T17:40:42.2496324Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/libb64/cencode.c:57:9: note: here
2022-05-19T17:40:42.2496937Z case step_C:
2022-05-19T17:40:42.2497261Z ^~~~
2022-05-19T17:40:44.6354962Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp: In function 'void setToneChannel(uint8_t)':
2022-05-19T17:40:44.6356417Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp:99:5: warning: missing initializer for member 'tone_msg_t::pin' [-Wmissing-field-initializers]
2022-05-19T17:40:44.6357120Z };
2022-05-19T17:40:44.6358732Z ^
2022-05-19T17:40:44.6364470Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp:99:5: warning: missing initializer for member 'tone_msg_t::frequency' [-Wmissing-field-initializers]
2022-05-19T17:40:44.6367914Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp:99:5: warning: missing initializer for member 'tone_msg_t::duration' [-Wmissing-field-initializers]
2022-05-19T17:40:44.6372875Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp: In function 'void noTone(uint8_t)':
2022-05-19T17:40:44.6373943Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp:110:5: warning: missing initializer for member 'tone_msg_t::frequency' [-Wmissing-field-initializers]
2022-05-19T17:40:44.6375154Z };
2022-05-19T17:40:44.6375825Z ^
2022-05-19T17:40:44.6379852Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp:110:5: warning: missing initializer for member 'tone_msg_t::duration' [-Wmissing-field-initializers]
2022-05-19T17:40:44.6383291Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp:110:5: warning: missing initializer for member 'tone_msg_t::channel' [-Wmissing-field-initializers]
2022-05-19T17:40:44.6388688Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp: In function 'void tone(uint8_t, unsigned int, long unsigned int)':
2022-05-19T17:40:44.6389829Z /home/runner/arduino_ide/hardware/espressif/esp32/cores/esp32/Tone.cpp:128:5: warning: missing initializer for member 'tone_msg_t::channel' [-Wmissing-field-initializers]
2022-05-19T17:40:44.6390677Z };
2022-05-19T17:40:44.6391420Z ^
2022-05-19T17:42:00.6768353Z /home/runner/arduino_ide/hardware/espressif/esp32/libraries/WiFi/src/WiFiGeneric.cpp: In static member function 'static bool WiFiGenericClass::setDualAntennaConfig(uint8_t, uint8_t, wifi_rx_ant_t, wifi_tx_ant_t)':
2022-05-19T17:42:00.6769293Z /home/runner/arduino_ide/hardware/espressif/esp32/libraries/WiFi/src/WiFiGeneric.cpp:1333:5: warning: missing initializer for member 'wifi_ant_config_t::rx_ant_default' [-Wmissing-field-initializers]
2022-05-19T17:42:00.6769658Z };
2022-05-19T17:42:00.6769824Z ^
````
add a comment to make it clear, since platformIO still creating the `spiffs.bin` for filesystem image. The file name `spiffs.bin` is so much CONFUSING! it makes the user fill the LittleFS creating is fail.
Better allocate the buffer for f_mkfs from the heap otherwise the stack requirement of this library is huge due to a work buffer allocated for f_mkfs in sdcard_mount. The work buffer is only needed if argument format_if_empty is set true (which is by default false).
This change is quite important if you plan to use this library in a task. as now it increased the tasks stacks size by 4k, even this memory is never used if users are not aware of the large stack requirement during init this library may have other variables on stack that would have written memory outsides its range which can cause various side effects.
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
The internal _isRemoteAddressSet variable is set to true
when calling connect() functions. If connecting fails _isRemoteAddressSet
needs to be re-set to false, otherwise other functions, such as
discover() will fail without clear error messages.
Summary
Added compiler.warning_flags to all chips in platform.txt to reflect users setting of warning level output during compilation (set up in Arduino IDE preferences)
Impact
When a warning is set to none the compilation will no longer display warnings
Related links
Solves issue #6118
Description of Change
Fixes IPAddress INADDR_NONE declaration when using Arduino WiFi or ETH.
This symbol was defined as 0xffffffff by lwip /inet.h, making it impossible to use INADDR_NONE correctly.
This PR only works when <wifi-provisioning/wifi_config.h> has a modification to include <lwip/ip4_addr.h> instead of <lwip/inet.h>. This will be done directly to the sdk folder in the github structure and it has been fixed in IDF by a separated Merge Request. This will be reflected in the future, for good.
Tests scenarios
This PR was tested with all Arduino WiFi examples, including AsyncUDP. Also with ETH examples.
It was also tested for #6610 test cases.
Testing done for ESP32, ESP32-S2, ESP32-C3 and ESP32-S3.
Related links
fixes#6610fixes#6247fixes#4732
Added options to WiFi STA for connect:
- setMinSecurity: default WIFI_AUTH_WPA2_PSK
- setScanMethod: default WIFI_FAST_SCAN
- setSortMethod: default WIFI_CONNECT_AP_BY_SIGNAL (required all channels scan method)
Added parameters for SSID and BSSID to WiFi.scanNetworks()
Fixes: #6485
Fixes: Any issue about WiFi connecting slower now than in 1.0.x
Private Key. Issue presented during any subsequent invocation of loadCACert, loadCertificate, and
loadPrivateKey, respectively, after the first invocation.
* Revert "Edited VFSFileImpl::read to use both read/fread (#6456)"
This reverts commit 7b89b39e10.
* Added default file buffer size + function to change it by user
Also support ESP_IDF_VERSION_MAJOR > 3
Fixes#6458
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* Fixes USB CDC setRxBufferSize(), begin(), _onRX()
* Fixes SetRxBufferSize(0) with end()
* Fixes reset when 2x call to end()
* Adds RX_OVERFLOW_EVENT and Queue Copy in setBufferSize
* changed event name to ARDUINO_USB_CDC_RX_OVERFLOW_EVENT
Summary
The examples demonstrate how to create a WPA2 Enterprise connection, but it requires using various direct esp_idf functions. This patch is intended to create another overloaded version of the WiFi.begin() function that allows a user to create a WPA2 Enterprise connection in much the same way as different kinds of connections.
My only question for the core maintainers is whether I should leave those #ifdef's in there. I added them so that it was easy to disable all the code I added via defines from my platformio.ini file, but they technically aren't necessary.
Impact
This should make it easier for novice users to create WPA2 Enterprise connections. For my university, I didn't need a root certificate or the client certificate or client key, so I haven't been able to debug those scenarios, but I built the begin functions to allow any one of those to be used, if needed.
I can confirm that eduroam-style WPA2 Enterprise networks that only require authentication with a username and password works as expected.
In my project I'm getting the error
```
In file included from lib/Discovery/Discovery.cpp:2:
C:/Users/David/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src/AsyncUDP.h:47:1: error: expected class-name before '{' token
```
Adding a reference to Stream.h fixes it.