* 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(zigbee): Support HSV color commands
* ci(pre-commit): Apply automatic fixes
* feat(zigbee): Add hue and sat attributes and update color capabilities
* 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(zigbee): Add OTA client cluster support
* feat(zigbee): Add conditions to reject OTA upgrade
* feat(zigbee): Add newest version of OTA handler
* fix(zigbee): Fix errors and warnings, swap parameters order
* feat(zigbee): Add simple OTA Client example
* 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(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>
* fix(logging): Corrected FPS calculation
Previously, last_frame was only updated once at the beginning of stream_handler,
leading to incorrect FPS and avg_frame_time computation.
This commit ensures last_frame is updated on each iteration after last FPS computation,
resulting in accurate FPS logging.
Fixes#10920
* Revert "fix(logging): Corrected FPS calculation"
This reverts commit 0bb7b9555e7661c72dc3376cf8a001c6fd3758c8.
* fix(loggin): Incorrect FPS computation fixed
Corrected and tested change in FPS computation, suggested by @me-no-dev and found working with correct numbers.
Previously, last_frame was only updated once at the beginning of stream_handler,
leading to incorrect FPS and avg_frame_time computation.
This commit ensures last_frame is updated on each iteration after last FPS computation,
resulting in accurate FPS logging.
Fixes#10920
* fix(i2s): Check if pin is used before clearing bus
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>