From f997d0053d3decd2998ceb814232f3b41787b305 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 25 Oct 2022 10:09:16 -0500 Subject: [PATCH 01/14] Enable, use SOF_REUSEADDR This is the lwip no-os version of SO_REUSEADDR, which is set on all listening sockets in the espressif port; do so here as well, it makes running servers easier. The "address in use" error does not occur. --- ports/raspberrypi/common-hal/socketpool/Socket.c | 2 ++ ports/raspberrypi/common-hal/socketpool/Socket.h | 1 + ports/raspberrypi/lwip_inc/lwipopts.h | 1 + 3 files changed, 4 insertions(+) diff --git a/ports/raspberrypi/common-hal/socketpool/Socket.c b/ports/raspberrypi/common-hal/socketpool/Socket.c index 71a31379ad..a099ef9f79 100644 --- a/ports/raspberrypi/common-hal/socketpool/Socket.c +++ b/ports/raspberrypi/common-hal/socketpool/Socket.c @@ -852,6 +852,8 @@ bool common_hal_socketpool_socket_bind(socketpool_socket_obj_t *socket, mp_raise_OSError(EHOSTUNREACH); } + ip_set_option(socket->pcb.ip, SOF_REUSEADDR); + err_t err = ERR_ARG; switch (socket->type) { case MOD_NETWORK_SOCK_STREAM: { diff --git a/ports/raspberrypi/common-hal/socketpool/Socket.h b/ports/raspberrypi/common-hal/socketpool/Socket.h index f582b77a9b..6e26087674 100644 --- a/ports/raspberrypi/common-hal/socketpool/Socket.h +++ b/ports/raspberrypi/common-hal/socketpool/Socket.h @@ -37,6 +37,7 @@ typedef struct _lwip_socket_obj_t { mp_obj_base_t base; volatile union { + struct tcp_pcb *ip; struct tcp_pcb *tcp; struct udp_pcb *udp; struct raw_pcb *raw; diff --git a/ports/raspberrypi/lwip_inc/lwipopts.h b/ports/raspberrypi/lwip_inc/lwipopts.h index 936a141602..0d4ecd3707 100644 --- a/ports/raspberrypi/lwip_inc/lwipopts.h +++ b/ports/raspberrypi/lwip_inc/lwipopts.h @@ -52,6 +52,7 @@ #define LWIP_NETIF_TX_SINGLE_PBUF 1 #define DHCP_DOES_ARP_CHECK 0 #define LWIP_DHCP_DOES_ACD_CHECK 0 +#define SO_REUSE 1 #ifndef NDEBUG #define LWIP_DEBUG 1 From 0cf096dda16bdf933fb03be1b3c2813e290308f0 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 12 Oct 2022 07:46:05 -0500 Subject: [PATCH 02/14] pico w: implement sslsocket bind, listen, accept --- ports/raspberrypi/common-hal/ssl/SSLSocket.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ports/raspberrypi/common-hal/ssl/SSLSocket.c b/ports/raspberrypi/common-hal/ssl/SSLSocket.c index 1d42a4b710..21e2a95c90 100644 --- a/ports/raspberrypi/common-hal/ssl/SSLSocket.c +++ b/ports/raspberrypi/common-hal/ssl/SSLSocket.c @@ -284,7 +284,7 @@ mp_uint_t common_hal_ssl_sslsocket_send(ssl_sslsocket_obj_t *self, const uint8_t } bool common_hal_ssl_sslsocket_bind(ssl_sslsocket_obj_t *self, const char *host, size_t hostlen, uint32_t port) { - mp_raise_NotImplementedError(NULL); + return common_hal_socketpool_socket_bind(self->sock, host, hostlen, port); } void common_hal_ssl_sslsocket_close(ssl_sslsocket_obj_t *self) { @@ -349,11 +349,14 @@ bool common_hal_ssl_sslsocket_get_connected(ssl_sslsocket_obj_t *self) { } bool common_hal_ssl_sslsocket_listen(ssl_sslsocket_obj_t *self, int backlog) { - mp_raise_NotImplementedError(NULL); + return common_hal_socketpool_socket_listen(self->sock, backlog); } ssl_sslsocket_obj_t *common_hal_ssl_sslsocket_accept(ssl_sslsocket_obj_t *self, uint8_t *ip, uint32_t *port) { - mp_raise_NotImplementedError(NULL); + socketpool_socket_obj_t *sock = common_hal_socketpool_socket_accept(self->sock, ip, port); + ssl_sslsocket_obj_t *sslsock = common_hal_ssl_sslcontext_wrap_socket(self->ssl_context, sock, true, NULL); + do_handshake(sslsock); + return sslsock; } void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t *self, uint32_t timeout_ms) { From e49cd00d60c4d199b806c9ca0966d5b6b26a248a Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Tue, 25 Oct 2022 20:41:08 -0400 Subject: [PATCH 03/14] fix debug UART pins on Metro ESP32-S2 --- ports/espressif/boards/adafruit_metro_esp32s2/pins.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/espressif/boards/adafruit_metro_esp32s2/pins.c b/ports/espressif/boards/adafruit_metro_esp32s2/pins.c index 0d2777b204..1f024f6e8e 100644 --- a/ports/espressif/boards/adafruit_metro_esp32s2/pins.c +++ b/ports/espressif/boards/adafruit_metro_esp32s2/pins.c @@ -60,8 +60,8 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO45) }, { MP_OBJ_NEW_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) }, - { MP_OBJ_NEW_QSTR(MP_QSTR_DEBUG_RX), MP_ROM_PTR(&pin_GPIO38) }, - { MP_OBJ_NEW_QSTR(MP_QSTR_DEBUG_TX), MP_ROM_PTR(&pin_GPIO37) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_DEBUG_RX), MP_ROM_PTR(&pin_GPIO44) }, + { MP_OBJ_NEW_QSTR(MP_QSTR_DEBUG_TX), MP_ROM_PTR(&pin_GPIO43) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, From 56d8b9451f44d65ef004579d9ce1c6d4dddb88f6 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Tue, 25 Oct 2022 20:42:08 -0400 Subject: [PATCH 04/14] don't wait for pulls in PinAlarm --- ports/espressif/common-hal/alarm/pin/PinAlarm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/espressif/common-hal/alarm/pin/PinAlarm.c b/ports/espressif/common-hal/alarm/pin/PinAlarm.c index 62496ec4c6..bc89cc9ee7 100644 --- a/ports/espressif/common-hal/alarm/pin/PinAlarm.c +++ b/ports/espressif/common-hal/alarm/pin/PinAlarm.c @@ -215,6 +215,7 @@ void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_ob if (esp_sleep_enable_ext1_wakeup(high_alarms, ESP_EXT1_WAKEUP_ANY_HIGH) != ESP_OK) { mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep.")); } + esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON); } size_t low_pins[2]; size_t j = 0; @@ -231,6 +232,7 @@ void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_ob if (esp_sleep_enable_ext1_wakeup(1ull << low_pins[1], ESP_EXT1_WAKEUP_ALL_LOW) != ESP_OK) { mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep.")); } + esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON); } if (low_count > 0) { if (esp_sleep_enable_ext0_wakeup(low_pins[0], 0) != ESP_OK) { @@ -273,16 +275,14 @@ void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_ob PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[i], PIN_FUNC_GPIO); if (pull) { gpio_set_pull_mode(i, pull_mode); - size_t j = 0; - while (gpio_get_level(i) == false) { - j++; - } } never_reset_pin_number(i); // Sets interrupt type and wakeup bits. gpio_wakeup_enable(i, interrupt_mode); gpio_intr_enable(i); } + // Wait for any pulls to settle. + mp_hal_delay_ms(50); } From fed77e918afda328a631f941f810a4059e265cbf Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 26 Oct 2022 12:16:26 -0400 Subject: [PATCH 05/14] Fix formatting of "Limitations:" in a couple of modules When "Limitations:" is in the class docstring, it is sometimes taken as a class attribute name because of the colon. When exactly is not clear, but changing embedded colons or various indentations fixes the problem. --- shared-bindings/analogio/AnalogOut.c | 5 +++-- shared-bindings/microcontroller/Processor.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/shared-bindings/analogio/AnalogOut.c b/shared-bindings/analogio/AnalogOut.c index c8a109aa23..de6811b5a3 100644 --- a/shared-bindings/analogio/AnalogOut.c +++ b/shared-bindings/analogio/AnalogOut.c @@ -39,6 +39,9 @@ //| class AnalogOut: //| """Output analog values (a specific voltage). //| +//| **Limitations:** Not available on nRF, RP2040, Spresense, as there is no on-chip DAC. +//| On Espressif, available only on ESP32 and ESP32-S2; other chips do not have a DAC. +//| //| Example usage:: //| //| import analogio @@ -52,8 +55,6 @@ //| //| :param ~microcontroller.Pin pin: the pin to output to //| -//| **Limitations:** Not available on nRF, RP2040, Spresense: there is no on-chip DAC. -//| Espressif: available only on ESP32 and ESP32-S2; other chips do not have a DAC. //| """ //| ... STATIC mp_obj_t analogio_analogout_make_new(const mp_obj_type_t *type, mp_uint_t n_args, size_t n_kw, const mp_obj_t *args) { diff --git a/shared-bindings/microcontroller/Processor.c b/shared-bindings/microcontroller/Processor.c index 16312c0c94..3b671d0c7b 100644 --- a/shared-bindings/microcontroller/Processor.c +++ b/shared-bindings/microcontroller/Processor.c @@ -107,7 +107,7 @@ MP_PROPERTY_GETTER(mcu_processor_reset_reason_obj, //| Is `None` if the temperature is not available. //| //| **Limitations:** Not available on ESP32 or ESP32-S3. On small SAMD21 builds without external flash, -//| the reported temperature has reduced accuracy and precision, to save code space. +//| the reported temperature has reduced accuracy and precision, to save code space. //| """ STATIC mp_obj_t mcu_processor_get_temperature(mp_obj_t self) { float temperature = common_hal_mcu_processor_get_temperature(); From c52b5b64e57d1d8f88da4fc47f7d820d34f78baa Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 26 Oct 2022 12:32:09 -0400 Subject: [PATCH 06/14] add Characteristic.descriptors to locals dict --- shared-bindings/_bleio/Characteristic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/shared-bindings/_bleio/Characteristic.c b/shared-bindings/_bleio/Characteristic.c index 8a93915a8f..e1c5fc3ad5 100644 --- a/shared-bindings/_bleio/Characteristic.c +++ b/shared-bindings/_bleio/Characteristic.c @@ -278,6 +278,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(bleio_characteristic_set_cccd_obj, 1, bleio_ch STATIC const mp_rom_map_elem_t bleio_characteristic_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_add_to_service), MP_ROM_PTR(&bleio_characteristic_add_to_service_obj) }, + { MP_ROM_QSTR(MP_QSTR_descriptors), MP_ROM_PTR(&bleio_characteristic_descriptors_obj) }, { MP_ROM_QSTR(MP_QSTR_properties), MP_ROM_PTR(&bleio_characteristic_properties_obj) }, { MP_ROM_QSTR(MP_QSTR_uuid), MP_ROM_PTR(&bleio_characteristic_uuid_obj) }, { MP_ROM_QSTR(MP_QSTR_value), MP_ROM_PTR(&bleio_characteristic_value_obj) }, From cdbad53649cd3cee5f6e1fc3e042aac0bae53551 Mon Sep 17 00:00:00 2001 From: CDario Date: Wed, 26 Oct 2022 20:06:27 +0000 Subject: [PATCH 07/14] Fixed wrong configuration in sdkconfig --- ports/espressif/boards/m5stack_core_basic/sdkconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/espressif/boards/m5stack_core_basic/sdkconfig b/ports/espressif/boards/m5stack_core_basic/sdkconfig index 2bb24fcc89..a4cedd8e81 100644 --- a/ports/espressif/boards/m5stack_core_basic/sdkconfig +++ b/ports/espressif/boards/m5stack_core_basic/sdkconfig @@ -1,5 +1,5 @@ CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y -CONFIG_ESP32_SPIRAM_SUPPORT=y +CONFIG_ESP32_SPIRAM_SUPPORT=n CONFIG_ESP32_REV_MIN_3=y # CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set From 8a2e9de5a440b337df8b4c83fead7ce0e83651e9 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 27 Oct 2022 12:27:12 -0500 Subject: [PATCH 08/14] Revert definition of _asyncio 'ticks()' to 8.0.0-beta2 .. and explain why, because it wasn't clear to past-me. Actually tested on a pico w :) Closes: #7136 --- extmod/moduasyncio.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/extmod/moduasyncio.c b/extmod/moduasyncio.c index c7d1753e2f..8af32f21d9 100644 --- a/extmod/moduasyncio.c +++ b/extmod/moduasyncio.c @@ -73,10 +73,18 @@ STATIC mp_obj_t task_getiter(mp_obj_t self_in, mp_obj_iter_buf_t *iter_buf); #define _TICKS_PERIOD (1lu << 29) #define _TICKS_MAX (_TICKS_PERIOD - 1) #define _TICKS_HALFPERIOD (_TICKS_PERIOD >> 1) - +#if !CIRCUITPY || (defined(__unix__) || defined(__APPLE__)) STATIC mp_obj_t ticks(void) { return MP_OBJ_NEW_SMALL_INT(mp_hal_ticks_ms() & _TICKS_MAX); } +#else +// We don't share the implementation above because our supervisor_ticks_ms +// starts the epoch about 65 seconds before the first overflow (see +// shared-bindings/supervisor/__init__.c). We assume/require that +// supervisor.ticks_ms is picked as the ticks implementation under +// CircuitPython for the Python-coded bits of asyncio. +#define ticks() MP_OBJ_NEW_SMALL_INT(supervisor_ticks_ms()) +#endif STATIC mp_int_t ticks_diff(mp_obj_t t1_in, mp_obj_t t0_in) { mp_uint_t t0 = MP_OBJ_SMALL_INT_VALUE(t0_in); From 26688fa82647af075df46446acacd4ed566b77dc Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 27 Oct 2022 14:45:29 -0400 Subject: [PATCH 09/14] correct SPIRAM settings for ESP32-S3-BOX --- .../espressif_esp32s3_box/mpconfigboard.mk | 2 ++ .../boards/espressif_esp32s3_box/sdkconfig | 36 ++++--------------- 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.mk b/ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.mk index c635cdcb56..7ffb076348 100644 --- a/ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.mk +++ b/ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.mk @@ -8,3 +8,5 @@ IDF_TARGET = esp32s3 CIRCUITPY_ESP_FLASH_MODE = dio CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_SIZE = 16MB + +CIRCUITPY_ESP32_CAMERA = 0 diff --git a/ports/espressif/boards/espressif_esp32s3_box/sdkconfig b/ports/espressif/boards/espressif_esp32s3_box/sdkconfig index 7fcf8ef297..ead0088da5 100644 --- a/ports/espressif/boards/espressif_esp32s3_box/sdkconfig +++ b/ports/espressif/boards/espressif_esp32s3_box/sdkconfig @@ -1,35 +1,11 @@ -CONFIG_ESP32S3_SPIRAM_SUPPORT=y -# -# SPI RAM config -# -# CONFIG_SPIRAM_MODE_QUAD is not set -CONFIG_SPIRAM_MODE_OCT=y -CONFIG_SPIRAM_TYPE_AUTO=y -# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set -CONFIG_SPIRAM_SIZE=-1 -# end of SPI RAM config - -CONFIG_DEFAULT_PSRAM_CLK_IO=30 -# -# PSRAM Clock and CS IO for ESP32S3 -# -CONFIG_DEFAULT_PSRAM_CS_IO=26 -# end of PSRAM Clock and CS IO for ESP32S3 - -# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set -# CONFIG_SPIRAM_RODATA is not set -CONFIG_SPIRAM_SPEED_80M=y -# CONFIG_SPIRAM_SPEED_40M is not set CONFIG_SPIRAM=y +CONFIG_SPIRAM_MODE_OCT=y +CONFIG_SPIRAM_SPEED_80M=y +CONFIG_SPIRAM_TYPE_AUTO=y + CONFIG_SPIRAM_BOOT_INIT=y -# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set -# CONFIG_SPIRAM_USE_MEMMAP is not set -# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set -CONFIG_SPIRAM_USE_MALLOC=y -CONFIG_SPIRAM_MEMTEST=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 -# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 +CONFIG_SPIRAM_USE_MEMMAP=y + # # LWIP # From b0457ff3e062581966003818bef25a6fd8f342d2 Mon Sep 17 00:00:00 2001 From: Senuros Date: Thu, 27 Oct 2022 20:52:08 +0200 Subject: [PATCH 10/14] Adding more translation entries Those might be the last translations that were still missing. --- locale/de_DE.po | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/locale/de_DE.po b/locale/de_DE.po index 999f3e3bbb..c5bd941171 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -128,7 +128,7 @@ msgstr "%q Initialisierung ist gescheitert" #: shared-bindings/dualbank/__init__.c msgid "%q is %q" -msgstr "" +msgstr "%q ist %q" #: py/argcheck.c msgid "%q length must be %d" @@ -173,7 +173,7 @@ msgstr "%q muss >= %d sein" #: shared-bindings/analogbufio/BufferedIn.c #: shared-bindings/audiocore/RawSample.c msgid "%q must be a bytearray or array of type 'h', 'H', 'b', or 'B'" -msgstr "" +msgstr "%q muss ein Byte-Array oder ein array vom Typ 'h', 'H', 'b', oder 'B' sein" #: py/argcheck.c msgid "%q must be a string" @@ -1030,16 +1030,16 @@ msgstr "Filter zu komplex" #: ports/espressif/common-hal/dualbank/__init__.c msgid "Firmware is duplicate" -msgstr "" +msgstr "Die Firmware ist doppelt vorhanden" #: ports/espressif/common-hal/dualbank/__init__.c msgid "Firmware is invalid" -msgstr "" +msgstr "Die Firmware ist ungültig" #: ports/espressif/common-hal/coproc/Coproc.c #: ports/espressif/common-hal/dualbank/__init__.c msgid "Firmware is too big" -msgstr "" +msgstr "Die Firmware ist zu groß" #: shared-bindings/bitmaptools/__init__.c msgid "For L8 colorspace, input bitmap must have 8 bits per pixel" @@ -1657,7 +1657,7 @@ msgstr "" #: ports/espressif/common-hal/alarm/coproc/CoprocAlarm.c #: ports/espressif/common-hal/alarm/touch/TouchAlarm.c msgid "Only one %q can be set in deep sleep." -msgstr "" +msgstr "Nur ein %q kann im Deep-Sleep gesetzt werden." #: ports/espressif/common-hal/i2ctarget/I2CTarget.c #: ports/raspberrypi/common-hal/i2ctarget/I2CTarget.c @@ -2224,7 +2224,7 @@ msgstr "mDNS-Abfrage kann nicht gestartet werden" #: shared-bindings/coproc/CoprocMemory.c msgid "Unable to write" -msgstr "" +msgstr "Schreiben nicht möglich" #: shared-bindings/nvm/ByteArray.c msgid "Unable to write to nvm." @@ -2987,7 +2987,8 @@ msgstr "Fehler = 0x%08lX" msgid "" "esp32_camera.Camera requires reserved PSRAM to be configured. See the " "documentation for instructions." -msgstr "" +msgstr "esp32_camera.Camera benötigt reservierten PSRAM um konfiguriert werden zu können. " +"Sieh in der Dokumentation für eine Anleitung nach." #: py/runtime.c msgid "exceptions must derive from BaseException" @@ -4391,7 +4392,7 @@ msgstr "wifi ist nicht aktiviert" #: ports/raspberrypi/common-hal/wifi/Monitor.c msgid "wifi.Monitor not available" -msgstr "" +msgstr "wifi.Monitor nicht verfügbar" #: shared-bindings/_bleio/Adapter.c msgid "window must be <= interval" @@ -4510,7 +4511,7 @@ msgstr "zi muss die Form (n_section, 2) haben" #~ "sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' " #~ "or 'B'" #~ msgstr "" -#~ "sample_source buffer muss ein Bytearray oder ein Array vom Typ 'h', 'H', " +#~ "sample_source buffer muss ein Byte-Array oder ein Array vom Typ 'h', 'H', " #~ "'b' oder 'B' sein" #~ msgid "Expected an alarm" From 9a09c62eee4ea1a712f2bb12614795cc210934c2 Mon Sep 17 00:00:00 2001 From: microDev <70126934+microDev1@users.noreply.github.com> Date: Fri, 28 Oct 2022 13:55:33 +0530 Subject: [PATCH 11/14] espressif add back `ESP32_CAMERA` --- ports/espressif/mpconfigport.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/espressif/mpconfigport.mk b/ports/espressif/mpconfigport.mk index 241cbcd0df..f1fa24a59b 100644 --- a/ports/espressif/mpconfigport.mk +++ b/ports/espressif/mpconfigport.mk @@ -25,6 +25,7 @@ CIRCUITPY_CANIO ?= 1 CIRCUITPY_COPROC ?= 1 CIRCUITPY_COUNTIO ?= 1 CIRCUITPY_DUALBANK ?= 1 +CIRCUITPY_ESP32_CAMERA ?= 1 CIRCUITPY_ESPIDF ?= 1 CIRCUITPY_FRAMEBUFFERIO ?= 1 CIRCUITPY_FREQUENCYIO ?= 1 From b815a4cc5e8c574d378a4d763fdff52dc659c1d9 Mon Sep 17 00:00:00 2001 From: CDario Date: Fri, 28 Oct 2022 12:06:11 +0000 Subject: [PATCH 12/14] Added safe mode button and fix coyright attribution --- locale/circuitpython.pot | 7 ++++++- ports/espressif/boards/m5stack_core_basic/board.c | 2 +- ports/espressif/boards/m5stack_core_basic/mpconfigboard.h | 8 +++++++- ports/espressif/boards/m5stack_core_fire/board.c | 2 +- ports/espressif/boards/m5stack_core_fire/mpconfigboard.h | 8 +++++++- 5 files changed, 22 insertions(+), 5 deletions(-) mode change 100644 => 100755 ports/espressif/boards/m5stack_core_basic/mpconfigboard.h mode change 100644 => 100755 ports/espressif/boards/m5stack_core_fire/board.c mode change 100644 => 100755 ports/espressif/boards/m5stack_core_fire/mpconfigboard.h diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index dda2cbd02c..ee3cbfc09f 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -2642,7 +2642,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3844,6 +3844,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/ports/espressif/boards/m5stack_core_basic/board.c b/ports/espressif/boards/m5stack_core_basic/board.c index 3863b57637..2736bc758b 100644 --- a/ports/espressif/boards/m5stack_core_basic/board.c +++ b/ports/espressif/boards/m5stack_core_basic/board.c @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2020 Scott Shawcroft for Adafruit Industries + * Copyright (c) 2022 CDarius * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ports/espressif/boards/m5stack_core_basic/mpconfigboard.h b/ports/espressif/boards/m5stack_core_basic/mpconfigboard.h old mode 100644 new mode 100755 index 08281ec32d..6ea8e508d4 --- a/ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +++ b/ports/espressif/boards/m5stack_core_basic/mpconfigboard.h @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2022 Dan Halbert for Adafruit Industries + * Copyright (c) 2022 CDarius * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -38,6 +38,12 @@ #define CIRCUITPY_BOARD_UART (1) #define CIRCUITPY_BOARD_UART_PIN {{.tx = &pin_GPIO17, .rx = &pin_GPIO16}} +// For entering safe mode +#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO39) + +// Explanation of how a user got into safe mode +#define BOARD_USER_SAFE_MODE_ACTION translate("pressing button A at start up.\n") + // UART pins attached to the USB-serial converter chip #define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1) #define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3) diff --git a/ports/espressif/boards/m5stack_core_fire/board.c b/ports/espressif/boards/m5stack_core_fire/board.c old mode 100644 new mode 100755 index 3863b57637..2736bc758b --- a/ports/espressif/boards/m5stack_core_fire/board.c +++ b/ports/espressif/boards/m5stack_core_fire/board.c @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2020 Scott Shawcroft for Adafruit Industries + * Copyright (c) 2022 CDarius * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ports/espressif/boards/m5stack_core_fire/mpconfigboard.h b/ports/espressif/boards/m5stack_core_fire/mpconfigboard.h old mode 100644 new mode 100755 index 3000415754..8c389a641d --- a/ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +++ b/ports/espressif/boards/m5stack_core_fire/mpconfigboard.h @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (c) 2022 Dan Halbert for Adafruit Industries + * Copyright (c) 2022 CDarius * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -39,6 +39,12 @@ // #define CIRCUITPY_BOARD_UART (1) // #define CIRCUITPY_BOARD_UART_PIN {{.tx = &pin_GPIO17, .rx = &pin_GPIO16}} +// For entering safe mode +#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO39) + +// Explanation of how a user got into safe mode +#define BOARD_USER_SAFE_MODE_ACTION translate("pressing button A at start up.\n") + // UART pins attached to the USB-serial converter chip #define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1) #define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3) From 9c66320474f8d81ffb88a512cbd9a689efb6ece1 Mon Sep 17 00:00:00 2001 From: chukwon Date: Fri, 28 Oct 2022 21:40:35 +0800 Subject: [PATCH 13/14] fix and add lolin_s3 pins definition --- ports/espressif/boards/lolin_s3/pins.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ports/espressif/boards/lolin_s3/pins.c b/ports/espressif/boards/lolin_s3/pins.c index cc88572b6e..4bde24788a 100644 --- a/ports/espressif/boards/lolin_s3/pins.c +++ b/ports/espressif/boards/lolin_s3/pins.c @@ -81,9 +81,9 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_A16), MP_ROM_PTR(&pin_GPIO17) }, { MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO17) }, - { MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO17) }, - { MP_ROM_QSTR(MP_QSTR_A17), MP_ROM_PTR(&pin_GPIO17) }, - { MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO17) }, + { MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) }, + { MP_ROM_QSTR(MP_QSTR_A17), MP_ROM_PTR(&pin_GPIO18) }, + { MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO18) }, { MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) }, { MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) }, @@ -114,6 +114,10 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_D44), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) }, + { MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) }, + { MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) }, + { MP_ROM_QSTR(MP_QSTR_IO47), MP_ROM_PTR(&pin_GPIO47) }, + { MP_ROM_QSTR(MP_QSTR_IO48), MP_ROM_PTR(&pin_GPIO48) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, From e83b96afcaab5052bb0f7f003c2d0edf4a39bc5a Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Fri, 28 Oct 2022 22:00:10 +0200 Subject: [PATCH 14/14] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: CircuitPython/main Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/ --- locale/ID.po | 7 ++++++- locale/cs.po | 7 ++++++- locale/de_DE.po | 15 +++++++++++---- locale/el.po | 7 ++++++- locale/en_GB.po | 7 ++++++- locale/es.po | 7 ++++++- locale/fil.po | 7 ++++++- locale/fr.po | 7 ++++++- locale/hi.po | 7 ++++++- locale/it_IT.po | 7 ++++++- locale/ja.po | 7 ++++++- locale/ko.po | 7 ++++++- locale/nl.po | 7 ++++++- locale/pl.po | 7 ++++++- locale/pt_BR.po | 7 ++++++- locale/ru.po | 7 ++++++- locale/sv.po | 7 ++++++- locale/tr.po | 7 ++++++- locale/zh_Latn_pinyin.po | 7 ++++++- 19 files changed, 119 insertions(+), 22 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index 9784f8fb1c..62189a8309 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -2673,7 +2673,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3876,6 +3876,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/cs.po b/locale/cs.po index 9c911b504e..d331cd0932 100644 --- a/locale/cs.po +++ b/locale/cs.po @@ -2660,7 +2660,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3862,6 +3862,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/de_DE.po b/locale/de_DE.po index c5bd941171..7ce418f552 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -173,7 +173,8 @@ msgstr "%q muss >= %d sein" #: shared-bindings/analogbufio/BufferedIn.c #: shared-bindings/audiocore/RawSample.c msgid "%q must be a bytearray or array of type 'h', 'H', 'b', or 'B'" -msgstr "%q muss ein Byte-Array oder ein array vom Typ 'h', 'H', 'b', oder 'B' sein" +msgstr "" +"%q muss ein Byte-Array oder ein array vom Typ 'h', 'H', 'b', oder 'B' sein" #: py/argcheck.c msgid "%q must be a string" @@ -2717,7 +2718,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "Kann Blockgröße von 512 nicht setzen" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "kann Attribut nicht setzen" @@ -2987,8 +2988,9 @@ msgstr "Fehler = 0x%08lX" msgid "" "esp32_camera.Camera requires reserved PSRAM to be configured. See the " "documentation for instructions." -msgstr "esp32_camera.Camera benötigt reservierten PSRAM um konfiguriert werden zu können. " -"Sieh in der Dokumentation für eine Anleitung nach." +msgstr "" +"esp32_camera.Camera benötigt reservierten PSRAM um konfiguriert werden zu " +"können. Sieh in der Dokumentation für eine Anleitung nach." #: py/runtime.c msgid "exceptions must derive from BaseException" @@ -3941,6 +3943,11 @@ msgstr "Drücken der Boot-Taste beim Start.\n" msgid "pressing both buttons at start up.\n" msgstr "Drücken Sie beim Start beide Tasten.\n" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "Drücken der linken Taste beim Einschalten\n" diff --git a/locale/el.po b/locale/el.po index 55f8535703..5f9c88153f 100644 --- a/locale/el.po +++ b/locale/el.po @@ -2669,7 +2669,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3871,6 +3871,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/en_GB.po b/locale/en_GB.po index e9e74b6ac9..93053214c8 100644 --- a/locale/en_GB.po +++ b/locale/en_GB.po @@ -2676,7 +2676,7 @@ msgstr "can't send non-None value to a just-started generator" msgid "can't set 512 block size" msgstr "can't set 512 block size" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "can't set attribute" @@ -3881,6 +3881,11 @@ msgstr "pressing boot button at start up.\n" msgid "pressing both buttons at start up.\n" msgstr "pressing both buttons at start up.\n" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "pressing the left button at start up\n" diff --git a/locale/es.po b/locale/es.po index 56ed23fa30..c7b12ff86b 100644 --- a/locale/es.po +++ b/locale/es.po @@ -2713,7 +2713,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "no se puede definir un tamaño de bloque de 512" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "no se puede asignar el atributo" @@ -3928,6 +3928,11 @@ msgstr "presionando botón de arranque al inicio.\n" msgid "pressing both buttons at start up.\n" msgstr "presionando ambos botones al inicio.\n" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "presione el botón izquierdo al arranque\n" diff --git a/locale/fil.po b/locale/fil.po index 7c13b61711..f11b7018da 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -2664,7 +2664,7 @@ msgstr "hindi mapadala ang non-None value sa isang kaka umpisang generator" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "hindi ma i-set ang attribute" @@ -3881,6 +3881,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/fr.po b/locale/fr.po index 19278499dd..885562a32d 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -2746,7 +2746,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "impossible de définir une taille de bloc de 512" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "attribut non modifiable" @@ -3970,6 +3970,11 @@ msgstr "bouton boot appuyé lors du démarrage.\n" msgid "pressing both buttons at start up.\n" msgstr "les deux boutons appuyés lors du démarrage.\n" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "appuyer le bouton de gauche au démarage\n" diff --git a/locale/hi.po b/locale/hi.po index b2a6d4e25a..bdeb76c08c 100644 --- a/locale/hi.po +++ b/locale/hi.po @@ -2642,7 +2642,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3844,6 +3844,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/it_IT.po b/locale/it_IT.po index ec9b5a055d..98018a7f5c 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -2675,7 +2675,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "impossibile impostare attributo" @@ -3894,6 +3894,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/ja.po b/locale/ja.po index 5515942cf3..506de879a4 100644 --- a/locale/ja.po +++ b/locale/ja.po @@ -2656,7 +2656,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3865,6 +3865,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/ko.po b/locale/ko.po index f266fa6499..fe5b81c864 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -2646,7 +2646,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3848,6 +3848,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/nl.po b/locale/nl.po index 6ffae54cb5..1f3cc3ff18 100644 --- a/locale/nl.po +++ b/locale/nl.po @@ -2673,7 +2673,7 @@ msgstr "kan geen niet-'None' waarde naar een net gestartte generator sturen" msgid "can't set 512 block size" msgstr "kan geen 512 blokgrootte instellen" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "kan attribute niet instellen" @@ -3881,6 +3881,11 @@ msgstr "druk bootknop in bij opstarten.\n" msgid "pressing both buttons at start up.\n" msgstr "druk beide knoppen in bij opstarten.\n" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/pl.po b/locale/pl.po index 197160d073..57d54dce23 100644 --- a/locale/pl.po +++ b/locale/pl.po @@ -2653,7 +2653,7 @@ msgstr "świeżo stworzony generator może tylko przyjąć None" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "nie można ustawić atrybutu" @@ -3857,6 +3857,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 99780d894b..b1a17276a3 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -2727,7 +2727,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "não é possível definir o tamanho de 512 blocos" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "não é possível definir o atributo" @@ -3949,6 +3949,11 @@ msgstr "pressionando o botão de boot na inicialização.\n" msgid "pressing both buttons at start up.\n" msgstr "pressionando ambos os botões durante a inicialização.\n" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "pressionando o botão esquerdo durante a inicialização\n" diff --git a/locale/ru.po b/locale/ru.po index 95584e73be..e82169f771 100644 --- a/locale/ru.po +++ b/locale/ru.po @@ -2691,7 +2691,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3893,6 +3893,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/sv.po b/locale/sv.po index 3d42373ca9..23be78bc7e 100644 --- a/locale/sv.po +++ b/locale/sv.po @@ -2697,7 +2697,7 @@ msgstr "kan inte skicka icke-None värde till nystartad generator" msgid "can't set 512 block size" msgstr "kan inte sätta blockstorlek 512" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "kan inte att ange attribut" @@ -3910,6 +3910,11 @@ msgstr "trycka på startknappen vid start.\n" msgid "pressing both buttons at start up.\n" msgstr "trycka båda knapparna vid uppstart.\n" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "håll ner vänster knapp vid start\n" diff --git a/locale/tr.po b/locale/tr.po index 64fa3ba5b3..47779ff1f9 100644 --- a/locale/tr.po +++ b/locale/tr.po @@ -2662,7 +2662,7 @@ msgstr "" msgid "can't set 512 block size" msgstr "" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "" @@ -3864,6 +3864,11 @@ msgstr "" msgid "pressing both buttons at start up.\n" msgstr "" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "" diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index 52c96b9c0b..9c02f40da4 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -2700,7 +2700,7 @@ msgstr "wúfǎ xiàng gānggāng qǐdòng de shēngchéng qì fāsòng fēi zhí msgid "can't set 512 block size" msgstr "wúfǎ shèzhì 512 kuài dàxiǎo" -#: py/objnamedtuple.c +#: py/objexcept.c py/objnamedtuple.c msgid "can't set attribute" msgstr "wúfǎ shèzhì shǔxìng" @@ -3909,6 +3909,11 @@ msgstr "Zài qǐdòng shí àn qǐdòng ànniǔ.\n" msgid "pressing both buttons at start up.\n" msgstr "zài qǐdòng shí tóngshí àn xià liǎng gè ànniǔ.\n" +#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h +#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h +msgid "pressing button A at start up.\n" +msgstr "" + #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h msgid "pressing the left button at start up\n" msgstr "qǐ dòng shí àn xià zuǒ àn niǔ\n"