* feat(matter): adds new temperature sensor matter endpoint
* feat(matter): commentaries review and fixes
* feat(matter): commentaries review and fixes
* feat(matter): commentaries review and fixes
* feat(matter): commentaries review and fixes
* feat(matter): commentaries review and fixes
* feat(matter): commentaries review and fixes
* feat(matter): general commentaries and code review
* feat(matter): keeping arduino style for local variables (lower case)
* feat(matter): applies a generic temperature unit to the implementation and example
* fix(matter): fixed problem with begin(float) implementation
* fix(matter): fixed begin(float) initiallization
* feat(matter): updated matter temperature keywords with new api
* ci(pre-commit): Apply automatic fixes
* fix(matter): fixed code spell ci errors in matter temperature sensor
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* feat(matter): adds new matter generic switch endpoint
* fix(matter): no need of arduino preferences here
* 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(matter): add new endpoint - color temperature light
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* fix(build): Allow Arduino to compile in IDF without components
This adds guards for the rest of the extra components
* 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(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>
* feat(matter): initial commit with arduino matter lib
* feat(matter): add matter library to cmakelists.txt
* fix(matter): add correct guard for ci
* fix(matter): using correct ci requirements in ci.json
* fix(matter): using correct ci requirements in header files
* fix(matter): using correct ci requirements header and examples
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(commentary): longer explanation
* feat(matter): api simplification with begin
* feat(matter): testing flashmode=qio in CI
* feat(matter): testing flashmode=qio in CI
* fix(matter): changes CI FQBN
* fix(matte): include all fqbn in ci.json using qio
* fix(matter): revert ci and guard changes
* fix(matter): typo and commentaties
* feat(matter): adds a light toggle switch button
* feat(matter): improved the button control
* feat(matter): using switch instead of if() for attibute change
* fix(matter): switch/case scope
* fix(matter): problems found after pressing reset
* feat(matter): improve example using preferences
* fix(pre-commit): Fix and apply pre-commit hooks
---------
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@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>
* Initial commit - light bulb + switch working
* Add Thermostat + fix enum
* Dev update: roles, cb removal, handlers
Fixed ep_thermostat to compile successfully
Removed cb from all EP, as it have been removed, virtual methods will be used instead.
Moved zigbee handlers out of Zigbee_core to Zigbee_handlers for better readability.
Fixed zigbeeInit to be bool and return status of initialization for begin function.
Updated examples with edited roles and custom method for on_off light
* Dev update: implement on/off light and switch methods
Implemented basic function calls of switch commands to on/off light:
lightToggle, lightOn, lightOff, ...
Implemented virtual methods for on/off light that have to be override in user code:
setOnOff, sceneControl, setOnOffTime, setOffWaitTime
APIs can be changed, still early development.
* Dev update: Factory reset, names, multiple EPs
Implemented Factory reset of Zigbee device, in order to connect to new network without reflashing/erasing flash
Implemented optional setting for Manufacturer and Model names
Added option to allow endpoint to have multiple endpoint connected -> switch - 2 lights (tested)
Minor sketches update
* Dev update: Device ID to string
Implemented easy transfer from device it to Device type (0x0000 = ESP_ZB_HA_ON_OFF_SWITCH_DEVICE_ID -> "General On/Off switch".
* Implement cmd default response handler
* Remove unused _identify_cluster
* Dev Update: Color DImmable light + switch implemented
Implemeted color dimmable light and color dimmer switch HA devices + examples.
Removed unnecessary stored attribute cluster
Renamed on/off light and switch examples
* Implement Network Scanning
Implemented Zigbee network scanning (async) to mostly match WiFi scan APIs.
Added Zigbee_Scan_Networks example
* Dev Update: Thermostat and Temperature sensor EP
Implemeted thermostat and temperature sensor HA devices + examples.
Implemented configure report handler.
Updated READMEs and description of examples.
Minor code updates
* fix(): Replace deprecated function
* Remove ported IDF examples
* Update Zigbee examples with new APIs
* Dev Update: Version setting, Thermostat fix, ...
Simplified bounded device print as the structure is common for any EP type
Allowed setting custom app version for EP, default is 0
Small fixes and code updates
* Remove EP template + add lib to CMakeLists
* Rename classes to have proper naming
* Add check for SOC_IEEE802154_SUPPORTED
* Ignore false positive unused variable/function
* Fix compilation errors in examples
* Fill keyworkds.txt, remove unnecessary defines
* Rename methods, variables + make private/protected
* Remove unnecesary defaults defines
* Remove outdated comments
* Update Scan networks Readme
* fix(example): Use proper naming of func and variables
* Change virtual methods to callbacks (TODO)
* Refactor classes methods + implement Identify command
* Apply suggestions from code review by @lucasssvaz
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update READMEs + add openNetwork fucntion
* Use [[maybe_unused]] instead of #pragma
* Use gpio calls for OnOff Light example
* ci(pre-commit): Apply automatic fixes
* fix(): Codespell issues
---------
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
Fixes an issue related to ESP_MATTER component that defines a path using ESP32 as folder. Because Arduino defines ESP32 to 1, it causes an expansion error for folder using ESP32 folder name.
* feat(OThread): Add Library
* fix(OpenThread): fixes file list in CMakeLists.txt
* fix(openthread): Fixes JSON CI Files
* fix(openthread): Fixes JSON CI Files
* fix(openthread): Include Openthread guarding
* fix(openthread): COAP parametrization
* fix(openthread): Include Openthread guarding
* fix(openthread): Improves commentaries and code
* fix(openthread): Improves code
* fix(openthread): Includes StreamString.h
* feat(openthread): New Scan Example
* feat(openthread): Improved Scan Example
* feat(openthread): README.md
Initial documentation for ESP3 Arduino OpenThread CLI API.
* feat(openthread): helper functions documentation
Create helper_functions.md for ESP32 Arduino OpenThread API
* fix(openthread): begin end
* feat(openthread): onReceice example
* fix(openthread): tx queue error
* fix(doc): fixing documentation apresentation
Fixes the documentation first paragraph in order to make it easier fore reading. It also displays in the very top which SoC are supported by the library.
* fix(doc): documentation format
* feat(openthread): commentary
* fix(openthread): Typo, start/stop console
* fix(openthread): library properties
* ci(pre-commit): Apply automatic fixes
* feat(openthread): formatting text
* 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>
Adds a class for 0x2901 - Characteristic User Descriptor.
This Descriptor is usual in BLE and describes with text what each characteristic is about.
Improve Notify.ino example by adding the 0x2901 descriptor
* IDF release/v5.1 01b912a9e5
* Fix USB OTG Init on new IDF
* Delete libraries/TFLiteMicro/examples/micro_speech directory
Done in order to fix a CI problem created by an entire folder that was removed in original Library Repository.
* IDF release/v5.1 442a798083
* Update esp32-hal-tinyusb.c
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* feat(libs): Add ESP-NOW Arduino library
* Update libraries/ESP_NOW/src/ESP32_NOW.cpp
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update libraries/ESP_NOW/src/ESP32_NOW.cpp
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* fix(esp-now): Add check if Wifi is started.
* Fix ESP_NOW_Serial
* Add ESP NOW Serial Example
* Add comment
* Skip esp-now example for esp32h2
* Add broadcast address constant
* Change return value to align with other APIs
* Apply suggested changes
* Improve example
* Fix example
* Improve serial example
* Add argument to receive callback to know if a message was broadcasted
* Update libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp
* Simplify example
* Add broadcast example
* Change comments
* Change comment
* Improve broadcast master example
* Remove examples using IDF's API
* Fix example
* Add network example
* Add skip file
* Add LMK back
* Add logs
* Improve example
* Fix example
* Apply @suglider suggestions from code review
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Add documentation
* fix examples links in docs
* Apply @lucasssvaz suggestions to docs
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Update espnow.rst
* Update examples
* make onSent optional and remove underscores for virtual functions
* Make onRecieve also optional and make constructor protected
---------
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* Create ESP_NetworkInterface class and have Ethernet extending it
* Update CMakeLists.txt
* Split networking from WiFi (H2 can now use Ethernet)
Now all libs have been checked yet. More to do on WiFi side
* Fix build errors
* Guard WiFi classes and fix RMII ETH examples
* Decouple network related libraries from WiFi
* Fix examples and WiFiUpdate
* Guard WiFiProv lib to compile only on WiFi chips
* Add periman string for network and "fix" mdns on the first ETH
* Revert back location of Client/Server/Udp in order to accept some PRs
* Fix periman
* Some fixes from merging master
* Fix web server missing fs.h
* Move Client, Server and Udp out of WiFi
* More fixes
* more fixes
* Fix CMakekLists and rework lib menu dependencies
* Fix CMake issues
* move back WiFiClient to rebase with master
* Update ETH_TLK110.ino
* Move back WiFiClient
* Update progress
* Update WiFiGeneric.cpp
* More fixes
* Switch AP to the new interface
* Cleanup
* Rename AP methods
* Add extra interface info for Printable
* Rename IPv6 getters to clarify that they are returning LinkLocal address
cc @sgryphon
* Rename network classes
cc @sgryphon
* Update NetworkManager.h
* Rename WiFi Server and UDP
* Rename WiFiClient and WiFiClientSecure
* Update CMakeLists.txt
* Update on-push.sh
* Rename Network library
* Remove unnecessary guard
* Get the correct interface MAC address for mDND Workstation service
* Apply suggestions from code review
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
---------
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Added new classes MacAddress and MacAddress8
In the same style as class IPAddress.
Based on Apache License.
* Update MacAddress8.h
* Added Printable, constructor and extra operators
Added a few changes to make it closer to IPAddress Class implementation.
* Added construtor and Printable
Makes it closer to IPAddress Class implementation
* Fixes include Printable
* Update MacAddress.cpp
* Update MacAddress.h
* Update MacAddress.cpp
* Added Printable
* Added Printble and some more operators
* Cleanup and bounds checking
Moved implementation details .h->.cpp. Added bounds checking on index operators. Added constructor to MacAddress8 to match MacAddress.
* Fixed printTo
Chars must be uppercase to match toString() and pass test
* feat(MAC): Rework API to support both 6+8 bytes MacAddress
* feat(MAC): Remove MacAddress8.h file
* fix(MAC): Remove comment + reorder lines
* Update toString function with single buf and return
* Fix buffer size for toString
---------
Co-authored-by: David McCurley <44048235+mrengineer7777@users.noreply.github.com>
Co-authored-by: David McCurley <mrengineer02@gmail.com>
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
* Separated library sources in cmake for selective.
* Reodered selective process to match CI script
* Fixed missing SimpleBLE in library list
* fix(cmake): Remove duplicate or non existing sources
* fix(cmake): Remove required component
---------
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* First stab ad simplyfing webserver auth and adding a handler.
* Tweaks after testing against docs and latest Library tree
* Add documentatin for callback handler
* Bodge to allow things to compile without the dependencies
* Remove dependency on sodium to make it compile with 4.4
* Fix hex conversion
* Move some common HEX functions into a static HEX class, remove those from MD5 and add some examples. This allows for the cleanup of various to/from HEX routines elsewhere.
* Remove some duplicated code
* Add simplfiied HEXBuilder under MD5Bulder to CMakefile.
* Update for 3.0.0 and QoL improvements
* Remove examples that depend on external libraries
* Skip H2 testing
* Formatting improvements
* Move builders examples to Utilities folder
* Fix indentation
* Add HashBuilder abstract class
* Add SHA1Builder
* Fix comment
* Fix whitespace
* Fix crashes and improve log messages
* Fix indentation for webserver
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>