Skip to content

Commit d8a39be

Browse files
authored
Merge branch 'adafruit:main' into main
2 parents e82cf6d + 64cb762 commit d8a39be

File tree

142 files changed

+2021
-463
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+2021
-463
lines changed

.github/actions/upload_aws/action.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,11 @@ runs:
2020
steps:
2121
- name: Upload to S3
2222
if: >-
23-
(github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository_owner == 'adafruit') ||
24-
(github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
23+
(github.event_name == 'push' && github.repository_owner == 'adafruit') &&
24+
(github.ref == 'refs/heads/main' ||
25+
(startswith(github.ref, 'refs/heads/') && endswith(github.ref, '.x'))) ||
26+
(github.event_name == 'release' &&
27+
(github.event.action == 'published' || github.event.action == 'rerequested'))
2528
run: >-
2629
[ -z "$AWS_ACCESS_KEY_ID" ] ||
2730
aws s3 cp ${{ inputs.source }} s3://adafruit-circuit-python/bin/${{ inputs.destination }}

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
[submodule "ports/espressif/esp-idf"]
144144
path = ports/espressif/esp-idf
145145
url = https://github.com/adafruit/esp-idf.git
146-
branch = circuitpython-v5.3
146+
branch = circuitpython-v5.3.1
147147
[submodule "ports/espressif/esp-protocols"]
148148
path = ports/espressif/esp-protocols
149149
url = https://github.com/espressif/esp-protocols.git

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
version: 2
1010

1111
build:
12-
os: ubuntu-20.04
12+
os: ubuntu-24.04
1313
tools:
1414
python: "3"
1515
jobs:

devices/ble_hci/common-hal/_bleio/Characteristic.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,17 @@ void common_hal_bleio_characteristic_construct(bleio_characteristic_obj_t *self,
5050
}
5151
}
5252

53+
bool common_hal_bleio_characteristic_deinited(bleio_characteristic_obj_t *self) {
54+
return self->handle == BLE_GATT_HANDLE_INVALID;
55+
}
56+
57+
void common_hal_bleio_characteristic_deinit(bleio_characteristic_obj_t *self) {
58+
if (common_hal_bleio_characteristic_deinited(self)) {
59+
return;
60+
}
61+
self->handle = BLE_GATT_HANDLE_INVALID;
62+
}
63+
5364
mp_obj_tuple_t *common_hal_bleio_characteristic_get_descriptors(bleio_characteristic_obj_t *self) {
5465
return mp_obj_new_tuple(self->descriptor_list->len, self->descriptor_list->items);
5566
}

docs/shared_bindings_matrix.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565

