* feat(uart): adds a function to calculate maximum valid rx timeout
* fix(uart): check uart rx timeout value and log an error msg
* fix(uart): changes log message to a more clear one
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* fix(uart): uart begin does not set the clock source when baudrate changes
* fix(uart): returns success on baud rate change operation
* fix(code): uart typo - missing ( in the code
* fix(uart): replacing mutex lock to avoid double lock
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* feat(gpio): allows mixing digital and analog read/write operations
* fix(gpio): simple mistake in calling __pinMode() fnuction
* fix(gpio): simple mistake in calling __pinMode() fnuction
* feat(gpio): update the log message to tell the solution for the error.
* feat(gpio): warn user about digitalRead() used with non GPIO pin
* fix(gpio): wrong peripheral manager test case
* feat(uart): adds low power uart peripheral into hardware serial class
* feat(lp_uart): pin setting for lp uart plus esp32p4 fixes
* fix(uart): keeps the test as it was before.
* fix(uart): updates the copyright year reference
* fix(uart): updates the copyright year reference
* feat(lp_uart): supports any number of lp uart port for the future
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* feat(i2c): Add support for the new I2C driver in IDF v5.4
* fix(build): Add the new driver to CMakeLists.txt
* fix(i2c): Guard sleep retention
Not all chips can restore I2C bus after light sleep
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Fixes: #10938
Keep allocated memory when rhs fits
Use case: Appending to a String with pre-allocated memory (e.g. from `reserve()`)
No need to move 0-termination char in String::move
Simplify calls to String::copy
A lot of the same checks were done before calling `copy()` which should be done in the `copy()` function itself.
String::copy() Should not copy more than given length
Fix potential out of range in String::concat
There is no prerequisite the given array has to be a 0-terminated char array.
So we should only copy the length that has been given.
The `setLen()` function will make sure the internal string is 0-terminated.
So no need to dangerously assume there will be 1 more byte to copy
Allow String::concat(const String &s) with s.buffer() == nullptr
When constructing a String object, the internal buffer is a nullptr.
However concatenating this to another String would return `false` while this is perfectly fine to do.
* feat(cdc): Add support for two CDC ports at once
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* feat(chip): Add definition for BOOT_PIN for all chips
For use in sketches as default button
* fix(core): Make BOOT_PIN static
* fix(hal): BOOT_PIN should always be defined
* IPv6 restore zone id
This PR restores the IPv6 zone-id in String representation of IPv6 address as well as parsing. This follows 20a28b58bc that disabled it due to a crash in `netif_index_to_name()`.
The fixed code scans through `netif_list` to find the `netif` name and id.
Note: zone-id are incremented by 1 compared to `netif` id.
For example internal zoneid value `3` actually translates to `%st2`
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* feat(uart): allow pins_arduino.h to define esp32-p4 uart pins
ESP32-P4 has UART default pins only for UART0 and UART1.
This PR allows the board definition from pins_arduino.h to define RX2 ... RX4 and TX2 ... TX4 if necessary.
It also solves the issue of begin(baud) with no pins for UART2...4 by just sending a error message and returning.
* feat(uart): removes the uart2 pin definitions - not existant
* fix(uart): solves the case when uart has already been initialized
* ci(pre-commit): Apply automatic fixes
* fix(ci): uart definition for esp32-p4 uart2 rx,tx pins
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* feat(touch): Support NG touch driver for P4
* fix(ci): Touch test + IDF compilation fixes
* fix(ci): remove debug prints from touch test
* fix(ci): Fix touch test for esp32
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* fix(usb): Update tinyusb init call
* Update esp-insights version (#10456)
* Add support for WiFi to ESP32-P4 (#10463)
* feat(p4): Add support for WiFi to ESP32-P4
Implements support for external MCU connected through SDIO
* fix(p4): Init SDIO host properly on Network boot
esp-hosted has one function marked as "constructor" that did not run in the boot phase of the chip. This calls the function when network is started
* Fix RainMaker dependent versions because Matter requires Insights 1.0.1
* IDF release/v5.3 707d097b
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: Mahesh Tupe <tupemahesh91@gmail.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
loop() calls Serial Events functions when those are declared. The way it was declared was forcing to alway call avalable() to then call an empty function. This commit fixes it.