Skip to content

Commit 1f68fff

Browse files
committed
merge from main
2 parents 0c26a11 + f603143 commit 1f68fff

File tree

134 files changed

+1731
-406
lines changed

Some content is hidden

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

134 files changed

+1731
-406
lines changed

.github/actions/upload_aws/action.yml

+5-2
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

+1-1
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

docs/shared_bindings_matrix.py

+1
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/en_GB.po

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: PACKAGE VERSION\n"
99
"Report-Msgid-Bugs-To: \n"
10-
"PO-Revision-Date: 2024-08-10 14:09+0000\n"
10+
"PO-Revision-Date: 2024-08-28 18:09+0000\n"
1111
"Last-Translator: Andi Chandler <andi@gowling.com>\n"
1212
"Language-Team: none\n"
1313
"Language: en_GB\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=2; plural=n != 1;\n"
18-
"X-Generator: Weblate 5.7-dev\n"
18+
"X-Generator: Weblate 5.7.1-dev\n"
1919

2020
#: main.c
2121
msgid ""
@@ -3553,7 +3553,7 @@ msgstr "name not defined"
35533553

35543554
#: py/qstr.c
35553555
msgid "name too long"
3556-
msgstr ""
3556+
msgstr "name too long"
35573557

35583558
#: py/persistentcode.c
35593559
msgid "native code in .mpy unsupported"

locale/zh_Latn_pinyin.po

+3-3
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 <hexthat@gmail.com>\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

+6
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

+14
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

+2
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

+1-1
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

+13
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/stackrduino_m0_pro/mpconfigboard.mk

+3
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,6 @@ CHIP_FAMILY = samd21
99
SPI_FLASH_FILESYSTEM = 1
1010
EXTERNAL_FLASH_DEVICES = "W25Q64JVxQ"
1111
LONGINT_IMPL = MPZ
12+
13+
CIRCUITPY_CODEOP = 0
14+
CIRCUITPY_PARALLELDISPLAYBUS = 0

ports/atmel-samd/common-hal/busio/I2C.c

+3
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ bool common_hal_busio_i2c_probe(busio_i2c_obj_t *self, uint8_t addr) {
147147
}
148148

