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
* feat(i2c): Add method to access the I2C bus handle
* feat(wire): Add access method to get the I2C bus number
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* Updated Pins of Devkits
Deleted soc_caps.h library and related commands at Deneyap Kart 1A v2, Deneyap Kart 1A, Deneyap Mini and Deneyap Mini v2.
Added TX1 and RX1 pins and updated LED pin definition at all Devkits.
Added BOOT (BT) pins at Deneyap Kart, Deneyap Kart 1A, Deneyap Mini and Deneyap Kart G.
Changed D0 and D1 pin numbers at Deneyap Kart G.
Changed D12, D13, D14, D15, PWM0 and PWM1 pin numbers at Deneyap Kart 1A v2.
Added A8, T0, T1, T2, T3, T4, T5, T6, T7, T8, D16, D17, D18, D19, PWM2, PWM3, PWM4 and BAT pin numbers at Deneyap Kart 1A v2.
Changed A2, A3, A4 (T0) and A5 (T1) pin numbers at Deneyap Kart and Deneyap Kart 1A.
Renamed DA2 (DAC2) pin as DA0 (DAC0) and changed DAC1 and DAC2 pin numbers at Deneyap Mini and Deneyap Mini v2.
* Updated board.txt of all Devkits
Updated board.txt of all Devkits
* Remove Repeating Pin Definition
Remove Repeating Pin Definition
* Fix Pin Definition
Remove repeating pin definitions of SPI, I2C and DAC.
Update RGB LED definition for using digitalWrite() command with RGB LED.
* Remove Repeating Pin Definitions
Remove repeating pin definitions of LEDB, SPI, I2C and DAC.
* Update RGB LED definition
Update RGB LED definition for using digitalWrite() command with RGB LED.
* Fix broken links for external library test
Fix broken links for external library test
* Update UploadMode Config of Deneyap Kart 1A v2
Update UploadMode Config of Deneyap Kart 1A v2
* Add Deneyap Kart v2
Add pin definitions and configs of Deneyap Kart v2.
* Update UploadMode config
Hardware CDC is default now.
* Fixed typo fault
Fixed typo fault
* Fixed build.board parameter
Fixed build.board parameter
* Removed unsupported Flash sizes and RAM type
Removed unsupported Flash sizes and RAM type from menu.
* Remove unsupported partition options
Remove unsupported partition options
* Fixed Annotations and Space
* Update pins_arduino.h
* Clamp Zigbee color saturation to 0-254
* Clamp hue to 0-254 for Zigbee color lights
* Use std::min instead of ternary operator
* 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(rak3112): add pins_arduino.h for RAKWireless RAK3112 module
* feat(rak3112): update pins_arduino.h to define LED pins and update board.txt
* Delete the redundant configuration information in board.txt
* Restore the incorrect modifications to board.txt
* Delete blank lines
* Move the rak configuration information to the end of the boards.txt .
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: Daniel.Cao <daniel.cao@rakwireless.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* fix(example): led flash not working if not using default model in camera example
fix(example): add camera_config.h and enable LED FLASH based on board model
fix(example): Remove face detection description as no longer supported
* fix(example): add header guard for board_config.h
* fix(csrf): Fix SCRF vulnerability in WebUpdate.ino
* fix(csrf): Prevent CSRF on other OTA examples
* fix(csrf): Require auth user and pass to be changed
* 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(p4): Add method to set the pins for SDIO to WiFi chip
* 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(variant): add KodeDot ESP32-S3 board with QSPI LCD, SD and GPIO header
* fix(kodedot): Reorder board definitions and translate comments to English
* fix(kodedot): Clean up OTA override and remove unused partition menu for kode dot
* fix(kodedot): Build board changed from ESP32S3_DEV to KODE_DOT on kode dot board
* ci(pre-commit): Fix whitespace, EOLs and codespell 'Analog'
* ci(pre-commit): Add bash script formatter
* fix(merge): New name and description for custom merge tool and change partitions table to variants folder
* feat(test): Enhance NVS test
* fix(nvs): Remove unused Unity header and improve Serial wait loop
* refactor(nvs): Extract string increment logic into a separate function
* refactor(test): Format long strings in expect_exact calls for better readability
* feat(SDFS): Add destructor to clean up resources
* feat(test): Enhance NVS test
* fix(nvs): Remove unused Unity header and improve Serial wait loop
* refactor(nvs): Extract string increment logic into a separate function
* refactor(test): Format long strings in expect_exact calls for better readability
* feat(uart): fixes loopback function after IDF changes
IDF 5.4.1 has added a new function called uart_release_pin() that is called whenever new pins are set or when uart driver is deleted.
This has a side effect that causes RX pin to never work again with the loopback function. Other changes also have removed some GPIO setup that was necessary for the GPIO loopback mode work.
The PR forces a full RX Pin setup in order to make it work in GPIO Matrix with Loopback TX Signal
* feat(uart): adds missing include file
* feat(uart): removes not necessary part of the code
* fix(uart): commentaries style fix
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>