* feat(matter): source code folder organization
* feat(matter): new matter endpoint dimmable light
* feat(matter): dimmable friend class and adjusts log levels
* feat(matter): adds new folder and source code to cmakelists.txt
* fix(matter): identation in cmakelists.txt
* feat(matter): adds license disclaimer to all source code
* feat(matter): example code simplification
* feat(matter): make it work with rgb and analog led
* feat(matter): single user callback based on lambda function
* feat(matter): commentaries and code improvement. update() and callbacks added.
* feat(matter): adde new keywords to arduino settings
* feat(matter): example code adjustment to use improved api
* fix(matter): it shuold work even when no callback is set
* feat(matter): matter.h includes all possible endpoint header files
* feat(matter): adjusts all examples to only include matter.h
* fix(matter): double declaration of ret - var scope issue
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* 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>
* fix(get.py): Check if win32 tools also exist when running on win64
* change(tools): Push generated binaries to PR
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Add files via upload
* Add files via upload
* feat(boards): add Waveshare ESP32-S3-Touch-AMOLED boards
Added three micro snow development boards to boards
* feat(boards): add Waveshare ESP32-S3-Touch-AMOLED variants
A trio of micro-snow variants have been added to the variants
* Delete variants/waveshare_esp32_s3_touch_amoled_143/pins_arduino.h
* Delete variants/waveshare_esp32_s3_touch_amoled_164 directory
* Delete variants/waveshare_esp32_s3_touch_amoled_191 directory
* feat(boards): Three variants of the development board were added
waveshare_esp32_s3_touch_amoled_143 waveshare_esp32_s3_touch_amoled_164 waveshare_esp32_s3_touch_amoled_191
* feat(boards): Add three boards to boards
* feat(boards): Add the variants
* feat(boards): Fixed the boards file
To ensure that each plate type only 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(bm): Board Manager install will fail on Windows
On some Windows installations, Board Manager will fail to install the RC2 core, because it could not find esptool for the given OS.
* fix(package): EspTool for Mac is only ARM64 version
cc: @lucasssvaz
* 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>
* lib Network: add cpp syntax to structs
* [Network] deprecate NetworkEvents::removeEvent() for std::function callbacks
removing event callback via std::function pointer does not work as expected for lambdas (issue #10365)
here mark NetworkEvents::removeEvent(NetworkEventFuncCb cbEvent, arduino_event_id_t event = ARDUINO_EVENT_MAX)
as deprecated in favor of removing by callback's id
for NetworkEvents::onEvent remove checking for dublicate event handler, this does not work for lambdas too
remove NetworkEvents::find methods as unnecessary
move cbEventList container inside the class
declare NetworkEventCbList_t as a cpp struct with constructor, allows using std::vector.emplace() when adding new items to container
optimize NetworkEvents::remove() calls to use erase-remove idiom for std::vector
* [Network] hide event task under private member of NetworkEvents class
prevent checkForEvent loop to be callable from outside the task's thread
* refactor(NetworkEvents) code polishing and comments
- rename NetworkEvents::cbEventList as private member NetworkEvents_cbEventList
- NetworkEvents::getStatusBits() add const qualifier
- turn statics into constexpr
- add indexes to enum::arduino_event_id_t to make events indexing consistent for SOCs with/without WiFi
also leave some index gaps to minimize renumbering on adding new events
- add doxygen help to NetworkEvents:: methods
- declare NetworkEvents::eventName() as static, that could be used without creating class scope
- potential mem leak in postEvent
* refactor(NetworkEvents) add (optional) mutex lock for container operations
provide thread safety for dual core SoCs
since std::mutex brings additional componetns of libstdc++ lib it impacts resulting image size significantly (around 50k)
Might be enabled on-demand if thread-safety is required
* ci(pre-commit): Apply automatic fixes
* fix(spelling): Fix spelling mistakes
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* User can choose if calc MD5 from decrypted file
At the present moment, if user want use OTA, the function calculate MD5 of the decrypted file, but if file is encrypted from source, could be more useful to know the MD5 of the encrypted file.
* md5
* Update Updater.cpp
* Update libraries/Update/src/Update.h
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/Update/src/Update.h
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/Update/src/Updater.cpp
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/Update/src/Updater.cpp
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* 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>
* Delete boards.txt
Delete old files
* Add files via upload
Add new board
* Add files via upload
Add new board
* Delete boards.txt
Delete old files, modify the definition of the case error
* Add files via upload
Modify the definition of the case error
* ci(pre-commit): Apply automatic fixes
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
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>
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* fix(tests): Add CMakeLists file to compilation tests
* fix(tests): Add variant files that are used in compilation
* fix(c2): Move C2 as it is only tested as component
---------
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>