6666
ADDITIONAL_MODULES = {
6767
"_asyncio": "MICROPY_PY_ASYNCIO",
68+
"_eve": "CIRCUITPY__EVE",
6869
"adafruit_bus_device": "CIRCUITPY_BUSDEVICE",
6970
"adafruit_pixelbuf": "CIRCUITPY_PIXELBUF",
7071
"array": "CIRCUITPY_ARRAY",

lib/tinyusb

Submodule tinyusb updated 123 files

locale/zh_Latn_pinyin.po

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ msgstr ""
77
"Project-Id-Version: circuitpython-cn\n"
88
"Report-Msgid-Bugs-To: \n"
99
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
10-
"PO-Revision-Date: 2024-08-19 18:09+0000\n"
10+
"PO-Revision-Date: 2024-09-06 04:09+0000\n"
1111
"Last-Translator: hexthat <[email protected]>\n"
1212
"Language-Team: Chinese Hanyu Pinyin\n"
1313
"Language: zh_Latn_pinyin\n"
1414
"MIME-Version: 1.0\n"
1515
"Content-Type: text/plain; charset=UTF-8\n"
1616
"Content-Transfer-Encoding: 8bit\n"
1717
"Plural-Forms: nplurals=1; plural=0;\n"
18-
"X-Generator: Weblate 5.7\n"
18+
"X-Generator: Weblate 5.8-dev\n"
1919

2020
#: main.c
2121
msgid ""
@@ -3574,7 +3574,7 @@ msgstr "míngchēng wèi dìngyì"
35743574

35753575
#: py/qstr.c
35763576
msgid "name too long"
3577-
msgstr ""
3577+
msgstr "míngchēng tàicháng"
35783578

35793579
#: py/persistentcode.c
35803580
msgid "native code in .mpy unsupported"

ports/atmel-samd/boards/bdmicro_vina_d21/mpconfigboard.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,9 @@
3333
// USB is always used internally so skip the pin objects for it.
3434
#define IGNORE_PIN_PA24 1
3535
#define IGNORE_PIN_PA25 1
36+
37+
// Pins not used by pins.c or SPI flash.
38+
#define IGNORE_PIN_PA00 1
39+
#define IGNORE_PIN_PA01 1
40+
#define IGNORE_PIN_PA03 1
41+
#define IGNORE_PIN_PA30 1

ports/atmel-samd/boards/feather_m4_express/mpconfigboard.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,20 @@
2828
#define DEFAULT_UART_BUS_RX (&pin_PB17)
2929
#define DEFAULT_UART_BUS_TX (&pin_PB16)
3030

31+
// Used for 32 kHZ crystal
32+
#define IGNORE_PIN_PA00 1
33+
#define IGNORE_PIN_PA01 1
34+
3135
// USB is always used internally so skip the pin objects for it.
3236
#define IGNORE_PIN_PA24 1
3337
#define IGNORE_PIN_PA25 1
38+
39+
// Not connected
40+
#define IGNORE_PIN_PA15 1
41+
#define IGNORE_PIN_PA27 1
42+
#define IGNORE_PIN_PB00 1
43+
#define IGNORE_PIN_PB04 1
44+
#define IGNORE_PIN_PB06 1
45+
#define IGNORE_PIN_PB07 1
46+
#define IGNORE_PIN_PB30 1
47+
#define IGNORE_PIN_PB31 1

ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ CHIP_FAMILY = samd21
99
SPI_FLASH_FILESYSTEM = 1
1010
EXTERNAL_FLASH_DEVICES = "S25FL216K, GD25Q16C, W25Q16JVxQ"
1111
LONGINT_IMPL = MPZ
12+
13+
CIRCUITPY_RAINBOWIO = 0

ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ QSPI_FLASH_FILESYSTEM = 1
1010
EXTERNAL_FLASH_DEVICES = "S25FL116K, S25FL216K, GD25Q16C, W25Q16JVxQ"
1111
LONGINT_IMPL = MPZ
1212

13-
CIRCUITPY__EVE = 1
13+
CIRCUITPY__EVE = 0
1414
CIRCUITPY_FLOPPYIO = 0
1515
CIRCUITPY_JPEGIO = 0
1616
CIRCUITPY_SYNTHIO = 0

ports/atmel-samd/boards/metro_m4_express/mpconfigboard.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,19 @@
3232
#define DEFAULT_UART_BUS_RX (&pin_PA23)
3333
#define DEFAULT_UART_BUS_TX (&pin_PA22)
3434

35+
// Used for 32 kHz crystal
36+
#define IGNORE_PIN_PA00 1
37+
#define IGNORE_PIN_PA01 1
38+
3539
// USB is always used internally so skip the pin objects for it.
3640
#define IGNORE_PIN_PA24 1
3741
#define IGNORE_PIN_PA25 1
42+
43+
// Not connected
44+
#define IGNORE_PIN_PA07 1
45+
#define IGNORE_PIN_PA15 1
46+
#define IGNORE_PIN_PB00 1
47+
#define IGNORE_PIN_PB01 1
48+
#define IGNORE_PIN_PB04 1
49+
#define IGNORE_PIN_PB05 1
50+
#define IGNORE_PIN_PB23 1

ports/atmel-samd/boards/trellis_m4_express/mpconfigboard.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@ LONGINT_IMPL = MPZ
1212

1313
CIRCUITPY_FLOPPYIO = 0
1414
CIRCUITPY_FRAMEBUFFERIO = 0
15+
CIRCUITPY_BLEIO_HCI = 0
1516

1617
CIRCUITPY_BITBANG_APA102 = 1

ports/espressif/Makefile

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ CROSS_COMPILE = riscv32-esp-elf-
1212
else ifeq ($(IDF_TARGET),esp32c3)
1313
IDF_TARGET_ARCH = riscv
1414
CROSS_COMPILE = riscv32-esp-elf-
15+
else ifeq ($(IDF_TARGET),esp32p4)
16+
IDF_TARGET_ARCH = riscv
17+
CROSS_COMPILE = riscv32-esp-elf-
1518
else ifeq ($(IDF_TARGET),esp32c6)
1619
IDF_TARGET_ARCH = riscv
1720
CROSS_COMPILE = riscv32-esp-elf-
@@ -155,7 +158,6 @@ CFLAGS += -DSTACK_CANARY_VALUE=0xa5a5a5a5
155158
# one must provide `-u` arguments to state the symbols are missing. This would
156159
# normally happen implicitly by another function calling to these.
157160
REGISTRATION_FUNCTIONS = \
158-
-u newlib_include_pthread_impl \
159161
-u ld_include_highint_hdl \
160162
-u __cxx_fatal_exception \
161163
-u esp_app_desc \
@@ -169,8 +171,10 @@ REGISTRATION_FUNCTIONS = \
169171
-u newlib_include_syscalls_impl \
170172
-u newlib_include_pthread_impl \
171173
-u newlib_include_assert_impl \
172-
-u newlib_include_getentropy_impl \
173-
-u newlib_include_init_funcs
174+
-u newlib_include_init_funcs \
175+
-u include_esp_phy_override \
176+
-u vfs_include_syscalls_impl
177+
174178

175179
#Debugging/Optimization
176180
ifeq ($(DEBUG), 1)
@@ -214,7 +218,13 @@ ifeq ($(IDF_TARGET_ARCH),xtensa)
214218

215219
CFLAGS += -mlongcalls -isystem esp-idf/components/xtensa/deprecated_include/ -Wno-error=cpp
216220
else ifeq ($(IDF_TARGET_ARCH),riscv)
221+
222+
ifeq ($(IDF_TARGET),esp32p4)
223+
CFLAGS += -march=rv32imafc_zicsr_zifencei_xesppie -mabi=ilp32f
224+
else
217225
CFLAGS += -march=rv32imac_zicsr_zifencei
226+
endif
227+
218228
LDFLAGS += \
219229
-Lesp-idf/components/riscv/ld \
220230
-Trom.api.ld
@@ -284,6 +294,16 @@ LDFLAGS += \
284294
-Tesp32c6.rom.wdt.ld
285295

286296

297+
CHIP_COMPONENTS = \
298+
esp_driver_tsens
299+
300+
else ifeq ($(IDF_TARGET),esp32p4)
301+
LDFLAGS += \
302+
-Tesp32p4.rom.newlib.ld \
303+
-Tesp32p4.rom.systimer.ld \
304+
-Tesp32p4.rom.wdt.ld
305+
306+
287307
CHIP_COMPONENTS = \
288308
esp_driver_tsens
289309

@@ -311,7 +331,6 @@ CHIP_COMPONENTS = \
311331
else ifeq ($(IDF_TARGET),esp32s3)
312332
LDFLAGS += \
313333
-Tesp32s3.rom.newlib.ld \
314-
-Tesp32s3.rom.newlib-time.ld \
315334
-Tesp32s3.rom.version.ld \
316335
-Tesp32s3.rom.systimer.ld \
317336
-Tesp32s3.rom.wdt.ld
@@ -338,6 +357,8 @@ else ifeq ($(IDF_TARGET),esp32c3)
338357
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_ESP32C3
339358
else ifeq ($(IDF_TARGET),esp32c6)
340359
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_ESP32C6
360+
else ifeq ($(IDF_TARGET),esp32p4)
361+
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_ESP32P4
341362
else ifeq ($(IDF_TARGET),esp32h2)
342363
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_ESP32H2
343364
else ifeq ($(IDF_TARGET),esp32s2)
@@ -578,7 +599,10 @@ update-board-sdkconfig: $(BUILD)/esp-idf/config/sdkconfig.h
578599
python tools/update_sdkconfig.py --board=$(BOARD) --debug=$(DEBUG)
579600

580601
BINARY_WIFI_BLOBS = libcore.a libespnow.a libnet80211.a libpp.a libsmartconfig.a
581-
BINARY_BLOBS = esp-idf/components/esp_phy/lib/$(IDF_TARGET)/libphy.a
602+
603+
ifneq ($(IDF_TARGET),esp32p4)
604+
BINARY_BLOBS = esp-idf/components/esp_phy/lib/$(IDF_TARGET)/libphy.a
605+
endif
582606
ifneq ($(CIRCUITPY_WIFI),0)
583607
BINARY_BLOBS += esp-idf/components/esp_coex/lib/$(IDF_TARGET)/libcoexist.a $(addprefix esp-idf/components/esp_wifi/lib/$(IDF_TARGET)/, $(BINARY_WIFI_BLOBS))
584608
ifneq ($(IDF_TARGET),esp32c2)
@@ -590,9 +614,9 @@ ifeq ($(IDF_TARGET),esp32)
590614
BINARY_BLOBS += esp-idf/components/esp_phy/lib/$(IDF_TARGET)/librtc.a
591615
endif
592616

593-
ESP_IDF_COMPONENTS_LINK = $(IDF_TARGET_ARCH) $(CHIP_COMPONENTS) app_update bootloader_support driver esp_driver_gpio esp_driver_gptimer esp_driver_ledc esp_driver_spi esp_driver_uart efuse esp_adc esp_app_format esp_common esp_event esp_hw_support esp_mm esp_partition esp_phy esp_pm esp_ringbuf esp_rom esp_system esp_timer freertos hal heap log newlib nvs_flash pthread soc spi_flash vfs esp_vfs_console
617+
ESP_IDF_COMPONENTS_LINK = $(IDF_TARGET_ARCH) $(CHIP_COMPONENTS) app_update bootloader_support driver esp_driver_gpio esp_driver_gptimer esp_driver_ledc esp_driver_spi esp_driver_uart efuse esp_adc esp_app_format esp_common esp_event esp_hw_support esp_mm esp_partition esp_pm esp_ringbuf esp_rom esp_system esp_timer freertos hal heap log newlib nvs_flash pthread soc spi_flash vfs esp_vfs_console
594618
ifneq ($(CIRCUITPY_WIFI),0)
595-
ESP_IDF_COMPONENTS_LINK += esp_coex esp_netif esp-tls esp_wifi lwip mbedtls mdns wpa_supplicant
619+
ESP_IDF_COMPONENTS_LINK += esp_coex esp_netif esp-tls esp_wifi lwip mbedtls mdns wpa_supplicant esp_phy
596620
endif
597621
ifneq ($(CIRCUITPY_BLEIO),0)
598622
BLE_IMPL_esp32 := esp32
@@ -603,7 +627,7 @@ ifneq ($(CIRCUITPY_BLEIO),0)
603627
BLE_IMPL_esp32h2 := libble
604628
BLE_IMPL = $(BLE_IMPL_$(IDF_TARGET))
605629

606-
ESP_IDF_COMPONENTS_LINK += bt
630+
ESP_IDF_COMPONENTS_LINK += bt esp_phy
607631
ifeq ($(BLE_IMPL),esp32)
608632
# BLE will hang the ESP32 and trigger an interrupt watchdog without this undefined symbol at
609633
# link because a weak version of the interrupt that BLE uses will be linked incorrectly.
@@ -665,6 +689,8 @@ else ifeq ($(IDF_TARGET),esp32c3)
665689
BOOTLOADER_OFFSET = 0x0
666690
else ifeq ($(IDF_TARGET),esp32c6)
667691
BOOTLOADER_OFFSET = 0x0
692+
else ifeq ($(IDF_TARGET),esp32p4)
693+
BOOTLOADER_OFFSET = 0x2000
668694
else ifeq ($(IDF_TARGET),esp32s3)
669695
BOOTLOADER_OFFSET = 0x0
670696
else ifeq ($(IDF_TARGET),esp32s2)

ports/espressif/README.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Support Status:
1414
ESP32-C2, "alpha"
1515
ESP32-C3, "beta"
1616
ESP32-C6, "alpha"
17+
ESP32-P4, "alpha"
1718
ESP32-S2, "stable"
1819
ESP32-S3, "stable"
1920

ports/espressif/boards/adafruit_feather_esp32_v2/board.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
1414
if (pin_number == 2) {
1515
// Turn on NeoPixel and I2C power by default.
16-
gpio_set_direction(pin_number, GPIO_MODE_DEF_OUTPUT);
17-
gpio_set_level(pin_number, true);
16+
config_pin_as_output_with_level(pin_number, true);
1817
return true;
1918
}
2019

ports/espressif/boards/adafruit_feather_esp32c6_4mbflash_nopsram/board.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
1313
if (pin_number == 20) {
1414
// Turn on I2C power by default.
15-
gpio_set_direction(pin_number, GPIO_MODE_DEF_OUTPUT);
16-
gpio_set_level(pin_number, true);
15+
config_pin_as_output_with_level(pin_number, true);
1716
return true;
1817
}
1918

ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/board.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,7 @@ bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
103103
// Override the I2C/TFT power pin reset to prevent resetting the display.
104104
if (pin_number == 7) {
105105
// Turn on TFT and I2C
106-
gpio_set_direction(pin_number, GPIO_MODE_DEF_OUTPUT);
107-
gpio_set_level(pin_number, true);
106+
config_pin_as_output_with_level(pin_number, true);
108107
return true;
109108
}
110109
return false;

ports/espressif/boards/adafruit_feather_esp32s2_tft/board.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,7 @@ bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
103103
// Override the I2C/TFT power pin reset to prevent resetting the display.
104104
if (pin_number == 21) {
105105
// Turn on TFT and I2C
106-
gpio_set_direction(pin_number, GPIO_MODE_DEF_OUTPUT);
107-
gpio_set_level(pin_number, true);
106+
config_pin_as_output_with_level(pin_number, true);
108107
return true;
109108
}
110109
return false;

ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/board.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,7 @@ bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
103103
// Override the I2C/TFT power pin reset to prevent resetting the display.
104104
if (pin_number == 7) {
105105
// Turn on TFT and I2C
106-
gpio_set_direction(pin_number, GPIO_MODE_DEF_OUTPUT);
107-
gpio_set_level(pin_number, true);
106+
config_pin_as_output_with_level(pin_number, true);
108107
return true;
109108
}
110109
return false;

ports/espressif/boards/adafruit_feather_esp32s3_tft/board.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,7 @@ bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
103103
// Override the I2C/TFT power pin reset to prevent resetting the display.
104104
if (pin_number == 21) {
105105
// Turn on TFT and I2C
106-
gpio_set_direction(pin_number, GPIO_MODE_DEF_OUTPUT);
107-
gpio_set_level(pin_number, true);
106+
config_pin_as_output_with_level(pin_number, true);
108107
return true;
109108
}
110109
return false;

ports/espressif/boards/adafruit_itsybitsy_esp32/board.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
1313
if (pin_number == 2) {
1414
// Turn on NeoPixel and I2C power by default.
15-
gpio_set_direction(pin_number, GPIO_MODE_DEF_OUTPUT);
16-
gpio_set_level(pin_number, true);
15+
config_pin_as_output_with_level(pin_number, true);
1716
return true;
1817
}
1918

ports/espressif/boards/arduino_nano_esp32s3/board.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,14 @@
1212
bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
1313
if (pin_number == 13) {
1414
// Set D13 LED to input when not in use
15-
gpio_set_direction(pin_number, GPIO_MODE_DEF_INPUT);
16-
gpio_set_pull_mode(pin_number, GPIO_PULLDOWN_ONLY);
15+
gpio_config_t cfg = {
16+
.pin_bit_mask = BIT64(pin_number),
17+
.mode = GPIO_MODE_INPUT,
18+
.pull_up_en = false,
19+
.pull_down_en = true,
20+
.intr_type = GPIO_INTR_DISABLE,
21+
};
22+
gpio_config(&cfg);
1723
return true;
1824
}
1925

ports/espressif/boards/arduino_nano_esp32s3_inverted_statusled/board.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,14 @@
1212
bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
1313
if (pin_number == 13) {
1414
// Set D13 LED to input when not in use
15-
gpio_set_direction(pin_number, GPIO_MODE_DEF_INPUT);
16-
gpio_set_pull_mode(pin_number, GPIO_PULLDOWN_ONLY);
15+
gpio_config_t cfg = {
16+
.pin_bit_mask = BIT64(pin_number),
17+
.mode = GPIO_MODE_INPUT,
18+
.pull_up_en = false,
19+
.pull_down_en = true,
20+
.intr_type = GPIO_INTR_DISABLE,
21+
};
22+
gpio_config(&cfg);
1723
return true;
1824
}
1925

0 commit comments

Comments
 (0)