* feat(uart): setBufferSize
It makes sure that setting TX buffer size will match availableForWrite() response. It also sets the buffer to the minimum instead of doing nothing and returning an error.
For RX Buffer, it sets the minimum and also don't return an error.
This makes the APIs better and easy to understand its results.
* feat: sets TX buffer
This will allow to set TX buffer to a minimum with no error message.
It also makes it works as in the Arduino API specification that is to return the buffer available space. In ESP32 case it will be the minmum the HW TX FIFO size of 128 bytes.
* feat: adjust availableForWrite
This change will make sure that if no TX Ringbuffer is used, it will return the UART FIFO available space. Otherwise, it will return the Ringbuffer available space, as defined in the Arduino especification.
* fix: LED Pin Modified
fix: LED Pin Modified
* Revert "fix: LED Pin Modified"
This reverts commit 36bdbdbe0c.
* fix: LED Pin Modified to support Hardware update
fix: LED Pin Modified to support Hardware update
* feat(hwcdc): fix delay
Fixes delay when CDC is disconnected. At this time is only fixes it when USB cable is unplugged.
* feat(hwcdc): fix delay
fixes delay when CDC is not connected. It was only considering when the USB cable was not plugged.
* feat(hwcdc): add 2 methods
Adds 2 new methods:
- isPlugged() will return true when USB cable is plugged, false otherwise.
- isConnected() will return true when USB CDC is connected to a application in the USB Host side and communication is stablished.
* feat(hwcdc): adjusts APIs
Fixes the example to use the new added APIs for checking if USB cable is plugged and for checking if CDC is connected.
* fixes api declaration
* fixes API declaration
* feat(hw_cdc):fixes the hardware cdc jtag plugged/unplugged status
This will use a new IDF 5.1 feature to detect if the USB HW CDC is plugged or not. This can be checked testing HWCDCSerial.
It also fixes issues related to timeout or delays while writing to the HW Serial when USB is unplugged.
* feat(usb): Creates HWSerial_Events.ino example
* feat: adds .skip.esp32
Skips the ESP32 SoC test given that it has no USB
* feat: adds .skip.esp32s2
Skips the ESP32S2 because it has no HW CDC JTAG interface
* fix: fixes issues with Ubuntu CI
Only compiles the example in case it is using Hardware CD and JTAG mode.
* feat(serialcdc): non block functions
modifies write and flush to do not clock in case CDC host is not connected to the CDC client from the C3/S3/C6/H2
* fix(HWCDC): changes made demands testing for CDC ON BOOT
* feat(hwcdc): Improves HWSerial_Events.ino
Improves the example by adding more information about USB being plugged and CDC being connected.
* feat(hwcdc): solves CDC connection issue
Detects correctly when CDC is or not connected.
Deals with USB unplugged while the sketch is printing to CDD.
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Update cores/esp32/HWCDC.cpp
* Apply suggestions from code review
---------
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* WT32-SC01 PLUS support
Added pins_arduino.h and a boilerplate boards.txt entry for the Panlee WT32-SC01 Plus.
* Update pins_arduino.h
Edited the name to correctly reflect WT32-SC01 PLUS
* Update variants/wt32-sc01-plus/pins_arduino.h
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* ADD(tinyuf2 things): Added tinyuf2 bins
ADD(tinyuf2 things): Added tinyuf2 bins
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Add Board support for Geekble ESP32-C3 Custom Module
feat: Add Board support for Geekble ESP32-C3 Custom Module
* fix: remove globally defined variables in pins_arduino.h
fix: remove globally defined variables in pins_arduino.h
* [W5500] Support no-IRQ
Requires this commit from ESP-IDF to be cherry picked:
fd0a1dc53c
* Remove unrelated code to support ETH_PHY_JL1101
* remove the commented check and fix the error message
* Guard feature to be enabled when IDF backports it to v5.1
---------
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* Added new Olimex boards
Added variants for ESP32-H2-DevKit-LiPo and ESP32-SBC-FabGL boards
* Changes on the ESP32-POE and POE-ISO
Added menu for selection of the:
1) PSRAM enabled/disabled
2) Flash size 4/16 MB
3) Flash mode QIO/DIO
4) Partition Scheme additional options
* Updated pins_arduino.h for ESP32 POE, POE-ISO and Gateway
Due to the latest changes in the ethernet library/examples (https://github.com/espressif/arduino-esp32/pull/9242) full package of definitions of the ethernet macros is for each board that has non-default values.
For POE and POE-ISO is added a preprocessor condition #if defined BOARD_HAS_PSRAM due to our specific hardware because GPIO 16 and 17 are in use when PSRAM is enabled.
* Update boards.txt
Removed the -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw
fix flags as suggested by Jason2866 and me-no-dev
* Update boards.txt
Reverted changes for ESP32-POE and ESP32-POE-ISO
* Update boards.txt
Rearrange of the enable/disable entries of the PSRAM option for ESP32-SBC-FabGL to be enabled by default.
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* fix(esp32): 🐛 Fixed "Invalid mbox" in the Wi-Fi example
* fix: changes the code to actually connect to the WiFi in roder to get time and date
* fix: removing call to WiFi.begin() at the end of the sketch. It must be called at first.
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Fix: adds RMT new function to io_pin_remap list
* Fix: adds rmtSetEOT(int pin, uint8_t EOT_Level) to the new API list
* Fix: error in macro definition - left over from function signature
Update subpart ("PostArg") parsing to ignore extra headers instead of silently failing.
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* RMT (featt): adds a new function to set EOT level after RMT writing
* RMT (feat): adds new feature to set the EOT level after writing RMT channel
* adds return value to rmtSetEOT()
* adds bool return to rmtSetEOT()
* adds return value to the rmtSetEOT() function
* FIX (rmt): fixes eot_level setting using flags in the TX structure
* RMT(feat): Create RMT_EndOfTransmissionState.ino example
* Update cores/esp32/esp32-hal-rmt.h
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Update cores/esp32/esp32-hal-rmt.c
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Update cores/esp32/esp32-hal-rmt.c
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>
* Split start_ssl_client into two phases; to allow the implementation of protocols that use some sort of in-band STARTTLS or STARTSSL signal to upgrade a plaint text connection to SSL/TLS. Examples of these protocols are XMPP, SMTP and various database TCP connections.
* Remove removed setTimeout that was accidentally included (was removed for IDF >=5), bring timeout inline with the other timeouts (ints), fix cert/key checks to look if there is actually something there (all issues caught by the CI/CD on windows-latest
* Quell compiler warning; use the right timeout
* Newer versions of MBEDTLS make the client key struct private (and most of the x509 struct too), so absent of a non-null pointer we cannot check wether it is populated. Solve this by looking at the version (as 0 is not a valid x509 version).
* Fix another \(rightfull\) compiler warning iwth the version pointer
* Quell CI/CD runs on non-WiFi supporting hardare
* Quell CI/CD runs on non-WiFi supporting hardare
* Fix typo in directory name
* Apply suggestions from code review
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Rename Files
* Remove leftover file
---------
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* feature: create a Trust on First Use example the quell the increasingly common copy & paste of the insecure approach making it to production
* Quell CI/CD runs on non-WiFi supporting hardare
* Update libraries/WiFiClientSecure/examples/WiFiClientInsecure/WiFiClientInsecure.ino
typo/improvement to text
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino
typo/improvement to text
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino
Fix formatting
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino
typo/improvement to text
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino
typo/improvement to text
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino
typo/improvement to text
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino
typo/improvement to text
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino
typo/improvement to text
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Various things can all stop_ssl_socket() which sets the socket to -1; but the WiFiClientSecure checks for _connected. So we want to make sure the latter is always set. And thus have moved the state handling around *ssl_client down into the C code; below WiFiClientSecure.
* Unitialized NVRAM/EEPROM is actual set to 0xFF; so adjust for this. And print the LF/CR for the header lines.
* Update libraries/WiFiClientSecure/examples/WiFiClientTrustOnFirstUse/WiFiClientTrustOnFirstUse.ino
---------
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* refactor(on-release): improve platform.txt path replacements
Use regexs to replace all occurrences of `{runtime.platform.path}` with
the correct `{runtime.tools.*.path}`, regardless of directory separator,
and remove dependency on specific text around each path.
Note that the order has been changed to ensure that the longest paths
are replaced first, to avoid replacing parts of other paths.
* fix(platform): Windows backslash cleanups
Ensure Windows paths properly use a backslash as folder separator.
* feat(platform)!: use new Arduino Debug API
Implement sketch debugging according to the official Arduino
Platform Debug Specification [1].
The biggest improvement is that now `launch.json` can be fully
customized by the core (including the type of each entry),
so there is no need to copy files in the sketch folder.
In particular, `debug_custom.json` is not used anymore.
[1] https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-debugging-configuration
BREAKING CHANGE: This commit requires Arduino IDE 2.3.0 or later to use
the debugging features. Older versions will no longer be able to start
a debug session successfully.
* feat(debug): pass objdump path to resolve globals
Cortex-debug requires objdump to be in the same folder as gdb, or needs
the full path to the executable in the `launch.json` file. This is now
possible with the new debugging API.
* feat(debug): conditionally enable debug button on Nano ESP32
If the `debug.executable` variable is null or unset, the Debug button
appears grayed out. The new IDE also takes current parameters into
account, allowing to conditionally enable the Debug button only when
some conditions are met.
* on_release: allow single board packages
---------
Co-authored-by: Martino Facchin <m.facchin@arduino.cc>
* Update Update.h
* Update Updater.cpp
* Add files via upload
* Add files via upload
* Add files via upload
* Update Update.h
* Update Updater.cpp
* Add files via upload
* Revert changes
* Revert changes
* Fix CI
* Fix format
* Skip H2
* Use new
* Fix comments and formatting
* Format example
* Remove binaries and QoL improvements
---------
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Fix ESP32-Solo WDT on HTTP OTA update
* Fix ESP32-Solo WDT on HTTP OTA update
* Fix commits
---------
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
The Arduino Platform Specification requires that the recipe hooks are
distinguished by a number and does not endorse using text labels. Fix
all the usages of recipe hooks to use numbers.
Closesarduino/arduino-cli#2369 .