This PR enhances the Wire library to support std::function–based callbacks for I2C slave mode, enabling the use of lambdas and captured contexts.
- Replaces raw function pointers in TwoWire and HardwareI2C with std::function for onRequest and onReceive
- Updates constructors, method signatures, and default initializations to use std::function
- Adds new example sketch, CI config, and documentation updates demonstrating the functional callback API
* fix(release): Replace all assets with chinese mirrors
* feat(release): Add script to append "-cn" to versions
* docs(install): Add instructions for users in China
* ci(FQBN): Use QIO as default as DIO can be used on demand now
* fix(indentation): Fix default indentation for bash files
* fix(compilation): Make errors appear on CI fail
* ci(json): Add requires_any field to JSON and fix comparison
* ci(partitions): Use default partition for compilation in CI
* fix(ci): Fix paths for sdkconfig
* Fix build of camera web server
* fix(ci): Fix test requirements check
* ci(append): Add option to append to all FQBNs
* fix(json): Fix JSON files to compile examples
* fix(example): Use requires instead of target in ci.json
fix(zigbee): Improve JSON files
Co-authored-by: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* fix(regex): Trim argument before grep
* docs(ci): Add documentation about FQBNs in CI
* fix(json): Remove redundant FQBNs
* fix(json): Skip requirements if libs are not installed
* fix(partitions): Use rainmaker specific partitions
---------
Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* ci(json): Add support for checking sdkconfig before running tests
* docs(ci): Add explanation about requires field in JSON
* fix(json): Ignore comments when searching requirements
* feat(json): Add extended regex support to requires field
* change(json): Move to using requirements in JSON
* fix(json): Fix requirements for touch tests
* refactor(json): Fix formatting of JSON files
* fix(spi): Fix SPI example and JSON
* docs(contrib): Add instructions on how to test changes
* fix(path): Fix file path
* Remove manual hooks as they do not exist anymore in the repo
* Fix typo
* Adds the ability to set the clock source for the LEDC
* feat(LEDC): Adjusting function names to more suitable
* feat(LEDC): Fix clock_source to static
* docs(ledc): Document ledc set and get clock source
* docs(ledc): Update ledcSetClockSource description
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* fix(timer): Typo - milis instead of millis.
* fix(doc0: format
fix CI error about format
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Correct Float type size
Correct in the data type table and the API call the size of the Preferences `Float` type and returned value for `putFloat()`.
* Update Float call prototype
* Correct Float type size
Correct Float type size in the Preferences Types table.
Revise text to use `float_t` in place of `float`.
* Correct doc build error
Correct the `Explicit markup ends without a blank line; unexpected unindent.`
* feat(ledc): Allow attaching multiple pins to 1 channel
* feat(ledc): Add ledcWriteChannel function
* feat(ledc): Print info about already set channel
* docs(ledc): Add ledcWriteChannel function and attach update
* feat(ledc): Add example and fixes
* feat(ledc): Remove commented code
* feat(ledc): Fix missing new line at end of file
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* docs(libraries): Add new SoCs
* docs(): Add C2 and H2 to USB and getting started
* docs(): Fix table format
* docs(extension): Add sphinxemoji support
* docs(): Lower emoji version
* Revert "docs(): Lower emoji version"
This reverts commit 3f3e0adf3c3c585bb439b182c77708fce23bd0b9.
* Revert "docs(extension): Add sphinxemoji support"
This reverts commit e903da689d4531f7fa7327e042206a4cdc3422a8.
* docs(): Shrink peripherals table
* docs(): Shrink table even more
* docs(): Shrink table more and more
* docs(): Shrink table the most I am able to