* 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>
* 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>
* fix(tests): Add missing newlines to output
* fix(tests): Improve fibonacci test
* fix(tests): Remove redundant targets from json
* fix(wokwi): Checkout proper base branch for wokwi tests
* feat(logging): Add logging to some tests to improve debugging
* fix(ci): Make CI more permissive and improve messages
* fix(tests): Bump pytest-embedded version to support P4
* 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
* Add cezerio dev ESP32-C6
* Modify pin number of cezerio dev ESP32C6
Modify pin number of cezerio dev ESP32C6
* Update boards.txt
* Update USB_PID
Update USB_PID
* Update boards.txt
Deleted flash and partition options related in flash size bigger than 4MB
* Update pins_arduino.h
* Merge manually to solve conflicts
* Resolve Conflicts
* Add cezerio dev ESP32-C6
* Modify pin number of cezerio dev ESP32C6
Modify pin number of cezerio dev ESP32C6
* Update boards.txt
* Update USB_PID
Update USB_PID
* Update pins_arduino.h
* Add cezerio dev ESP32C6
* Update pins_arduino.h
* Update pins_arduino.h
* Update pins_arduino.h
loop() calls Serial Events functions when those are declared. The way it was declared was forcing to alway call avalable() to then call an empty function. This commit fixes it.
* 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>
* 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>
* fix(psram): Init PSRAM before app_main to fix mmu_map
Makes sure that PSRAM is part of the map before app_main is called.
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
The pin remapping functions have to be called as early as possible in
the begin() function, to immediately convert the input parameters to the
GPIO numbers used everywhere in the core.
This issue has always been dormant since the introduction of pin
remapping in 2.x via 9b4622d, but was exposed by the proper pin muxing
support that is present in the 3.x core.
Move the pin remapping function calls earlier in the begin() function to
fix this issue.
* 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