Commit graph

3453 commits

Author SHA1 Message Date
Me No Dev
157b4c8643
IDF release/v5.3 (#10403)
IDF release/v5.3 707d097b
2024-10-02 22:26:26 +03:00
Me No Dev
6c99740374
Merge branch 'master' into release/v3.1.x 2024-10-02 22:21:05 +03:00
Me No Dev
ea50cf6f5f
fix(spiram): Fix OPI PSRAM init (#10406) 2024-10-02 22:18:17 +03:00
me-no-dev
01b256ca1c fix(usb): Enable TinyUSB mode for ESP32-P4 2024-10-02 22:15:40 +03:00
me-no-dev
c3aa74f60a fix(spiram): Fix OPI PSRAM init 2024-10-02 19:42:32 +03:00
Jan Procházka
c5047286a1 fix(example): Use requires instead of target in ci.json 2024-10-02 18:40:04 +02:00
Jan Procházka
b067cd6d7f fix(example): Skip zigbee build for P4 2024-10-02 17:25:15 +02:00
me-no-dev
264c858830 Merge branch 'master' into release/v3.1.x 2024-10-02 17:07:42 +03:00
Jan Procházka
473b8515ac
feat(zigbee): Add Zigbee library (#10265)
* 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>
2024-10-02 17:00:39 +03:00
me-no-dev
58c0bbc0e9 fix(usb): Add support for ESP32-P4 to esp32-hal-tinyusb 2024-10-02 16:17:12 +03:00
Rodrigo Garcia
19f611d7ee fix(5.1): ESP32 redefinition to ESP32 2024-10-02 15:44:06 +03:00
me-no-dev
8af91fb4a7 Fix build of camera web server 2024-10-02 15:38:57 +03:00
Me No Dev
e3499bc4b7
Merge branch 'master' into release/v3.1.x 2024-10-02 15:36:56 +03:00
Me No Dev
2ec5584d06
fix(hid): Fix OUTPUT report not received (#10398)
Fixes an issue where the keyboard LEDs will not trigger the proper event
2024-10-02 15:34:27 +03:00
Me No Dev
cd971319cb
Fix WPS example config initialization (#10399)
* fix(wps): fixes wps struct initialization

C99 complaint

* fix(wps): adds memset to 0

---------

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2024-10-02 15:26:32 +03:00
Me No Dev
0db5beffff
Merge branch 'master' into release/v3.1.x 2024-10-01 16:37:04 +03:00
Me No Dev
84ddf0ad28
fix(psram): Do not abort if PSRAM is not found (#10395)
Also add to heap in app_main
2024-10-01 16:34:41 +03:00
me-no-dev
753e2032e7 fix(psram): ESP32-S2 does not like to early debug log 2024-10-01 16:12:13 +03:00
me-no-dev
482c0a3c26 fix(psram): Do not abort if PSRAM is not found
Also add to heap in app_main
2024-10-01 15:45:09 +03:00
me-no-dev
c980fdc996 Update early system init function declaration 2024-10-01 12:34:44 +03:00
Me No Dev
a5a5809eec
Merge branch 'master' into release/v3.1.x 2024-10-01 12:12:04 +03:00
Me No Dev
5a06dd9e57
fix(psram): Init PSRAM before app_main to fix mmu_map (#10390)
* 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>
2024-10-01 12:11:21 +03:00
Luca Burelli
a4cbdaf3a8
fix(HardwareSerial): fix pin remapping in begin() (#10379)
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.
2024-10-01 12:11:03 +03:00
Lucas Saavedra Vaz
a76b22881a
Fix ethernet examples JSON for P4 2024-09-30 19:21:46 -03:00
Lucas Saavedra Vaz
8422b745c2
Fix touch examples JSON for P4 2024-09-30 09:27:10 -03:00
Lucas Saavedra Vaz
69351312e5
Merge branch 'master' into release/v3.1.x 2024-09-30 09:13:12 -03:00
Lucas Saavedra Vaz
e403f0b481
ci(json): Add configuration requirements to ci.json files (#10385)
* 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
2024-09-30 13:43:50 +03:00
Guil-T
1f1de2738b
Added Sparkfun ESP32-S3 Thing Plus board (#10382)
* Create pins_arduino.h

* added board Sparkfun ESP32-S3 Thing Plus

added board Sparkfun ESP32-S3 Thing Plus

* readded last line of hashes in boards.txt

* Update pins_arduino.h

re-added SS pin to pass test

* removed unapplicable flash configurations the sparkfun esp32-s3 thing plus

* added sparkfun esp32-s3 thing plus

removed commented code

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-30 13:14:30 +03:00
Me No Dev
7a0138462d
Merge branch 'master' into release/v3.1.x 2024-09-26 01:37:46 +03:00
vortigont
b05f18dad5
fix: DNSServer Lib - improper startup code in WiFi mode (#10366)
* DNSServer: fix improper startup code in WiFi mode

When running on WiFi-AP mode server's start() method returned true while in fact UDP listening socket was never created
Regression introduced in #8760
Closes #10330

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-26 01:37:00 +03:00
Luca Burelli
55bd1d5ee2
digitalPinToInterrupt: fix double pin remapping (#10373)
The digitalPinToInterrupt() macro currently remaps the pin number to the
GPIO number. This is not necessary, as most users will then use the
returned value in attachInterrupt() or other similar API functions,
which already perform the same remapping.

The first half of the macro (the condition) does indeed require the
remapping to ensure the check operates on GPIO numbers.

Fixes espressif/arduino-esp32#10367.
2024-09-25 23:47:08 +03:00
Lucas Saavedra Vaz
4bb287eaf6
fix(esp32p4): Fix compilation errors (#10371)
* fix(esp32p4): Add missing touchpad definitions

* fix(esp32p4): Add missing target in SPI example

* fix(esp32p4): Start touch driver fix

* fix(esp32p4): Skip touch examples while it is not implemented

* fix(esp32p4): Add missing analog pin definitions

* refactor(formatting): Fix formatting that was broken in P4 PR

* fix(openthread): Add missing targets to skip

* fix(esp32p4): Skip ethernet sketches

* fix(esp32p4): Disable periman test while touch is not implemented

* fix(esp32p4): Disable touch test while touch is not implemented

* fix(esp32p4): Fix UART test

* fix(esp32p4): Skip Wi-Fi test

* fix(esp32): Skip unsupported example

* fix(esp32p4): Fix skip files

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-25 23:38:21 +03:00
me-no-dev
9398d52ddc Update package_esp32_index.template.json 2024-09-25 00:05:49 +03:00
github-actions[bot]
87c0e7763d change(tools): Push generated binaries to PR 2024-09-24 18:19:40 +00:00
Lucas Saavedra Vaz
a4c33e3897
feat(esp32p4): Add initial ESP32-P4 support (#10358)
* feat(esp32p4): Initial changes required for ESP32-P4

* esp32-p4: Initial changes to build with Arduino

Signed-off-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>

* fix(esp32p4): Fix lib builder errors

* change(esp32p4): Unhide board

* ci(esp32p4): Add ESP32-P4 to workflow

* change(esptool): Update esptool to 4.8.0

* fix(build): Fix redefinition errors

* fix(build): Remove old commands

* change(esptool): Remove unsupported 32-bit tools

* fix(get.py): Force exe generation

* Revert "fix(get.py): Force exe generation"

This reverts commit 979b16b3b19d02917ddccf0139c6913cca618714.

* fix(get.py): Fix system check

* change(tools): Push generated binaries to PR

* ci(esp32p4): Add missing ESP32-P4 entries

* fix(esp32p4): Add chip info

* fix(esp32p4): Fix build commands

* docs(esp32p4): Add missing references to P4

* fix(esp32p4): Fix clock sources definitions

* fix(esp32p4): Set CPU frequency to 360 MHz so it is stable in all chips

* refactor(esp32p4): Change preprocessor conditionals for maintainability

Co-authored-by: me-no-dev <hristo@espressif.com>

* fix(esp32p4): Add missing menu options

* fix(esp32p4): Mark as not in development json in readme

* fix(esp32p4): Add P4 to ci.json files

* ci(pre-commit): Apply automatic fixes

* fix(get.py): Remove unused include

* ci(pre-commit): Apply automatic fixes

* change(tools): Push generated binaries to PR

* ci(pre-commit): Apply automatic fixes

* fix(ci.json): Fix formatting

---------

Signed-off-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
Co-authored-by: Jason2866 <24528715+Jason2866@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: me-no-dev <hristo@espressif.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-24 21:18:28 +03:00
Ludovic BOUÉ
ae052f414a
Update Matter Light README.md (#10357)
* Update Matter Light README.md

Update Matter Light README.md

* fix(matter): information in the commentaries from SuGlider

* feat(matter): extended formating 

used the same formatting for the whole document and changed a few expresssions.

* fix(matter): missing option idf.py

---------

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2024-09-24 18:26:34 +03:00
Me No Dev
67682088ca
IDF release/v5.3 (#10272)
* IDF release/v5.3 2c46030b

* IDF release/v5.3 cc3203dc

* IDF release/v5.3 4d0db704
2024-09-18 15:56:37 +03:00
me-no-dev
e68b1cca09 Merge branch 'master' into release/v3.1.x 2024-09-18 15:06:31 +03:00
me-no-dev
7018cd114d Update core version to 3.0.5 2024-09-18 14:54:00 +03:00
Me No Dev
ab951cf08a
IDF release/v5.1 (#10320)
* IDF release/v5.1 e026fd1f

* IDF release/v5.1 99775566

* IDF release/v5.1 8af42a08

* IDF release/v5.1 33fbade6

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-18 14:52:03 +03:00
Rodrigo Garcia
8d772d5e89
ESP Matter + Arduino as IDF Component Light example (#10290)
* feat(matter): partition file for matter

The declaration includes a partition for keys and SSL certificates.

* feat(matter): matter light source code

Adds necessary Matter + Arduino source code that will create a Matter compatible Light.

* feat(matter): adds sdkconfig  and CMake files

Adds target sdkconfig files and the CMakeLists.txt in orde to build the application using Arduino+Matter as IDF component

* fix(matter): wrong folder name

* feat(matter): include example into registry

* fix(matter): error with type in wrong place

A declaration was incorrect due to a typo error. Sintax was corrected by deleting `BuiltInLED`.

* feat(matter): add readme documentation

* feat(matter): remove soc with no wifi or no ble

* feat(matter): adjust all sdkconfig files

* feat(matter): improve code and led status

* feat(matter): add button and led gpio with kconfig

* fix(matter): remove commented lines

* fix(matter): remove commented lines

* feat(matter): added a 2.4GHz SSID note 

Both the ESP32 device and the Smartphone running the Matter APP shall be in the same WiFi Network in order to achieve a successful commissioning process.

* feat(matter): arduino managed comonent version

Preparing the Arduino Managed Component to use Core version 3.0.5 or higher.

* feat(matter): adds information about google

Goggle Home Assistant requires special configurtation in order to allow the Light to show up in the GHA APP.

* feat(matter): arduino component version

Set final Arduino Managed Component to 3.0.5 necessary because of -DESP32=ESP32, in order to compile the project.

* ci(pre-commit): Apply automatic fixes

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(typo): typo and commentaries

* fix(matter): spell check ignore for CI

* ci(pre-commit): Apply automatic fixes

* fix(matter): spell check ignore for CI

* fix(matter): spell check ignore for CI

* fix(matter): spell check ignore for CI

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-18 14:51:46 +03:00
wurongmin
462870df24
fix(variant): Rename waveshare esp32-s3 board. (#10355)
* feat(variants): modify the one I successfully merged earlier

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-18 11:20:36 +03:00
TD-er
100b3c67cf
Reduce copy of Strings in WebServer RequestHandler (#10345)
* Reduce copy of Strings in WebServer RequestHandler

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-18 11:20:19 +03:00
ClockeNessMnstr
c55f5aa506
change(esp_now_serial): No teardown on retry limit (#10293)
* change(ESP_NOW_Serial): No teardown on retry limit

After max retries is met once the ESP_NOW_Serial_Class performs "end()". 
This removes the peer from ESP_NOW. 
Further messages to and from ESP_NOW_Serial are not received or sent. 
Peer should stay in ESP_NOW to re-establish connection even with data loss. 
This change will "retry and drop" the data piece by piece instead of aborting the connection.

* feat(espnow): Add remove on fail parameter

* feat(espnow): By default keep the peer when sending fails

---------

Co-authored-by: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2024-09-17 14:58:01 +03:00
TD-er
e989445b62
Fix missing virtual declarations in Stream.h (#10348)
* Fix missing virtual declarations in Stream.h

Fixes some changes made in PR #10328

* Remove the virtual destructor as Print class has one

As pointed out by @JAndrassy
2024-09-17 11:54:48 +03:00
Lee Leahy
2f89026540
Fix(NetworkEvents): Don't skip event callbacks in NetworkEvents::remo… (#10337)
* Fix(NetworkEvents): Don't skip event callbacks in NetworkEvents::removeEvent

Fixes Issue 10318
Includes pull request 10321 that fixes 10316

This change:
* Adds code to find the event callbacks
* Issues error when duplicate callbacks insertion attempts are made
* Issues error when callbacks are not found during removal

* Fix(NetworkEvents): Don't skip event callbacks in NetworkEvents::removeEvent

Fixes Issue 10318
Includes pull request 10321 that fixes 10316

This change:
* Adds code to find the event callbacks
* Issues warning when duplicate callbacks insertion attempts are made
* Issues warning when callbacks are not found during removal

---------

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2024-09-16 12:28:26 +03:00
TD-er
3978870f9f
[WiFiScan] Allow allocation in _scanDone() to fail and prevent memory leak (#10335)
* [WiFiScan] Allow allocation to fail and prevent memory leak

When there are many AP's seen during a scan, the allocation of `_scanResult` may fail.
Thus add `(std::nothrow)` to the `new` call.

Also it is possible the array was still present before allocating a new one.

* [WiFiScan] Use nullptr instead of 0

As suggested by @me-no-dev
2024-09-16 12:26:43 +03:00
wurongmin
44a484475c
add waveshare_esp32_touch_amoled_241 (#10342)
* feat(variants): add waveshare_esp32_touch_amoled_241

* feat(boards variants): add waveshare_esp32_touch_amoled_241

* 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: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-16 12:26:21 +03:00
Lucas Saavedra Vaz
a7cec020df
Merge commit from fork 2024-09-15 20:15:24 -03:00
TD-er
9e60bbe4bc
[WebServer] Mark functions as const + reduce copy of strings (#10339)
* [WebServer] Mark functions as const + reduce copy of strings

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-09-13 11:39:54 +03:00