149149
bool common_hal_busio_i2c_try_lock(busio_i2c_obj_t *self) {
150+
if (common_hal_busio_i2c_deinited(self)) {
151+
return false;
152+
}
150153
bool grabbed_lock = false;
151154
CRITICAL_SECTION_ENTER()
152155
if (!self->has_lock) {

ports/atmel-samd/common-hal/busio/SPI.c

+3
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,9 @@ bool common_hal_busio_spi_configure(busio_spi_obj_t *self,
222222
}
223223

224224
bool common_hal_busio_spi_try_lock(busio_spi_obj_t *self) {
225+
if (common_hal_busio_spi_deinited(self)) {
226+
return false;
227+
}
225228
bool grabbed_lock = false;
226229
CRITICAL_SECTION_ENTER()
227230
if (!self->has_lock) {

ports/broadcom/common-hal/busio/I2C.c

+3
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ bool common_hal_busio_i2c_probe(busio_i2c_obj_t *self, uint8_t addr) {
109109
}
110110

111111
bool common_hal_busio_i2c_try_lock(busio_i2c_obj_t *self) {
112+
if (common_hal_busio_i2c_deinited(self)) {
113+
return false;
114+
}
112115
bool grabbed_lock = false;
113116
if (!self->has_lock) {
114117
grabbed_lock = true;

ports/broadcom/common-hal/busio/SPI.c

+3
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,9 @@ bool common_hal_busio_spi_configure(busio_spi_obj_t *self,
200200
}
201201

202202
bool common_hal_busio_spi_try_lock(busio_spi_obj_t *self) {
203+
if (common_hal_busio_spi_deinited(self)) {
204+
return false;
205+
}
203206
bool grabbed_lock = false;
204207
if (!self->has_lock) {
205208
grabbed_lock = true;

ports/cxd56/common-hal/busio/I2C.c

+3
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ bool common_hal_busio_i2c_deinited(busio_i2c_obj_t *self) {
5151
}
5252

5353
bool common_hal_busio_i2c_try_lock(busio_i2c_obj_t *self) {
54+
if (common_hal_busio_i2c_deinited(self)) {
55+
return false;
56+
}
5457
bool grabbed_lock = false;
5558
if (!self->has_lock) {
5659
grabbed_lock = true;

ports/cxd56/common-hal/busio/SPI.c

+3
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ bool common_hal_busio_spi_configure(busio_spi_obj_t *self, uint32_t baudrate, ui
9696
}
9797

9898
bool common_hal_busio_spi_try_lock(busio_spi_obj_t *self) {
99+
if (common_hal_busio_spi_deinited(self)) {
100+
return false;
101+
}
99102
bool grabbed_lock = false;
100103
if (!self->has_lock) {
101104
grabbed_lock = true;

ports/espressif/Makefile

+4-4
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ CFLAGS += -DSTACK_CANARY_VALUE=0xa5a5a5a5
155155
# one must provide `-u` arguments to state the symbols are missing. This would
156156
# normally happen implicitly by another function calling to these.
157157
REGISTRATION_FUNCTIONS = \
158-
-u newlib_include_pthread_impl \
159158
-u ld_include_highint_hdl \
160159
-u __cxx_fatal_exception \
161160
-u esp_app_desc \
@@ -169,8 +168,10 @@ REGISTRATION_FUNCTIONS = \
169168
-u newlib_include_syscalls_impl \
170169
-u newlib_include_pthread_impl \
171170
-u newlib_include_assert_impl \
172-
-u newlib_include_getentropy_impl \
173-
-u newlib_include_init_funcs
171+
-u newlib_include_init_funcs \
172+
-u include_esp_phy_override \
173+
-u vfs_include_syscalls_impl
174+
174175

175176
#Debugging/Optimization
176177
ifeq ($(DEBUG), 1)
@@ -311,7 +312,6 @@ CHIP_COMPONENTS = \
311312
else ifeq ($(IDF_TARGET),esp32s3)
312313
LDFLAGS += \
313314
-Tesp32s3.rom.newlib.ld \
314-
-Tesp32s3.rom.newlib-time.ld \
315315
-Tesp32s3.rom.version.ld \
316316
-Tesp32s3.rom.systimer.ld \
317317
-Tesp32s3.rom.wdt.ld

ports/espressif/bindings/espulp/ULP.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include "py/objproperty.h"
1414

1515
//| class ULP:
16-
//| def __init__(self, arch: Architecture = Architecture.FSM):
16+
//| def __init__(self, arch: Architecture = Architecture.FSM) -> None:
1717
//| """The ultra-low-power processor.
1818
//|
1919
//| Raises an exception if another ULP has been instantiated. This

ports/espressif/boards/adafruit_feather_esp32_v2/board.c

+1-2
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

+1-2
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

+1-2
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

+1-2
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

+1-2
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

+1-2
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

+1-2
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/adafruit_qualia_s3_rgb666/mpconfigboard.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ IDF_TARGET = esp32s3
77

88
CIRCUITPY_ESP_FLASH_SIZE = 16MB
99
CIRCUITPY_ESP_FLASH_MODE = qio
10-
CIRCUITPY_ESP_FLASH_FREQ = 80m
10+
CIRCUITPY_ESP_FLASH_FREQ = 120m
1111

1212
CIRCUITPY_ESP_PSRAM_SIZE = 8MB
1313
CIRCUITPY_ESP_PSRAM_MODE = opi
14-
CIRCUITPY_ESP_PSRAM_FREQ = 80m
14+
CIRCUITPY_ESP_PSRAM_FREQ = 120m
1515

1616
CIRCUITPY_DOTCLOCKFRAMEBUFFER = 1

ports/espressif/boards/arduino_nano_esp32s3/board.c

+8-2
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

+8-2
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

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// This file is part of the CircuitPython project: https://circuitpython.org
2+
//
3+
// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
4+
//
5+
// SPDX-License-Identifier: MIT
6+
7+
#include "supervisor/board.h"
8+
9+
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

0 commit comments

Comments
 (0)