Commit graph

772 commits

Author SHA1 Message Date
Me No Dev
c9efce6342
Merge branch 'master' into release/v3.3.x 2025-04-29 10:55:47 +03:00
Lucas Saavedra Vaz
543fad2bdf
fix(spi): Add missing initializer for ss_invert (#11320)
* fix(spi): Add missing initializer for ss_invert

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-04-29 10:49:23 +03:00
Luca Burelli
16fcdeb0be
fix(arduino): restore proper pin remapping functionality (#11315)
Commit 0773dd7619 from PR #10841 broke pin
remapping by moving its application too early in the definition process.
This commit restores the original order of includes, ensuring that pin
remapping is applied correctly.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
Co-authored-by: Sugar Glider <rodrigo.garcia@espressif.com>
2025-04-29 08:57:51 +03:00
UltimumControl
b461e01e22
New SPI invert hardware SS function in hall-spi and SPI library (#11297)
* Add files via upload

* Add files via upload

* Update SPI.h

* Update esp32-hal-spi.c

renamed invert_out to ss_invert to be more intuitive

* Update esp32-hal-spi.h

Removed the out from the function name spiSSInvertout.

* Update SPI.cpp

Removed the out from the function name spiSSInvertout.

* Update cores/esp32/esp32-hal-spi.c

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>
2025-04-28 20:45:31 +03:00
Me No Dev
23f3600a4b
Merge branch 'master' into release/v3.3.x 2025-04-23 20:20:51 +03:00
Sugar Glider
51023aea79
feat(ledc): clear all fields added to ledc struct in IDF 5.4 (#11276)
* feat(ledc): clear all fields added to ledc struct in IDF 5.4

* feat(ledc): use memset for all ledc struct

* fix(ledc): typo - missing semi collon

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-04-23 20:20:05 +03:00
Me No Dev
5d0c4b3507
Merge branch 'master' into release/v3.3.x 2025-04-22 11:47:28 +03:00
Lucas Saavedra Vaz
a8bead7efb
fix(gpio): Fix GPIO warning message (#11268) 2025-04-22 09:16:46 +03:00
Jason2866
42ae2426af
fix C5 compile (#11255) 2025-04-21 19:32:51 +03:00
Lucas Saavedra Vaz
ae2ae8dfa0
Merge branch 'master' into release/v3.3.x 2025-04-14 14:28:03 -03:00
Jason2866
9cad83bacf
check for CONFIG_BT_BLUEDROID_ENABLED in esp32-hal-misc.c (#11234)
* check for `CONFIG_BT_BLUEDROID_ENABLED` in esp32-hal-misc.c

* overseen changes to `CONFIG_BT_BLUEDROID_ENABLED`
2025-04-14 12:13:55 +03:00
Mathieu Carbou
60c8206ee6
feat(logging): Arduino log redirection (#11159)
* feat(logging): Arduino log redirection

* fix(uart): log will only use ets_printf() for uart and cdc

* feat(uart_cdc): when CDC is logging, UART is silent

* feat(uart_cdc): when CDC is logging, UART is silent

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: Sugar Glider <rodrigo.garcia@espressif.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-04-14 12:08:33 +03:00
Sugar Glider
be57376b6b
fix(usb): uninitilized variable warning message (#11222) 2025-04-09 11:56:52 +03:00
Jason2866
8e8b1cbd31
Use CONFIG_BT_BLUEDROID_ENABLED for enabling (#11214)
Co-authored-by: Sugar Glider <rodrigo.garcia@espressif.com>
2025-04-09 11:26:13 +03:00
Gonzalo Brusco
0cc8eab836
Add an option to force IDF's default UART clock source (#11191)
* Add an option to force IDF's default UART clock source

* feat(uart): adds function to set clock source

* feat(uart): add uart clock source selection method

* feat(uart): add uart hall function to set the uart clock source

* feat(uart): add function to set the uart clock source

* feat(uart): set clock source as necessary

* fix(uart): missing class qualifier declaration

* fix(uart): fixing a typo and non LP UART SoC clk src setting

* fix(uart): variable name, typo error

* fix(uart): retores previous identation reducing diff load

* feat(uart): apply CONFIG_ARDUINO_SERIAL_FORCE_IDF_DEFAULT_CLOCK_SOURCE to LP UART

* feat(uart): adds option for UART_CLK_SRC_DEFAULT

* feat(uart): adds option for setting default uart clock source from IDF

* feat(uart): documents UART_CLK_SRC_DEFAULT as option in header file

* feat(uart): documents using the IDF default uart clock source

* fix(uart): type missmatch may cause error

* fix(uart): type missmatch may cause error, test for -1

* feat(uart): considering both HP and LP default uart clock source

* feat(uart): improve the defined value for UART_CLK_SRC_DEFAULT

* fix(uart): using uart_sclk_t as hal level parameter

* feat(uart): apply default LP uart clock source

* fix(uart): considers that it may set the LP UART as well

* feat(uart): using UART SCLK enum for uart clock source values

* fix(uart): using UART_CLK_SRC_RTC now

* fix(uart): documentation using UART_CLK_SRC_RTC now

* fix(uart): fix old commentary that is not correct anymore

* fix(uart): wrong identation in code line

* fix(uart): using uart number as argument instead

* fix(uart): using uart number as argument in setClockSource()

* fix(uart): using uart number as parameter in uartSetClockSource()

* feat(uart): update Kconfig.projbuild to reflect functionality

* feat(uart): removing Kconfig.projbuild option to force default clk src

* feat(uart): removes kconfig option to force uart default clk src

* fix(uart): replacing #if #endif by #if #elif #endif for the same enum

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: Sugar Glider <rodrigo.garcia@espressif.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-04-09 11:25:06 +03:00
Sugar Glider
22f07d01c8
fix(rmt): memset all config structs to zero before using (#11203)
* fix(rmt): memset all config structs to zero to increase code safety
2025-04-01 09:36:19 -03:00
Me No Dev
d81c19534f
Merge branch 'master' into release/v3.3.x 2025-03-27 13:39:40 +02:00
Sugar Glider
6273c4ffd8
fix(freertos_stats): remove volatile c++ 20 deprecated warning (#11158) 2025-03-24 14:59:42 +02:00
Jason2866
d66eeb7754 c5 flash base address is 0x2000 (#11037)
* c5 flash base address is 0x2000

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-03-20 02:10:20 +02:00
me-no-dev
f45cd7bf33 fix(psram): Add support for ESP32-C5 PSRAM 2025-03-20 02:09:27 +02:00
Jan Procházka
100ed8e895 fix(c5): Update debug log in setCpuFrequencyMhz 2025-03-20 02:09:27 +02:00
me-no-dev
0894d7db68 fix(report): Add missing chip names 2025-03-20 02:09:27 +02:00
me-no-dev
88cda9ff59 feat(idf): Add initial support for IDF v5.5 and ESP32-C5 2025-03-20 02:09:27 +02:00
Sugar Glider
18709faa90
fix(uart): uart rx timeout validation with proper log message (#11141)
* feat(uart): adds a function to calculate maximum valid rx timeout

* fix(uart): check uart rx timeout value and log an error msg

* fix(uart): changes log message to a more clear 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>
2025-03-20 02:02:20 +02:00
Sugar Glider
8e62997bfd
fix(UART): sets the correct uart clock source when using begin(baudrate) (#11122)
* fix(uart): uart begin does not set the clock source when baudrate changes

* fix(uart): returns success on baud rate change operation

* fix(code): uart typo - missing ( in the code

* fix(uart): replacing mutex lock to avoid double lock

* 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>
2025-03-17 17:36:44 +02:00
Sugar Glider
efb02d30ac
feat(gpio): allows mixing digital and analog read/write operations (#11016)
* feat(gpio): allows mixing digital and analog read/write operations

* fix(gpio): simple mistake in calling __pinMode() fnuction

* fix(gpio): simple mistake in calling __pinMode() fnuction

* feat(gpio): update the log message to tell the solution for the error.

* feat(gpio): warn user about digitalRead() used with non GPIO pin

* fix(gpio): wrong peripheral manager test case
2025-03-09 13:20:59 +02:00
iranl
684a9312e6
fix(bt): Compile error on ESP32-P4 (#11035)
* fix(bt): Fix compile error on ESP32-P4

* fix(bt): Fix compile error on ESP32-P4
2025-03-05 12:45:11 +02:00
Gonzalo Brusco
09d89c6da1
Fix HardwareSerial config (#11007) 2025-02-25 17:58:10 +02:00
Rodrigo Garcia
646785e086
feat(LP_UART): Implements the ESP32-C6/ESP32-P4 Low Power UART as a possible HardwareSerial port (#10967)
* feat(uart): adds low power uart peripheral into hardware serial class

* feat(lp_uart): pin setting for lp uart plus esp32p4 fixes

* fix(uart): keeps the test as it was before.

* fix(uart): updates the copyright year reference

* fix(uart): updates the copyright year reference

* feat(lp_uart): supports any number of lp uart port for the future

* ci(pre-commit): Apply automatic fixes

---------

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>
2025-02-19 01:01:18 +02:00
me-no-dev
55f4f1bfa8 Update core version to 3.2.0 2025-02-18 19:10:54 +02:00
Me No Dev
f0cf3b1af6 feat(i2c): Add support for the new I2C driver in IDF v5.4 (#10858)
* feat(i2c): Add support for the new I2C driver in IDF v5.4

* fix(build): Add the new driver to CMakeLists.txt

* fix(i2c): Guard sleep retention

Not all chips can restore I2C bus after light sleep

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-02-18 10:11:55 +02:00
Me No Dev
47343a43f7 feat(idf): Add support for IDF v5.4 (#10823) 2025-02-18 10:11:55 +02:00
me-no-dev
dbfde15b6a Update core version to 3.1.3 2025-02-17 15:28:32 +02:00
TD-er
758cbd097d
Fix crash in String when using nullptr (#10971) (#10972)
Fixes: #10971
2025-02-17 15:27:41 +02:00
me-no-dev
62082398d3 Update core version to 3.1.2 2025-02-13 14:32:20 +02:00
TD-er
5488d5d23f
Fix crash when using String::move on empty string (#10938) (#10945)
Fixes: #10938
Keep allocated memory when rhs fits

Use case: Appending to a String with pre-allocated memory (e.g. from `reserve()`)
No need to move 0-termination char in String::move
Simplify calls to String::copy

A lot of the same checks were done before calling `copy()` which should be done in the `copy()` function itself.
String::copy() Should not copy more than given length
Fix potential out of range in String::concat

There is no prerequisite the given array has to be a 0-terminated char array.
So we should only copy the length that has been given.

The `setLen()` function will make sure the internal string is 0-terminated.
So no need to dangerously assume there will be 1 more byte to copy
Allow String::concat(const String &s) with s.buffer() == nullptr

When constructing a String object, the internal buffer is a nullptr.
However concatenating this to another String would return `false` while this is perfectly fine to do.
2025-02-13 14:14:05 +02:00
Me No Dev
7b651b64d6
feat(cdc): Add support for two CDC ports at once (#10962)
* feat(cdc): Add support for two CDC ports at once

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-02-13 12:51:28 +02:00
lbernstone
2fecc482b7
fix(littlefs): Converted core disableWDT functions to bool (#10896)
* fix(littlefs): Converted core disableWDT functions to bool

* Missed the returns on core1

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2025-01-27 12:39:15 +02:00
Rodrigo Garcia
0773dd7619
Bugfix/include order (#10841)
* fix(arduino): include order pins_arduino first

* fix(arduino): include order pins_arduino first

* fix(arduino): include order pins_arduino first
2025-01-13 12:40:14 +02:00
Me No Dev
7cfe0adc87
IDF release/v5.3 (#10816)
* IDF release/v5.3 cfea4f7c

* Update core version
2025-01-07 15:50:38 +02:00
Mattia Pennasilico
5f44c4ebc5
fix(client): Restore Arduino Client API (#10776) 2025-01-07 12:03:11 +02:00
Lucas Saavedra Vaz
c688f3090f
fix(clk_src): Fix error as APLL is not yet supported for P4 2024-12-16 10:48:50 -03:00
Me No Dev
3c3ff48d73
Merge branch 'master' into release/v3.1.x 2024-12-14 17:52:55 +02:00
Mathieu Carbou
71396de822
fix(sntp): Lock / Unlock LWIP if CONFIG_LWIP_TCPIP_CORE_LOCKING is set
- Fixes: #10526
- Completes old PR #10529
2024-12-13 09:09:09 +01:00
Lucas Saavedra Vaz
3d8014b453
Merge branch 'master' into release/v3.1.x 2024-12-10 10:23:39 -03:00
Me No Dev
9660e66325
feat(chip): Add definition for BOOT_PIN for all chips (#10700)
* feat(chip): Add definition for BOOT_PIN for all chips

For use in sketches as default button

* fix(core): Make BOOT_PIN static

* fix(hal): BOOT_PIN should always be defined
2024-12-10 01:12:50 +02:00
Michael Stegen
19e4d0db4a
fix ESP32-U4WDH chip detection by ESP.getChipModel() (#10696)
* fixes chip detection for ESP32-U4WDH
2024-12-09 12:59:52 -03:00
Rodrigo Garcia
414e4f3233
feat(Matter): add new MatterColorLight endpoint (#10654)
* feat(matter): adds Matter Color Light endpoint
2024-11-26 17:14:38 -03:00
Rodrigo Garcia
9417a84918
feat(uart): [IDF 5.3] fixes HardwareSerial::updateBaudRate() using a baud rate higher 230400 - checks UART Clock Source (#10643)
* fix(uart): fixes issue with update baudrate higher than 250000

* 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-11-25 13:13:01 +02:00
Jason2866
6e57662599
fix compile of P4 caused from missing ")" in debug macro (#10638) 2024-11-25 11:49:24 +02:00
Jason2866
4a8ba4294e
fix weird formatting, no code change (#10617)
* fix formatting

* Disable formatter for these lines

---------

Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com>
2024-11-19 12:18:06 +02:00
Me No Dev
f8d9ffb74a
fix(net): Allow to compile without IPv6 enabled (#10582)
* fix(net): Allow to compile without IPv6 enabled

cc: @Jason2866

* 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-11-12 11:29:52 +02:00
s-hadinger
a80b03e017
fix(IPaddress): IPv6 restore zone id (#10546)
* 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>
2024-11-06 00:58:30 +02:00
Lucas Saavedra Vaz
f1e1f5ab95
Merge branch 'master' into release/v3.1.x 2024-11-04 19:43:44 -03:00
Mathieu Carbou
d47771f2cc
fix(sntp): Lock / Unlock LWIP if CONFIG_LWIP_TCPIP_CORE_LOCKING is set (#10529)
* fix(sntp): Lock / Unlock LWIP if CONFIG_LWIP_TCPIP_CORE_LOCKING is set
Fixes: https://github.com/espressif/arduino-esp32/issues/10526

* 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-29 13:10:40 +02:00
Rodrigo Garcia
9aeb1ba548
ESP32-P4 UART Pin Definitions (#10521)
* 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>
2024-10-25 15:07:37 +03:00
Me No Dev
38a4c29fed
feature(rtos): Add Tasks status print function (#10515)
* feature(rtos): Add Tasks status print function

* fix(cmake): Add the new cpp file to CMakeLists

* fix(stats): Adjust size of Load column

* fix(format): Fix print of runtime formatting

* fix(stats): Add license, usage note and C++ guards

* fix(stats): Fix formatting and variable names

* 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-25 14:57:21 +03:00
Me No Dev
dc1a49e6f0
IDF release/v5.3 (#10503)
* fix(psram): Do not disable PSRAM when used as component

Information: https://github.com/espressif/arduino-esp32/issues/10500

* IDF release/v5.3 59550599
2024-10-23 02:04:03 +03:00
me-no-dev
20a28b58bc fix(net): Do not use netif_index_to_name
Causes error on recent IDF builds
2024-10-22 12:13:04 +03:00
Jan Procházka
7cfe470d8d
feat(touch): Support NG touch driver for P4 (#10448)
* 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>
2024-10-21 13:29:01 +03:00
me-no-dev
9e48d9f238 fix(spi): Fix P4 SPI Pin definitions
Use GPIOs 36 or lower to avoid LDO power issues
2024-10-17 16:13:59 +03:00
me-no-dev
f706c27671 Update TinyUSB init method 2024-10-15 20:42:26 +03:00
Me No Dev
a3f2568a19
IDF release/v5.3 (#10465)
* fix(usb): Update tinyusb init call

* Update esp-insights version (#10456)

* Add support for WiFi to ESP32-P4 (#10463)

* feat(p4): Add support for WiFi to ESP32-P4

Implements support for external MCU connected through SDIO

* fix(p4): Init SDIO host properly on Network boot

esp-hosted has one function marked as "constructor" that did not run in the boot phase of the chip. This calls the function when network is started

* Fix RainMaker dependent versions because Matter requires Insights 1.0.1

* IDF release/v5.3 707d097b

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: Mahesh Tupe <tupemahesh91@gmail.com>
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2024-10-15 20:20:04 +03:00
Lucas Saavedra Vaz
81d2cbca96
fix(uart): Add missing HP UARTs for ESP32-P4 (#10447)
* fix(uart): Add missing HP UARTs for ESP32-P4

* fix(comment): Fix macro in comment

* fix(uart): Fix macro guard
2024-10-10 14:27:04 -03:00
Me No Dev
774f2756f1
Merge branch 'master' into release/v3.1.x 2024-10-10 18:38:27 +03:00
Rodrigo Garcia
0d5d50eb41
feat(uart): eliminates nonexistent functions (#10428)
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.
2024-10-07 15:56:04 +03:00
Lucas Saavedra Vaz
765173372f
Add P4 to chip info 2024-10-04 11:33:27 -03:00
me-no-dev
341dc18079 fix(usb): Add support for HighSpeed USB
This commit adds support for HighSpeed USB as present on ESP32-P4
2024-10-03 13:47:24 +03:00
Me No Dev
ea50cf6f5f
fix(spiram): Fix OPI PSRAM init (#10406) 2024-10-02 22:18:17 +03:00
me-no-dev
c3aa74f60a fix(spiram): Fix OPI PSRAM init 2024-10-02 19:42:32 +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
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
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
Me No Dev
7a0138462d
Merge branch 'master' into release/v3.1.x 2024-09-26 01:37:46 +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
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
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
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
Me No Dev
648094c733
fix(api): Update Arduino Stream class (#10328)
* fix(api): Update Arduino Stream class

Upstream code contains some fixes

* Update Stream.h

* 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 10:49:49 +03:00
Me No Dev
855da422ba
Merge branch 'master' into release/v3.1.x 2024-09-11 15:18:38 +03:00
Me No Dev
2c4ce95e16
fix(i2c): Ensure that semaphore is properly given if init fails (#10313)
Currently code can return before semaphore is given, which can cause the bus to lock. Change makes sure that it's properly given in case of failure.
2024-09-10 16:18:16 +03:00
Rodrigo Garcia
532d5f2fad
feat(tone): missing set tone channel implementation (#10305)
Adds the implementation to setToneChannel() declared in Arduino.h, but removed when movin from Arduino 2.x to 3.x.
2024-09-09 12:45:13 +03:00
Me No Dev
976bda6b49
fix(report): Print correct chip revision (#10277)
It was printed wrongly before. Actual revision is the value divided by 100 in float.
2024-09-09 12:39:30 +03:00
Me No Dev
e6dc9db764
Merge branch 'master' into release/v3.1.x 2024-08-28 17:10:24 +03:00
Adriano Konzen
dd4a7d6c5e
feat(LEDC): Adds the ability to set the clock source for the LEDC (#10171)
* Adds the ability to set the clock source for the LEDC

* feat(LEDC): Adjusting function names to more suitable

* feat(LEDC):  Fix clock_source to static

* docs(ledc): Document ledc set and get clock source

* docs(ledc): Update ledcSetClockSource description

* ci(pre-commit): Apply automatic fixes

---------

Co-authored-by: Jan Prochazka <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-08-28 17:09:56 +03:00
me-no-dev
0b842442c9 Update core version to 3.1.0 2024-08-28 16:11:35 +03:00
Me No Dev
75b29fde57
Merge branch 'master' into release/v3.1.x 2024-08-28 15:49:38 +03:00
Lucas Saavedra Vaz
e04f050639
fix(spelling): Fix misspellings detected by codespell and enable it (#10232)
* fix(spelling): Fix misspellings detected by codespell and enable it

* change(tools): Push generated binaries to PR

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-28 15:43:02 +03:00
Me No Dev
fa6711551d
Merge branch 'master' into release/v3.1.x 2024-08-28 11:57:41 +03:00
Rodrigo Garcia
4c4906f470
fix(uart): sleep retention (#10248)
* fix(uart): sleep retention

sets new flag from IDF 5.3 that causes error with Serial.begin(115200).

* fix(typo): typo and commentaries

* feat(uart): adds memset to make structure empty

* fix(uart): missing parentesis - typo

* 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-08-28 10:50:49 +03:00
Rodrigo Garcia
99e68a0518
Change "neopixel" references to use RGB LED naming (#10225)
* fix(rgbled): fixes core rgbledWrite()

* fix(rgbled): fixes examples - rgbledWrite()

* fix(rgbled): fixes variants commetaries - rgbledWrite()

* fix(rgbled): examples and doc - use RGB_LED naming

* fix(rgbled): variants - use RGB_LED naming

* fix(rgbled): other places for RGB LED naming

* fix(typo): cores - rgbLed instead of rgbled

* fix(typo): examples - rgbLed instead of rgbled

* fix(typo): variants commentaties - rgbLed instead of rgbled

* fix(rgbled): bad file name

* fix(typo): typo and commentaries

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

* fix(rgbled): deprecating neopixelWrite()

* fix(rgbled): use RGB LED naming

* fix(rgbled): document formatting

* fix(rgbled): neopixelWrite() is now deprecated

* fix(rgbled): removed attribute in wrong place

* just a git push test

* restart git bash test

* ci(pre-commit): Apply automatic fixes

* removed wrong test file

* fix(rgbled): new Arduino style depreacted attribute

---------

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>
2024-08-28 09:53:24 +03:00