summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhierophect <hierophect@gmail.com>2020-10-05 13:02:42 -0400
committerGitHub <noreply@github.com>2020-10-05 13:02:42 -0400
commite93a274f2fbddaaa0f58d5759316bbc99aa8c41e (patch)
treeab8201492a543da223062d5803bbd3350b71550c
parent0467a828808f15cc5f0e502667f61e4a448450df (diff)
parent9535edb8f4be7a01158b75c78a2a56fe11e6d3f0 (diff)
Merge branch 'main' into esp32-analogin
-rw-r--r--.github/workflows/build.yml2
-rw-r--r--.gitignore1
-rw-r--r--.pre-commit-config.yaml2
-rw-r--r--Makefile18
-rw-r--r--docs/design_guide.rst13
m---------frozen/circuitpython-stage0
m---------frozen/pew-pewpew-standalone-10.x0
-rw-r--r--locale/ID.po170
-rw-r--r--locale/circuitpython.pot159
-rw-r--r--locale/cs.po167
-rw-r--r--locale/de_DE.po170
-rw-r--r--locale/el.po167
-rw-r--r--locale/es.po194
-rw-r--r--locale/fil.po170
-rw-r--r--locale/fr.po173
-rw-r--r--locale/hi.po167
-rw-r--r--locale/it_IT.po170
-rw-r--r--locale/ja.po474
-rw-r--r--locale/ko.po167
-rw-r--r--locale/nl.po173
-rw-r--r--locale/pl.po177
-rw-r--r--locale/pt_BR.po182
-rw-r--r--locale/sv.po224
-rw-r--r--locale/zh_Latn_pinyin.po173
-rw-r--r--ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h2
-rw-r--r--ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h2
-rw-r--r--ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h2
-rw-r--r--ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h2
-rw-r--r--ports/atmel-samd/boards/hallowing_m0_express/board.c3
-rw-r--r--ports/atmel-samd/boards/hallowing_m4_express/board.c3
-rw-r--r--ports/atmel-samd/boards/meowmeow/mpconfigboard.h2
-rw-r--r--ports/atmel-samd/boards/monster_m4sk/board.c3
-rw-r--r--ports/atmel-samd/boards/pewpew_m4/board.c3
-rw-r--r--ports/atmel-samd/boards/pybadge/board.c3
-rw-r--r--ports/atmel-samd/boards/pybadge_airlift/board.c3
-rw-r--r--ports/atmel-samd/boards/pygamer/board.c3
-rw-r--r--ports/atmel-samd/boards/pygamer_advance/board.c3
-rw-r--r--ports/atmel-samd/boards/pyportal/board.c3
-rw-r--r--ports/atmel-samd/boards/pyportal_titano/board.c3
-rw-r--r--ports/atmel-samd/boards/seeeduino_wio_terminal/board.c26
-rw-r--r--ports/atmel-samd/boards/seeeduino_wio_terminal/mpconfigboard.h4
-rw-r--r--ports/atmel-samd/boards/ugame10/board.c3
-rw-r--r--ports/atmel-samd/common-hal/canio/CAN.c34
-rw-r--r--ports/atmel-samd/common-hal/canio/Listener.c73
-rw-r--r--ports/atmel-samd/common-hal/canio/Listener.h10
-rw-r--r--ports/atmel-samd/reset.c2
-rw-r--r--ports/atmel-samd/reset.h6
-rw-r--r--ports/cxd56/supervisor/port.c5
-rw-r--r--ports/esp32s2/Makefile17
-rw-r--r--ports/esp32s2/boards/adafruit_metro_esp32s2/board.c43
-rw-r--r--ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h48
-rw-r--r--ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.mk17
-rw-r--r--ports/esp32s2/boards/adafruit_metro_esp32s2/pins.c44
-rw-r--r--ports/esp32s2/boards/adafruit_metro_esp32s2/sdkconfig33
-rw-r--r--ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h2
-rw-r--r--ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h2
-rw-r--r--ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h2
-rw-r--r--ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h2
-rw-r--r--ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h2
-rw-r--r--ports/esp32s2/boards/microdev_micro_s2/sdkconfig3
-rw-r--r--ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h4
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h7
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.mk3
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2/pins.c61
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2/sdkconfig3
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/board.c56
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h38
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.mk21
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/pins.c102
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/sdkconfig35
-rw-r--r--ports/esp32s2/common-hal/digitalio/DigitalInOut.c18
-rw-r--r--ports/esp32s2/common-hal/digitalio/DigitalInOut.h1
-rw-r--r--ports/esp32s2/common-hal/wifi/Radio.c2
-rw-r--r--ports/esp32s2/esp-idf-config/partitions-16MB.csv (renamed from ports/esp32s2/partitions-16MB.csv)0
-rw-r--r--ports/esp32s2/esp-idf-config/partitions-4MB.csv (renamed from ports/esp32s2/partitions-4MB.csv)0
-rw-r--r--ports/esp32s2/esp-idf-config/partitions-8MB.csv (renamed from ports/esp32s2/partitions-8MB.csv)0
-rw-r--r--ports/esp32s2/esp-idf-config/sdkconfig-16MB.defaults (renamed from ports/esp32s2/sdkconfig-16MB.defaults)7
-rw-r--r--ports/esp32s2/esp-idf-config/sdkconfig-4MB.defaults (renamed from ports/esp32s2/sdkconfig-4MB.defaults)7
-rw-r--r--ports/esp32s2/esp-idf-config/sdkconfig-8MB.defaults (renamed from ports/esp32s2/sdkconfig-8MB.defaults)7
-rw-r--r--ports/esp32s2/esp-idf-config/sdkconfig-debug.defaults13
-rw-r--r--ports/esp32s2/esp-idf-config/sdkconfig-opt.defaults12
-rw-r--r--ports/esp32s2/esp-idf-config/sdkconfig.defaults (renamed from ports/esp32s2/sdkconfig.defaults)0
-rw-r--r--ports/esp32s2/supervisor/port.c4
-rw-r--r--ports/litex/supervisor/port.c8
-rw-r--r--ports/mimxrt10xx/reset.h6
-rw-r--r--ports/nrf/boards/clue_nrf52840_express/board.c3
-rw-r--r--ports/nrf/boards/hiibot_bluefi/board.c3
-rw-r--r--ports/nrf/boards/makerdiary_nrf52840_m2_devkit/board.c3
-rw-r--r--ports/nrf/boards/ohs2020_badge/board.c3
-rw-r--r--ports/nrf/supervisor/port.c2
-rw-r--r--ports/stm/boards/meowbit_v121/board.c3
-rw-r--r--ports/stm/supervisor/port.c4
-rw-r--r--py/circuitpy_defns.mk1
-rw-r--r--shared-bindings/canio/CAN.c80
-rw-r--r--shared-bindings/canio/CAN.h6
-rw-r--r--shared-bindings/canio/Listener.c67
-rw-r--r--shared-bindings/canio/Listener.h12
-rw-r--r--shared-bindings/canio/Match.c50
-rw-r--r--shared-bindings/canio/Match.h4
-rw-r--r--shared-bindings/canio/Message.c75
-rw-r--r--shared-bindings/canio/Message.h8
-rw-r--r--shared-bindings/canio/RemoteTransmissionRequest.c156
-rw-r--r--shared-bindings/canio/RemoteTransmissionRequest.h42
-rw-r--r--shared-bindings/canio/__init__.c5
-rw-r--r--shared-bindings/displayio/Display.c17
-rw-r--r--shared-bindings/displayio/Display.h3
-rw-r--r--shared-bindings/rgbmatrix/RGBMatrix.c8
-rw-r--r--shared-module/_stage/__init__.c2
-rw-r--r--shared-module/board/__init__.c4
-rw-r--r--shared-module/canio/Match.c8
-rw-r--r--shared-module/canio/Match.h2
-rw-r--r--shared-module/canio/Message.c28
-rw-r--r--shared-module/canio/Message.h1
-rw-r--r--shared-module/canio/RemoteTransmissionRequest.c67
-rw-r--r--shared-module/canio/RemoteTransmissionRequest.h33
-rw-r--r--shared-module/displayio/Display.c24
-rw-r--r--shared-module/displayio/Display.h2
-rw-r--r--shared-module/displayio/EPaperDisplay.c5
-rw-r--r--shared-module/displayio/FourWire.c4
-rw-r--r--shared-module/displayio/__init__.c10
-rw-r--r--shared-module/displayio/display_core.c37
-rw-r--r--shared-module/displayio/display_core.h8
-rw-r--r--shared-module/sharpdisplay/SharpMemoryFramebuffer.c8
-rw-r--r--supervisor/port.h4
-rw-r--r--supervisor/shared/safe_mode.c4
-rw-r--r--supervisor/shared/safe_mode.h4
-rw-r--r--supervisor/stub/safe_mode.c5
-rw-r--r--tools/build_board_info.py2
-rw-r--r--tools/ci_check_duplicate_usb_vid_pid.py4
129 files changed, 3902 insertions, 1065 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1c68a3e5c..dc3dc6835 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -414,6 +414,7 @@ jobs:
fail-fast: false
matrix:
board:
+ - "adafruit_metro_esp32s2"
- "electroniccats_bastwifi"
- "espressif_kaluga_1"
- "espressif_saola_1_wroom"
@@ -421,6 +422,7 @@ jobs:
- "microdev_micro_s2"
- "muselab_nanoesp32_s2"
- "unexpectedmaker_feathers2"
+ - "unexpectedmaker_feathers2_prerelease"
steps:
- name: Set up Python 3.8
diff --git a/.gitignore b/.gitignore
index 03cd38f35..a8814be45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,6 +80,7 @@ TAGS
*.mo
.vscode
+.idea
# Python Virtual Environments
####################
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 7c41ca3ce..322f37da4 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -8,6 +8,6 @@ repos:
hooks:
- id: check-yaml
- id: end-of-file-fixer
- exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*)'
+ exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*|ports/esp32s2/esp-idf-config/.*|ports/esp32s2/boards/.*/sdkconfig)'
- id: trailing-whitespace
exclude: '^(tests/.*\.exp|tests/cmdline/.*|tests/.*/data/.*)'
diff --git a/Makefile b/Makefile
index d016b770f..e553b85e8 100644
--- a/Makefile
+++ b/Makefile
@@ -40,7 +40,19 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(BASEOPTS)
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(BASEOPTS)
-TRANSLATE_SOURCES = extmod lib main.c ports/atmel-samd ports/cxd56 ports/mimxrt10xx ports/nrf ports/stm py shared-bindings shared-module supervisor
+TRANSLATE_SOURCES = extmod lib main.c ports/atmel-samd ports/cxd56 ports/esp32s2 ports/mimxrt10xx ports/nrf ports/stm py shared-bindings shared-module supervisor
+# Paths to exclude from TRANSLATE_SOURCES
+# Each must be preceded by "-path"; if any wildcards, enclose in quotes.
+# Separate by "-o" (Find's "or" operand)
+TRANSLATE_SOURCES_EXC = -path "ports/*/build-*" \
+ -o -path "ports/*/build" \
+ -o -path ports/esp32s2/esp-idf \
+ -o -path ports/cxd56/spresense-exported-sdk \
+ -o -path ports/stm/st_driver \
+ -o -path ports/atmel-samd/asf4 \
+ -o -path ports/mimxrt10xx/sdk \
+ -o -path lib/tinyusb \
+ -o -path lib/lwip \
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext stubs
@@ -210,7 +222,7 @@ pseudoxml:
all-source:
locale/circuitpython.pot: all-source
- find $(TRANSLATE_SOURCES) -iname "*.c" -print | (LC_ALL=C sort) | xgettext -f- -L C -s --add-location=file --keyword=translate -o circuitpython.pot -p locale
+ find $(TRANSLATE_SOURCES) -type d \( $(TRANSLATE_SOURCES_EXC) \) -prune -o -type f \( -iname "*.c" -o -iname "*.h" \) -print | (LC_ALL=C sort) | xgettext -f- -L C -s --add-location=file --keyword=translate -o circuitpython.pot -p locale
# Historically, `make translate` updated the .pot file and ran msgmerge.
# However, this was a frequent source of merge conflicts. Weblate can perform
@@ -235,7 +247,7 @@ merge-translate:
.PHONY: check-translate
check-translate:
- find $(TRANSLATE_SOURCES) -iname "*.c" -print | (LC_ALL=C sort) | xgettext -f- -L C -s --add-location=file --keyword=translate -o circuitpython.pot.tmp -p locale
+ find $(TRANSLATE_SOURCES) -type d \( $(TRANSLATE_SOURCES_EXC) \) -prune -o -type f \( -iname "*.c" -o -iname "*.h" \) -print | (LC_ALL=C sort) | xgettext -f- -L C -s --add-location=file --keyword=translate -o circuitpython.pot.tmp -p locale
$(PYTHON) tools/check_translations.py locale/circuitpython.pot.tmp locale/circuitpython.pot; status=$$?; rm -f locale/circuitpython.pot.tmp; exit $$status
stubs:
diff --git a/docs/design_guide.rst b/docs/design_guide.rst
index 2d52e988b..cc2a3b296 100644
--- a/docs/design_guide.rst
+++ b/docs/design_guide.rst
@@ -485,6 +485,19 @@ struct.pack
Use `struct.pack_into` instead of `struct.pack`.
+Use of MicroPython ``const()``
+--------------------------------------------------------------------------------
+The MicroPython ``const()`` feature, as discussed in `this forum post
+<https://forum.micropython.org/viewtopic.php?t=450>`_, and in `this issue thread
+<https://github.com/micropython/micropython/issues/573>`_, provides some
+optimizations that can be useful on smaller, memory constrained devices. However,
+when using ``const()``, keep in mind these general guide lines:
+
+- Always use via an import, ex: ``from micropython import const``
+- Limit use to global (module level) variables only.
+- If user will not need access to variable, prefix name with a leading
+ underscore, ex: ``_SOME_CONST``.
+
Sensor properties and units
--------------------------------------------------------------------------------
diff --git a/frozen/circuitpython-stage b/frozen/circuitpython-stage
-Subproject 9596a5904ed757e6fbffcf03e7aa77ae9ecf522
+Subproject 40d8a03b4569d566faa62fcb0f798178118f295
diff --git a/frozen/pew-pewpew-standalone-10.x b/frozen/pew-pewpew-standalone-10.x
-Subproject 87755e088150cc9bce42f4104cbd74d91b923c6
+Subproject a14da2e1ced1010a0da65f758199ff08eedd0bd
diff --git a/locale/ID.po b/locale/ID.po
index bce444da2..f6cd07a8c 100644
--- a/locale/ID.po
+++ b/locale/ID.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2020-07-06 18:10+0000\n"
"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -284,7 +284,7 @@ msgstr "Alamat harus sepanjang %d byte"
msgid "Address type out of range"
msgstr "Jenis alamat di luar batas"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Semua perangkat I2C sedang digunakan"
@@ -292,11 +292,11 @@ msgstr "Semua perangkat I2C sedang digunakan"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Semua perangkat SPI sedang digunakan"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "Semua perangkat UART sedang digunakan"
@@ -318,6 +318,9 @@ msgstr "Semua timer untuk pin ini sedang digunakan"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -337,6 +340,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "AnalogIn tidak didukung pada pin yang diberikan"
@@ -562,6 +569,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr "Tidak dapat menetapkan nilai saat arah input."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "Tidak dapat menentukan RTS atau CTS dalam mode RS485"
@@ -657,14 +665,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Tidak dapat menginisialisasi UART"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Tidak dapat menginisialisasi kanal"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Tidak dapat menginisialisasi timer"
@@ -680,6 +689,10 @@ msgstr "Tidak dapat menginisialisasi ulang timer"
msgid "Could not restart PWM"
msgstr "Tidak dapat memulai ulang PWM"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -771,6 +784,10 @@ msgstr "Mode kendara tidak digunakan saat arah input."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB hanya beroperasi pada 16 byte di satu waktu"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -828,6 +845,10 @@ msgstr "Penyebaran yang diperluas dengan respon pindai tidak didukung."
msgid "FFT is defined for ndarrays only"
msgstr "FFT didefinisikan hanya untuk ndarrays"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Gagal mengirim perintah."
@@ -844,12 +865,21 @@ msgstr "Gagal untuk mengalokasikan buffer RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Gagal untuk megalokasikan buffer RX dari %d byte"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Gagal terhubung: kesalahan internal"
@@ -858,6 +888,10 @@ msgstr "Gagal terhubung: kesalahan internal"
msgid "Failed to connect: timeout"
msgstr "Gagal terhubung: habis waktu"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Gagal mengurai file MP3"
@@ -954,7 +988,7 @@ msgstr "Ukuran penyangga salah"
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Kesalahan input/output"
@@ -1047,6 +1081,10 @@ msgstr "File tidak valid"
msgid "Invalid format chunk size"
msgstr "Ukuran potongan format tidak valid"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Frekuensi yang diberikan tidak valid"
@@ -1084,6 +1122,8 @@ msgstr "Pin untuk channel kanan tidak valid"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1188,14 +1228,10 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1219,21 +1255,25 @@ msgstr "Tidak ada DAC (Digital Analog Converter) di dalam chip"
msgid "No DMA channel found"
msgstr "tidak ada channel DMA ditemukan"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Tidak pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1276,6 +1316,14 @@ msgstr ""
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1340,6 +1388,14 @@ msgstr "Parity ganjil tidak didukung"
msgid "Only 8 or 16 bit mono with "
msgstr "Hanya 8 atau 16 bit mono dengan "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1357,6 +1413,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr ""
@@ -1371,6 +1431,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr ""
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1416,6 +1477,12 @@ msgstr "Tambahkan module apapun pada filesystem\n"
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1447,12 +1514,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr ""
@@ -1487,6 +1555,10 @@ msgstr "sistem file (filesystem) bersifat Read-only"
msgid "Refresh too soon"
msgstr ""
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr ""
@@ -1507,7 +1579,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA atau SCL membutuhkan pull up"
@@ -1575,6 +1647,10 @@ msgstr ""
msgid "Slices not supported"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr ""
@@ -1615,6 +1691,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1737,6 +1817,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr "Tidak dapat mengalokasikan buffer untuk signed conversion"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1763,6 +1847,11 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1798,7 +1887,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Baudrate tidak didukung"
@@ -2046,6 +2135,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "byte > 8 bit tidak didukung"
@@ -2363,10 +2453,14 @@ msgstr "error = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr ""
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr ""
@@ -2560,7 +2654,7 @@ msgstr "lapisan (padding) tidak benar"
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index keluar dari jangkauan"
@@ -3064,6 +3158,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "Muncul dari PulseIn yang kosong"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3080,6 +3178,24 @@ msgstr ""
msgid "pow() with 3 arguments requires integers"
msgstr ""
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "antrian meluap (overflow)"
@@ -3205,10 +3321,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr ""
@@ -3323,7 +3435,8 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx dan rx keduanya tidak boleh kosong"
@@ -3446,6 +3559,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
@@ -3559,9 +3676,6 @@ msgstr ""
#~ msgstr ""
#~ "Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "Muncul dari PulseIn yang kosong"
-
#~ msgid "struct: index out of range"
#~ msgstr "struct: index keluar dari jangkauan"
diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot
index 1960a3694..62e1fbb10 100644
--- a/locale/circuitpython.pot
+++ b/locale/circuitpython.pot
@@ -280,7 +280,7 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr ""
@@ -288,11 +288,11 @@ msgstr ""
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr ""
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr ""
@@ -314,6 +314,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -333,6 +336,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr ""
@@ -550,6 +557,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr ""
@@ -640,14 +648,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
@@ -663,6 +672,10 @@ msgstr ""
msgid "Could not restart PWM"
msgstr ""
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -753,6 +766,10 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -810,6 +827,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@@ -826,12 +847,21 @@ msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@@ -840,6 +870,10 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr ""
@@ -933,7 +967,7 @@ msgstr ""
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr ""
@@ -1026,6 +1060,10 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@@ -1063,6 +1101,8 @@ msgstr ""
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1194,21 +1234,25 @@ msgstr ""
msgid "No DMA channel found"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1251,6 +1295,14 @@ msgstr ""
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1314,6 +1366,14 @@ msgstr ""
msgid "Only 8 or 16 bit mono with "
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1331,6 +1391,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr ""
@@ -1345,6 +1409,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr ""
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1390,6 +1455,12 @@ msgstr ""
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1423,12 +1494,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr ""
@@ -1462,6 +1534,10 @@ msgstr ""
msgid "Refresh too soon"
msgstr ""
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr ""
@@ -1482,7 +1558,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr ""
@@ -1550,6 +1626,10 @@ msgstr ""
msgid "Slices not supported"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr ""
@@ -1590,6 +1670,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1712,6 +1796,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr ""
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1738,6 +1826,11 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1773,7 +1866,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr ""
@@ -2013,6 +2106,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr ""
@@ -2330,10 +2424,14 @@ msgstr ""
msgid "exceptions must derive from BaseException"
msgstr ""
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr ""
@@ -2527,7 +2625,7 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@@ -3030,6 +3128,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3046,6 +3148,24 @@ msgstr ""
msgid "pow() with 3 arguments requires integers"
msgstr ""
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr ""
@@ -3171,10 +3291,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr ""
@@ -3288,7 +3404,8 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr ""
@@ -3411,6 +3528,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
diff --git a/locale/cs.po b/locale/cs.po
index f96a05411..c20674d78 100644
--- a/locale/cs.po
+++ b/locale/cs.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2020-05-24 03:22+0000\n"
"Last-Translator: dronecz <mzuzelka@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -284,7 +284,7 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr ""
@@ -292,11 +292,11 @@ msgstr ""
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr ""
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr ""
@@ -318,6 +318,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -337,6 +340,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr ""
@@ -554,6 +561,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr ""
@@ -644,14 +652,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
@@ -667,6 +676,10 @@ msgstr ""
msgid "Could not restart PWM"
msgstr ""
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -757,6 +770,10 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -814,6 +831,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@@ -830,12 +851,21 @@ msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@@ -844,6 +874,10 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr ""
@@ -937,7 +971,7 @@ msgstr ""
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr ""
@@ -1030,6 +1064,10 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@@ -1067,6 +1105,8 @@ msgstr ""
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1171,14 +1211,10 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1202,21 +1238,25 @@ msgstr ""
msgid "No DMA channel found"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1259,6 +1299,14 @@ msgstr ""
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1322,6 +1370,14 @@ msgstr ""
msgid "Only 8 or 16 bit mono with "
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1339,6 +1395,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr ""
@@ -1353,6 +1413,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr ""
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1398,6 +1459,12 @@ msgstr ""
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1427,12 +1494,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr ""
@@ -1466,6 +1534,10 @@ msgstr ""
msgid "Refresh too soon"
msgstr ""
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr ""
@@ -1486,7 +1558,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr ""
@@ -1554,6 +1626,10 @@ msgstr ""
msgid "Slices not supported"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr ""
@@ -1594,6 +1670,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1716,6 +1796,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr ""
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1742,6 +1826,11 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1777,7 +1866,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr ""
@@ -2017,6 +2106,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr ""
@@ -2334,10 +2424,14 @@ msgstr ""
msgid "exceptions must derive from BaseException"
msgstr ""
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr ""
@@ -2531,7 +2625,7 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@@ -3034,6 +3128,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3050,6 +3148,24 @@ msgstr ""
msgid "pow() with 3 arguments requires integers"
msgstr ""
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr ""
@@ -3175,10 +3291,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr ""
@@ -3292,7 +3404,8 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr ""
@@ -3415,6 +3528,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 81d24c818..aefe48b85 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2020-06-16 18:24+0000\n"
"Last-Translator: Andreas Buchen <andreas.buchen@gmail.com>\n"
"Language: de_DE\n"
@@ -283,7 +283,7 @@ msgstr "Die Adresse muss %d Bytes lang sein"
msgid "Address type out of range"
msgstr "Adresstyp außerhalb des zulässigen Bereichs"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Alle I2C-Peripheriegeräte sind in Benutzung"
@@ -291,11 +291,11 @@ msgstr "Alle I2C-Peripheriegeräte sind in Benutzung"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Alle SPI-Peripheriegeräte sind in Benutzung"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "Alle UART-Peripheriegeräte sind in Benutzung"
@@ -317,6 +317,9 @@ msgstr "Alle timer für diesen Pin werden bereits benutzt"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -336,6 +339,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "AnalogIn ist an diesem Pin nicht unterstützt"
@@ -558,6 +565,7 @@ msgstr "Reset zum bootloader nicht möglich da bootloader nicht vorhanden."
msgid "Cannot set value when direction is input."
msgstr "Der Wert kann nicht gesetzt werden, wenn die Richtung input ist."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "RTS oder CTS können im RS485-Modus nicht angegeben werden"
@@ -654,14 +662,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Konnte UART nicht initialisieren"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Kanal konnte nicht initialisiert werden"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Timer konnte nicht initialisiert werden"
@@ -677,6 +686,10 @@ msgstr "Timer konnte nicht neu gestartet werden"
msgid "Could not restart PWM"
msgstr "PWM konnte nicht neu gestartet werden"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -767,6 +780,10 @@ msgstr "Drive mode wird nicht verwendet, wenn die Richtung input ist."
msgid "ECB only operates on 16 bytes at a time"
msgstr "Die EZB arbeitet jeweils nur mit 16 Bytes"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -825,6 +842,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr "FFT ist nur für ndarrays definiert"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Kommando nicht gesendet."
@@ -841,12 +862,21 @@ msgstr "Konnte keinen RX Buffer allozieren"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Konnte keine RX Buffer mit %d allozieren"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Verbindung fehlgeschlagen: interner Fehler"
@@ -855,6 +885,10 @@ msgstr "Verbindung fehlgeschlagen: interner Fehler"
msgid "Failed to connect: timeout"
msgstr "Verbindung nicht erfolgreich: timeout"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Parsen der MP3 Datei fehlgeschlagen"
@@ -954,7 +988,7 @@ msgstr "Inkorrekte Puffergröße"
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Eingabe-/Ausgabefehler"
@@ -1047,6 +1081,10 @@ msgstr "Ungültige Datei"
msgid "Invalid format chunk size"
msgstr "Ungültige format chunk size"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Ungültige Frequenz geliefert"
@@ -1084,6 +1122,8 @@ msgstr "Ungültiger Pin für rechten Kanal"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1190,14 +1230,10 @@ msgstr "Fehlender MISO- oder MOSI-Pin"
msgid "Must be a %q subclass."
msgstr "Muss eine %q Unterklasse sein."
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "Muss MISO- oder MOSI-Pin bereitstellen"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1221,21 +1257,25 @@ msgstr "Kein DAC im Chip vorhanden"
msgid "No DMA channel found"
msgstr "Kein DMA Kanal gefunden"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "Kein MISO Pin"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "Kein MOSI Pin"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Kein RX Pin"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1278,6 +1318,14 @@ msgstr "Es wurde kein Schlüssel angegeben"
msgid "No long integer support"
msgstr "Keine langen Integer (long) unterstützt"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "An diesem Pin sind keine Timer mehr verfügbar."
@@ -1343,6 +1391,14 @@ msgstr "Eine ungerade Parität wird nicht unterstützt"
msgid "Only 8 or 16 bit mono with "
msgstr "Nur 8 oder 16 bit mono mit "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1364,6 +1420,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "Oversample muss ein Vielfaches von 8 sein."
@@ -1378,6 +1438,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1426,6 +1487,12 @@ msgstr "und alle Module im Dateisystem \n"
msgid "Polygon needs at least 3 points"
msgstr "Polygone brauchen mindestens 3 Punkte"
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1457,12 +1524,13 @@ msgstr "RNG DeInit-Fehler"
msgid "RNG Init Error"
msgstr "RNG Init Fehler"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr "RS485-Inversion angegeben, wenn nicht im RS485-Modus"
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "Die RTC-Kalibrierung wird auf diesem Board nicht unterstützt"
@@ -1496,6 +1564,10 @@ msgstr "Schreibgeschützte Objekt"
msgid "Refresh too soon"
msgstr "Zu früh neu geladen"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr "Der angeforderte AES-Modus wird nicht unterstützt"
@@ -1516,7 +1588,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA oder SCL brauchen pull up"
@@ -1584,6 +1656,10 @@ msgstr "Slice und Wert (value) haben unterschiedliche Längen."
msgid "Slices not supported"
msgstr "Slices werden nicht unterstützt"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr "Quell- und Zielbuffer müssen gleich lang sein"
@@ -1628,6 +1704,10 @@ msgstr ""
"Das `Mikrocontroller` Modul wurde benutzt, um in den Sicherheitsmodus zu "
"starten. Drücke Reset um den Sicherheitsmodus zu verlassen.\n"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1760,6 +1840,10 @@ msgstr "Der UUID-Wert ist kein str-, int- oder Byte-Puffer"
msgid "Unable to allocate buffers for signed conversion"
msgstr "Konnte keine Buffer für Vorzeichenumwandlung allozieren"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1786,6 +1870,11 @@ msgstr "Schreiben in nvm nicht möglich."
msgid "Unexpected nrfx uuid type"
msgstr "Unerwarteter nrfx uuid-Typ"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1825,7 +1914,7 @@ msgstr ""
"Eingabeaufforderung auf dem anderen Gerät abgelehnt oder ignoriert."
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Baudrate wird nicht unterstützt"
@@ -2074,6 +2163,7 @@ msgid "byteorder is not a string"
msgstr "Byteorder ist kein String"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "bytes mit mehr als 8 bits werden nicht unterstützt"
@@ -2404,10 +2494,14 @@ msgstr "Fehler = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "Exceptions müssen von BaseException abgeleitet sein"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "erwarte ':' nach format specifier"
@@ -2602,7 +2696,7 @@ msgstr "padding ist inkorrekt"
msgid "index is out of bounds"
msgstr "Index ist außerhalb der Grenzen"
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index außerhalb der Reichweite"
@@ -3115,6 +3209,10 @@ msgstr "pixel_shader muss displayio.Palette oder displayio.ColorConverter sein"
msgid "polygon can only be registered in one parent"
msgstr "Polygon kann nur in einem übergeordneten Element registriert werden"
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "pop von einem leeren PulseIn"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3131,6 +3229,24 @@ msgstr "pow() drittes Argument darf nicht 0 sein"
msgid "pow() with 3 arguments requires integers"
msgstr "pow () mit 3 Argumenten erfordert Integer"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "Warteschlangenüberlauf"
@@ -3258,10 +3374,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr "start/end Indizes"
@@ -3376,7 +3488,8 @@ msgstr "Tupelindex außerhalb des Bereichs"
msgid "tuple/list has wrong length"
msgstr "tupel/list hat falsche Länge"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx und rx können nicht beide None sein"
@@ -3503,6 +3616,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr "Fenster muss <= Intervall sein"
@@ -3660,9 +3777,6 @@ msgstr ""
#~ msgid "object of type '%s' has no len()"
#~ msgstr "Objekt vom Typ '%s' hat keine len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "pop von einem leeren PulseIn"
-
#~ msgid "pop from an empty set"
#~ msgstr "pop von einer leeren Menge (set)"
diff --git a/locale/el.po b/locale/el.po
index 1f830deb4..c50c107d8 100644
--- a/locale/el.po
+++ b/locale/el.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -279,7 +279,7 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr ""
@@ -287,11 +287,11 @@ msgstr ""
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr ""
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr ""
@@ -313,6 +313,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -332,6 +335,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr ""
@@ -549,6 +556,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr ""
@@ -639,14 +647,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
@@ -662,6 +671,10 @@ msgstr ""
msgid "Could not restart PWM"
msgstr ""
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -752,6 +765,10 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -809,6 +826,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@@ -825,12 +846,21 @@ msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@@ -839,6 +869,10 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr ""
@@ -932,7 +966,7 @@ msgstr ""
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr ""
@@ -1025,6 +1059,10 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@@ -1062,6 +1100,8 @@ msgstr ""
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1166,14 +1206,10 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1197,21 +1233,25 @@ msgstr ""
msgid "No DMA channel found"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1254,6 +1294,14 @@ msgstr ""
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1317,6 +1365,14 @@ msgstr ""
msgid "Only 8 or 16 bit mono with "
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1334,6 +1390,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr ""
@@ -1348,6 +1408,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr ""
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1393,6 +1454,12 @@ msgstr ""
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1422,12 +1489,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr ""
@@ -1461,6 +1529,10 @@ msgstr ""
msgid "Refresh too soon"
msgstr ""
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr ""
@@ -1481,7 +1553,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr ""
@@ -1549,6 +1621,10 @@ msgstr ""
msgid "Slices not supported"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr ""
@@ -1589,6 +1665,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1711,6 +1791,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr ""
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1737,6 +1821,11 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1772,7 +1861,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr ""
@@ -2012,6 +2101,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr ""
@@ -2329,10 +2419,14 @@ msgstr ""
msgid "exceptions must derive from BaseException"
msgstr ""
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr ""
@@ -2526,7 +2620,7 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@@ -3029,6 +3123,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3045,6 +3143,24 @@ msgstr ""
msgid "pow() with 3 arguments requires integers"
msgstr ""
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr ""
@@ -3170,10 +3286,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr ""
@@ -3287,7 +3399,8 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr ""
@@ -3410,6 +3523,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
diff --git a/locale/es.po b/locale/es.po
index a1be03bfc..0d2b6743c 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
-"PO-Revision-Date: 2020-09-18 23:14+0000\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
+"PO-Revision-Date: 2020-10-01 21:24+0000\n"
"Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n"
"Language-Team: \n"
"Language: es\n"
@@ -101,7 +101,7 @@ msgstr "%q debe ser una tupla de longitud 2"
#: shared-bindings/canio/Match.c
msgid "%q out of range"
-msgstr ""
+msgstr "%q fuera de rango"
#: ports/atmel-samd/common-hal/microcontroller/Pin.c
msgid "%q pin invalid"
@@ -287,19 +287,19 @@ msgstr "La dirección debe ser %d bytes de largo"
msgid "Address type out of range"
msgstr "Tipo de dirección fuera de rango"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Todos los periféricos I2C están siendo usados"
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
-msgstr ""
+msgstr "Todos los FIFOs de RX en uso"
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Todos los periféricos SPI están siendo usados"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "Todos los periféricos UART están siendo usados"
@@ -323,6 +323,9 @@ msgstr "Todos los timers para este pin están siendo utilizados"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -335,13 +338,17 @@ msgstr "Ya se encuentra publicando."
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "Already have all-matches listener"
-msgstr ""
+msgstr "Ya se tiene un escucha todas-las-coincidencias"
#: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c
msgid "Already running"
msgstr "Ya está en ejecución"
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr "Ya se están buscando redes wifi"
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "El pin proporcionado no soporta AnalogIn"
@@ -565,6 +572,7 @@ msgstr "No se puede reiniciar a bootloader porque no hay bootloader presente."
msgid "Cannot set value when direction is input."
msgstr "No se puede asignar un valor cuando la dirección es input."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "No se puede especificar RTS o CTS en modo RS485"
@@ -659,14 +667,15 @@ msgid "Could not initialize SDCard"
msgstr "No se pudo inicializar SDCard"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "No se puede inicializar la UART"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "No se pudo inicializar el canal"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "No se pudo inicializar el temporizador"
@@ -682,6 +691,10 @@ msgstr "No se pudo reiniciar el temporizador"
msgid "Could not restart PWM"
msgstr "No se pudo reiniciar el PWM"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr "No puedo traer el reloj"
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "No se puede definir la dirección"
@@ -772,6 +785,10 @@ msgstr "Modo Drive no se usa cuando la dirección es input."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB solo opera sobre 16 bytes a la vez"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr "Fallo ESP-IDF al tomar la memoria"
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -829,6 +846,10 @@ msgstr "No se admiten anuncios extendidos con respuesta de escaneo."
msgid "FFT is defined for ndarrays only"
msgstr "FFT se define solo para ndarrays"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr "Fallo en saludo SSL"
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Fallo enviando comando."
@@ -845,12 +866,21 @@ msgstr "Ha fallado la asignación del buffer RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Falló la asignación del buffer RX de %d bytes"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr "Fallo al tomar memoria Wifi"
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr "Fallo al tomar memoria para búsqueda wifi"
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Error al conectar: error interno"
@@ -859,6 +889,10 @@ msgstr "Error al conectar: error interno"
msgid "Failed to connect: timeout"
msgstr "Error al conectar: tiempo de espera agotado"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr "Fallo al inicializar wifi"
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Error al analizar el archivo MP3"
@@ -878,7 +912,7 @@ msgstr "El archivo ya existe"
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "Filters too complex"
-msgstr ""
+msgstr "Filtros muy complejos"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Format not supported"
@@ -955,7 +989,7 @@ msgstr "Tamaño incorrecto del buffer"
msgid "Input taking too long"
msgstr "La entrada está durando mucho tiempo"
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "error Input/output"
@@ -1000,7 +1034,7 @@ msgstr "Archivo BMP inválido"
#: shared-bindings/wifi/Radio.c
msgid "Invalid BSSID"
-msgstr ""
+msgstr "BSSID inválido"
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
@@ -1048,6 +1082,10 @@ msgstr "Archivo inválido"
msgid "Invalid format chunk size"
msgstr "Formato de fragmento de formato no válido"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr "Frecuencia inválida"
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Frecuencia suministrada no válida"
@@ -1085,6 +1123,8 @@ msgstr "Pin inválido para canal derecho"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1167,7 +1207,7 @@ msgstr "Valor máximo de x cuando se refleja es %d"
#: shared-bindings/canio/Message.c
msgid "Messages limited to 8 bytes"
-msgstr ""
+msgstr "Mensajes limitados a 8 bytes"
#: supervisor/shared/safe_mode.c
msgid "MicroPython NLR jump failed. Likely memory corruption."
@@ -1189,14 +1229,10 @@ msgstr "Falta el pin MISO o MOSI"
msgid "Must be a %q subclass."
msgstr "Debe de ser una subclase de %q."
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "Debe proporcionar un pin MISO o MOSI"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr "Debes proveer un pin para SCK"
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1220,21 +1256,25 @@ msgstr "El chip no tiene DAC"
msgid "No DMA channel found"
msgstr "No se encontró el canal DMA"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "Sin pin MISO"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "Sin pin MOSI"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Sin pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1277,6 +1317,14 @@ msgstr "No se especificó ninguna llave"
msgid "No long integer support"
msgstr "No hay soporte de entero largo"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr "No hay más canales disponibles"
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr "No hay más temporizadores disponibles"
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "No hay más temporizadores disponibles en este pin."
@@ -1342,6 +1390,14 @@ msgstr "Paridad impar no soportada"
msgid "Only 8 or 16 bit mono with "
msgstr "Solo mono de 8 ó 16 bit con "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr "Solo hay capacidad para enchufes IPv4 SOCK_STREAM"
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr "Solo hay capacidad para direcciones IPv4"
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1363,6 +1419,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr "Solo se aceptan enteros crudos para ip"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr "Se acabaron los enchufes"
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "El sobremuestreo debe ser un múltiplo de 8."
@@ -1379,6 +1439,7 @@ msgstr ""
"La frecuencia de PWM no se puede escribir variable_frequency es False en la "
"construcción."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1426,6 +1487,14 @@ msgstr "Además de cualquier módulo en el sistema de archivos\n"
msgid "Polygon needs at least 3 points"
msgstr "El polígono necesita al menos 3 puntos"
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+"Port no acepta un carrier de PWM. Pase en cambio un pin, una frecuencia o un "
+"ciclo de actividad"
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1458,12 +1527,13 @@ msgstr "Error de desinicializado del RNG"
msgid "RNG Init Error"
msgstr "Error de inicialización de RNG"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr "Se especifica inversión de RS485 sin estar en modo RS485"
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "Calibración de RTC no es soportada en esta placa"
@@ -1497,6 +1567,10 @@ msgstr "Objeto de solo-lectura"
msgid "Refresh too soon"
msgstr "Actualizando demasiado pronto"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr "RemoteTransmissionRequests limitado a 8 bytes"
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr "El modo AES solicitado no es compatible"
@@ -1517,7 +1591,7 @@ msgstr "¡Corriendo en modo seguro! "
msgid "SD card CSD format not supported"
msgstr "Sin capacidad para formato CSD para tarjeta SD"
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA o SCL necesitan una pull up"
@@ -1585,6 +1659,10 @@ msgstr "Slice y value tienen tamaños diferentes."
msgid "Slices not supported"
msgstr "Rebanadas no soportadas"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr "SocketPool solo se puede usar con wifi.radio"
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr "Los búferes de fuente y destino deben ser del mismo tamaño"
@@ -1629,6 +1707,10 @@ msgstr ""
"El módulo de `microcontroller` fue utilizado para bootear en modo seguro. "
"Presione reset para salir del modo seguro.\n"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1761,6 +1843,10 @@ msgstr "UUID valor no es un str, int o byte buffer"
msgid "Unable to allocate buffers for signed conversion"
msgstr "No se pudieron asignar buffers para la conversión con signo"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr "No se puede crear bloqueo"
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1787,6 +1873,11 @@ msgstr "Imposible escribir en nvm."
msgid "Unexpected nrfx uuid type"
msgstr "Tipo de uuid nrfx inesperado"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr "Error no manejado de ESP TLS %d %d %x %d"
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr "Fallo desconocido"
@@ -1824,7 +1915,7 @@ msgstr ""
"dispositivo fue declinada o ignorada."
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Baudrate no soportado"
@@ -2073,6 +2164,7 @@ msgid "byteorder is not a string"
msgstr "byteorder no es una cadena"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "bytes > 8 bits no soportados"
@@ -2397,9 +2489,13 @@ msgstr "error = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "las excepciones deben derivar de BaseException"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
-msgstr ""
+msgstr "se espera '%q' pero se recibe '%q'"
+
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr "se espera '%q' o '%q' pero se recibe '%q'"
#: py/objstr.c
msgid "expected ':' after format specifier"
@@ -2594,7 +2690,7 @@ msgstr "relleno (padding) incorrecto"
msgid "index is out of bounds"
msgstr "el índice está fuera de límites"
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index fuera de rango"
@@ -3103,6 +3199,10 @@ msgstr "pixel_shader debe ser displayio.Palette o displayio.ColorConverter"
msgid "polygon can only be registered in one parent"
msgstr "el polígono solo se puede registrar en uno de los padres"
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "pop de un PulseIn vacío"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3119,6 +3219,24 @@ msgstr "el 3er argumento de pow() no puede ser 0"
msgid "pow() with 3 arguments requires integers"
msgstr "pow() con 3 argumentos requiere enteros"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr "presionando botón de arranque al inicio.\n"
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr "presionando ambos botones al inicio.\n"
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "desbordamiento de cola(queue)"
@@ -3246,10 +3364,6 @@ msgstr "sosfilt requiere argumentos iterables"
msgid "source palette too large"
msgstr "paleta fuente muy larga"
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr "índices inicio/final"
@@ -3364,7 +3478,8 @@ msgstr "tuple index fuera de rango"
msgid "tuple/list has wrong length"
msgstr "tupla/lista tiene una longitud incorrecta"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "Ambos tx y rx no pueden ser None"
@@ -3487,6 +3602,10 @@ msgstr "los vectores deben tener el mismo tamaño"
msgid "watchdog timeout must be greater than 0"
msgstr "el tiempo de espera del perro guardián debe ser mayor a 0"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr "la ventana debe ser <= intervalo"
@@ -3547,6 +3666,12 @@ msgstr "zi debe ser de tipo flotante"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi debe ser una forma (n_section,2)"
+#~ msgid "specify size or data, but not both"
+#~ msgstr "especifique o tamaño o datos, pero no ambos"
+
+#~ msgid "Must provide SCK pin"
+#~ msgstr "Debes proveer un pin para SCK"
+
#~ msgid ""
#~ "\n"
#~ "To exit, please reset the board without "
@@ -3645,9 +3770,6 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "el objeto de tipo '%s' no tiene len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "pop de un PulseIn vacío"
-
#~ msgid "pop from an empty set"
#~ msgstr "pop desde un set vacío"
diff --git a/locale/fil.po b/locale/fil.po
index a53dd4c6a..3ddec187c 100644
--- a/locale/fil.po
+++ b/locale/fil.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@@ -281,7 +281,7 @@ msgstr "ang palette ay dapat 32 bytes ang haba"
msgid "Address type out of range"
msgstr ""
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Lahat ng I2C peripherals ginagamit"
@@ -289,11 +289,11 @@ msgstr "Lahat ng I2C peripherals ginagamit"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Lahat ng SPI peripherals ay ginagamit"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#, fuzzy
msgid "All UART peripherals are in use"
msgstr "Lahat ng I2C peripherals ginagamit"
@@ -316,6 +316,9 @@ msgstr "Lahat ng timers para sa pin na ito ay ginagamit"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -335,6 +338,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr ""
@@ -556,6 +563,7 @@ msgstr "Hindi ma-reset sa bootloader dahil walang bootloader."
msgid "Cannot set value when direction is input."
msgstr "Hindi ma i-set ang value kapag ang direksyon ay input."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr ""
@@ -647,14 +655,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Hindi ma-initialize ang UART"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
@@ -670,6 +679,10 @@ msgstr ""
msgid "Could not restart PWM"
msgstr ""
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -763,6 +776,10 @@ msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input."
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -822,6 +839,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@@ -838,12 +859,21 @@ msgstr "Nabigong ilaan ang RX buffer"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Nabigong ilaan ang RX buffer ng %d bytes"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@@ -852,6 +882,10 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr ""
@@ -947,7 +981,7 @@ msgstr ""
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "May mali sa Input/Output"
@@ -1040,6 +1074,10 @@ msgstr "Mali ang file"
msgid "Invalid format chunk size"
msgstr "Mali ang format ng chunk size"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@@ -1077,6 +1115,8 @@ msgstr "Mali ang pin para sa kanang channel"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1181,14 +1221,10 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1212,21 +1248,25 @@ msgstr "Walang DAC sa chip"
msgid "No DMA channel found"
msgstr "Walang DMA channel na mahanap"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Walang RX pin"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1269,6 +1309,14 @@ msgstr ""
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1335,6 +1383,14 @@ msgstr "Odd na parity ay hindi supportado"
msgid "Only 8 or 16 bit mono with "
msgstr "Tanging 8 o 16 na bit mono na may "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1352,6 +1408,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "Oversample ay dapat multiple ng 8."
@@ -1367,6 +1427,7 @@ msgid ""
msgstr ""
"PWM frequency hindi writable kapag variable_frequency ay False sa pag buo."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1412,6 +1473,12 @@ msgstr "Kasama ang kung ano pang modules na sa filesystem\n"
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1443,12 +1510,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "RTC calibration ay hindi supportado ng board na ito"
@@ -1483,6 +1551,10 @@ msgstr "Basahin-lamang"
msgid "Refresh too soon"
msgstr ""
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr ""
@@ -1503,7 +1575,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "Kailangan ng pull up resistors ang SDA o SCL"
@@ -1571,6 +1643,10 @@ msgstr "Slice at value iba't ibang haba."
msgid "Slices not supported"
msgstr "Hindi suportado ang Slices"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr ""
@@ -1611,6 +1687,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1733,6 +1813,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr "Hindi ma-allocate ang buffers para sa naka-sign na conversion"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1760,6 +1844,11 @@ msgstr "Hindi ma i-sulat sa NVM."
msgid "Unexpected nrfx uuid type"
msgstr "hindi inaasahang indent"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1795,7 +1884,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Hindi supportadong baudrate"
@@ -2045,6 +2134,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "hindi sinusuportahan ang bytes > 8 bits"
@@ -2373,10 +2463,14 @@ msgstr ""
msgid "exceptions must derive from BaseException"
msgstr "ang mga exceptions ay dapat makuha mula sa BaseException"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "umaasa ng ':' pagkatapos ng format specifier"
@@ -2571,7 +2665,7 @@ msgstr "mali ang padding"
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index wala sa sakop"
@@ -3080,6 +3174,10 @@ msgstr "pixel_shader ay dapat displayio.Palette o displayio.ColorConverter"
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "pop mula sa walang laman na PulseIn"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3096,6 +3194,24 @@ msgstr "pow() 3rd argument ay hindi maaring 0"
msgid "pow() with 3 arguments requires integers"
msgstr "pow() na may 3 argumento kailangan ng integers"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "puno na ang pila (overflow)"
@@ -3223,10 +3339,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr "start/end indeks"
@@ -3342,7 +3454,8 @@ msgstr "indeks ng tuple wala sa sakop"
msgid "tuple/list has wrong length"
msgstr "mali ang haba ng tuple/list"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx at rx hindi pwedeng parehas na None"
@@ -3465,6 +3578,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
@@ -3593,9 +3710,6 @@ msgstr ""
#~ msgid "object of type '%s' has no len()"
#~ msgstr "object na type '%s' walang len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "pop mula sa walang laman na PulseIn"
-
#~ msgid "pop from an empty set"
#~ msgstr "pop sa walang laman na set"
diff --git a/locale/fr.po b/locale/fr.po
index 31881c873..38364d2cf 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2020-09-16 13:47+0000\n"
"Last-Translator: Hugo Dahl <hugo@code-jedi.com>\n"
"Language: fr\n"
@@ -288,7 +288,7 @@ msgstr "L'adresse doit être longue de %d octets"
msgid "Address type out of range"
msgstr "Type d'adresse hors plage"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Tous les périphériques I2C sont utilisés"
@@ -296,11 +296,11 @@ msgstr "Tous les périphériques I2C sont utilisés"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Tous les périphériques SPI sont utilisés"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "Tous les périphériques UART sont utilisés"
@@ -322,6 +322,9 @@ msgstr "Tous les timers pour cette broche sont utilisés"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -341,6 +344,10 @@ msgstr ""
msgid "Already running"
msgstr "Déjà en cours d'exécution"
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "'AnalogOut' n'est pas supporté sur la broche indiquée"
@@ -567,6 +574,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr "Impossible d'affecter une valeur quand la direction est 'input'."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "Impossible de spécifier RTS ou CTS en mode RS485"
@@ -663,14 +671,15 @@ msgid "Could not initialize SDCard"
msgstr "Impossible d'initialiser la carte SD"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "L'UART n'a pu être initialisé"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Impossible d'initialiser la chaîne"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Impossible d'initialiser la minuterie"
@@ -686,6 +695,10 @@ msgstr "Impossible de réinitialiser le minuteur"
msgid "Could not restart PWM"
msgstr "Impossible de redémarrer PWM"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -776,6 +789,10 @@ msgstr "Le mode Drive n'est pas utilisé quand la direction est 'input'."
msgid "ECB only operates on 16 bytes at a time"
msgstr "La BCE ne fonctionne que sur 16 octets à la fois"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -834,6 +851,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr "La FFT est définie pour les ndarrays uniquement"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Échec de l'envoi de la commande."
@@ -850,12 +871,21 @@ msgstr "Echec de l'allocation du tampon RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Echec de l'allocation de %d octets du tampon RX"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Impossible de se connecter : erreur interne"
@@ -864,6 +894,10 @@ msgstr "Impossible de se connecter : erreur interne"
msgid "Failed to connect: timeout"
msgstr "Impossible de se connecter : délai d'expiration"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Impossible d'analyser le fichier MP3"
@@ -960,7 +994,7 @@ msgstr "Taille de tampon incorrecte"
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Erreur d'entrée/sortie"
@@ -1053,6 +1087,10 @@ msgstr "Fichier invalide"
msgid "Invalid format chunk size"
msgstr "Taille de bloc de formatage invalide"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Fréquence invalide fournie"
@@ -1090,6 +1128,8 @@ msgstr "Broche invalide pour le canal droit"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1194,14 +1234,10 @@ msgstr "Broche MISO ou MOSI manquante"
msgid "Must be a %q subclass."
msgstr "Doit être une sous-classe de %q."
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "Doit fournir une broche MISO ou MOSI"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr "Vous devez fournir un code PIN SCK"
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1225,21 +1261,25 @@ msgstr "Pas de DAC sur la puce"
msgid "No DMA channel found"
msgstr "Aucun canal DMA trouvé"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "Pas de broche MISO"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "Pas de broche MOSI"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Pas de broche RX"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1282,6 +1322,14 @@ msgstr "Aucune clé n'a été spécifiée"
msgid "No long integer support"
msgstr "Pas de support entier long"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "Plus de minuteurs disponibles sur cette broche."
@@ -1347,6 +1395,14 @@ msgstr "Parité impaire non supportée"
msgid "Only 8 or 16 bit mono with "
msgstr "Uniquement 8 ou 16 bit mono avec "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1368,6 +1424,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "Le sur-échantillonage doit être un multiple de 8."
@@ -1386,6 +1446,7 @@ msgstr ""
"La fréquence de PWM n'est pas modifiable quand variable_frequency est False "
"à la construction."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1434,6 +1495,12 @@ msgstr "Ainsi que tout autre module présent sur le système de fichiers\n"
msgid "Polygon needs at least 3 points"
msgstr "Polygone a besoin d’au moins 3 points"
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1463,12 +1530,13 @@ msgstr "Erreur RNG DeInit"
msgid "RNG Init Error"
msgstr "Erreur d'initialisation RNG"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr "Inversion RS485 spécifiée lorsqu'elle n'est pas en mode RS485"
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "étalonnage de la RTC non supportée sur cette carte"
@@ -1502,6 +1570,10 @@ msgstr "Objet en lecture seule"
msgid "Refresh too soon"
msgstr "Rafraîchissez trop tôt"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr "Le mode AES demandé n'est pas pris en charge"
@@ -1522,7 +1594,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr "Le format de carte SD CSD n'est pas pris en charge"
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')"
@@ -1590,6 +1662,10 @@ msgstr "Tranche et valeur de tailles différentes."
msgid "Slices not supported"
msgstr "Tranches non supportées"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr "Les tampons source et de destination doivent être de la même longueur"
@@ -1634,6 +1710,10 @@ msgstr ""
"Le module `microcontrôleur` a été utilisé pour démarrer en mode sans échec. "
"Appuyez sur reset pour quitter le mode sans échec.\n"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1765,6 +1845,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr "Impossible d'allouer des tampons pour une conversion signée"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1791,6 +1875,11 @@ msgstr "Impossible d'écrire sur la mémoire non-volatile."
msgid "Unexpected nrfx uuid type"
msgstr "Type inattendu pour l'uuid nrfx"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1829,7 +1918,7 @@ msgstr ""
"appareil ait été refusée ou ignorée."
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Débit non supporté"
@@ -2079,6 +2168,7 @@ msgid "byteorder is not a string"
msgstr "byteorder n'est pas une chaîne"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "octets > 8 bits non supporté"
@@ -2410,10 +2500,14 @@ msgstr "erreur = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "les exceptions doivent dériver de 'BaseException'"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "':' attendu après la spécification de format"
@@ -2610,7 +2704,7 @@ msgstr "espacement incorrect"
msgid "index is out of bounds"
msgstr "l'index est hors limites"
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index hors gamme"
@@ -3123,6 +3217,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr "le polygone ne peut être enregistré que dans un parent"
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "'pop' d'une entrée PulseIn vide"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3139,6 +3237,24 @@ msgstr "le 3e argument de pow() ne peut être 0"
msgid "pow() with 3 arguments requires integers"
msgstr "pow() avec 3 arguments nécessite des entiers"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "dépassement de file"
@@ -3266,10 +3382,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr "indices de début/fin"
@@ -3384,7 +3496,8 @@ msgstr "index du tuple hors gamme"
msgid "tuple/list has wrong length"
msgstr "tuple/liste a une mauvaise longueur"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx et rx ne peuvent être 'None' tous les deux"
@@ -3507,6 +3620,10 @@ msgstr "les vecteurs doivent avoir la même longueur"
msgid "watchdog timeout must be greater than 0"
msgstr "watchdog timeout doit être supérieur à 0"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr "la fenêtre doit être <= intervalle"
@@ -3567,6 +3684,9 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)"
msgstr ""
+#~ msgid "Must provide SCK pin"
+#~ msgstr "Vous devez fournir un code PIN SCK"
+
#~ msgid ""
#~ "\n"
#~ "To exit, please reset the board without "
@@ -3664,9 +3784,6 @@ msgstr ""
#~ msgid "object of type '%s' has no len()"
#~ msgstr "l'objet de type '%s' n'a pas de len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "'pop' d'une entrée PulseIn vide"
-
#~ msgid "pop from an empty set"
#~ msgstr "'pop' d'un ensemble set vide"
diff --git a/locale/hi.po b/locale/hi.po
index c6fbe49fd..fdcb7dc3e 100644
--- a/locale/hi.po
+++ b/locale/hi.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -279,7 +279,7 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr ""
@@ -287,11 +287,11 @@ msgstr ""
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr ""
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr ""
@@ -313,6 +313,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -332,6 +335,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr ""
@@ -549,6 +556,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr ""
@@ -639,14 +647,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
@@ -662,6 +671,10 @@ msgstr ""
msgid "Could not restart PWM"
msgstr ""
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -752,6 +765,10 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -809,6 +826,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@@ -825,12 +846,21 @@ msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@@ -839,6 +869,10 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr ""
@@ -932,7 +966,7 @@ msgstr ""
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr ""
@@ -1025,6 +1059,10 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@@ -1062,6 +1100,8 @@ msgstr ""
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1166,14 +1206,10 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1197,21 +1233,25 @@ msgstr ""
msgid "No DMA channel found"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1254,6 +1294,14 @@ msgstr ""
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1317,6 +1365,14 @@ msgstr ""
msgid "Only 8 or 16 bit mono with "
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1334,6 +1390,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr ""
@@ -1348,6 +1408,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr ""
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1393,6 +1454,12 @@ msgstr ""
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1422,12 +1489,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr ""
@@ -1461,6 +1529,10 @@ msgstr ""
msgid "Refresh too soon"
msgstr ""
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr ""
@@ -1481,7 +1553,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr ""
@@ -1549,6 +1621,10 @@ msgstr ""
msgid "Slices not supported"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr ""
@@ -1589,6 +1665,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1711,6 +1791,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr ""
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1737,6 +1821,11 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1772,7 +1861,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr ""
@@ -2012,6 +2101,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr ""
@@ -2329,10 +2419,14 @@ msgstr ""
msgid "exceptions must derive from BaseException"
msgstr ""
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr ""
@@ -2526,7 +2620,7 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@@ -3029,6 +3123,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3045,6 +3143,24 @@ msgstr ""
msgid "pow() with 3 arguments requires integers"
msgstr ""
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr ""
@@ -3170,10 +3286,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr ""
@@ -3287,7 +3399,8 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr ""
@@ -3410,6 +3523,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 94c7f1f84..b94f73acc 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@@ -280,7 +280,7 @@ msgstr "la palette deve essere lunga 32 byte"
msgid "Address type out of range"
msgstr ""
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Tutte le periferiche I2C sono in uso"
@@ -288,11 +288,11 @@ msgstr "Tutte le periferiche I2C sono in uso"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Tutte le periferiche SPI sono in uso"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#, fuzzy
msgid "All UART peripherals are in use"
msgstr "Tutte le periferiche I2C sono in uso"
@@ -315,6 +315,9 @@ msgstr "Tutti i timer per questo pin sono in uso"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -334,6 +337,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr ""
@@ -557,6 +564,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr "non si può impostare un valore quando direzione è input"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr ""
@@ -648,14 +656,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Impossibile inizializzare l'UART"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
@@ -671,6 +680,10 @@ msgstr ""
msgid "Could not restart PWM"
msgstr ""
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -763,6 +776,10 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -822,6 +839,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@@ -838,12 +859,21 @@ msgstr "Impossibile allocare buffer RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Fallita allocazione del buffer RX di %d byte"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@@ -852,6 +882,10 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr ""
@@ -947,7 +981,7 @@ msgstr ""
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Errore input/output"
@@ -1042,6 +1076,10 @@ msgstr "File non valido"
msgid "Invalid format chunk size"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@@ -1079,6 +1117,8 @@ msgstr "Pin non valido per il canale destro"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1185,14 +1225,10 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1216,21 +1252,25 @@ msgstr "Nessun DAC sul chip"
msgid "No DMA channel found"
msgstr "Nessun canale DMA trovato"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Nessun pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1273,6 +1313,14 @@ msgstr ""
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1340,6 +1388,14 @@ msgstr "operazione I2C non supportata"
msgid "Only 8 or 16 bit mono with "
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1357,6 +1413,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "L'oversampling deve essere multiplo di 8."
@@ -1376,6 +1436,7 @@ msgstr ""
"frequenza PWM frequency non è scrivibile quando variable_frequency è "
"impostato nel costruttore a False."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1422,6 +1483,12 @@ msgstr "Imposssibile rimontare il filesystem"
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1452,12 +1519,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "calibrazione RTC non supportata su questa scheda"
@@ -1492,6 +1560,10 @@ msgstr "Sola lettura"
msgid "Refresh too soon"
msgstr ""
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr ""
@@ -1512,7 +1584,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA o SCL necessitano un pull-up"
@@ -1582,6 +1654,10 @@ msgstr ""
msgid "Slices not supported"
msgstr "Slice non supportate"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr ""
@@ -1622,6 +1698,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1744,6 +1824,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr "Ipossibilitato ad allocare buffer per la conversione con segno"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1771,6 +1855,11 @@ msgstr "Imposibile scrivere su nvm."
msgid "Unexpected nrfx uuid type"
msgstr "indentazione inaspettata"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1806,7 +1895,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "baudrate non supportato"
@@ -2050,6 +2139,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "byte > 8 bit non supportati"
@@ -2374,10 +2464,14 @@ msgstr "errore = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "le eccezioni devono derivare da BaseException"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "':' atteso dopo lo specificatore di formato"
@@ -2572,7 +2666,7 @@ msgstr "padding incorretto"
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "indice fuori intervallo"
@@ -3087,6 +3181,10 @@ msgstr "pixel_shader deve essere displayio.Palette o displayio.ColorConverter"
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "pop sun un PulseIn vuoto"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3103,6 +3201,24 @@ msgstr "il terzo argomento di pow() non può essere 0"
msgid "pow() with 3 arguments requires integers"
msgstr "pow() con 3 argomenti richiede interi"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "overflow della coda"
@@ -3230,10 +3346,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr ""
@@ -3349,7 +3461,8 @@ msgstr "indice della tupla fuori intervallo"
msgid "tuple/list has wrong length"
msgstr "tupla/lista ha la lunghezza sbagliata"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx e rx non possono essere entrambi None"
@@ -3472,6 +3585,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
@@ -3601,9 +3718,6 @@ msgstr ""
#~ msgid "object of type '%s' has no len()"
#~ msgstr "l'oggetto di tipo '%s' non implementa len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "pop sun un PulseIn vuoto"
-
#~ msgid "pop from an empty set"
#~ msgstr "pop da un set vuoto"
diff --git a/locale/ja.po b/locale/ja.po
index 6bc29b069..e8ca0f808 100644
--- a/locale/ja.po
+++ b/locale/ja.po
@@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
-"PO-Revision-Date: 2020-09-01 18:44+0000\n"
-"Last-Translator: Jeff Epler <jepler@gmail.com>\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
+"PO-Revision-Date: 2020-09-25 18:20+0000\n"
+"Last-Translator: Taku Fukada <naninunenor@gmail.com>\n"
"Language-Team: none\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 4.2.1-dev\n"
+"X-Generator: Weblate 4.3-dev\n"
#: main.c
msgid ""
@@ -60,7 +60,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
msgid "%q failure: %d"
-msgstr ""
+msgstr "%q 失敗: %d"
#: shared-bindings/microcontroller/Pin.c
msgid "%q in use"
@@ -76,11 +76,11 @@ msgstr "%q インデックスã¯ç¯„囲外"
#: py/obj.c
msgid "%q indices must be integers, not %q"
-msgstr "%qインデクスã¯ã€%qã§ãªãæ•´æ•°ãŒå¿…è¦"
+msgstr "%q インデクス㯠%q ã§ãªãæ•´æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list"
-msgstr "%q ã®ãƒªã‚¹ãƒˆã¯ãƒªã‚¹ãƒˆåž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
+msgstr "%q リストã¯ãƒªã‚¹ãƒˆã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/memorymonitor/AllocationAlarm.c
msgid "%q must be >= 0"
@@ -100,7 +100,7 @@ msgstr "%qã¯é•·ã•2ã®ã‚¿ãƒ—ルã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/canio/Match.c
msgid "%q out of range"
-msgstr ""
+msgstr "%q ãŒç¯„囲外"
#: ports/atmel-samd/common-hal/microcontroller/Pin.c
msgid "%q pin invalid"
@@ -108,16 +108,15 @@ msgstr "%q ピンã¯ç„¡åй"
#: shared-bindings/fontio/BuiltinFont.c
msgid "%q should be an int"
-msgstr "%qã¯intåž‹ãŒå¿…è¦"
+msgstr "%qã¯intåž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/bc.c py/objnamedtuple.c
-#, fuzzy
msgid "%q() takes %d positional arguments but %d were given"
-msgstr "%q()ã¯%d個ã®ä½ç½®å¼•æ•°ã‚’å—ã‘å–りã¾ã™ãŒã€%d個ã—ã‹ä¸Žãˆã‚‰ã‚Œã¦ã„ã¾ã›ã‚“"
+msgstr "%q() 㯠%d 個ã®ä½ç½®å¼•æ•°ã‚’å–りã¾ã™ãŒã€%d 個与ãˆã‚‰ã‚Œã¾ã—ãŸ"
#: py/argcheck.c
msgid "'%q' argument required"
-msgstr "引数 '%q' ãŒå¿…è¦"
+msgstr "'%q' 引数ãŒå¿…è¦"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
@@ -125,15 +124,15 @@ msgstr "オブジェクト'%q'ã«å±žæ€§'%q'を割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“"
#: py/proto.c
msgid "'%q' object does not support '%q'"
-msgstr "オブジェクト'%q'ã¯'%q'をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "'%q' オブジェクト㯠'%q' ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/obj.c
msgid "'%q' object does not support item assignment"
-msgstr "オブジェクト'%q'ã¯è¦ç´ ã®ä»£å…¥ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "'%q' オブジェクトã¯è¦ç´ ã®ä»£å…¥ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/obj.c
msgid "'%q' object does not support item deletion"
-msgstr "オブジェクト'%q'ã¯è¦ç´ ã®å‰Šé™¤ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "'%q' オブジェクトã¯è¦ç´ ã®å‰Šé™¤ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
@@ -158,7 +157,7 @@ msgstr "オブジェクト'%q'ã¯è¦ç´ ã®å–å¾—ãŒã§ãã¾ã›ã‚“"
#: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format
msgid "'%s' expects a label"
-msgstr ""
+msgstr "'%s' ã«ã¯ãƒ©ãƒ™ãƒ«ãŒå¿…è¦"
#: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format
@@ -259,7 +258,7 @@ msgstr "関数外ã§ã®yield"
#: py/compile.c
msgid "*x must be assignment target"
-msgstr ""
+msgstr "*xã¯ä»£å…¥å…ˆã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/obj.c
msgid ", in %q\n"
@@ -267,11 +266,11 @@ msgstr ""
#: py/objcomplex.c
msgid "0.0 to a complex power"
-msgstr ""
+msgstr "0.0を複素数ã§ã¹ãä¹—"
#: py/modbuiltins.c
msgid "3-arg pow() not supported"
-msgstr "引数3ã¤ã®pow()ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "引数3ã¤ã®pow()ã¯éžå¯¾å¿œ"
#: ports/atmel-samd/common-hal/countio/Counter.c
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
@@ -285,21 +284,21 @@ msgstr "アドレスã¯ã€%dãƒã‚¤ãƒˆé•·ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/_bleio/Address.c
msgid "Address type out of range"
-msgstr ""
+msgstr "address_typeãŒç¯„囲外"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "å…¨ã¦ã®I2C周辺機器ãŒä½¿ç”¨ä¸­"
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
-msgstr ""
+msgstr "å…¨ã¦ã®RX FIFOãŒä½¿ç”¨ä¸­"
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "å…¨ã¦ã®SPI周辺機器ãŒä½¿ç”¨ä¸­"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "å…¨ã¦ã®UART周辺機器ãŒä½¿ç”¨ä¸­"
@@ -321,6 +320,9 @@ msgstr "ã“ã®ãƒ”ン用ã®å…¨ã¦ã®ã‚¿ã‚¤ãƒžãŒä½¿ç”¨ä¸­"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -340,6 +342,10 @@ msgstr ""
msgid "Already running"
msgstr "ã™ã§ã«å®Ÿè¡Œä¸­"
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "指定ã®ãƒ”ンã¯AnalogInã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
@@ -348,15 +354,15 @@ msgstr "指定ã®ãƒ”ンã¯AnalogInã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
#: ports/nrf/common-hal/analogio/AnalogOut.c
msgid "AnalogOut functionality not supported"
-msgstr "AnalogOut機能ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "AnalogOut機能ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: shared-bindings/analogio/AnalogOut.c
msgid "AnalogOut is only 16 bits. Value must be less than 65536."
-msgstr "AnalogOutã¯16ビットã§ã™ã€‚値ã¯65536以下ã«ã—ã¦ãã ã•ã„"
+msgstr "AnalogOutã¯16ビットã§ã™ã€‚値ã¯65536以下ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
msgid "AnalogOut not supported on given pin"
-msgstr "指定ã®ãƒ”ンã¯AnalogOutをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "指定ã®ãƒ”ンã¯AnalogOutã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
@@ -382,11 +388,11 @@ msgstr "%d個ã®ãƒ–ロックã®ç¢ºä¿ã‚’試ã¿ã¾ã—ãŸ"
#: supervisor/shared/safe_mode.c
msgid "Attempted heap allocation when MicroPython VM not running."
-msgstr "MicroPython VM éžå®Ÿè¡Œæ™‚ã«ãƒ’ープã®ç¢ºä¿ã‚’試ã¿ã¾ã—ãŸ"
+msgstr "MicroPython VMã®éžå®Ÿè¡Œæ™‚ã«ãƒ’ープ確ä¿ã‚’試ã¿ã¾ã—ãŸ"
#: shared-bindings/wifi/Radio.c
msgid "Authentication failure"
-msgstr ""
+msgstr "èªè¨¼å¤±æ•—"
#: main.c
msgid "Auto-reload is off.\n"
@@ -407,7 +413,7 @@ msgstr "最低ã®ãƒ•レームレート未満"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Bit clock and word select must share a clock unit"
-msgstr ""
+msgstr "bit clockã¨word selectã¯ã‚¯ãƒ­ãƒƒã‚¯ãƒ¦ãƒ‹ãƒƒãƒˆã‚’共有ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/audiobusio/PDMIn.c
msgid "Bit depth must be multiple of 8."
@@ -439,17 +445,17 @@ msgstr "Brightnessã¯èª¿æ•´å¯èƒ½ã§ã¯ã‚りã¾ã›ã‚“"
#: shared-bindings/_bleio/UUID.c
#, c-format
msgid "Buffer + offset too small %d %d %d"
-msgstr ""
+msgstr "buffer + offsetãŒå°ã•ã™ãŽã¾ã™ %d %d %d"
#: shared-module/usb_hid/Device.c
#, c-format
msgid "Buffer incorrect size. Should be %d bytes."
-msgstr "ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚ºãŒæ­£ã—ãã‚りã¾ã›ã‚“。%dãƒã‚¤ãƒˆã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
+msgstr "ãƒãƒƒãƒ•ァサイズãŒä¸æ­£ã§ã™ã€‚%dãƒã‚¤ãƒˆã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/displayio/Display.c
#: shared-bindings/framebufferio/FramebufferDisplay.c
msgid "Buffer is not a bytearray."
-msgstr "ãƒãƒƒãƒ•ァ㌠bytearray ã§ã¯ã‚りã¾ã›ã‚“"
+msgstr "ãƒãƒƒãƒ•ã‚¡ãŒbytearrayã§ã¯ã‚りã¾ã›ã‚“"
#: ports/cxd56/common-hal/camera/Camera.c shared-bindings/displayio/Display.c
#: shared-bindings/framebufferio/FramebufferDisplay.c
@@ -468,7 +474,7 @@ msgstr "ãƒãƒƒãƒ•ã‚¡é•·ã¯512ã®å€æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
-msgstr ""
+msgstr "ãƒãƒƒãƒ•ã‚¡ã¯512ã®å€æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1"
@@ -481,7 +487,7 @@ msgstr "ãƒãƒƒãƒ•ã‚¡ãŒå¤§ãã™ãŽã¦ç¢ºä¿ã§ãã¾ã›ã‚“"
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
-msgstr ""
+msgstr "ãƒãƒƒãƒ•ァ㌠%d ãƒã‚¤ãƒˆè¶³ã‚Šã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
@@ -491,7 +497,7 @@ msgstr "Busピン%dã¯ã™ã§ã«ä½¿ç”¨ä¸­"
#: shared-bindings/_bleio/UUID.c
msgid "Byte buffer must be 16 bytes."
-msgstr "ãƒãƒƒãƒ•ã‚¡ã¯16ãƒã‚¤ãƒˆã«ã—ã¦ãã ã•ã„"
+msgstr "ãƒãƒƒãƒ•ã‚¡ã¯16ãƒã‚¤ãƒˆã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/nvm/ByteArray.c
msgid "Bytes must be between 0 and 255."
@@ -513,7 +519,7 @@ msgstr "ローカルã®Characteristicã«ã¯CCCDを設定ã§ãã¾ã›ã‚“"
#: shared-bindings/_bleio/Adapter.c
msgid "Cannot create a new Adapter; use _bleio.adapter;"
-msgstr ""
+msgstr "Adapterã¯ä½œæˆã§ãã¾ã›ã‚“。_bleio.adapterを使用ã—ã¦ãã ã•ã„。"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/memorymonitor/AllocationSize.c
@@ -555,12 +561,13 @@ msgstr "USBãŒã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã®æ™‚ã«'/'ã‚’å†ãƒžã‚¦ãƒ³ãƒˆã§ãã¾ã›ã‚“"
#: ports/cxd56/common-hal/microcontroller/__init__.c
#: ports/mimxrt10xx/common-hal/microcontroller/__init__.c
msgid "Cannot reset into bootloader because no bootloader is present."
-msgstr "ブートローダãŒå­˜åœ¨ã—ãªã„ãŸã‚ã€ãƒ–ートローダã¸ã¨ãƒªã‚»ãƒƒãƒˆã§ãã¾ã›ã‚“"
+msgstr "ブートローダãŒå­˜åœ¨ã—ãªã„ãŸã‚ブートローダã¸ã¨ãƒªã‚»ãƒƒãƒˆã§ãã¾ã›ã‚“"
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Cannot set value when direction is input."
-msgstr "æ–¹å‘ãŒINPUTã®ã¨ãã¯å€¤ã‚’設定ã§ãã¾ã›ã‚“"
+msgstr "æ–¹å‘ãŒinputã®ã¨ãã¯å€¤ã‚’設定ã§ãã¾ã›ã‚“"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "RS485モードã«RTSã¾ãŸã¯CTSを指定ã§ãã¾ã›ã‚“"
@@ -603,15 +610,15 @@ msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
-msgstr ""
+msgstr "CircuitPythonã¯ãƒ’ープを確ä¿ã§ãã¾ã›ã‚“ã§ã—ãŸ\n"
#: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed."
-msgstr "クロックピンã®åˆæœŸåŒ–ã«å¤±æ•—"
+msgstr "ã‚¯ãƒ­ãƒƒã‚¯ãƒ”ãƒ³åˆæœŸåŒ–ã«å¤±æ•—"
#: shared-module/bitbangio/I2C.c
msgid "Clock stretch too long"
-msgstr ""
+msgstr "クロックã®ã‚¹ãƒˆãƒ¬ãƒƒãƒãŒé•·ã™ãŽ"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Clock unit in use"
@@ -630,7 +637,7 @@ msgstr "commandã¯0ã‹ã‚‰255ã®é–“ã®æ•´æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
msgid ""
"Connection has been disconnected and can no longer be used. Create a new "
"connection."
-msgstr "接続ã¯åˆ‡æ–­æ¸ˆã¿ã®ãŸã‚ã‚‚ã†ä½¿ãˆã¾ã›ã‚“。新ãŸãªæŽ¥ç¶šã‚’作æˆã—ã¦ãã ã•ã„"
+msgstr "接続ã¯åˆ‡æ–­æ¸ˆã¿ã§ã‚‚ã†ä½¿ãˆã¾ã›ã‚“。新ã—ã„æŽ¥ç¶šã‚’ä½œæˆã—ã¦ãã ã•ã„"
#: py/persistentcode.c
msgid "Corrupt .mpy file"
@@ -642,7 +649,7 @@ msgstr "ç ´æã—ãŸraw code"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Could not initialize Camera"
-msgstr ""
+msgstr "ã‚«ãƒ¡ãƒ©ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“"
#: ports/cxd56/common-hal/gnss/GNSS.c
msgid "Could not initialize GNSS"
@@ -653,14 +660,15 @@ msgid "Could not initialize SDCard"
msgstr "SDã‚«ãƒ¼ãƒ‰ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "UARTã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "ãƒãƒ£ãƒãƒ«ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "ã‚¿ã‚¤ãƒžãƒ¼ã‚’åˆæœŸåŒ–ã§ãã¾ã›ã‚“"
@@ -676,6 +684,10 @@ msgstr "タイマーをå†åˆæœŸåŒ–ã§ãã¾ã›ã‚“"
msgid "Could not restart PWM"
msgstr "PWMã‚’å†ã‚¹ã‚¿ãƒ¼ãƒˆã§ãã¾ã›ã‚“"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "アドレスをセットã§ãã¾ã›ã‚“"
@@ -737,7 +749,7 @@ msgstr "データãŒã€ã‚¢ãƒ‰ãƒã‚¿ã‚¤ã‚ºãƒ¡ãƒ³ãƒˆãƒ‘ケットã«ã¯å¤§ãã™ãŽ
#: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length."
-msgstr ""
+msgstr "宛先ãƒãƒƒãƒ•ã‚¡ãŒdestination_lengthよりå°ã•ã„"
#: ports/nrf/common-hal/audiobusio/I2SOut.c
msgid "Device in use"
@@ -745,12 +757,12 @@ msgstr "デãƒã‚¤ã‚¹ä½¿ç”¨ä¸­"
#: ports/cxd56/common-hal/digitalio/DigitalInOut.c
msgid "DigitalInOut not supported on given pin"
-msgstr "指定ã•れãŸãƒ”ンã¯DigitalInOutをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "指定ã•れãŸãƒ”ンã¯DigitalInOutã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: shared-bindings/displayio/Display.c
#: shared-bindings/framebufferio/FramebufferDisplay.c
msgid "Display must have a 16 bit colorspace."
-msgstr "ディスプレイã«ã¯16ビット色空間ãŒå¿…è¦"
+msgstr "ディスプレイã¯16ビット色空間をæŒãŸãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/displayio/Display.c
#: shared-bindings/displayio/EPaperDisplay.c
@@ -760,12 +772,16 @@ msgstr "ディスプレイã®å›žè»¢ã¯90度ã®å€æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Drive mode not used when direction is input."
-msgstr "æ–¹å‘ãŒINPUTã®ã¨ãドライブモードã¯ä½¿ã‚れã¾ã›ã‚“"
+msgstr "æ–¹å‘ãŒinputã®ã¨ãドライブモードã¯ä½¿ã‚れã¾ã›ã‚“"
#: shared-bindings/aesio/aes.c
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECBã¯ä¸€åº¦ã«16ãƒã‚¤ãƒˆã®æ¼”ç®—ã®ã¿ã‚’行ã„ã¾ã™"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -823,9 +839,13 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr "FFTã¯ndarrayã§ã®ã¿ä½¿ãˆã¾ã™"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
-msgstr "コマンドã®é€ä¿¡ã«å¤±æ•—"
+msgstr "コマンドé€ä¿¡ã«å¤±æ•—"
#: ports/nrf/sd_mutex.c
#, c-format
@@ -839,12 +859,21 @@ msgstr "RXãƒãƒƒãƒ•ã‚¡ã®ç¢ºä¿ã«å¤±æ•—"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "%dãƒã‚¤ãƒˆã®RXãƒãƒƒãƒ•ã‚¡ã®ç¢ºä¿ã«å¤±æ•—"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "接続失敗: 内部エラー"
@@ -853,6 +882,10 @@ msgstr "接続失敗: 内部エラー"
msgid "Failed to connect: timeout"
msgstr "接続失敗: タイムアウト"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "MP3ファイルã®ãƒ‘ーズã«å¤±æ•—"
@@ -864,7 +897,7 @@ msgstr "ミューテックスã®é–‹æ”¾ã«å¤±æ•—。エラー 0x%04x"
#: supervisor/shared/safe_mode.c
msgid "Failed to write internal flash."
-msgstr "å†…éƒ¨ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—"
+msgstr "内部フラッシュ書ãè¾¼ã¿ã«å¤±æ•—"
#: py/moduerrno.c
msgid "File exists"
@@ -876,7 +909,7 @@ msgstr ""
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Format not supported"
-msgstr ""
+msgstr "éžå¯¾å¿œã®å½¢å¼"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
@@ -937,8 +970,8 @@ msgid ""
"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/"
"mpy-update for more info."
msgstr ""
-"éžäº’æ›ã®.mpyファイルã§ã™ã€‚å…¨ã¦ã®.mpyファイルを更新ã—ã¦ãã ã•ã„。詳細㯠"
-"http://adafru.it/mpy-update ã‚’å‚ç…§"
+"éžäº’æ›ã®.mpyファイル。全.mpyファイルを更新ã—ã¦ãã ã•ã„。詳細㯠http://adafru."
+"it/mpy-update ã‚’å‚ç…§"
#: shared-bindings/_pew/PewPew.c
msgid "Incorrect buffer size"
@@ -948,7 +981,7 @@ msgstr "ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚ºãŒæ­£ã—ãã‚りã¾ã›ã‚“"
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "入力/出力エラー"
@@ -1031,7 +1064,7 @@ msgstr "䏿­£ãªãƒãƒ£ãƒ³ãƒãƒ«æ•°"
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Invalid direction."
-msgstr "䏿­£ãªå…¥å‡ºåŠ›æ–¹å‘"
+msgstr "䏿­£ãªæ–¹å‘"
#: shared-module/audiocore/WaveFile.c
msgid "Invalid file"
@@ -1041,6 +1074,10 @@ msgstr "䏿­£ãªãƒ•ァイル"
msgid "Invalid format chunk size"
msgstr "フォーマットãƒãƒ£ãƒ³ã‚¯ã®ã‚µã‚¤ã‚ºãŒä¸æ­£"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "䏿­£ãªå‘¨æ³¢æ•°ãŒä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
@@ -1078,6 +1115,8 @@ msgstr "å³ãƒãƒ£ãƒãƒ«ã®ãƒ”ンãŒä¸æ­£"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1099,7 +1138,7 @@ msgstr "䏿­£ãªãƒ—ロパティ"
#: shared-bindings/microcontroller/__init__.c
msgid "Invalid run mode."
-msgstr "䏿­£ãªRun Mode"
+msgstr "䏿­£ãªrun mode"
#: shared-module/_bleio/Attribute.c
msgid "Invalid security_mode"
@@ -1131,11 +1170,11 @@ msgstr "キーワード引数ã®å·¦è¾ºã«ã¯è­˜åˆ¥å­ãŒå¿…è¦"
#: shared-module/displayio/Group.c
msgid "Layer already in a group."
-msgstr "レイヤーã¯ã™ã§ã«ã‚°ãƒ«ãƒ¼ãƒ—ã«å«ã¾ã‚Œã¦ã„ã¾ã™"
+msgstr "レイヤã¯ã™ã§ã«ã‚°ãƒ«ãƒ¼ãƒ—ã«å«ã¾ã‚Œã¦ã„ã¾ã™"
#: shared-module/displayio/Group.c
msgid "Layer must be a Group or TileGrid subclass."
-msgstr "レイヤーã¯Groupã‹TileGridã®ã‚µãƒ–クラスã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
+msgstr "レイヤã¯Groupã‹TileGridã®ã‚µãƒ–クラスã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/objslice.c
msgid "Length must be an int"
@@ -1147,11 +1186,11 @@ msgstr "Lengthã¯éžè² æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-module/bitbangio/SPI.c
msgid "MISO pin init failed."
-msgstr "MISOピンã®åˆæœŸåŒ–ã«å¤±æ•—"
+msgstr "MISOãƒ”ãƒ³åˆæœŸåŒ–ã«å¤±æ•—"
#: shared-module/bitbangio/SPI.c
msgid "MOSI pin init failed."
-msgstr "MOSIピンã®åˆæœŸåŒ–ã«å¤±æ•—"
+msgstr "MOSIãƒ”ãƒ³åˆæœŸåŒ–ã«å¤±æ•—"
#: shared-module/displayio/Shape.c
#, c-format
@@ -1164,11 +1203,11 @@ msgstr ""
#: supervisor/shared/safe_mode.c
msgid "MicroPython NLR jump failed. Likely memory corruption."
-msgstr "MicroPythonã®NLRジャンプã«å¤±æ•—。メモリ破壊ã®å¯èƒ½æ€§ã‚り"
+msgstr "MicroPython NLRジャンプ失敗。メモリ破壊ã®å¯èƒ½æ€§ã‚り"
#: supervisor/shared/safe_mode.c
msgid "MicroPython fatal error."
-msgstr "MicroPythonã®è‡´å‘½çš„エラー"
+msgstr "MicroPython致命的エラー"
#: shared-bindings/audiobusio/PDMIn.c
msgid "Microphone startup delay must be in range 0.0 to 1.0"
@@ -1182,14 +1221,10 @@ msgstr "MISOã¾ãŸã¯MOSIピンãŒã‚りã¾ã›ã‚“"
msgid "Must be a %q subclass."
msgstr "%q ã®ã‚µãƒ–クラスã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "MISOピンã¾ãŸã¯MOSIピンãŒå¿…è¦"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr "SCKピンãŒå¿…è¦"
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1213,21 +1248,25 @@ msgstr "ãƒãƒƒãƒ—ã«DACãŒã‚りã¾ã›ã‚“"
msgid "No DMA channel found"
msgstr "DMAãƒãƒ£ãƒãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "MISOピンãªã—"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "MOSIピンãŒã‚りã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "RXピンãŒã‚りã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1255,12 +1294,12 @@ msgstr "利用å¯èƒ½ãªãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ä¹±æ•°ãªã—"
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
msgid "No hardware support on clk pin"
-msgstr "clkピン上ã«ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚µãƒãƒ¼ãƒˆãŒã‚りã¾ã›ã‚“"
+msgstr "clkピンã«ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢å¯¾å¿œãŒã‚りã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin"
-msgstr "ピン上ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚µãƒãƒ¼ãƒˆãŒã‚りã¾ã›ã‚“"
+msgstr "ピンã«ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢å¯¾å¿œãŒã‚りã¾ã›ã‚“"
#: shared-bindings/aesio/aes.c
msgid "No key was specified"
@@ -1268,11 +1307,19 @@ msgstr "ã‚­ãƒ¼ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“"
#: shared-bindings/time/__init__.c
msgid "No long integer support"
-msgstr "long integerサãƒãƒ¼ãƒˆãŒã‚りã¾ã›ã‚“"
+msgstr "long integerã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
-msgstr "ã“ã®ãƒ”ンã«åˆ©ç”¨å¯èƒ½ãªã‚¿ã‚¤ãƒžãƒ¼ãŒã‚‚ã†ã‚りã¾ã›ã‚“"
+msgstr "ã“ã®ãƒ”ンã«ã¯ä½¿ãˆã‚‹ã‚¿ã‚¤ãƒžãƒ¼ãŒã‚‚ã†ã‚りã¾ã›ã‚“"
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
@@ -1300,7 +1347,7 @@ msgstr ""
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
msgid "Not a valid IP string"
-msgstr ""
+msgstr "䏿­£ãªIP文字列ã§ã™"
#: ports/nrf/common-hal/_bleio/__init__.c
#: shared-bindings/_bleio/CharacteristicBuffer.c
@@ -1324,16 +1371,24 @@ msgstr ""
msgid ""
"Object has been deinitialized and can no longer be used. Create a new object."
msgstr ""
-"オブジェクトã¯è§£ä½“済ã¿ã§ã‚‚ã†ä½¿ã‚れã¦ã„ã¾ã›ã‚“。新ãŸãªã‚ªãƒ–ジェクトを作æˆã—ã¦ã"
+"オブジェクトã¯è§£æ”¾æ¸ˆã¿ã§ã‚‚ã†ä½¿ã‚れã¦ã„ã¾ã›ã‚“。新ã—ã„オブジェクトを作æˆã—ã¦ã"
"ã ã•ã„"
#: ports/nrf/common-hal/busio/UART.c
msgid "Odd parity is not supported"
-msgstr "奇数パリティã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "奇数パリティã«ã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Only 8 or 16 bit mono with "
-msgstr "8ã¾ãŸã¯16ビットã®"
+msgstr "8ã¾ãŸã¯16ビット㮠"
+
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
@@ -1352,9 +1407,13 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
-msgstr "オーãƒãƒ¼ã‚µãƒ³ãƒ—ルã¯8ã®å€æ•°ãŒå¿…è¦"
+msgstr "オーãƒãƒ¼ã‚µãƒ³ãƒ—ルã¯8ã®å€æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/pwmio/PWMOut.c
msgid ""
@@ -1365,12 +1424,13 @@ msgstr ""
#: shared-bindings/pwmio/PWMOut.c
msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
-msgstr "PWM周波数ã¯ã€ç”Ÿæˆæ™‚ã®variable_frequencyãŒFalseã®ã¨ãæ›¸ãæ›ãˆä¸å¯"
+msgstr "PWM周波数ã¯ç”Ÿæˆæ™‚ã®variable_frequencyãŒFalseã®ã¨ãæ›¸ãæ›ãˆä¸å¯"
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
-msgstr "ParallelBusã¯ã¾ã ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "ParallelBusã«ã¯ã¾ã å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/moduerrno.c
msgid "Permission denied"
@@ -1390,7 +1450,7 @@ msgstr "ピンã¯å…¥åŠ›å°‚ç”¨"
#: ports/atmel-samd/common-hal/countio/Counter.c
msgid "Pin must support hardware interrupts"
-msgstr "ピンã¯ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢å‰²ã‚Šè¾¼ã¿ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
+msgstr "ピンã¯ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢å‰²ã‚Šè¾¼ã¿ã«å¯¾å¿œã—ã¦ã„ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
@@ -1412,6 +1472,12 @@ msgstr ""
msgid "Polygon needs at least 3 points"
msgstr "ãƒãƒªã‚´ãƒ³ã«ã¯å°‘ãªãã¨ã‚‚3ã¤ã®ç‚¹ãŒå¿…è¦"
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1426,9 +1492,8 @@ msgid "Prefix buffer must be on the heap"
msgstr "Prefixãƒãƒƒãƒ•ã‚¡ã¯ãƒ’ープ上ã«ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: main.c
-#, fuzzy
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
-msgstr "ã„ãšã‚Œã‹ã®ã‚­ãƒ¼ã‚’押ã™ã¨REPLã«å…¥ã‚Šã¾ã™ã€‚リロードã¯CTRL-D"
+msgstr "何らã‹ã®ã‚­ãƒ¼ã‚’押ã™ã¨REPLã«å…¥ã‚Šã¾ã™ã€‚CTRL-Dã§ãƒªãƒ­ãƒ¼ãƒ‰ã€‚"
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output."
@@ -1442,23 +1507,24 @@ msgstr "RNG解体エラー"
msgid "RNG Init Error"
msgstr "乱数生æˆå™¨ã®åˆæœŸåŒ–エラー"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "ã“ã®ãƒœãƒ¼ãƒ‰ã¯RTCã®ã‚­ãƒ£ãƒªãƒ–レーションã«éžå¯¾å¿œ"
#: shared-bindings/time/__init__.c
msgid "RTC is not supported on this board"
-msgstr "ã“ã®ãƒœãƒ¼ãƒ‰ã§ã¯RTCãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "ã“ã®ãƒœãƒ¼ãƒ‰ã¯RTCã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
-msgstr "RTS/CTS/RS485ã¯ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã§ã¯æœªã‚µãƒãƒ¼ãƒˆ"
+msgstr "RTS/CTS/RS485ã¯ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã§ã¯æœªå¯¾å¿œ"
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
@@ -1481,13 +1547,17 @@ msgstr "読ã¿è¾¼ã¿å°‚用ã®ã‚ªãƒ–ジェクト"
msgid "Refresh too soon"
msgstr "ãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥ãŒæ—©ã™ãŽã¾ã™"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
-msgstr "è¦æ±‚ã®AESモードã¯éžã‚µãƒãƒ¼ãƒˆ"
+msgstr "è¦æ±‚ã®AESモードã¯éžå¯¾å¿œ"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "Right channel unsupported"
-msgstr "å³ãƒãƒ£ãƒãƒ«ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "å³ãƒãƒ£ãƒãƒ«ã¯éžå¯¾å¿œ"
#: shared-bindings/_pew/PewPew.c
msgid "Row entry must be digitalio.DigitalInOut"
@@ -1499,9 +1569,9 @@ msgstr "セーフモードã§å®Ÿè¡Œä¸­ï¼ "
#: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported"
-msgstr "SDカードã®CSDフォーマットã¯éžã‚µãƒãƒ¼ãƒˆ"
+msgstr "SDカードã®CSDフォーマットã¯éžå¯¾å¿œ"
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDAã¨SCLã«ãƒ—ルアップãŒå¿…è¦"
@@ -1526,7 +1596,7 @@ msgstr "SPIå†åˆæœŸåŒ–エラー"
#: shared-bindings/audiomixer/Mixer.c
msgid "Sample rate must be positive"
-msgstr "サンプルレートã«ã¯æ­£ã®æ•°ãŒå¿…è¦"
+msgstr "ã‚µãƒ³ãƒ—ãƒ«ãƒ¬ãƒ¼ãƒˆã¯æ­£æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#, c-format
@@ -1535,7 +1605,7 @@ msgstr "サンプルレートã¯%d以下ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Scan already in progess. Stop with stop_scan."
-msgstr "スキャンã¯ã™ã§ã«é€²è¡Œä¸­ã€‚stop_scanã§åœæ­¢ã—ã¦ãã ã•ã„"
+msgstr "æ—¢ã«ã‚¹ã‚­ãƒ£ãƒ³é€²è¡Œä¸­ã€‚stop_scanã§åœæ­¢ã—ã¦ãã ã•ã„"
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
@@ -1567,11 +1637,15 @@ msgstr "スライスã¨å€¤ã®é•·ã•ãŒä¸€è‡´ã—ã¾ã›ã‚“"
#: shared-bindings/memorymonitor/AllocationSize.c
#: shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
-msgstr "スライスã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "スライスã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
+
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
-msgstr ""
+msgstr "ãƒãƒƒãƒ•ã‚¡ (å…ƒ/å…ˆ) ã¯åŒã˜é•·ã•ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/modure.c
msgid "Splitting with sub-captures"
@@ -1579,11 +1653,11 @@ msgstr ""
#: shared-bindings/supervisor/__init__.c
msgid "Stack size must be at least 256"
-msgstr "スタックサイズã¯å°‘ãªãã¨ã‚‚256以上ãŒå¿…è¦"
+msgstr "スタックサイズã¯å°‘ãªãã¨ã‚‚256以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/multiterminal/__init__.c
msgid "Stream missing readinto() or write() method."
-msgstr "streamã«readinto()ã¾ãŸã¯write()メソッドãŒã‚りã¾ã›ã‚“"
+msgstr "ストリームã«readinto()ã¾ãŸã¯write()メソッドãŒã‚りã¾ã›ã‚“"
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
@@ -1591,7 +1665,7 @@ msgstr "å°‘ãªãã¨ã‚‚1ã¤ã®UARTピンãŒå¿…è¦"
#: shared-bindings/gnss/GNSS.c
msgid "System entry must be gnss.SatelliteSystem"
-msgstr ""
+msgstr "system引数ã¯gnss.SatelliteSystemã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
@@ -1613,16 +1687,18 @@ msgstr ""
"`microcontroller` モジュールãŒä½¿ã‚れã¦ã‚»ãƒ¼ãƒ•モードã§èµ·å‹•ã—ã¾ã—ãŸã€‚セーフモー"
"ドを抜ã‘ã‚‹ã«ã¯ãƒªã‚»ãƒƒãƒˆã‚’押ã—ã¾ã™ã€‚\n"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
-#, fuzzy
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
"enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n"
msgstr ""
-"マイクロコントローラã®é›»åŠ›ãŒé™ä¸‹ã—ã¾ã—ãŸã€‚é›»æºãŒå›žè·¯å…¨ä½“ãŒæ±‚ã‚ã‚‹å分ãªé›»åŠ›ã‚’"
-"供給ã§ãã‚‹ã“ã¨ã‚’確èªã—ã¦ãƒªã‚»ãƒƒãƒˆã‚’押ã—ã¦ãã ã•ã„(CIRCUITPYã‚’å–り出ã—ãŸ"
-"後)。\n"
+"マイコンã®é›»åŠ›ãŒé™ä¸‹ã—ã¾ã—ãŸã€‚使ã£ã¦ã„ã‚‹é›»æºãŒå分ãªé›»åŠ›ã‚’å›žè·¯ã«ä¾›çµ¦ã™ã‚‹ã“ã¨"
+"を確èªã— (CIRCUITPYã‚’å–り出ã—ã¦ã‹ã‚‰) リセットを押ã—ã¦ãã ã•ã„。\n"
#: shared-module/audiomixer/MixerVoice.c
msgid "The sample's bits_per_sample does not match the mixer's"
@@ -1699,9 +1775,8 @@ msgid "UART Buffer allocation error"
msgstr "UARTãƒãƒƒãƒ•ã‚¡ã®ç¢ºä¿ã‚¨ãƒ©ãƒ¼"
#: ports/stm/common-hal/busio/UART.c
-#, fuzzy
msgid "UART De-init error"
-msgstr "UARTã®è§£ä½“エラー"
+msgstr "UART解放エラー"
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
@@ -1741,6 +1816,10 @@ msgstr "UUIDã®å€¤ãŒstr, int, bufferã®ã„ãšã‚Œã§ã‚‚ã‚りã¾ã›ã‚“"
msgid "Unable to allocate buffers for signed conversion"
msgstr ""
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1761,12 +1840,17 @@ msgstr "カラーパレットデータを読ã¿è¾¼ã‚ã¾ã›ã‚“"
#: shared-bindings/nvm/ByteArray.c
msgid "Unable to write to nvm."
-msgstr "nvm ã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“"
+msgstr "nvmã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“"
#: ports/nrf/common-hal/_bleio/UUID.c
msgid "Unexpected nrfx uuid type"
msgstr "想定ã•れã¦ã„ãªã„nrfx UUIDåž‹"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1802,9 +1886,9 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
-msgstr "éžã‚µãƒãƒ¼ãƒˆã®baudrate"
+msgstr "éžå¯¾å¿œã®baudrate"
#: shared-module/displayio/display_core.c
msgid "Unsupported display bus type"
@@ -1812,15 +1896,15 @@ msgstr ""
#: shared-module/audiocore/WaveFile.c
msgid "Unsupported format"
-msgstr "サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„フォーマット"
+msgstr "éžå¯¾å¿œã®å½¢å¼"
#: py/moduerrno.c
msgid "Unsupported operation"
-msgstr "サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„æ“作"
+msgstr "éžå¯¾å¿œã®æ“作"
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Unsupported pull value."
-msgstr "サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„pull値"
+msgstr "éžå¯¾å¿œã®pull値"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
@@ -1858,7 +1942,7 @@ msgstr "WatchDogTimer.modeã¯ã„ã£ãŸã‚“WatchDogMode.RESETã«è¨­å®šã™ã‚‹ã¨å¤‰
#: shared-bindings/watchdog/WatchDogTimer.c
msgid "WatchDogTimer.timeout must be greater than 0"
-msgstr ""
+msgstr "WatchDogTimer.timeoutã¯0以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: supervisor/shared/safe_mode.c
msgid "Watchdog timer expired."
@@ -1876,7 +1960,7 @@ msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "WiFi password must be between 8 and 63 characters"
-msgstr ""
+msgstr "WiFiパスワードã¯8〜63文字ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
msgid "Writes not supported on Characteristic"
@@ -1900,7 +1984,7 @@ msgstr ""
#: py/objobject.c
msgid "__new__ arg must be a user-type"
-msgstr ""
+msgstr "__new__ã®å¼•æ•°ã¯ãƒ¦ãƒ¼ã‚¶åž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/modubinascii.c extmod/moduhashlib.c py/objarray.c
msgid "a bytes-like object is required"
@@ -1933,7 +2017,7 @@ msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "argsort argument must be an ndarray"
-msgstr ""
+msgstr "argsortã®å¼•æ•°ã¯ndarrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/runtime.c
msgid "argument has wrong type"
@@ -1941,7 +2025,7 @@ msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
-msgstr ""
+msgstr "引数ã¯ndarrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
@@ -1954,7 +2038,7 @@ msgstr "引数ã«ã¯ '%q' ãŒå¿…è¦ï¼ˆ'%q' ã§ã¯ãªã)"
#: extmod/ulab/code/linalg/linalg.c
msgid "arguments must be ndarrays"
-msgstr ""
+msgstr "引数ã¯ndarrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/objarray.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side"
@@ -1966,7 +2050,7 @@ msgstr ""
#: py/objstr.c
msgid "attributes not supported yet"
-msgstr "属性ã¯ã¾ã ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "å±žæ€§ã¯æœªå¯¾å¿œã§ã™"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis must be -1, 0, None, or 1"
@@ -2002,11 +2086,11 @@ msgstr ""
#: shared-bindings/busio/UART.c
msgid "bits must be 7, 8 or 9"
-msgstr "bitsã¯7, 8, 9ã®ã„ãšã‚Œã‹ãŒå¿…è¦"
+msgstr "bitsã¯7, 8, 9ã®ã„ãšã‚Œã‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/audiomixer/Mixer.c
msgid "bits_per_sample must be 8 or 16"
-msgstr ""
+msgstr "bits_per_sampleã¯8ã¾ãŸã¯16ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/emitinlinethumb.c
msgid "branch not in range"
@@ -2014,7 +2098,7 @@ msgstr ""
#: shared-bindings/audiocore/RawSample.c
msgid "buffer must be a bytes-like object"
-msgstr ""
+msgstr "ãƒãƒƒãƒ•ã‚¡ã¯bytes-likeオブジェクトã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-module/struct/__init__.c
msgid "buffer size must match format"
@@ -2022,7 +2106,7 @@ msgstr ""
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "buffer slices must be of equal length"
-msgstr ""
+msgstr "ãƒãƒƒãƒ•ã‚¡ã®ã‚¹ãƒ©ã‚¤ã‚¹ã¯åŒã˜é•·ã•ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/modstruct.c shared-bindings/struct/__init__.c
#: shared-module/struct/__init__.c
@@ -2031,7 +2115,7 @@ msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
-msgstr ""
+msgstr "buttonsã¯digitalio.DigitalInOutã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/vm.c
msgid "byte code not implemented"
@@ -2042,6 +2126,7 @@ msgid "byteorder is not a string"
msgstr "byteorderãŒæ–‡å­—列ã§ã¯ã‚りã¾ã›ã‚“"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr ""
@@ -2219,6 +2304,7 @@ msgstr ""
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
msgstr ""
+"色ãƒãƒƒãƒ•ã‚¡ã¯3ãƒã‚¤ãƒˆ (RGB) ã‹4ãƒã‚¤ãƒˆ (RGB + pad byte) ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a buffer, tuple, list, or int"
@@ -2227,6 +2313,7 @@ msgstr "カラーãƒãƒƒãƒ•ã‚¡ã¯buffer, tuple, list, int ã®ã„ãšã‚Œã‹ã§ã™"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr ""
+"色ãƒãƒƒãƒ•ã‚¡ã¯ã€bytearrayã¾ãŸã¯ã‚¿ã‚¤ãƒ—㌠'b' ã‹ 'B' ã®arrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/displayio/Palette.c
msgid "color must be between 0x000000 and 0xffffff"
@@ -2250,7 +2337,7 @@ msgstr "圧縮ヘッダー"
#: py/parse.c
msgid "constant must be an integer"
-msgstr ""
+msgstr "å®šæ•°ã¯æ•´æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/emitnative.c
msgid "conversion to object"
@@ -2262,7 +2349,7 @@ msgstr "convolve引数ã«ã¯1次元arrayãŒå¿…è¦"
#: extmod/ulab/code/filter/filter.c
msgid "convolve arguments must be ndarrays"
-msgstr "convolve引数ã«ã¯ndarrayãŒå¿…è¦"
+msgstr "convolve引数ã¯ndarrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/filter/filter.c
msgid "convolve arguments must not be empty"
@@ -2282,11 +2369,11 @@ msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "data must be iterable"
-msgstr ""
+msgstr "dataã¯ã‚¤ãƒ†ãƒ¬ãƒ¼ãƒˆå¯èƒ½ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/approx/approx.c
msgid "data must be of equal length"
-msgstr ""
+msgstr "dataã¯åŒã˜é•·ã•ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/numerical/numerical.c
msgid "ddof must be smaller than length of data set"
@@ -2304,14 +2391,16 @@ msgstr "デフォルトã®exceptã¯æœ€å¾Œã«ç½®ãå¿…è¦ãŒã‚りã¾ã™"
msgid ""
"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8"
msgstr ""
+"bit_depth = 8ã®ã¨ãã€å®›å…ˆãƒãƒƒãƒ•ã‚¡ã¯bytearrayã¾ãŸã¯ã‚¿ã‚¤ãƒ—'B'ã®arrayã§ãªã‘れã°"
+"ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/audiobusio/PDMIn.c
msgid "destination buffer must be an array of type 'H' for bit_depth = 16"
-msgstr "bit_depath = 16 用ã®ãƒãƒƒãƒ•ã‚¡ã«ã¯ã‚¿ã‚¤ãƒ—'H'ã®arrayãŒå¿…è¦"
+msgstr "bit_depath = 16用ã®ãƒãƒƒãƒ•ã‚¡ã¯ã‚¿ã‚¤ãƒ—'H'ã®arrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/audiobusio/PDMIn.c
msgid "destination_length must be an int >= 0"
-msgstr "desitination_lengthã«ã¯æ­£ã®æ•´æ•°ãŒå¿…è¦"
+msgstr "desitination_lengthã¯æ­£ã®æ•´æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/objdict.c
msgid "dict update sequence has wrong length"
@@ -2319,7 +2408,7 @@ msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "diff argument must be an ndarray"
-msgstr "引数ã«ã¯ndarrayãŒå¿…è¦"
+msgstr "引数ã¯ndarrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
@@ -2359,10 +2448,14 @@ msgstr "error = 0x1%08lX"
msgid "exceptions must derive from BaseException"
msgstr "例外ã¯BaseExceptionã‹ã‚‰æ´¾ç”Ÿã—ã¦ã„ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "書å¼åŒ–指定å­ã®å¾Œã«':'ãŒå¿…è¦"
@@ -2397,15 +2490,15 @@ msgstr "余分ãªä½ç½®å¼•æ•°ãŒä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
-msgstr ""
+msgstr "f-文字列ã®è¡¨ç¾éƒ¨ã¯ '#' ã‚’æŒã¦ã¾ã›ã‚“"
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
-msgstr ""
+msgstr "f-文字列ã®è¡¨ç¾éƒ¨ã¯ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’æŒã¦ã¾ã›ã‚“"
#: py/parse.c
msgid "f-string: empty expression not allowed"
-msgstr ""
+msgstr "f-文字列: 空ã®è¡¨ç¾ã¯è¨±ã•れã¾ã›ã‚“"
#: py/parse.c
msgid "f-string: expecting '}'"
@@ -2418,11 +2511,11 @@ msgstr "f-string: 1ã¤ã ã‘ã®'}'ã¯è¨±ã•れã¾ã›ã‚“"
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
-msgstr "fileã«ã¯ãƒã‚¤ãƒˆãƒ¢ãƒ¼ãƒ‰ã§é–‹ã‹ã‚ŒãŸãƒ•ァイルãŒå¿…è¦"
+msgstr "fileã¯ãƒã‚¤ãƒˆãƒ¢ãƒ¼ãƒ‰ã§é–‹ã‹ã‚ŒãŸãƒ•ァイルã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/storage/__init__.c
msgid "filesystem must provide mount method"
-msgstr "filesystemã«ã¯mountメソッドãŒå¿…è¦"
+msgstr "filesystemã¯mountメソッドをæä¾›ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/vector/vectorise.c
msgid "first argument must be a callable"
@@ -2438,11 +2531,11 @@ msgstr "1ã¤ç›®ã®å¼•æ•°ã¯ã‚¤ãƒ†ãƒ¬ãƒ¼ãƒˆå¯èƒ½ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/vector/vectorise.c
msgid "first argument must be an ndarray"
-msgstr "1ã¤ç›®ã®å¼•æ•°ã«ã¯ndarrayãŒå¿…è¦"
+msgstr "1ã¤ç›®ã®å¼•æ•°ã¯ndarrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/objtype.c
msgid "first argument to super() must be type"
-msgstr ""
+msgstr "superã®ç¬¬1引数ã¯åž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/ndarray.c
msgid "flattening order must be either 'C', or 'F'"
@@ -2458,7 +2551,7 @@ msgstr "floatã®å€¤ãŒå¤§ãã™ãŽã¾ã™"
#: shared-bindings/_stage/Text.c
msgid "font must be 2048 bytes long"
-msgstr ""
+msgstr "fontã¯2048ãƒã‚¤ãƒˆé•·ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/objstr.c
msgid "format requires a dict"
@@ -2495,7 +2588,6 @@ msgid "function missing %d required positional arguments"
msgstr ""
#: py/bc.c
-#, fuzzy
msgid "function missing keyword-only argument"
msgstr "キーワード専用引数ãŒè¶³ã‚Šã¾ã›ã‚“"
@@ -2527,7 +2619,7 @@ msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "graphic must be 2048 bytes long"
-msgstr ""
+msgstr "graphicã¯2048ãƒã‚¤ãƒˆã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/moduheapq.c
msgid "heap must be a list"
@@ -2557,7 +2649,7 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "インデクスãŒç¯„囲外"
@@ -2604,7 +2696,7 @@ msgstr "入力ãŒéžæ­£å‰‡è¡Œåˆ—"
#: extmod/ulab/code/linalg/linalg.c
msgid "input must be square matrix"
-msgstr ""
+msgstr "å…¥åŠ›ã¯æ­£æ–¹è¡Œåˆ—ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/numerical/numerical.c
msgid "input must be tuple, list, range, or ndarray"
@@ -2682,11 +2774,11 @@ msgstr "æ•°å­—ã¨ã—ã¦ä¸æ­£ãªæ§‹æ–‡"
#: py/objtype.c
msgid "issubclass() arg 1 must be a class"
-msgstr "issubclass()ã®ç¬¬1引数ã¯ã‚¯ãƒ©ã‚¹ãŒå¿…è¦"
+msgstr "issubclass()ã®ç¬¬1引数ã¯ã‚¯ãƒ©ã‚¹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/objtype.c
msgid "issubclass() arg 2 must be a class or a tuple of classes"
-msgstr ""
+msgstr "issubclass()ã®ç¬¬2引数ã¯ã‚¯ãƒ©ã‚¹ã‹ã‚¯ãƒ©ã‚¹ã®ã‚¿ãƒ—ルã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/ndarray.c
msgid "iterables are not of the same length"
@@ -2698,11 +2790,11 @@ msgstr "åŽæŸã—ã¾ã›ã‚“"
#: py/objstr.c
msgid "join expects a list of str/bytes objects consistent with self object"
-msgstr "joinã«ã¯ã€str/bytes(ã®ã†ã¡è‡ªèº«ã¨ä¸€è‡´ã—ãŸåž‹ã®ï¼‰ãƒªã‚¹ãƒˆãŒå¿…è¦"
+msgstr "joinã«ã¯ str/bytes (ã®ã†ã¡è‡ªèº«ã¨ä¸€è‡´ã—ãŸåž‹ã®) リストãŒå¿…è¦"
#: py/argcheck.c
msgid "keyword argument(s) not yet implemented - use normal args instead"
-msgstr "キーワード引数ã¯ã¾ã å®Ÿè£…ã•れã¦ã„ã¾ã›ã‚“。通常ã®å¼•数を使ã£ã¦ãã ã•ã„。"
+msgstr "ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰å¼•æ•°ã¯æœªå®Ÿè£…。通常ã®å¼•数を使ã£ã¦ãã ã•ã„"
#: py/bc.c
msgid "keywords must be strings"
@@ -2742,7 +2834,7 @@ msgstr ""
#: py/objint.c
msgid "long int not supported in this build"
-msgstr "ã“ã®ãƒ“ルドã¯long intをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "ã“ã®ãƒ“ルドã¯long intã«éžå¯¾å¿œ"
#: py/parse.c
msgid "malformed f-string"
@@ -2772,7 +2864,7 @@ msgstr ""
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
msgid "max_length must be > 0"
-msgstr ""
+msgstr "max_lengthã¯0より大ãããªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: py/runtime.c
msgid "maximum recursion depth exceeded"
@@ -2805,7 +2897,7 @@ msgstr ""
#: py/objtype.c
msgid "multiple inheritance not supported"
-msgstr "複数継承ã¯éžã‚µãƒãƒ¼ãƒˆ"
+msgstr "複数継承ã«ã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/emitnative.c
msgid "must raise an object"
@@ -2907,7 +2999,7 @@ msgstr "128ビットã®UUIDã§ã¯ã‚りã¾ã›ã‚“"
#: py/objstr.c
msgid "not all arguments converted during string formatting"
-msgstr ""
+msgstr "文字列書å¼åŒ–ã§å…¨ã¦ã®å¼•æ•°ãŒä½¿ã‚れã¦ã„ã¾ã›ã‚“"
#: py/objstr.c
msgid "not enough arguments for format string"
@@ -2927,11 +3019,11 @@ msgstr "オブジェクト'%q'ãŒã‚¿ãƒ—ルやリストã§ã‚りã¾ã›ã‚“"
#: py/obj.c
msgid "object does not support item assignment"
-msgstr "オブジェクトã¯è¦ç´ ã®ä»£å…¥ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "オブジェクトã¯è¦ç´ ã®ä»£å…¥ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/obj.c
msgid "object does not support item deletion"
-msgstr "オブジェクトã¯è¦ç´ ã®å‰Šé™¤ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "オブジェクトã¯è¦ç´ ã®å‰Šé™¤ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/obj.c
msgid "object has no len"
@@ -2939,7 +3031,7 @@ msgstr "オブジェクトãŒlenã‚’æŒã£ã¦ã„ã¾ã›ã‚“"
#: py/obj.c
msgid "object is not subscriptable"
-msgstr "オブジェクトã¯è¦ç´ ã®å–得をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "オブジェクトã¯è¦ç´ ã®å–å¾—ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/runtime.c
msgid "object not an iterator"
@@ -2975,7 +3067,7 @@ msgstr ""
#: ports/nrf/common-hal/audiobusio/PDMIn.c
msgid "only bit_depth=16 is supported"
-msgstr "bit_depth=16ã®ã¿ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™"
+msgstr "bit_depth=16ã®ã¿å¯¾å¿œã—ã¦ã„ã¾ã™"
#: ports/nrf/common-hal/audiobusio/PDMIn.c
msgid "only sample_rate=16000 is supported"
@@ -2997,7 +3089,7 @@ msgstr "ã“ã®æ¼”ç®—ã¯ndarray上ã§å®Ÿè£…ã•れã¦ã„ã¾ã›ã‚“"
#: extmod/ulab/code/ndarray.c
msgid "operation is not supported for given type"
-msgstr "ã“ã®æ¼”ç®—ã¯ä¸Žãˆã‚‰ã‚ŒãŸåž‹ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“"
+msgstr "演算ã¯ä¸Žãˆã‚‰ã‚ŒãŸåž‹ã«å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“"
#: py/modbuiltins.c
msgid "ord expects a character"
@@ -3056,11 +3148,17 @@ msgstr ""
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
msgstr ""
+"pixel_shaderã¯displayio.Paletteã‹displayio.ColorConverterã®ã©ã¡ã‚‰ã‹ã§ãªã‘れã°"
+"ãªã‚Šã¾ã›ã‚“"
#: shared-module/vectorio/Polygon.c
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3077,6 +3175,24 @@ msgstr "pow()ã®3ã¤ç›®ã®å¼•æ•°ã¯0ã«ã§ãã¾ã›ã‚“"
msgid "pow() with 3 arguments requires integers"
msgstr "pow()ã®ç¬¬3引数ã«ã¯æ•´æ•°ãŒå¿…è¦"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "キューãŒã‚ªãƒ¼ãƒãƒ¼ãƒ•ローã—ã¾ã—ãŸ"
@@ -3141,7 +3257,7 @@ msgstr "スケジュールスタックãŒä¸€æ¯"
#: lib/utils/pyexec.c py/builtinimport.c
msgid "script compilation not supported"
-msgstr "スクリプトã®ã‚³ãƒ³ãƒ‘イルã¯éžã‚µãƒãƒ¼ãƒˆ"
+msgstr "スクリプトã®ã‚³ãƒ³ãƒ‘イルã¯éžå¯¾å¿œ"
#: extmod/ulab/code/ndarray.c
msgid "shape must be a 2-tuple"
@@ -3203,10 +3319,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr ""
@@ -3217,7 +3329,7 @@ msgstr ""
#: shared-bindings/random/__init__.c
msgid "step must be non-zero"
-msgstr "stepã¯éžã‚¼ãƒ­å€¤ãŒå¿…è¦"
+msgstr "stepã¯éžã‚¼ãƒ­å€¤ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/busio/UART.c
msgid "stop must be 1 or 2"
@@ -3229,11 +3341,11 @@ msgstr ""
#: py/stream.c
msgid "stream operation not supported"
-msgstr "ストリームæ“作ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
+msgstr "ストリームæ“作ã¯éžå¯¾å¿œ"
#: py/objstrunicode.c
msgid "string indices must be integers, not %q"
-msgstr "文字列ã®ã‚¤ãƒ³ãƒ‡ã‚¯ã‚¹ã«ã¯æ•´æ•°ãŒå¿…è¦ï¼ˆ%qã§ãªã)"
+msgstr "文字列ã®ã‚¤ãƒ³ãƒ‡ã‚¯ã‚¹ã¯æ•´æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“ (%qã§ãªã)"
#: py/stream.c
msgid "string not supported; use bytes or bytearray"
@@ -3273,15 +3385,15 @@ msgstr "time.struct_time()ã¯9è¦ç´ ã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’å—ã‘å–りã¾ã™"
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
msgid "timeout duration exceeded the maximum supported value"
-msgstr "タイムアウト長ãŒã‚µãƒãƒ¼ãƒˆã•れる最大値を超ãˆã¦ã„ã¾ã™"
+msgstr "タイムアウト長ã¯å¯¾å¿œã™ã‚‹æœ€å¤§å€¤ã‚’è¶…ãˆã¦ã„ã¾ã™"
#: shared-bindings/busio/UART.c
msgid "timeout must be 0.0-100.0 seconds"
-msgstr ""
+msgstr "timeoutã¯0.0〜100.0ç§’ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/_bleio/CharacteristicBuffer.c
msgid "timeout must be >= 0.0"
-msgstr "timeoutã¯0.0以上ãŒå¿…è¦"
+msgstr "timeoutã¯0.0以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-module/sdcardio/SDCard.c
msgid "timeout waiting for v1 card"
@@ -3320,7 +3432,8 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr "タプル/リストã®é•·ã•ãŒæ­£ã—ãã‚りã¾ã›ã‚“"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "txã¨rxを両方ã¨ã‚‚Noneã«ã§ãã¾ã›ã‚“"
@@ -3397,7 +3510,7 @@ msgstr "読ã¿è¾¼ã¿ä¸å¯èƒ½ãªå±žæ€§"
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
#: shared-module/vectorio/Polygon.c
msgid "unsupported %q type"
-msgstr "サãƒãƒ¼ãƒˆã•れãªã„åž‹ %q"
+msgstr "éžå¯¾å¿œã®åž‹ %q"
#: py/emitinlinethumb.c
#, c-format
@@ -3416,15 +3529,15 @@ msgstr ""
#: py/runtime.c
msgid "unsupported type for %q: '%q'"
-msgstr "%qãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„åž‹: '%q'"
+msgstr "%q ãŒå¯¾å¿œã—ã¦ã„ãªã„åž‹: '%q'"
#: py/runtime.c
msgid "unsupported type for operator"
-msgstr "演算å­ãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„åž‹"
+msgstr "演算å­ãŒå¯¾å¿œã—ã¦ã„ãªã„åž‹"
#: py/runtime.c
msgid "unsupported types for %q: '%q', '%q'"
-msgstr "%qã§ã‚µãƒãƒ¼ãƒˆã•れãªã„åž‹: '%q', '%q'"
+msgstr "%q ãŒå¯¾å¿œã—ã¦ã„ãªã„åž‹: '%q', '%q'"
#: py/objint.c
#, c-format
@@ -3433,7 +3546,7 @@ msgstr "値ã¯%dãƒã‚¤ãƒˆã«åŽã¾ã‚‰ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-bindings/displayio/Bitmap.c
msgid "value_count must be > 0"
-msgstr ""
+msgstr "value_countã¯0より大ãããªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
@@ -3441,11 +3554,15 @@ msgstr ""
#: shared-bindings/watchdog/WatchDogTimer.c
msgid "watchdog timeout must be greater than 0"
+msgstr "watchdogã®timeoutã¯0以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
+
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
-msgstr ""
+msgstr "windowã¯interval以下ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/linalg/linalg.c
msgid "wrong argument type"
@@ -3481,7 +3598,7 @@ msgstr ""
#: shared-bindings/displayio/Shape.c
msgid "y should be an int"
-msgstr "yã¯æ•´æ•°ãŒå¿…è¦"
+msgstr "yã¯æ•´æ•°ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: shared-module/displayio/Shape.c
msgid "y value out of bounds"
@@ -3497,12 +3614,15 @@ msgstr "ziã¯ndarrayã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/filter/filter.c
msgid "zi must be of float type"
-msgstr "ziã¯float値ãŒå¿…è¦"
+msgstr "ziã¯float値ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“"
#: extmod/ulab/code/filter/filter.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""
+#~ msgid "Must provide SCK pin"
+#~ msgstr "SCKピンãŒå¿…è¦"
+
#~ msgid ""
#~ "\n"
#~ "To exit, please reset the board without "
diff --git a/locale/ko.po b/locale/ko.po
index e2214b2bf..0c87677e6 100644
--- a/locale/ko.po
+++ b/locale/ko.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2019-05-06 14:22-0700\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -280,7 +280,7 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "ì‚¬ìš©ì¤‘ì¸ ëª¨ë“  I2C주변 기기"
@@ -288,11 +288,11 @@ msgstr "ì‚¬ìš©ì¤‘ì¸ ëª¨ë“  I2C주변 기기"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "ì‚¬ìš©ì¤‘ì¸ ëª¨ë“  SPI주변 기기"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "ì‚¬ìš©ì¤‘ì¸ ëª¨ë“  UART주변 기기"
@@ -314,6 +314,9 @@ msgstr "í•€ì˜ ëª¨ë“  타ì´ë¨¸ê°€ 사용 중입니다"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -333,6 +336,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr ""
@@ -552,6 +559,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr ""
@@ -642,14 +650,15 @@ msgid "Could not initialize SDCard"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
@@ -665,6 +674,10 @@ msgstr ""
msgid "Could not restart PWM"
msgstr ""
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
@@ -755,6 +768,10 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -812,6 +829,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@@ -828,12 +849,21 @@ msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@@ -842,6 +872,10 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr ""
@@ -935,7 +969,7 @@ msgstr ""
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr ""
@@ -1028,6 +1062,10 @@ msgstr "파ì¼ì´ 유효하지 않습니다"
msgid "Invalid format chunk size"
msgstr "í˜•ì‹ ì²­í¬ í¬ê¸°ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@@ -1065,6 +1103,8 @@ msgstr "오른쪽 ì±„ë„ í•€ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1169,14 +1209,10 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1200,21 +1236,25 @@ msgstr ""
msgid "No DMA channel found"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1257,6 +1297,14 @@ msgstr ""
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1320,6 +1368,14 @@ msgstr ""
msgid "Only 8 or 16 bit mono with "
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1337,6 +1393,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr ""
@@ -1351,6 +1411,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr ""
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1396,6 +1457,12 @@ msgstr ""
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1425,12 +1492,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr ""
@@ -1464,6 +1532,10 @@ msgstr ""
msgid "Refresh too soon"
msgstr ""
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr ""
@@ -1484,7 +1556,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr ""
@@ -1552,6 +1624,10 @@ msgstr ""
msgid "Slices not supported"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr ""
@@ -1592,6 +1668,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1715,6 +1795,10 @@ msgstr ""
msgid "Unable to allocate buffers for signed conversion"
msgstr ""
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1741,6 +1825,11 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1776,7 +1865,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr ""
@@ -2016,6 +2105,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr ""
@@ -2333,10 +2423,14 @@ msgstr ""
msgid "exceptions must derive from BaseException"
msgstr ""
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "':'ì´ ì˜ˆìƒë˜ì—ˆìŠµë‹ˆë‹¤"
@@ -2530,7 +2624,7 @@ msgstr ""
msgid "index is out of bounds"
msgstr ""
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@@ -3033,6 +3127,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3049,6 +3147,24 @@ msgstr ""
msgid "pow() with 3 arguments requires integers"
msgstr ""
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr ""
@@ -3174,10 +3290,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr ""
@@ -3291,7 +3403,8 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr ""
@@ -3414,6 +3527,10 @@ msgstr ""
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
diff --git a/locale/nl.po b/locale/nl.po
index 567734f19..8bc7d8840 100644
--- a/locale/nl.po
+++ b/locale/nl.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2020-09-09 16:05+0000\n"
"Last-Translator: Jelle Jager <jell@jjc.id.au>\n"
"Language-Team: none\n"
@@ -284,7 +284,7 @@ msgstr "Adres moet %d bytes lang zijn"
msgid "Address type out of range"
msgstr "Adres type buiten bereik"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Alle I2C peripherals zijn in gebruik"
@@ -292,11 +292,11 @@ msgstr "Alle I2C peripherals zijn in gebruik"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Alle SPI peripherals zijn in gebruik"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "Alle UART peripherals zijn in gebruik"
@@ -318,6 +318,9 @@ msgstr "Alle timers voor deze pin zijn in gebruik"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -337,6 +340,10 @@ msgstr ""
msgid "Already running"
msgstr "Wordt al uitgevoerd"
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "AnalogIn niet ondersteund door gegeven pin"
@@ -558,6 +565,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr "Kan de waarde niet toewijzen als de richting input is."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "Kan RTS of CTS niet specificeren in RS485 modus"
@@ -652,14 +660,15 @@ msgid "Could not initialize SDCard"
msgstr "Kan SDCard niet initialiseren"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Kan UART niet initialiseren"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Kan kanaal niet initialiseren"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Kan timer niet initialiseren"
@@ -675,6 +684,10 @@ msgstr "Kan timer niet her-initialiseren"
msgid "Could not restart PWM"
msgstr "Kan PWM niet herstarten"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "Kan adres niet zetten"
@@ -765,6 +778,10 @@ msgstr "Drive modus niet gebruikt als de richting input is."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB werkt alleen met 16 bytes tegelijkertijd"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -822,6 +839,10 @@ msgstr "Extended advertisements met scan antwoord niet ondersteund."
msgid "FFT is defined for ndarrays only"
msgstr "FFT alleen voor ndarrays gedefineerd"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Commando verzenden mislukt."
@@ -838,12 +859,21 @@ msgstr "RX buffer alloceren mislukt"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Mislukt een RX buffer van %d bytes te alloceren"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Verbinding mislukt: interne fout"
@@ -852,6 +882,10 @@ msgstr "Verbinding mislukt: interne fout"
msgid "Failed to connect: timeout"
msgstr "Verbinding mislukt: timeout"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Mislukt om MP3 bestand te ontleden"
@@ -949,7 +983,7 @@ msgstr "Incorrecte buffer grootte"
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Input/Output fout"
@@ -1042,6 +1076,10 @@ msgstr "Ongeldig bestand"
msgid "Invalid format chunk size"
msgstr "Ongeldig formaat stuk grootte"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Ongeldige frequentie opgegeven"
@@ -1079,6 +1117,8 @@ msgstr "Ongeldige pin voor rechter kanaal"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1183,14 +1223,10 @@ msgstr "Ontbrekende MISO of MOSI Pin"
msgid "Must be a %q subclass."
msgstr "%q moet een subklasse zijn."
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "MISO of MOSI moeten worden gegeven"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr "SCK pin moet opgegeven worden"
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1214,21 +1250,25 @@ msgstr "Geen DAC op de chip"
msgid "No DMA channel found"
msgstr "Geen DMA kanaal gevonden"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "Geen MISO pin"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "Geen MOSI pin"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Geen RX pin"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1271,6 +1311,14 @@ msgstr "Een sleutel was niet gespecificeerd"
msgid "No long integer support"
msgstr "Geen lange integer ondersteuning"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "Geen timers meer beschikbaar op deze pin."
@@ -1336,6 +1384,14 @@ msgstr "Oneven pariteit is niet ondersteund"
msgid "Only 8 or 16 bit mono with "
msgstr "Alleen 8 of 16 bit mono met "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1357,6 +1413,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "Oversample moet een meervoud van 8 zijn."
@@ -1374,6 +1434,7 @@ msgstr ""
"PWM frequentie is niet schrijfbaar wanneer de variable_frequency False is "
"tijdens constructie."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1422,6 +1483,12 @@ msgstr "En iedere module in het bestandssysteem\n"
msgid "Polygon needs at least 3 points"
msgstr "Polygon heeft op zijn minst 3 punten nodig"
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1453,12 +1520,13 @@ msgstr "RNG DeInit Fout"
msgid "RNG Init Error"
msgstr "RNG Init Fout"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr "RS485 inversie gespecificeerd terwijl niet in RS485 modus"
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "RTC calibratie niet ondersteund door dit board"
@@ -1492,6 +1560,10 @@ msgstr "Alleen-lezen object"
msgid "Refresh too soon"
msgstr "Verversing te snel"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr "Gevraagde AES modus is niet ondersteund"
@@ -1512,7 +1584,7 @@ msgstr "Veilige modus wordt uitgevoerd! "
msgid "SD card CSD format not supported"
msgstr "SD kaart CSD formaat niet ondersteund"
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA of SCL hebben een pullup nodig"
@@ -1580,6 +1652,10 @@ msgstr "Slice en waarde hebben verschillende lengtes."
msgid "Slices not supported"
msgstr "Slices niet ondersteund"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr "Bron en bestemming buffers moeten dezelfde lengte hebben"
@@ -1624,6 +1700,10 @@ msgstr ""
"De `microcontroller` module is gebruikt om in veilige modus op te starten. "
"Druk reset om de veilige modus te verlaten.\n"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1752,6 +1832,10 @@ msgstr "UUID waarde is geen str, int, of byte buffer"
msgid "Unable to allocate buffers for signed conversion"
msgstr "Niet in staat buffers voor gesigneerde conversie te alloceren"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1778,6 +1862,11 @@ msgstr "Niet in staat om naar nvm te schrijven."
msgid "Unexpected nrfx uuid type"
msgstr "Onverwacht mrfx uuid type"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1815,7 +1904,7 @@ msgstr ""
"apparaat geweigerd of genegeerd werd."
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Niet-ondersteunde baudsnelheid"
@@ -2064,6 +2153,7 @@ msgid "byteorder is not a string"
msgstr "byteorder is geen string"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "butes > 8 niet ondersteund"
@@ -2385,10 +2475,14 @@ msgstr "fout = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "uitzonderingen moeten afleiden van BaseException"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "verwachtte ':' na format specifier"
@@ -2583,7 +2677,7 @@ msgstr "vulling (padding) is onjuist"
msgid "index is out of bounds"
msgstr "index is buiten bereik"
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index is buiten bereik"
@@ -3090,6 +3184,10 @@ msgid "polygon can only be registered in one parent"
msgstr ""
"polygoon kan slechts bij één object van een hoger niveau worden geregistreerd"
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "pop van een lege PulseIn"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3106,6 +3204,24 @@ msgstr "derde argument van pow() mag geen 0 zijn"
msgid "pow() with 3 arguments requires integers"
msgstr "pow() met 3 argumenten vereist integers"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "wachtrij overloop"
@@ -3233,10 +3349,6 @@ msgstr "sosfilt vereist itereerbare argumenten"
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr "start/stop indices"
@@ -3350,7 +3462,8 @@ msgstr "tuple index buiten bereik"
msgid "tuple/list has wrong length"
msgstr "tuple of lijst heeft onjuiste lengte"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx en rx kunnen niet beiden None zijn"
@@ -3473,6 +3586,10 @@ msgstr "vectoren moeten van gelijke lengte zijn"
msgid "watchdog timeout must be greater than 0"
msgstr "watchdog time-out moet groter zijn dan 0"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr "window moet <= interval zijn"
@@ -3533,6 +3650,9 @@ msgstr "zi moet van type float zijn"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi moet vorm (n_section, 2) hebben"
+#~ msgid "Must provide SCK pin"
+#~ msgstr "SCK pin moet opgegeven worden"
+
#~ msgid ""
#~ "\n"
#~ "To exit, please reset the board without "
@@ -3628,9 +3748,6 @@ msgstr "zi moet vorm (n_section, 2) hebben"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "object van type '%s' heeft geen len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "pop van een lege PulseIn"
-
#~ msgid "pop from an empty set"
#~ msgstr "pop van een lege set"
diff --git a/locale/pl.po b/locale/pl.po
index 5428885c1..3cec5c4df 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
-"PO-Revision-Date: 2020-09-23 18:31+0000\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
+"PO-Revision-Date: 2020-09-29 01:39+0000\n"
"Last-Translator: Maciej Stankiewicz <tawezik@gmail.com>\n"
"Language-Team: pl\n"
"Language: pl\n"
@@ -286,7 +286,7 @@ msgstr "Adres musi mieć %d bajtów"
msgid "Address type out of range"
msgstr ""
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Wszystkie peryferia I2C w użyciu"
@@ -294,11 +294,11 @@ msgstr "Wszystkie peryferia I2C w użyciu"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Wszystkie peryferia SPI w użyciu"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "Wszystkie peryferia UART w użyciu"
@@ -320,6 +320,9 @@ msgstr "Wszystkie timery tej nóżki w użyciu"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -339,6 +342,10 @@ msgstr ""
msgid "Already running"
msgstr ""
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "AnalogIn nie jest obsługiwany na danym pinie"
@@ -558,6 +565,7 @@ msgstr "Nie można zrestartować -- nie ma bootloadera."
msgid "Cannot set value when direction is input."
msgstr "Nie można ustawić wartości w trybie wejścia."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "Nie można określić RTS ani CTS w trybie RS485"
@@ -652,14 +660,15 @@ msgid "Could not initialize SDCard"
msgstr "Nie można zainicjować SDCard"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Ustawienie UART nie powiodło się"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Nie można zainicjować kanału"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Nie można zainicjować timera"
@@ -675,6 +684,10 @@ msgstr "Nie można ponownie zainicjować timera"
msgid "Could not restart PWM"
msgstr "Nie można ponownie uruchomić PWM"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "Nie można ustawić adresu"
@@ -765,6 +778,10 @@ msgstr "Tryb sterowania nieużywany w trybie wejścia."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB działa tylko na 16 bajtach naraz"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -822,6 +839,10 @@ msgstr ""
msgid "FFT is defined for ndarrays only"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Nie udało się wysłać polecenia."
@@ -838,12 +859,21 @@ msgstr "Nie udała się alokacja bufora RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Nie udała się alokacja %d bajtów na bufor RX"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Nie udało się połączyć: błąd wewnętrzny"
@@ -852,6 +882,10 @@ msgstr "Nie udało się połączyć: błąd wewnętrzny"
msgid "Failed to connect: timeout"
msgstr "Nie udało się połączyć: upłynął limit czasu"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Nie można przeanalizować pliku MP3"
@@ -947,7 +981,7 @@ msgstr "Niewłaściwa wielkość bufora"
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Błąd I/O"
@@ -1040,6 +1074,10 @@ msgstr "Zły plik"
msgid "Invalid format chunk size"
msgstr "Zła wielkość fragmentu formatu"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Podano nieprawidłową częstotliwość"
@@ -1077,6 +1115,8 @@ msgstr "Zła nóżka dla prawego kanału"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1182,14 +1222,10 @@ msgstr "Brak pinu MISO lub MOSI"
msgid "Must be a %q subclass."
msgstr ""
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "Należy podać pin MISO lub MOSI"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr "Należy podać pin SCK"
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1213,21 +1249,25 @@ msgstr "Brak DAC"
msgid "No DMA channel found"
msgstr "Nie znaleziono kanału DMA"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "Brak pinu MISO"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "Brak pinu MOSI"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Brak nóżki RX"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1270,6 +1310,14 @@ msgstr "Nie określono klucza"
msgid "No long integer support"
msgstr ""
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@@ -1333,6 +1381,14 @@ msgstr "Nieparzysta parzystość nie jest wspierana"
msgid "Only 8 or 16 bit mono with "
msgstr "Tylko 8 lub 16 bitów mono z "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1350,6 +1406,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "Nadpróbkowanie musi być wielokrotnością 8."
@@ -1364,6 +1424,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr "Nie można zmienić częstotliwości PWM gdy variable_frequency=False."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1409,6 +1470,12 @@ msgstr "Oraz moduły w systemie plików\n"
msgid "Polygon needs at least 3 points"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1438,12 +1505,13 @@ msgstr ""
msgid "RNG Init Error"
msgstr ""
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr ""
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "Brak obsługi kalibracji RTC"
@@ -1477,6 +1545,10 @@ msgstr "Obiekt tylko do odczytu"
msgid "Refresh too soon"
msgstr "Zbyt wczesne odświeżenie"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr "Żądany tryb AES nie jest obsługiwany"
@@ -1497,7 +1569,7 @@ msgstr ""
msgid "SD card CSD format not supported"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA lub SCL wymagają podciągnięcia"
@@ -1565,6 +1637,10 @@ msgstr "Fragment i wartość są różnych długości."
msgid "Slices not supported"
msgstr "Fragmenty nieobsługiwane"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr "Bufory źródłowy i docelowy muszą mieć taką samą długość"
@@ -1605,6 +1681,10 @@ msgid ""
"exit safe mode.\n"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1727,6 +1807,10 @@ msgstr "UUID nie jest typu str, int lub bytes"
msgid "Unable to allocate buffers for signed conversion"
msgstr "Nie udała się alokacja buforów do konwersji ze znakiem"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1753,6 +1837,11 @@ msgstr "Błąd zapisu do NVM."
msgid "Unexpected nrfx uuid type"
msgstr "Nieoczekiwany typ nrfx uuid"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1788,7 +1877,7 @@ msgid ""
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Zła szybkość transmisji"
@@ -2034,6 +2123,7 @@ msgid "byteorder is not a string"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "bajty większe od 8 bitów są niewspierane"
@@ -2352,10 +2442,14 @@ msgstr "błąd = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "wyjątki muszą dziedziczyć po BaseException"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "oczekiwano ':' po specyfikacji formatu"
@@ -2549,7 +2643,7 @@ msgstr "złe wypełnienie"
msgid "index is out of bounds"
msgstr "indeks jest poza zakresem"
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "indeks poza zakresem"
@@ -3053,6 +3147,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr ""
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "pop z pustego PulseIn"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3069,6 +3167,24 @@ msgstr "trzeci argument pow() nie może być 0"
msgid "pow() with 3 arguments requires integers"
msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "przepełnienie kolejki"
@@ -3195,10 +3311,6 @@ msgstr ""
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr "początkowe/końcowe indeksy"
@@ -3312,7 +3424,8 @@ msgstr "indeks krotki poza zakresem"
msgid "tuple/list has wrong length"
msgstr "krotka/lista ma złą długość"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx i rx nie mogą być oba None"
@@ -3421,7 +3534,7 @@ msgstr ""
#: py/objint.c
#, c-format
msgid "value must fit in %d byte(s)"
-msgstr ""
+msgstr "wartość musi mieścić się w %d bajtach"
#: shared-bindings/displayio/Bitmap.c
msgid "value_count must be > 0"
@@ -3435,6 +3548,10 @@ msgstr "wektory muszą mieć identyczną długość"
msgid "watchdog timeout must be greater than 0"
msgstr ""
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr ""
@@ -3495,6 +3612,9 @@ msgstr ""
msgid "zi must be of shape (n_section, 2)"
msgstr ""
+#~ msgid "Must provide SCK pin"
+#~ msgstr "Należy podać pin SCK"
+
#~ msgid "tuple/list required on RHS"
#~ msgstr "wymagana krotka/lista po prawej stronie"
@@ -3565,9 +3685,6 @@ msgstr ""
#~ msgid "object of type '%s' has no len()"
#~ msgstr "obiekt typu '%s' nie ma len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "pop z pustego PulseIn"
-
#~ msgid "pop from an empty set"
#~ msgstr "pop z pustego zbioru"
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 0f5885ccf..68dd2df7e 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -5,8 +5,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
-"PO-Revision-Date: 2020-09-22 21:30+0000\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
+"PO-Revision-Date: 2020-10-01 14:20+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n"
"Language: pt_BR\n"
@@ -288,7 +288,7 @@ msgstr "O endereço deve ter %d bytes de comprimento"
msgid "Address type out of range"
msgstr "O tipo do endereço está fora do alcance"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Todos os periféricos I2C estão em uso"
@@ -296,11 +296,11 @@ msgstr "Todos os periféricos I2C estão em uso"
msgid "All RX FIFOs in use"
msgstr "Todos os FIFOs RX estão em uso"
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "Todos os periféricos SPI estão em uso"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "Todos os periféricos UART estão em uso"
@@ -322,6 +322,9 @@ msgstr "Todos os temporizadores para este pino estão em uso"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -341,6 +344,10 @@ msgstr "Já há um ouvinte com todas as correspondências"
msgid "Already running"
msgstr "Já está em execução"
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr "Já está em busca das redes de wifi"
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "O AnalogIn não é compatível no pino informado"
@@ -567,6 +574,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr "Não é possível definir o valor quando a direção é inserida."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "Não é possível definir o RTS ou CTS no modo RS485"
@@ -661,14 +669,15 @@ msgid "Could not initialize SDCard"
msgstr "Não foi possível inicializar o SDCard"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Não foi possível inicializar o UART"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Não foi possível inicializar o canal"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Não foi possível inicializar o temporizador"
@@ -684,6 +693,10 @@ msgstr "Não foi possível reiniciar o temporizador"
msgid "Could not restart PWM"
msgstr "Não foi possível reiniciar o PWM"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr "Não foi possível recuperar o clock"
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "Não foi possível definir o endereço"
@@ -774,6 +787,10 @@ msgstr "O modo do controlador não é usado quando a direção for inserida."
msgid "ECB only operates on 16 bytes at a time"
msgstr "O BCE opera apenas com 16 bytes por vez"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr "Houve uma falha na alocação da memória ESP-IDF"
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -831,6 +848,10 @@ msgstr "Anúncios estendidos não compatíveis com a resposta da varredura."
msgid "FFT is defined for ndarrays only"
msgstr "O FFT é definido apenas para ndarrays"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr "Houve uma falha no handshake do SSL"
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Falha ao enviar comando."
@@ -847,12 +868,21 @@ msgstr "Falha ao alocar buffer RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Falha ao alocar buffer RX de %d bytes"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr "Houve uma falha na alocação da memória do Wifi"
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr "Houve uma falha na alocação da memória para a varredura do Wifi"
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Falha ao conectar: erro interno"
@@ -861,6 +891,10 @@ msgstr "Falha ao conectar: erro interno"
msgid "Failed to connect: timeout"
msgstr "Falha ao conectar: tempo limite"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr "Houve uma falha ao iniciar o wifi"
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Falha ao analisar o arquivo MP3"
@@ -958,7 +992,7 @@ msgstr "O tamanho do buffer está incorreto"
msgid "Input taking too long"
msgstr "A entrada está demorando demais"
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Erro de entrada/saída"
@@ -1051,6 +1085,10 @@ msgstr "Arquivo inválido"
msgid "Invalid format chunk size"
msgstr "Tamanho do pedaço de formato inválido"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr "Frequência inválida"
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "A frequência informada é inválida"
@@ -1088,6 +1126,8 @@ msgstr "Pino inválido para canal direito"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1192,14 +1232,10 @@ msgstr "O pino MISO ou MOSI está ausente"
msgid "Must be a %q subclass."
msgstr "Deve ser uma subclasse %q."
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "Deve informar os pinos MISO ou MOSI"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr "É obrigatório informar o pino SCK"
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1223,21 +1259,25 @@ msgstr "Nenhum DAC no chip"
msgid "No DMA channel found"
msgstr "Nenhum canal DMA encontrado"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "Nenhum pino MISO"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "Nenhum pino MOSI"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Nenhum pino RX"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1280,6 +1320,14 @@ msgstr "Nenhuma chave foi definida"
msgid "No long integer support"
msgstr "Não há compatibilidade com inteiro longo"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr "Não há mais canais disponíveis"
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr "Não há mais temporizadores disponíveis"
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "Não há mais temporizadores disponíveis neste pino."
@@ -1344,6 +1392,14 @@ msgstr "A paridade ímpar não é compatível"
msgid "Only 8 or 16 bit mono with "
msgstr "Apenas mono com 8 ou 16 bits com "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr "São suportados apenas soquetes IPv4 SOCK_STREAM"
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr "Somente os endereços IPv4 são suportados"
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1365,6 +1421,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr "Apenas o int bruto é compatível para o ip"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr "Sem soquetes"
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "A superamostragem deve ser um múltiplo de 8."
@@ -1383,6 +1443,7 @@ msgstr ""
"A frequência do PWM não pode ser gravada quando variable_frequency for False "
"na construção."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1431,6 +1492,14 @@ msgstr "Além de quaisquer módulos no sistema de arquivos\n"
msgid "Polygon needs at least 3 points"
msgstr "O Polígono precisa de pelo menos 3 pontos"
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+"A porta não aceita portadora PWM. Em vez disso informe um pino, frequência e "
+"o ciclo de trabalho"
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1465,12 +1534,13 @@ msgstr "Erro DeInit RNG"
msgid "RNG Init Error"
msgstr "Houve um erro na inicialização do RNG"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr "A definição da inversão do RS485 quando não está no modo RS485"
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "A calibração RTC não é suportada nesta placa"
@@ -1504,6 +1574,10 @@ msgstr "Objeto de leitura apenas"
msgid "Refresh too soon"
msgstr "A recarga foi cedo demais"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr "As requisições de transmissões remotas é limitada a 8 bytes"
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr "O modo AES solicitado não é compatível"
@@ -1524,7 +1598,7 @@ msgstr "Executando no modo de segurança! "
msgid "SD card CSD format not supported"
msgstr "O formato CSD do Cartão SD não é compatível"
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA ou SCL precisa de um pull up"
@@ -1592,6 +1666,10 @@ msgstr "Fatie e avalie os diferentes comprimentos."
msgid "Slices not supported"
msgstr "Fatiamento não compatível"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr "O SocketPool só pode ser usado com rádio wifi.radio"
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr "Os buffers da origem e do destino devem ter o mesmo comprimento"
@@ -1637,6 +1715,10 @@ msgstr ""
"O módulo `microcontrolador` foi utilizado para inicializar no modo de "
"segurança. Pressione reset para encerrar do modo de segurança.\n"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1768,6 +1850,10 @@ msgstr "O valor UUID não é um buffer str, int ou byte"
msgid "Unable to allocate buffers for signed conversion"
msgstr "Não é possível alocar buffers para conversão assinada"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr "Não é possível criar um lock"
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1794,6 +1880,11 @@ msgstr "Não é possível gravar no nvm."
msgid "Unexpected nrfx uuid type"
msgstr "Tipo uuid nrfx inesperado"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr "Erro não tratado do ESP TLS %d %d %x %d"
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr "Falha desconhecida"
@@ -1831,7 +1922,7 @@ msgstr ""
"dispositivo tenha sido recusado ou ignorado."
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Taxa de transmissão não suportada"
@@ -2081,6 +2172,7 @@ msgid "byteorder is not a string"
msgstr "a ordem dos bytes não é uma cadeia de caracteres"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "bytes > 8 bits não suportado"
@@ -2408,9 +2500,13 @@ msgstr "erro = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "as exceções devem derivar a partir do BaseException"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
-msgstr "o retorno esperado era '%q', porém obteve '% q'"
+msgstr "o retorno esperado era '%q', porém obteve '%q'"
+
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr "o retorno esperado era '%q' ou '%q', porém obteve '%q'"
#: py/objstr.c
msgid "expected ':' after format specifier"
@@ -2605,7 +2701,7 @@ msgstr "preenchimento incorreto"
msgid "index is out of bounds"
msgstr "o índice está fora dos limites"
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "Ãndice fora do intervalo"
@@ -3118,6 +3214,10 @@ msgstr "o pixel_shader deve ser displayio.Palette ou displayio.ColorConverter"
msgid "polygon can only be registered in one parent"
msgstr "o polígono só pode ser registrado em um pai"
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "pop a partir de um PulseIn vazio"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3134,6 +3234,24 @@ msgstr "O terceiro argumento pow() não pode ser 0"
msgid "pow() with 3 arguments requires integers"
msgstr "o pow() com 3 argumentos requer números inteiros"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr "pressionando o botão de boot na inicialização.\n"
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr "pressionando ambos os botões durante a inicialização.\n"
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "estouro de fila"
@@ -3261,10 +3379,6 @@ msgstr "o sosfilt requer que os argumentos sejam iteráveis"
msgid "source palette too large"
msgstr "a paleta de origem é muito grande"
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr "defina o tamanho ou os dados, porém não ambos"
-
#: py/objstr.c
msgid "start/end indices"
msgstr "os índices de início/fim"
@@ -3378,7 +3492,8 @@ msgstr "o índice da tupla está fora do intervalo"
msgid "tuple/list has wrong length"
msgstr "a tupla/lista está com tamanho incorreto"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "TX e RX não podem ser ambos"
@@ -3501,6 +3616,10 @@ msgstr "os vetores devem ter os mesmos comprimentos"
msgid "watchdog timeout must be greater than 0"
msgstr "o tempo limite do watchdog deve ser maior que 0"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr "a janela deve ser <= intervalo"
@@ -3561,6 +3680,12 @@ msgstr "zi deve ser de um tipo float"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi deve estar na forma (n_section, 2)"
+#~ msgid "specify size or data, but not both"
+#~ msgstr "defina o tamanho ou os dados, porém não ambos"
+
+#~ msgid "Must provide SCK pin"
+#~ msgstr "É obrigatório informar o pino SCK"
+
#~ msgid ""
#~ "\n"
#~ "To exit, please reset the board without "
@@ -3667,9 +3792,6 @@ msgstr "zi deve estar na forma (n_section, 2)"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "O objeto do tipo '%s' não possui len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "pop a partir de um PulseIn vazio"
-
#~ msgid "pop from an empty set"
#~ msgstr "pop a partir de um conjunto vazio"
diff --git a/locale/sv.po b/locale/sv.po
index f2b7cae3e..0b958e7a4 100644
--- a/locale/sv.po
+++ b/locale/sv.po
@@ -5,8 +5,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
-"PO-Revision-Date: 2020-09-07 19:36+0000\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
+"PO-Revision-Date: 2020-10-01 21:24+0000\n"
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n"
@@ -98,7 +98,7 @@ msgstr "%q måste vara en tuple av längd 2"
#: shared-bindings/canio/Match.c
msgid "%q out of range"
-msgstr ""
+msgstr "%q utanför intervallet"
#: ports/atmel-samd/common-hal/microcontroller/Pin.c
msgid "%q pin invalid"
@@ -284,19 +284,19 @@ msgstr "Adressen måste vara %d byte lång"
msgid "Address type out of range"
msgstr "Adresstyp utanför intervallet"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "All I2C-kringutrustning används"
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
-msgstr ""
+msgstr "Alla RX FIFO i bruk"
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "All SPI-kringutrustning används"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "Alla UART-kringutrustning används"
@@ -318,6 +318,9 @@ msgstr "Alla timers för denna pinne är i bruk"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -330,13 +333,17 @@ msgstr "Annonserar redan."
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "Already have all-matches listener"
-msgstr ""
+msgstr "Har redan lyssnare för all-matchningar"
#: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c
msgid "Already running"
msgstr "Kör redan"
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr "Skannar redan efter wifi-nätverk"
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "AnalogIn stöds inte på angiven pinne"
@@ -383,7 +390,7 @@ msgstr "Försökte tilldela heap när MicroPython VM inte körs."
#: shared-bindings/wifi/Radio.c
msgid "Authentication failure"
-msgstr ""
+msgstr "Autentiseringsfel"
#: main.c
msgid "Auto-reload is off.\n"
@@ -558,6 +565,7 @@ msgstr ""
msgid "Cannot set value when direction is input."
msgstr "Kan inte sätta värde när riktning är input."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "Det går inte att specificera RTS eller CTS i RS485-läget"
@@ -600,7 +608,7 @@ msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
-msgstr ""
+msgstr "CircuitPython kunde inte allokera heap.\n"
#: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed."
@@ -641,7 +649,7 @@ msgstr "Korrupt rå kod"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Could not initialize Camera"
-msgstr ""
+msgstr "Kunde inte initiera Camera"
#: ports/cxd56/common-hal/gnss/GNSS.c
msgid "Could not initialize GNSS"
@@ -652,14 +660,15 @@ msgid "Could not initialize SDCard"
msgstr "Kan inte initiera SD-kort"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Det gick inte att initiera UART"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Det gick inte att initiera kanalen"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Det gick inte att initialisera timern"
@@ -675,6 +684,10 @@ msgstr "Det gick inte att återinitiera timern"
msgid "Could not restart PWM"
msgstr "Det gick inte att starta om PWM"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr "Kunde inte hämta klocka"
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "Kan inte ange adress"
@@ -765,6 +778,10 @@ msgstr "Drivläge används inte när riktning är input."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB arbetar endast på 16 byte åt gången"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr "ESP-IDF-minnetilldelning misslyckades"
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -822,6 +839,10 @@ msgstr "Utökad annonsering i kombination med skanningssvar stöds inte."
msgid "FFT is defined for ndarrays only"
msgstr "FFT är enbart definierade för ndarrays"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr "Misslyckad SSL-handskakning"
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Det gick inte att skicka kommandot."
@@ -838,12 +859,21 @@ msgstr "Det gick inte att tilldela RX-buffert"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Det gick inte att allokera RX-bufferten på %d byte"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr "Det gick inte att allokera WiFi-minne"
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr "Det gick inte att allokera minne för WiFi-scanning"
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Det gick inte att ansluta: internt fel"
@@ -852,6 +882,10 @@ msgstr "Det gick inte att ansluta: internt fel"
msgid "Failed to connect: timeout"
msgstr "Det gick inte att ansluta: timeout"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr "Kunde inte initiera WiFi"
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Det gick inte att tolka MP3-filen"
@@ -871,11 +905,11 @@ msgstr "Filen finns redan"
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "Filters too complex"
-msgstr ""
+msgstr "Filter för komplexa"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Format not supported"
-msgstr ""
+msgstr "Formatet stöds inte"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
@@ -945,9 +979,9 @@ msgstr "Fel buffertstorlek"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "Input taking too long"
-msgstr ""
+msgstr "Indata tar för lång tid"
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Indata-/utdatafel"
@@ -992,7 +1026,7 @@ msgstr "Ogiltig BMP-fil"
#: shared-bindings/wifi/Radio.c
msgid "Invalid BSSID"
-msgstr ""
+msgstr "Ogiltig BSSID"
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
@@ -1040,6 +1074,10 @@ msgstr "Felaktig fil"
msgid "Invalid format chunk size"
msgstr "Ogiltig formatsegmentstorlek"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr "Ogiltig frekvens"
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Ogiltig frekvens angiven"
@@ -1077,6 +1115,8 @@ msgstr "Ogiltig pinne för höger kanal"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1159,7 +1199,7 @@ msgstr "Maximum x-värde vid spegling är %d"
#: shared-bindings/canio/Message.c
msgid "Messages limited to 8 bytes"
-msgstr ""
+msgstr "Meddelanden begränsad till 8 byte"
#: supervisor/shared/safe_mode.c
msgid "MicroPython NLR jump failed. Likely memory corruption."
@@ -1182,14 +1222,10 @@ msgstr "MISO- eller MOSI-pinne saknas"
msgid "Must be a %q subclass."
msgstr "MÃ¥ste vara en %q-subklass."
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "MÃ¥ste ange MISO- eller MOSI-pinne"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr "MÃ¥ste ange SCK-pinne"
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1213,21 +1249,25 @@ msgstr "Ingen DAC på chipet"
msgid "No DMA channel found"
msgstr "Ingen DMA-kanal hittades"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "Ingen MISO-pinne"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "Ingen MOSI-pinne"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Ingen RX-pinne"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1270,13 +1310,21 @@ msgstr "Ingen nyckel angavs"
msgid "No long integer support"
msgstr "Inget stöd för långt heltal"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr "Inga fler kanaler tillgängliga"
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr "Ingen timer tillgänglig"
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "Inga fler timers tillgängliga på denna pinne."
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
-msgstr ""
+msgstr "Inget nätverk med sådant ssid"
#: shared-module/touchio/TouchIn.c
msgid "No pulldown on pin; 1Mohm recommended"
@@ -1300,7 +1348,7 @@ msgstr "Påståendet om Nordic Soft Device-fel."
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
msgid "Not a valid IP string"
-msgstr ""
+msgstr "Inte en giltig IP-sträng"
#: ports/nrf/common-hal/_bleio/__init__.c
#: shared-bindings/_bleio/CharacteristicBuffer.c
@@ -1335,6 +1383,14 @@ msgstr "Udda paritet stöds inte"
msgid "Only 8 or 16 bit mono with "
msgstr "Endast 8 eller 16 bitars mono med "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr "Endast IPv4 SOCK_STREAM sockets stöds"
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr "Endast IPv4-adresser stöds"
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1353,7 +1409,11 @@ msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
-msgstr ""
+msgstr "Endast raw int stöds för ip"
+
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr "Slut på sockets"
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
@@ -1371,6 +1431,7 @@ msgstr ""
"PWM-frekvensen är inte skrivbar när variable_frequency är falsk vid "
"skapandet."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1419,6 +1480,14 @@ msgstr "Plus eventuella moduler i filsystemet\n"
msgid "Polygon needs at least 3 points"
msgstr "Polygonen behöver minst 3 punkter"
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+"Port accepterar inte PWM carrier. Ange pinne frekvens och arbetscykel "
+"istället"
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1451,12 +1520,13 @@ msgstr "RNG DeInit-fel"
msgid "RNG Init Error"
msgstr "RNG Init-fel"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr "RS485-inversion specificerad när den inte är i RS485-läge"
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "RTC-kalibrering stöds inte av detta kort"
@@ -1490,6 +1560,10 @@ msgstr "Skrivskyddat objekt"
msgid "Refresh too soon"
msgstr "Uppdaterad för tidigt"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr "RemoteTransmissionRequests begränsad till 8 byte"
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr "Det begärda AES-läget stöds inte"
@@ -1510,7 +1584,7 @@ msgstr "Kör i säkert läge! "
msgid "SD card CSD format not supported"
msgstr "SD-kort CSD-format stöds inte"
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA eller SCL behöver en pullup"
@@ -1561,11 +1635,11 @@ msgstr "Serializern används redan"
#: shared-bindings/ssl/SSLContext.c
msgid "Server side context cannot have hostname"
-msgstr ""
+msgstr "Serversidans kontext kan inte ha värdnamn"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Size not supported"
-msgstr ""
+msgstr "Storleken stöds inte"
#: shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths."
@@ -1578,6 +1652,10 @@ msgstr "Slice och värde har olika längd."
msgid "Slices not supported"
msgstr "Slice stöds inte"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr "SocketPool kan endast användas med wifi.radio"
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr "Käll- och målbuffertar måste ha samma längd"
@@ -1622,6 +1700,10 @@ msgstr ""
"Modulen \"microkontroller\" användes för att starta i säkert läge. Tryck på "
"reset för att lämna säkert läge.\n"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1679,7 +1761,7 @@ msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
-msgstr ""
+msgstr "För att avsluta, gör reset på kortet utan "
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Too many channels in sample."
@@ -1750,6 +1832,10 @@ msgstr "UUID-värdet är inte str, int eller byte-buffert"
msgid "Unable to allocate buffers for signed conversion"
msgstr "Det går inte att allokera buffert för signerad konvertering"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr "Kan inte skapa lås"
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1776,9 +1862,14 @@ msgstr "Det gick inte att skriva till nvm."
msgid "Unexpected nrfx uuid type"
msgstr "Oväntad nrfx uuid-typ"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr "Ej hanterat ESP TLS-fel %d-%d-%x-%d"
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
-msgstr ""
+msgstr "Okänt fel"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
@@ -1813,7 +1904,7 @@ msgstr ""
"eller ignorerades."
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Baudrate stöd inte"
@@ -1893,7 +1984,7 @@ msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "WiFi password must be between 8 and 63 characters"
-msgstr ""
+msgstr "WiFi-lösenord måste vara mellan 8 och 63 tecken"
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
msgid "Writes not supported on Characteristic"
@@ -2059,12 +2150,13 @@ msgid "byteorder is not a string"
msgstr "byteorder är inte en sträng"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "bytes> 8 bitar stöds inte"
#: py/objarray.c
msgid "bytes length not a multiple of item size"
-msgstr ""
+msgstr "bytelängd inte en multipel av storlek"
#: py/objstr.c
msgid "bytes value out of range"
@@ -2381,9 +2473,13 @@ msgstr "fel = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "exceptions måste ärvas från BaseException"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
-msgstr ""
+msgstr "förväntade '%q' men fick '%q'"
+
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr "förväntade '%q' eller '%q' men fick '%q'"
#: py/objstr.c
msgid "expected ':' after format specifier"
@@ -2578,7 +2674,7 @@ msgstr "felaktig utfyllnad"
msgid "index is out of bounds"
msgstr "index är utanför gränserna"
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index utanför intervallet"
@@ -3046,7 +3142,7 @@ msgstr "Konvertering av long int till machine word överskred maxvärde"
#: py/modstruct.c
#, c-format
msgid "pack expected %d items for packing (got %d)"
-msgstr ""
+msgstr "pack förväntade %d stycken för packning (fick %d)"
#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
msgid "palette must be 32 bytes long"
@@ -3085,6 +3181,10 @@ msgstr ""
msgid "polygon can only be registered in one parent"
msgstr "polygon kan endast registreras i en förälder"
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "pop från en tom PulseIn"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3101,6 +3201,24 @@ msgstr "pow() 3: e argument kan inte vara 0"
msgid "pow() with 3 arguments requires integers"
msgstr "pow() med 3 argument kräver heltal"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr "trycka på startknappen vid start.\n"
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr "trycka båda knapparna vid uppstart.\n"
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "köstorlek överskreds"
@@ -3228,10 +3346,6 @@ msgstr "sosfilt kräver iterable argument"
msgid "source palette too large"
msgstr "källpalett för stor"
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr "start-/slutindex"
@@ -3345,7 +3459,8 @@ msgstr "tupelindex utanför intervallet"
msgid "tuple/list has wrong length"
msgstr "tupel/lista har fel längd"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx och rx kan inte båda vara None"
@@ -3468,6 +3583,10 @@ msgstr "vektorer måste ha samma längd"
msgid "watchdog timeout must be greater than 0"
msgstr "watchdog timeout måste vara större än 0"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr "window måste vara <= interval"
@@ -3528,6 +3647,12 @@ msgstr "zi måste vara av typ float"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi måste vara i formen (n_section, 2)"
+#~ msgid "specify size or data, but not both"
+#~ msgstr "ange storlek eller data, men inte båda"
+
+#~ msgid "Must provide SCK pin"
+#~ msgstr "MÃ¥ste ange SCK-pinne"
+
#~ msgid ""
#~ "\n"
#~ "To exit, please reset the board without "
@@ -3625,9 +3750,6 @@ msgstr "zi måste vara i formen (n_section, 2)"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "objekt av typen '%s' har ingen len()"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "pop från en tom PulseIn"
-
#~ msgid "pop from an empty set"
#~ msgstr "pop från en tom uppsättning"
diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po
index 780f5be22..6e65fa13a 100644
--- a/locale/zh_Latn_pinyin.po
+++ b/locale/zh_Latn_pinyin.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: circuitpython-cn\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-09-21 16:45-0500\n"
+"POT-Creation-Date: 2020-09-29 20:14-0500\n"
"PO-Revision-Date: 2019-04-13 10:10-0700\n"
"Last-Translator: hexthat\n"
"Language-Team: Chinese Hanyu Pinyin\n"
@@ -285,7 +285,7 @@ msgstr "DìzhÇ bìxÅ« shì %d zì jié zhÇŽng"
msgid "Address type out of range"
msgstr "DìzhÇ lèixíng chÄochÅ« fànwéi"
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "SuÇ’yÇ’u I2C wàiwéi qì zhèngzài shÇyòng"
@@ -293,11 +293,11 @@ msgstr "SuÇ’yÇ’u I2C wàiwéi qì zhèngzài shÇyòng"
msgid "All RX FIFOs in use"
msgstr ""
-#: ports/nrf/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
msgstr "SuÇ’yÇ’u SPI wàiwéi qì zhèngzài shÇyòng"
-#: ports/nrf/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
msgstr "SuÇ’yÇ’u UART wàiwéi zhèngzài shÇyòng"
@@ -319,6 +319,9 @@ msgstr "CÇ yÇn jiÇŽo de suÇ’yÇ’u jìshí qì zhèngzài shÇyòng"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
@@ -338,6 +341,10 @@ msgstr ""
msgid "Already running"
msgstr "yÇ zài yùn xíng"
+#: ports/esp32s2/common-hal/wifi/Radio.c
+msgid "Already scanning for wifi networks"
+msgstr ""
+
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
msgstr "GÄ›i dìng de yÇn jiÇŽo bù zhÄ«chí AnalogIn"
@@ -557,6 +564,7 @@ msgstr "Wúfǎ chóng zhì wèi bootloader, yīnwèi méiyǒu bootloader cúnzà
msgid "Cannot set value when direction is input."
msgstr "DÄng fÄngxiàng xiàng nèi shí, bùnéng shèzhì gÄi zhí."
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Cannot specify RTS or CTS in RS485 mode"
msgstr "wú fÇŽ zài RS485 mó shì xià zhÇ dìng RTS huò CTS"
@@ -649,14 +657,15 @@ msgid "Could not initialize SDCard"
msgstr "wú fÇŽ chÅ« shÇ huà SDCard"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "WúfÇŽ chÅ«shÇhuà UART"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize channel"
msgstr "WúfÇŽ chÅ«shÇhuà píndào"
-#: ports/stm/common-hal/pwmio/PWMOut.c
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not initialize timer"
msgstr "WúfÇŽ chÅ«shÇhuà jìshí qì"
@@ -672,6 +681,10 @@ msgstr "WúfÇŽ chóngxÄ«n qÇdòng jìshí qì"
msgid "Could not restart PWM"
msgstr "WúfÇŽ chóngqÇ PWM"
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c
+msgid "Could not retrieve clock"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr "wú fÇŽ shè zhì dì zhÇ"
@@ -762,6 +775,10 @@ msgstr "FÄngxiàng shÅ«rù shí qÅ«dòng móshì méiyÇ’u shÇyòng."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB yí cì zhÇ shÇ yòng 16 gè zì jié"
+#: ports/esp32s2/common-hal/busio/SPI.c
+msgid "ESP-IDF memory allocation failed"
+msgstr ""
+
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -819,6 +836,10 @@ msgstr "Bù zhīchí dài yǒu sǎomiáo xiǎngyìng de kuòzhǎn guǎngbò."
msgid "FFT is defined for ndarrays only"
msgstr "FFT jÇn wéi ndarrays dìng yì"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+msgid "Failed SSL handshake"
+msgstr ""
+
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "FÄsòng mìnglìng shÄ«bài."
@@ -835,12 +856,21 @@ msgstr "FÄ“npèi RX huÇŽnchÅng shÄ«bài"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "FÄ“npèi RX huÇŽnchÅng qÅ«%d zì jié shÄ«bài"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to allocate Wifi memory"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
+msgid "Failed to allocate wifi scan memory"
+msgstr ""
+
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr "Liánjiē shībài: Nèibù cuòwù"
@@ -849,6 +879,10 @@ msgstr "Liánjiē shībài: Nèibù cuòwù"
msgid "Failed to connect: timeout"
msgstr "LiánjiÄ“ shÄ«bài: ChÄoshí"
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Failed to init wifi"
+msgstr ""
+
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
msgstr "Wúfǎ jiěxī MP3 wénjiàn"
@@ -944,7 +978,7 @@ msgstr "HuÇŽnchÅng qÅ« dàxiÇŽo bù zhèngquè"
msgid "Input taking too long"
msgstr ""
-#: py/moduerrno.c
+#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
msgstr "Shūrù/shūchū cuòwù"
@@ -1037,6 +1071,10 @@ msgstr "Wúxiào de wénjiàn"
msgid "Invalid format chunk size"
msgstr "Géshì kuài dàxiǎo wúxiào"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "Invalid frequency"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "TígÅng de pínlÇœ wúxiào"
@@ -1074,6 +1112,8 @@ msgstr "Yòuxián tÅngdào yÇn jiÇŽo wúxiào"
#: ports/atmel-samd/common-hal/i2cperipheral/I2CPeripheral.c
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
+#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@@ -1178,14 +1218,10 @@ msgstr "QuÄ“shÇŽo MISO huò MOSI yÇn jiÇŽo"
msgid "Must be a %q subclass."
msgstr "Bìxū shì %q zi lèi."
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/mimxrt10xx/common-hal/busio/SPI.c shared-bindings/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "BìxÅ« tígÅng MISO huò MOSI yÇn jiÇŽo"
-#: ports/stm/common-hal/busio/SPI.c
-msgid "Must provide SCK pin"
-msgstr "bì xÅ« tí gòng SCK yÇn jiÇŽo"
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid "Must use a multiple of 6 rgb pins, not %d"
@@ -1209,21 +1245,25 @@ msgstr "Méiyǒu DAC zài xīnpiàn shàng de"
msgid "No DMA channel found"
msgstr "Wèi zhǎodào DMA píndào"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "MéiyÇ’u MISO yÇn jiÇŽo"
-#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
+#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
+#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "MéiyÇ’u MOSI yÇn jiÇŽo"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Wèi zhÇŽodào RX yÇn jiÇŽo"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
@@ -1266,6 +1306,14 @@ msgstr "Wèi zhÇdìng mì yào"
msgid "No long integer support"
msgstr "Méiyǒu zhǎng zhěngshù zhīchí"
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more channels available"
+msgstr ""
+
+#: ports/esp32s2/common-hal/pwmio/PWMOut.c
+msgid "No more timers available"
+msgstr ""
+
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "GÄi yÇn jiÇŽo shàng méiyÇ’u kÄ›yòng de dìngshí qì."
@@ -1330,6 +1378,14 @@ msgstr "Bù zhīchí jīshù"
msgid "Only 8 or 16 bit mono with "
msgstr "ZhÇyÇ’u 8 huò 16 wèi dÄnwèi "
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 SOCK_STREAM sockets supported"
+msgstr ""
+
+#: ports/esp32s2/common-hal/wifi/__init__.c
+msgid "Only IPv4 addresses supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1351,6 +1407,10 @@ msgstr ""
msgid "Only raw int supported for ip"
msgstr ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Out of sockets"
+msgstr ""
+
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
msgstr "Guò cǎiyàng bìxū shì 8 de bèishù."
@@ -1366,6 +1426,7 @@ msgid ""
"PWM frequency not writable when variable_frequency is False on construction."
msgstr "DÄng biànliàng_pínlÇœ shì False zài jiànzhú shí PWM pínlÇœ bùkÄ› xiÄ›."
+#: ports/esp32s2/common-hal/displayio/ParallelBus.c
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
@@ -1414,6 +1475,12 @@ msgstr "Zài wénjiàn xìtÇ’ng shàng tiÄnjiÄ rènhé mókuài\n"
msgid "Polygon needs at least 3 points"
msgstr "DuÅbiÄnxíng zhìshÇŽo xÅ«yào 3 diÇŽn"
+#: ports/esp32s2/common-hal/pulseio/PulseOut.c
+msgid ""
+"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
+"instead"
+msgstr ""
+
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c
@@ -1443,12 +1510,13 @@ msgstr "RNG qÇ”xiÄo chÅ«shÇhuà cuòwù"
msgid "RNG Init Error"
msgstr "RNG chÅ«shÇhuà cuòwù"
+#: ports/esp32s2/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "RS485 inversion specified when not in RS485 mode"
msgstr "Wèi chÇ”yú RS485 móshì shí zhÇdìngle RS485 fÇŽn zhuÇŽn"
-#: ports/cxd56/common-hal/rtc/RTC.c ports/mimxrt10xx/common-hal/rtc/RTC.c
-#: ports/nrf/common-hal/rtc/RTC.c
+#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
+#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
msgstr "CÇ bÇŽn bù zhÄ«chí RTC jiàozhÇ”n"
@@ -1482,6 +1550,10 @@ msgstr "ZhÇ dú duìxiàng"
msgid "Refresh too soon"
msgstr "ShuÄxÄ«n tài kuàile"
+#: shared-bindings/canio/RemoteTransmissionRequest.c
+msgid "RemoteTransmissionRequests limited to 8 bytes"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
msgstr "QÇngqiú de AES móshì bù shòu zhÄ«chí"
@@ -1502,7 +1574,7 @@ msgstr "Zài Änquán móshì xià yùnxíng!"
msgid "SD card CSD format not supported"
msgstr "Bù zhīchí SD kǎ CSD géshì"
-#: ports/atmel-samd/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA huò SCL xÅ«yào lÄdòng"
@@ -1570,6 +1642,10 @@ msgstr "Qiēpiàn hé zhí bùtóng chángdù."
msgid "Slices not supported"
msgstr "Qiēpiàn bù shòu zhīchí"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "SocketPool can only be used with wifi.radio"
+msgstr ""
+
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
msgstr "Yuán huÇŽnchÅng qÅ« hé mùbiÄo huÇŽnchÅng qÅ« de chángdù bìxÅ« xiÄngtóng"
@@ -1614,6 +1690,10 @@ msgstr ""
"“WÄ“i kòngzhì qì†mókuài yòng yú qÇdòng Änquán móshì. Àn chóng zhì kÄ› tuìchÅ« "
"Änquán móshì.\n"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
+msgstr ""
+
#: supervisor/shared/safe_mode.c
msgid ""
"The microcontroller's power dipped. Make sure your power supply provides\n"
@@ -1741,6 +1821,10 @@ msgstr "UUID zhí bùshì str,int huò zì jié huÇŽnchÅng qÅ«"
msgid "Unable to allocate buffers for signed conversion"
msgstr "WúfÇŽ fÄ“npèi huÇŽnchÅng qÅ« yòng yú qiÄnmíng zhuÇŽnhuàn"
+#: ports/esp32s2/common-hal/busio/I2C.c
+msgid "Unable to create lock"
+msgstr ""
+
#: shared-module/displayio/I2CDisplay.c
#, c-format
msgid "Unable to find I2C Display at %x"
@@ -1767,6 +1851,11 @@ msgstr "Wúfǎ xiě rù nvm."
msgid "Unexpected nrfx uuid type"
msgstr "Yìwài de nrfx uuid lèixíng"
+#: ports/esp32s2/common-hal/socketpool/Socket.c
+#, c-format
+msgid "Unhandled ESP TLS error %d %d %x %d"
+msgstr ""
+
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
@@ -1804,7 +1893,7 @@ msgstr ""
"huò hūlüè."
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
-#: ports/stm/common-hal/busio/I2C.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Bù zhīchí de baudrate"
@@ -2050,6 +2139,7 @@ msgid "byteorder is not a string"
msgstr "byteorder bùshì zìfú chuàn"
#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c
msgid "bytes > 8 bits not supported"
msgstr "zì jié > 8 wèi"
@@ -2371,10 +2461,14 @@ msgstr "cuòwù = 0x%08lX"
msgid "exceptions must derive from BaseException"
msgstr "lìwài bìxū láizì BaseException"
-#: shared-bindings/canio/CAN.c shared-bindings/canio/Listener.c
+#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
+#: shared-bindings/canio/CAN.c
+msgid "expected '%q' or '%q' but got '%q'"
+msgstr ""
+
#: py/objstr.c
msgid "expected ':' after format specifier"
msgstr "zài géshì shuÅmíng fú zhÄ«hòu yùqí ':'"
@@ -2568,7 +2662,7 @@ msgstr "bù zhèngquè de tiánchÅng"
msgid "index is out of bounds"
msgstr "suÇ’yÇn chÄochÅ« fànwéi"
-#: py/obj.c
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "suÇ’yÇn chÄochÅ« fànwéi"
@@ -3073,6 +3167,10 @@ msgstr "pixel_shader bìxū shì displayio.Palette huò displayio.ColorConverter
msgid "polygon can only be registered in one parent"
msgstr "duÅbiÄnxíng zhÄ« néng zài yÄ«gè fù jí zhÅng zhùcè"
+#: ports/esp32s2/common-hal/pulseio/PulseIn.c
+msgid "pop from an empty PulseIn"
+msgstr "cóng kÅng de PulseIn dànchÅ« dànchÅ«"
+
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
@@ -3089,6 +3187,24 @@ msgstr "pow() 3 cÄn shÇ” bùnéng wéi 0"
msgid "pow() with 3 arguments requires integers"
msgstr "pow() yÇ’u 3 cÄnshù xÅ«yào zhÄ›ngshù"
+#: ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+msgid "pressing boot button at start up.\n"
+msgstr ""
+
+#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+msgid "pressing both buttons at start up.\n"
+msgstr ""
+
#: extmod/modutimeq.c
msgid "queue overflow"
msgstr "duìliè yìchū"
@@ -3216,10 +3332,6 @@ msgstr "sosfilt xÅ«yào diédài cÄnshù"
msgid "source palette too large"
msgstr ""
-#: shared-bindings/canio/Message.c
-msgid "specify size or data, but not both"
-msgstr ""
-
#: py/objstr.c
msgid "start/end indices"
msgstr "kÄishÇ/jiéshù zhÇshù"
@@ -3333,7 +3445,8 @@ msgstr "yuán zÇ” suÇ’yÇn chÄochÅ« fànwéi"
msgid "tuple/list has wrong length"
msgstr "yuán zǔ/lièbiǎo chángdù cuòwù"
-#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
msgid "tx and rx cannot both be None"
msgstr "tx hé rx bùnéng dÅu shì wú"
@@ -3456,6 +3569,10 @@ msgstr "xiàngliàng bìxÅ« jùyÇ’u xiÄngtóng de chángdù"
msgid "watchdog timeout must be greater than 0"
msgstr "kÄn mén gÇ’u chÄoshí bìxÅ« dàyú 0"
+#: shared-bindings/rgbmatrix/RGBMatrix.c
+msgid "width must be greater than zero"
+msgstr ""
+
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
msgstr "ChuÄngkÇ’u bìxÅ« shì <= jiàngé"
@@ -3516,6 +3633,9 @@ msgstr "zi bìxū wèi fú diǎn xíng"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
+#~ msgid "Must provide SCK pin"
+#~ msgstr "bì xÅ« tí gòng SCK yÇn jiÇŽo"
+
#~ msgid ""
#~ "\n"
#~ "To exit, please reset the board without "
@@ -3607,9 +3727,6 @@ msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
#~ msgid "object of type '%s' has no len()"
#~ msgstr "lèixíng '%s' de duìxiàng méiyǒu chángdù"
-#~ msgid "pop from an empty PulseIn"
-#~ msgstr "cóng kÅng de PulseIn dànchÅ« dànchÅ«"
-
#~ msgid "pop from an empty set"
#~ msgstr "cóng kÅng jí dànchÅ«"
diff --git a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
index 54789f04f..4321335e5 100644
--- a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+++ b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
@@ -25,7 +25,7 @@
#define CALIBRATE_CRYSTALLESS 1
// Explanation of how a user got into safe mode.
-#define BOARD_USER_SAFE_MODE_ACTION "pressing both buttons at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing both buttons at start up.\n")
// Increase stack size slightly due to CPX library import nesting
#define CIRCUITPY_DEFAULT_STACK_SIZE (4248) //divisible by 8
diff --git a/ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h b/ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
index e377275b7..5673be290 100644
--- a/ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
+++ b/ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
@@ -27,7 +27,7 @@
#define USER_NEOPIXELS_PIN (&pin_PB23)
// Explanation of how a user got into safe mode.
-#define BOARD_USER_SAFE_MODE_ACTION "pressing both buttons at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing both buttons at start up.\n")
// Increase stack size slightly due to CPX library import nesting
#define CIRCUITPY_DEFAULT_STACK_SIZE (4248) // divisible by 8
diff --git a/ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h b/ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
index cacbed0de..fab235149 100644
--- a/ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
+++ b/ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
@@ -25,7 +25,7 @@
#define CALIBRATE_CRYSTALLESS 1
// Explanation of how a user got into safe mode.
-#define BOARD_USER_SAFE_MODE_ACTION "pressing both buttons at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing both buttons at start up.\n")
// Increase stack size slightly due to CPX library import nesting.
#define CIRCUITPY_DEFAULT_STACK_SIZE (4248) // divisible by 8
diff --git a/ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h b/ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
index ac1add545..c4c8c4f3c 100644
--- a/ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
+++ b/ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
@@ -11,7 +11,7 @@
#define CALIBRATE_CRYSTALLESS 1
// Explanation of how a user got into safe mode.
-#define BOARD_USER_SAFE_MODE_ACTION "pressing both buttons at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing both buttons at start up.\n")
#define DEFAULT_I2C_BUS_SCL (&pin_PA08)
#define DEFAULT_I2C_BUS_SDA (&pin_PA09)
diff --git a/ports/atmel-samd/boards/hallowing_m0_express/board.c b/ports/atmel-samd/boards/hallowing_m0_express/board.c
index 4717e6ceb..14a2bdb81 100644
--- a/ports/atmel-samd/boards/hallowing_m0_express/board.c
+++ b/ports/atmel-samd/boards/hallowing_m0_express/board.c
@@ -110,7 +110,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // not SH1107
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/hallowing_m4_express/board.c b/ports/atmel-samd/boards/hallowing_m4_express/board.c
index 7da1d8128..61e797d65 100644
--- a/ports/atmel-samd/boards/hallowing_m4_express/board.c
+++ b/ports/atmel-samd/boards/hallowing_m4_express/board.c
@@ -91,7 +91,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // not SH1107
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/meowmeow/mpconfigboard.h b/ports/atmel-samd/boards/meowmeow/mpconfigboard.h
index 79d477cac..7bbbf3322 100644
--- a/ports/atmel-samd/boards/meowmeow/mpconfigboard.h
+++ b/ports/atmel-samd/boards/meowmeow/mpconfigboard.h
@@ -11,7 +11,7 @@
#define CALIBRATE_CRYSTALLESS 1
// Explanation of how a user got into safe mode.
-#define BOARD_USER_SAFE_MODE_ACTION "pressing both buttons at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing both buttons at start up.\n")
#define DEFAULT_I2C_BUS_SCL (&pin_PA01)
#define DEFAULT_I2C_BUS_SDA (&pin_PA00)
diff --git a/ports/atmel-samd/boards/monster_m4sk/board.c b/ports/atmel-samd/boards/monster_m4sk/board.c
index 4dd65f8c9..45fea9d52 100644
--- a/ports/atmel-samd/boards/monster_m4sk/board.c
+++ b/ports/atmel-samd/boards/monster_m4sk/board.c
@@ -92,7 +92,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/pewpew_m4/board.c b/ports/atmel-samd/boards/pewpew_m4/board.c
index 52a52b4b7..d02e0dc01 100644
--- a/ports/atmel-samd/boards/pewpew_m4/board.c
+++ b/ports/atmel-samd/boards/pewpew_m4/board.c
@@ -143,7 +143,8 @@ void board_init(void) {
false, // data_as_commands
false, // auto_refresh
20, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/pybadge/board.c b/ports/atmel-samd/boards/pybadge/board.c
index 45298acc2..35f228c75 100644
--- a/ports/atmel-samd/boards/pybadge/board.c
+++ b/ports/atmel-samd/boards/pybadge/board.c
@@ -114,7 +114,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/pybadge_airlift/board.c b/ports/atmel-samd/boards/pybadge_airlift/board.c
index 7495c7d48..fe3e4a017 100644
--- a/ports/atmel-samd/boards/pybadge_airlift/board.c
+++ b/ports/atmel-samd/boards/pybadge_airlift/board.c
@@ -92,7 +92,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/pygamer/board.c b/ports/atmel-samd/boards/pygamer/board.c
index 2e83440ea..b478b5947 100644
--- a/ports/atmel-samd/boards/pygamer/board.c
+++ b/ports/atmel-samd/boards/pygamer/board.c
@@ -114,7 +114,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/pygamer_advance/board.c b/ports/atmel-samd/boards/pygamer_advance/board.c
index 330446b6f..7dfe07c00 100644
--- a/ports/atmel-samd/boards/pygamer_advance/board.c
+++ b/ports/atmel-samd/boards/pygamer_advance/board.c
@@ -92,7 +92,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/pyportal/board.c b/ports/atmel-samd/boards/pyportal/board.c
index d14b6b6a5..cd94f6887 100644
--- a/ports/atmel-samd/boards/pyportal/board.c
+++ b/ports/atmel-samd/boards/pyportal/board.c
@@ -100,7 +100,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/pyportal_titano/board.c b/ports/atmel-samd/boards/pyportal_titano/board.c
index 0ee2e68aa..dc417f5d1 100644
--- a/ports/atmel-samd/boards/pyportal_titano/board.c
+++ b/ports/atmel-samd/boards/pyportal_titano/board.c
@@ -117,7 +117,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/seeeduino_wio_terminal/board.c b/ports/atmel-samd/boards/seeeduino_wio_terminal/board.c
index b7fc736eb..49db49860 100644
--- a/ports/atmel-samd/boards/seeeduino_wio_terminal/board.c
+++ b/ports/atmel-samd/boards/seeeduino_wio_terminal/board.c
@@ -31,8 +31,12 @@
#include "shared-bindings/displayio/FourWire.h"
#include "shared-module/displayio/__init__.h"
#include "shared-module/displayio/mipi_constants.h"
+#include "shared-bindings/digitalio/DigitalInOut.h"
displayio_fourwire_obj_t board_display_obj;
+digitalio_digitalinout_obj_t CTR_5V;
+digitalio_digitalinout_obj_t CTR_3V3;
+digitalio_digitalinout_obj_t USB_HOST_ENABLE;
uint8_t display_init_sequence[] = {
0x01, 0x80, 0x80, // Software reset then delay 0x80 (128ms)
@@ -105,7 +109,27 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
+
+ // Enabling the Power of the 40-pin at the back
+ CTR_5V.base.type = &digitalio_digitalinout_type;
+ CTR_3V3.base.type = &digitalio_digitalinout_type;
+ USB_HOST_ENABLE.base.type = &digitalio_digitalinout_type;
+
+ common_hal_digitalio_digitalinout_construct(&CTR_5V, PIN_CTR_5V);
+ common_hal_digitalio_digitalinout_construct(&CTR_3V3, PIN_CTR_3V3);
+ common_hal_digitalio_digitalinout_construct(&USB_HOST_ENABLE, PIN_USB_HOST_ENABLE);
+
+ common_hal_digitalio_digitalinout_set_value(&CTR_5V, true);
+ common_hal_digitalio_digitalinout_set_value(&CTR_3V3, false);
+ common_hal_digitalio_digitalinout_set_value(&USB_HOST_ENABLE, false);
+
+ // Never reset
+ common_hal_digitalio_digitalinout_never_reset(&CTR_5V);
+ common_hal_digitalio_digitalinout_never_reset(&CTR_3V3);
+ common_hal_digitalio_digitalinout_never_reset(&USB_HOST_ENABLE);
+
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/boards/seeeduino_wio_terminal/mpconfigboard.h b/ports/atmel-samd/boards/seeeduino_wio_terminal/mpconfigboard.h
index f7d0448df..c87ca46d8 100644
--- a/ports/atmel-samd/boards/seeeduino_wio_terminal/mpconfigboard.h
+++ b/ports/atmel-samd/boards/seeeduino_wio_terminal/mpconfigboard.h
@@ -27,6 +27,10 @@
#define DEFAULT_UART_BUS_RX (&pin_PB27)
#define DEFAULT_UART_BUS_TX (&pin_PB26)
+#define PIN_CTR_5V (&pin_PC14)
+#define PIN_CTR_3V3 (&pin_PC15)
+#define PIN_USB_HOST_ENABLE (&pin_PA27)
+
// USB is always used internally so skip the pin objects for it.
#define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1
diff --git a/ports/atmel-samd/boards/ugame10/board.c b/ports/atmel-samd/boards/ugame10/board.c
index 3bb9eab7d..9f2b8d039 100644
--- a/ports/atmel-samd/boards/ugame10/board.c
+++ b/ports/atmel-samd/boards/ugame10/board.c
@@ -111,7 +111,8 @@ void board_init(void) {
false, // data as commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/atmel-samd/common-hal/canio/CAN.c b/ports/atmel-samd/common-hal/canio/CAN.c
index 4f28698fb..76599a9a7 100644
--- a/ports/atmel-samd/common-hal/canio/CAN.c
+++ b/ports/atmel-samd/common-hal/canio/CAN.c
@@ -275,21 +275,6 @@ int common_hal_canio_can_receive_error_count_get(canio_can_obj_t *self)
return self->hw->ECR.bit.REC;
}
-int common_hal_canio_can_error_warning_state_count_get(canio_can_obj_t *self)
-{
- return self->error_warning_state_count;
-}
-
-int common_hal_canio_can_error_passive_state_count_get(canio_can_obj_t *self)
-{
- return self->error_passive_state_count;
-}
-
-int common_hal_canio_can_bus_off_state_count_get(canio_can_obj_t *self)
-{
- return self->bus_off_state_count;
-}
-
canio_bus_state_t common_hal_canio_can_state_get(canio_can_obj_t *self) {
CAN_PSR_Type psr = self->hw->PSR;
if (psr.bit.BO) {
@@ -328,16 +313,18 @@ static void maybe_auto_restart(canio_can_obj_t *self) {
}
}
-void common_hal_canio_can_send(canio_can_obj_t *self, canio_message_obj_t *message)
+void common_hal_canio_can_send(canio_can_obj_t *self, mp_obj_t message_in)
{
maybe_auto_restart(self);
+ canio_message_obj_t *message = message_in;;
// We have just one dedicated TX buffer, use it!
canio_can_tx_buffer_t *ent = &self->state->tx_buffer[0];
+ bool rtr = message->base.type == &canio_remote_transmission_request_type;
ent->txb0.bit.ESI = false;
ent->txb0.bit.XTD = message->extended;
- ent->txb0.bit.RTR = message->rtr;
+ ent->txb0.bit.RTR = rtr;
if (message->extended) {
ent->txb0.bit.ID = message->id;
} else {
@@ -350,7 +337,7 @@ void common_hal_canio_can_send(canio_can_obj_t *self, canio_message_obj_t *messa
ent->txb1.bit.BRS = 0; // No bit rate switching
ent->txb1.bit.DLC = message->size;
- if (!message->rtr) {
+ if (!rtr) {
memcpy(ent->data, message->data, message->size);
}
@@ -417,17 +404,6 @@ STATIC void can_handler(int i) {
Can *hw = can_insts[i];
uint32_t ir = hri_can_read_IR_reg(hw);
- /* Count up errors*/
- if (ir & CAN_IE_EWE) {
- self->error_warning_state_count += 1;
- }
- if (ir & CAN_IE_EPE) {
- self->error_passive_state_count += 1;
- }
- if (ir & CAN_IE_BOE) {
- self->bus_off_state_count += 1;
- }
-
/* Acknowledge interrupt */
hri_can_write_IR_reg(hw, ir);
}
diff --git a/ports/atmel-samd/common-hal/canio/Listener.c b/ports/atmel-samd/common-hal/canio/Listener.c
index 02cfde9cc..b27c8cd1b 100644
--- a/ports/atmel-samd/common-hal/canio/Listener.c
+++ b/ports/atmel-samd/common-hal/canio/Listener.c
@@ -32,6 +32,7 @@
#include "common-hal/canio/__init__.h"
#include "common-hal/canio/Listener.h"
+#include "shared-bindings/canio/Listener.h"
#include "shared-bindings/util.h"
#include "supervisor/shared/tick.h"
#include "component/can.h"
@@ -58,8 +59,8 @@ STATIC void static_assertions(void) {
MP_STATIC_ASSERT(CAN_XIDFE_0_EFEC_STF0M_Val + 1 == CAN_XIDFE_0_EFEC_STF1M_Val);
}
-STATIC bool single_address_filter(canio_match_obj_t *match) {
- return match->mask == 0 || match->mask == match->address;
+STATIC bool single_id_filter(canio_match_obj_t *match) {
+ return match->mask == 0 || match->mask == match->id;
}
STATIC bool standard_filter_in_use(CanMramSidfe *filter) {
@@ -76,7 +77,7 @@ STATIC size_t num_filters_needed(size_t nmatch, canio_match_obj_t **matches, boo
if (extended != matches[i]->extended) {
continue;
}
- if (single_address_filter(matches[i])) {
+ if (single_id_filter(matches[i])) {
num_half_filters_needed += 1;
} else {
num_half_filters_needed += 2;
@@ -191,7 +192,7 @@ STATIC void install_extended_filter(CanMramXidfe *extended, int id1, int id2, in
}
-#define NO_ADDRESS (-1)
+#define NO_ID (-1)
void set_filters(canio_listener_obj_t *self, size_t nmatch, canio_match_obj_t **matches) {
int fifo = self->fifo_idx;
@@ -207,31 +208,31 @@ void set_filters(canio_listener_obj_t *self, size_t nmatch, canio_match_obj_t **
CanMramSidfe *standard = next_standard_filter(self, NULL);
CanMramXidfe *extended = next_extended_filter(self, NULL);
- int first_address = NO_ADDRESS;
+ int first_id = NO_ID;
- // step 1: single address standard matches
+ // step 1: single id standard matches
// we have to gather up pairs and stuff them in a single filter entry
for(size_t i = 0; i<nmatch; i++) {
canio_match_obj_t *match = matches[i];
if (match->extended) {
continue;
}
- if (!single_address_filter(match)) {
+ if (!single_id_filter(match)) {
continue;
}
- if (first_address != NO_ADDRESS) {
- install_standard_filter(standard, first_address, match->address, CAN_SIDFE_0_SFEC_STF0M_Val + fifo, CAN_SIDFE_0_SFT_DUAL_Val);
- first_address = NO_ADDRESS;
+ if (first_id != NO_ID) {
+ install_standard_filter(standard, first_id, match->id, CAN_SIDFE_0_SFEC_STF0M_Val + fifo, CAN_SIDFE_0_SFT_DUAL_Val);
+ first_id = NO_ID;
standard = next_standard_filter(self, standard);
} else {
- first_address = match->address;
+ first_id = match->id;
}
}
- // step 1.5. odd single address standard match
- if (first_address != NO_ADDRESS) {
- install_standard_filter(standard, first_address, first_address, CAN_SIDFE_0_SFEC_STF0M_Val + fifo, CAN_SIDFE_0_SFT_DUAL_Val);
+ // step 1.5. odd single id standard match
+ if (first_id != NO_ID) {
+ install_standard_filter(standard, first_id, first_id, CAN_SIDFE_0_SFEC_STF0M_Val + fifo, CAN_SIDFE_0_SFT_DUAL_Val);
standard = next_standard_filter(self, standard);
- first_address = NO_ADDRESS;
+ first_id = NO_ID;
}
// step 2: standard mask filter
@@ -240,36 +241,36 @@ void set_filters(canio_listener_obj_t *self, size_t nmatch, canio_match_obj_t **
if (match->extended) {
continue;
}
- if (single_address_filter(match)) {
+ if (single_id_filter(match)) {
continue;
}
- install_standard_filter(standard, match->address, match->mask, CAN_SIDFE_0_SFEC_STF0M_Val + fifo, CAN_SIDFE_0_SFT_CLASSIC_Val);
+ install_standard_filter(standard, match->id, match->mask, CAN_SIDFE_0_SFEC_STF0M_Val + fifo, CAN_SIDFE_0_SFT_CLASSIC_Val);
standard = next_standard_filter(self, standard);
}
- // step 3: single address extended matches
+ // step 3: single id extended matches
// we have to gather up pairs and stuff them in a single filter entry
for(size_t i = 0; i<nmatch; i++) {
canio_match_obj_t *match = matches[i];
if (!match->extended) {
continue;
}
- if (!single_address_filter(match)) {
+ if (!single_id_filter(match)) {
continue;
}
- if (first_address != NO_ADDRESS) {
- install_extended_filter(extended, first_address, match->address, CAN_XIDFE_0_EFEC_STF0M_Val + fifo, CAN_XIDFE_1_EFT_DUAL_Val);
- first_address = NO_ADDRESS;
+ if (first_id != NO_ID) {
+ install_extended_filter(extended, first_id, match->id, CAN_XIDFE_0_EFEC_STF0M_Val + fifo, CAN_XIDFE_1_EFT_DUAL_Val);
+ first_id = NO_ID;
extended = next_extended_filter(self, extended);
} else {
- first_address = match->address;
+ first_id = match->id;
}
}
- // step 3.5. odd single address standard match
- if (first_address != NO_ADDRESS) {
- install_extended_filter(extended, first_address, first_address, CAN_XIDFE_0_EFEC_STF0M_Val + fifo, CAN_XIDFE_1_EFT_DUAL_Val);
+ // step 3.5. odd single id standard match
+ if (first_id != NO_ID) {
+ install_extended_filter(extended, first_id, first_id, CAN_XIDFE_0_EFEC_STF0M_Val + fifo, CAN_XIDFE_1_EFT_DUAL_Val);
extended = next_extended_filter(self, extended);
- first_address = NO_ADDRESS;
+ first_id = NO_ID;
}
// step 4: extended mask filters
@@ -278,10 +279,10 @@ void set_filters(canio_listener_obj_t *self, size_t nmatch, canio_match_obj_t **
if (!match->extended) {
continue;
}
- if (single_address_filter(match)) {
+ if (single_id_filter(match)) {
continue;
}
- install_extended_filter(extended, match->address, match->mask, CAN_XIDFE_0_EFEC_STF0M_Val + fifo, CAN_XIDFE_1_EFT_CLASSIC_Val);
+ install_extended_filter(extended, match->id, match->mask, CAN_XIDFE_0_EFEC_STF0M_Val + fifo, CAN_XIDFE_1_EFT_CLASSIC_Val);
extended = next_extended_filter(self, extended);
}
@@ -348,30 +349,32 @@ int common_hal_canio_listener_in_waiting(canio_listener_obj_t *self) {
return self->hw->RXFS.bit.F0FL;
}
-bool common_hal_canio_listener_readinto(canio_listener_obj_t *self, canio_message_obj_t *message) {
+mp_obj_t common_hal_canio_listener_receive(canio_listener_obj_t *self) {
if (!common_hal_canio_listener_in_waiting(self)) {
uint64_t deadline = supervisor_ticks_ms64() + self->timeout_ms;
do {
if (supervisor_ticks_ms64() > deadline) {
- return false;
+ return NULL;
}
} while (!common_hal_canio_listener_in_waiting(self));
}
int index = self->hw->RXFS.bit.F0GI;
canio_can_rx_fifo_t *hw_message = &self->fifo[index];
+ bool rtr = hw_message->rxf0.bit.RTR;
+ canio_message_obj_t *message = m_new_obj(canio_message_obj_t);
+ message->base.type = rtr ? &canio_remote_transmission_request_type : &canio_message_type;
message->extended = hw_message->rxf0.bit.XTD;
if (message->extended) {
message->id = hw_message->rxf0.bit.ID;
} else {
- message->id = hw_message->rxf0.bit.ID >> 18; // short addresses are left-justified
+ message->id = hw_message->rxf0.bit.ID >> 18; // short ids are left-justified
}
- message->rtr = hw_message->rxf0.bit.RTR;
message->size = hw_message->rxf1.bit.DLC;
- if (!message->rtr) {
+ if (!rtr) {
memcpy(message->data, hw_message->data, message->size);
}
self->hw->RXFA.bit.F0AI = index;
- return true;
+ return message;
}
void common_hal_canio_listener_deinit(canio_listener_obj_t *self) {
diff --git a/ports/atmel-samd/common-hal/canio/Listener.h b/ports/atmel-samd/common-hal/canio/Listener.h
index 1b81d82aa..237dca870 100644
--- a/ports/atmel-samd/common-hal/canio/Listener.h
+++ b/ports/atmel-samd/common-hal/canio/Listener.h
@@ -35,7 +35,7 @@ typedef struct {
__IO CAN_RXF0A_Type RXFA; /**< \brief (R/W 32) Rx FIFO n Acknowledge */
} canio_rxfifo_reg_t;
-typedef struct {
+typedef struct canio_listener_obj {
mp_obj_base_t base;
canio_can_obj_t *can;
canio_can_rx_fifo_t *fifo;
@@ -43,11 +43,3 @@ typedef struct {
uint32_t timeout_ms;
uint8_t fifo_idx;
} canio_listener_obj_t;
-
-void common_hal_canio_listener_construct(canio_listener_obj_t *self, canio_can_obj_t *can, size_t nmatch, canio_match_obj_t **matches, float timeout);
-void common_hal_canio_listener_check_for_deinit(canio_listener_obj_t *self);
-void common_hal_canio_listener_deinit(canio_listener_obj_t *self);
-bool common_hal_canio_listener_readinto(canio_listener_obj_t *self, canio_message_obj_t *message);
-int common_hal_canio_listener_in_waiting(canio_listener_obj_t *self);
-float common_hal_canio_listener_get_timeout(canio_listener_obj_t *self);
-void common_hal_canio_listener_set_timeout(canio_listener_obj_t *self, float timeout);
diff --git a/ports/atmel-samd/reset.c b/ports/atmel-samd/reset.c
index 735639cc4..066c9897a 100644
--- a/ports/atmel-samd/reset.c
+++ b/ports/atmel-samd/reset.c
@@ -29,6 +29,8 @@
#include "reset.h"
#include "supervisor/filesystem.h"
+void NVIC_SystemReset(void) NORETURN;
+
void reset(void) {
filesystem_flush();
NVIC_SystemReset();
diff --git a/ports/atmel-samd/reset.h b/ports/atmel-samd/reset.h
index b589d2611..482eb6ee8 100644
--- a/ports/atmel-samd/reset.h
+++ b/ports/atmel-samd/reset.h
@@ -29,14 +29,16 @@
#include <stdbool.h>
#include <stdint.h>
+#include "py/mpconfig.h"
+
// Copied from inc/uf2.h in https://github.com/Microsoft/uf2-samd21
#define DBL_TAP_MAGIC 0xf01669ef // Randomly selected, adjusted to have first and last bit set
#define DBL_TAP_MAGIC_QUICK_BOOT 0xf02669ef
extern uint32_t _bootloader_dbl_tap;
-void reset_to_bootloader(void);
-void reset(void);
+void reset_to_bootloader(void) NORETURN;
+void reset(void) NORETURN;
bool bootloader_available(void);
#endif // MICROPY_INCLUDED_ATMEL_SAMD_RESET_H
diff --git a/ports/cxd56/supervisor/port.c b/ports/cxd56/supervisor/port.c
index 6164f7411..92d335cd5 100644
--- a/ports/cxd56/supervisor/port.c
+++ b/ports/cxd56/supervisor/port.c
@@ -71,6 +71,8 @@ safe_mode_t port_init(void) {
void reset_cpu(void) {
boardctl(BOARDIOC_RESET, 0);
+ for (;;) {
+ }
}
void reset_port(void) {
@@ -91,6 +93,9 @@ void reset_port(void) {
}
void reset_to_bootloader(void) {
+ boardctl(BOARDIOC_RESET, 0);
+ for (;;) {
+ }
}
supervisor_allocation* port_fixed_stack(void) {
diff --git a/ports/esp32s2/Makefile b/ports/esp32s2/Makefile
index 3488780f6..ee7d638f3 100644
--- a/ports/esp32s2/Makefile
+++ b/ports/esp32s2/Makefile
@@ -235,9 +235,17 @@ IDF_PATH = $(realpath ./esp-idf)
$(BUILD)/esp-idf:
$(Q)$(MKDIR) -p $@
+FLASH_SDKCONFIG = esp-idf-config/sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE).defaults
+ifeq ($(DEBUG), 1)
+ DEBUG_SDKCONFIG = esp-idf-config/sdkconfig-debug.defaults
+else
+ DEBUG_SDKCONFIG = esp-idf-config/sdkconfig-opt.defaults
+endif
+SDKCONFIGS = esp-idf-config/sdkconfig.defaults;$(DEBUG_SDKCONFIG);$(FLASH_SDKCONFIG);boards/$(BOARD)/sdkconfig
+
# create the config headers
$(BUILD)/esp-idf/config/sdkconfig.h: boards/$(BOARD)/sdkconfig | $(BUILD)/esp-idf
- IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig-$(CIRCUITPY_ESP_FLASH_SIZE).defaults;boards/$(BOARD)/sdkconfig" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-esp32s2.cmake -DIDF_TARGET=esp32s2 -GNinja
+ IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="$(SDKCONFIGS)" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-esp32s2.cmake -DIDF_TARGET=esp32s2 -GNinja
# build a lib
# Adding -d explain -j 1 -v to the ninja line will output debug info
@@ -254,10 +262,11 @@ $(BUILD)/esp-idf/esp-idf/esp32s2/ld/esp32s2.project.ld: $(BUILD)/esp-idf/config/
$(BUILD)/esp-idf/partition_table/partition-table.bin: $(BUILD)/esp-idf/config/sdkconfig.h
IDF_PATH=$(IDF_PATH) ninja -C $(BUILD)/esp-idf partition_table/partition-table.bin
-# run menuconfig
+# run menuconfig and then remove standard settings
menuconfig: $(BUILD)/esp-idf/config
$(Q)ninja -C $(BUILD)/esp-idf menuconfig
- $(Q)diff --old-line-format= --unchanged-line-format= sdkconfig.defaults $(BUILD)/esp-idf/sdkconfig > boards/$(BOARD)/sdkconfig || true
+ $(Q)diff --old-line-format= --unchanged-line-format= esp-idf-config/sdkconfig.defaults $(BUILD)/esp-idf/sdkconfig > $(BUILD)/sdkconfig.diff || true
+ $(Q)grep -Fvxf $(DEBUG_SDKCONFIG) -f $(FLASH_SDKCONFIG) $(BUILD)/sdkconfig.diff > boards/$(BOARD)/sdkconfig
# qstr builds include headers so we need to make sure they are up to date
$(HEADER_BUILD)/qstr.i.last: | $(BUILD)/esp-idf/config/sdkconfig.h
@@ -314,8 +323,6 @@ $(BUILD)/firmware.elf: $(OBJ) | esp-idf-stamp
$(BUILD)/circuitpython-firmware.bin: $(BUILD)/firmware.elf
$(STEPECHO) "Create $@"
$(Q)esptool.py --chip esp32s2 elf2image $(FLASH_FLAGS) --elf-sha256-offset 0xb0 -o $@ $^
-# $(Q)$(OBJCOPY) -O binary $^ $@
-# $(Q)$(OBJCOPY) -O binary -j .vectors -j .text -j .data $^ $@
$(BUILD)/firmware.bin: $(BUILD)/circuitpython-firmware.bin | esp-idf-stamp
$(Q)$(PYTHON) ../../tools/join_bins.py $@ 0x1000 $(BUILD)/esp-idf/bootloader/bootloader.bin 0x8000 $(BUILD)/esp-idf/partition_table/partition-table.bin 0x10000 $(BUILD)/circuitpython-firmware.bin
diff --git a/ports/esp32s2/boards/adafruit_metro_esp32s2/board.c b/ports/esp32s2/boards/adafruit_metro_esp32s2/board.c
new file mode 100644
index 000000000..7380be6da
--- /dev/null
+++ b/ports/esp32s2/boards/adafruit_metro_esp32s2/board.c
@@ -0,0 +1,43 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "boards/board.h"
+#include "mpconfigboard.h"
+#include "shared-bindings/microcontroller/Pin.h"
+
+void board_init(void) {
+ // USB
+ common_hal_never_reset_pin(&pin_GPIO19);
+ common_hal_never_reset_pin(&pin_GPIO20);
+}
+
+bool board_requests_safe_mode(void) {
+ return false;
+}
+
+void reset_board(void) {
+
+}
diff --git a/ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h b/ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
new file mode 100644
index 000000000..7280aab9c
--- /dev/null
+++ b/ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.h
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+//Micropython setup
+
+#define MICROPY_HW_BOARD_NAME "Metro ESP32S2"
+#define MICROPY_HW_MCU_NAME "ESP32S2"
+
+#define MICROPY_HW_NEOPIXEL (&pin_GPIO45)
+
+#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
+
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
+
+#define AUTORESET_DELAY_MS 500
+
+#define DEFAULT_I2C_BUS_SCL (&pin_GPIO34)
+#define DEFAULT_I2C_BUS_SDA (&pin_GPIO33)
+
+#define DEFAULT_SPI_BUS_SCK (&pin_GPIO36)
+#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO35)
+#define DEFAULT_SPI_BUS_MISO (&pin_GPIO37)
+
+#define DEFAULT_UART_BUS_RX (&pin_GPIO5)
+#define DEFAULT_UART_BUS_TX (&pin_GPIO6)
diff --git a/ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.mk b/ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.mk
new file mode 100644
index 000000000..e78098d64
--- /dev/null
+++ b/ports/esp32s2/boards/adafruit_metro_esp32s2/mpconfigboard.mk
@@ -0,0 +1,17 @@
+USB_VID = 0x239A
+USB_PID = 0x80E0
+USB_PRODUCT = "Metro ESP32S2"
+USB_MANUFACTURER = "Adafruit"
+
+INTERNAL_FLASH_FILESYSTEM = 1
+LONGINT_IMPL = MPZ
+
+# The default queue depth of 16 overflows on release builds,
+# so increase it to 32.
+CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
+
+CIRCUITPY_ESP_FLASH_MODE=dio
+CIRCUITPY_ESP_FLASH_FREQ=40m
+CIRCUITPY_ESP_FLASH_SIZE=4MB
+
+CIRCUITPY_MODULE=wrover
diff --git a/ports/esp32s2/boards/adafruit_metro_esp32s2/pins.c b/ports/esp32s2/boards/adafruit_metro_esp32s2/pins.c
new file mode 100644
index 000000000..08d2b2a1a
--- /dev/null
+++ b/ports/esp32s2/boards/adafruit_metro_esp32s2/pins.c
@@ -0,0 +1,44 @@
+#include "shared-bindings/board/__init__.h"
+
+STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
+ { MP_OBJ_NEW_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO17) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO18) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO1) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO2) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_GPIO3) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO4) },
+
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO5) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO5) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO6) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO6) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO7) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_GPIO8) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO9) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO10) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO11) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO12) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO14) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO15) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO16) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_GPIO21) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_GPIO42) },
+
+ { MP_OBJ_NEW_QSTR(MP_QSTR_SDA),MP_ROM_PTR(&pin_GPIO33) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_SCL),MP_ROM_PTR(&pin_GPIO34) },
+
+ { MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), 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_SCK), MP_ROM_PTR(&pin_GPIO36) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_MOSI),MP_ROM_PTR(&pin_GPIO35) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_MISO),MP_ROM_PTR(&pin_GPIO37) },
+
+ { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
+ { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
+ { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
+};
+MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
diff --git a/ports/esp32s2/boards/adafruit_metro_esp32s2/sdkconfig b/ports/esp32s2/boards/adafruit_metro_esp32s2/sdkconfig
new file mode 100644
index 000000000..9d8bbde96
--- /dev/null
+++ b/ports/esp32s2/boards/adafruit_metro_esp32s2/sdkconfig
@@ -0,0 +1,33 @@
+CONFIG_ESP32S2_SPIRAM_SUPPORT=y
+
+#
+# SPI RAM config
+#
+# CONFIG_SPIRAM_TYPE_AUTO is not set
+CONFIG_SPIRAM_TYPE_ESPPSRAM16=y
+# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
+# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
+CONFIG_SPIRAM_SIZE=2097152
+
+#
+# PSRAM clock and cs IO for ESP32S2
+#
+CONFIG_DEFAULT_PSRAM_CLK_IO=30
+CONFIG_DEFAULT_PSRAM_CS_IO=26
+# end of PSRAM clock and cs IO for ESP32S2
+
+# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
+# CONFIG_SPIRAM_RODATA is not set
+# CONFIG_SPIRAM_SPEED_80M is not set
+CONFIG_SPIRAM_SPEED_40M=y
+# CONFIG_SPIRAM_SPEED_26M is not set
+# CONFIG_SPIRAM_SPEED_20M is not set
+CONFIG_SPIRAM=y
+CONFIG_SPIRAM_BOOT_INIT=y
+# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
+CONFIG_SPIRAM_USE_MEMMAP=y
+# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
+# CONFIG_SPIRAM_USE_MALLOC is not set
+CONFIG_SPIRAM_MEMTEST=y
+# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
+# end of SPI RAM config
diff --git a/ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h b/ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
index 2af3515f4..1ec61e946 100644
--- a/ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
+++ b/ports/esp32s2/boards/electroniccats_bastwifi/mpconfigboard.h
@@ -31,6 +31,6 @@
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
-#define BOARD_USER_SAFE_MODE_ACTION "pressing boot button at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500
diff --git a/ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h b/ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
index a4c8e6576..2c0f175ab 100644
--- a/ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
+++ b/ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
@@ -33,6 +33,6 @@
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
-#define BOARD_USER_SAFE_MODE_ACTION "pressing boot button at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500
diff --git a/ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h b/ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
index 335aaeb5e..3f628c0f1 100644
--- a/ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
+++ b/ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
@@ -33,6 +33,6 @@
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
-#define BOARD_USER_SAFE_MODE_ACTION "pressing boot button at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500
diff --git a/ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h b/ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
index d3ef8bb26..961522891 100644
--- a/ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
+++ b/ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
@@ -33,6 +33,6 @@
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
-#define BOARD_USER_SAFE_MODE_ACTION "pressing boot button at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500
diff --git a/ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h b/ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
index c138c8ed1..b87b5dfa0 100644
--- a/ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
+++ b/ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
@@ -35,6 +35,6 @@
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
-#define BOARD_USER_SAFE_MODE_ACTION "pressing boot button at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500
diff --git a/ports/esp32s2/boards/microdev_micro_s2/sdkconfig b/ports/esp32s2/boards/microdev_micro_s2/sdkconfig
index b73c4a8c2..67ac6d2f3 100644
--- a/ports/esp32s2/boards/microdev_micro_s2/sdkconfig
+++ b/ports/esp32s2/boards/microdev_micro_s2/sdkconfig
@@ -16,10 +16,8 @@ CONFIG_DEFAULT_PSRAM_CLK_IO=30
CONFIG_DEFAULT_PSRAM_CS_IO=26
# end of PSRAM clock and cs IO for ESP32S2
-CONFIG_SPIRAM_SPIWP_SD3_PIN=28
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
-# CONFIG_SPIRAM_USE_AHB_DBUS3 is not set
# CONFIG_SPIRAM_SPEED_80M is not set
CONFIG_SPIRAM_SPEED_40M=y
# CONFIG_SPIRAM_SPEED_26M is not set
@@ -33,3 +31,4 @@ CONFIG_SPIRAM_USE_MEMMAP=y
CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config
+
diff --git a/ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h b/ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
index 5a165decc..6b05ac06f 100644
--- a/ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
+++ b/ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
@@ -31,4 +31,8 @@
#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
+#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
+
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
+
#define AUTORESET_DELAY_MS 500
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h b/ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
index a65d00206..a77de1511 100644
--- a/ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
@@ -31,10 +31,9 @@
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
-#define BOARD_USER_SAFE_MODE_ACTION "pressing boot button at start up.\n"
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500
-// Doesn't work with this on.
-// #define MICROPY_HW_APA102_MOSI (&pin_GPIO44)
-// #define MICROPY_HW_APA102_SCK (&pin_GPIO45)
+#define MICROPY_HW_APA102_MOSI (&pin_GPIO40)
+#define MICROPY_HW_APA102_SCK (&pin_GPIO45)
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.mk b/ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.mk
index 294736d17..9857c0761 100644
--- a/ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.mk
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.mk
@@ -16,3 +16,6 @@ CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_SIZE=16MB
CIRCUITPY_BITBANG_APA102 = 1
+
+# Include these Python libraries in firmware.
+# FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2/pins.c b/ports/esp32s2/boards/unexpectedmaker_feathers2/pins.c
index e8dd2edf6..c294fb9d3 100644
--- a/ports/esp32s2/boards/unexpectedmaker_feathers2/pins.c
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2/pins.c
@@ -1,55 +1,100 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
+ { MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_GPIO17) },
+ { MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_GPIO18) },
- { MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO14) },
- { MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO14) },
+ { MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO12) },
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO12) },
+ { MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO6) },
+ { MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO5) },
{ MP_ROM_QSTR(MP_QSTR_D19), MP_ROM_PTR(&pin_GPIO5) },
+ { MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO36) },
{ MP_ROM_QSTR(MP_QSTR_D25), MP_ROM_PTR(&pin_GPIO36) },
+ { MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
{ MP_ROM_QSTR(MP_QSTR_D24), MP_ROM_PTR(&pin_GPIO35) },
+ { MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },
{ MP_ROM_QSTR(MP_QSTR_D23), MP_ROM_PTR(&pin_GPIO37) },
+ { MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
+ { MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
- // Moving to 9 and 8
- { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO38) },
- { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO33) },
+ { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO8) },
+ { MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
+ { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO8) },
+
+ { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO9) },
+ { MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
+ { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO9) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
+ { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO0) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO1) },
+ { MP_ROM_QSTR(MP_QSTR_A10), MP_ROM_PTR(&pin_GPIO1) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO3) },
+ { MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_GPIO3) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO7) },
- { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO8) },
- { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO9) },
+ { MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_GPIO7) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
+ { MP_ROM_QSTR(MP_QSTR_D20), MP_ROM_PTR(&pin_GPIO33) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
+ { MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO38) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_GPIO10) },
+ { MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_GPIO10) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_GPIO11) },
+ { MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_GPIO11) },
- { MP_ROM_QSTR(MP_QSTR_APA102_MOSI), MP_ROM_PTR(&pin_GPIO44) }, // MTDO
+ { MP_ROM_QSTR(MP_QSTR_APA102_MOSI), MP_ROM_PTR(&pin_GPIO40) }, // MTDO
{ MP_ROM_QSTR(MP_QSTR_APA102_SCK), MP_ROM_PTR(&pin_GPIO45) },
+
+ { MP_ROM_QSTR(MP_QSTR_LDO2), MP_ROM_PTR(&pin_GPIO21) },
+ { MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
+ { MP_ROM_QSTR(MP_QSTR_AMB), MP_ROM_PTR(&pin_GPIO4) },
+
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2/sdkconfig b/ports/esp32s2/boards/unexpectedmaker_feathers2/sdkconfig
index b73c4a8c2..67ac6d2f3 100644
--- a/ports/esp32s2/boards/unexpectedmaker_feathers2/sdkconfig
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2/sdkconfig
@@ -16,10 +16,8 @@ CONFIG_DEFAULT_PSRAM_CLK_IO=30
CONFIG_DEFAULT_PSRAM_CS_IO=26
# end of PSRAM clock and cs IO for ESP32S2
-CONFIG_SPIRAM_SPIWP_SD3_PIN=28
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
-# CONFIG_SPIRAM_USE_AHB_DBUS3 is not set
# CONFIG_SPIRAM_SPEED_80M is not set
CONFIG_SPIRAM_SPEED_40M=y
# CONFIG_SPIRAM_SPEED_26M is not set
@@ -33,3 +31,4 @@ CONFIG_SPIRAM_USE_MEMMAP=y
CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config
+
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/board.c b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/board.c
new file mode 100644
index 000000000..1dc30b5af
--- /dev/null
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/board.c
@@ -0,0 +1,56 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "boards/board.h"
+#include "mpconfigboard.h"
+#include "shared-bindings/microcontroller/Pin.h"
+
+void board_init(void) {
+ // USB
+ common_hal_never_reset_pin(&pin_GPIO19);
+ common_hal_never_reset_pin(&pin_GPIO20);
+
+ // Debug UART
+ common_hal_never_reset_pin(&pin_GPIO43);
+ common_hal_never_reset_pin(&pin_GPIO44);
+
+ // SPI Flash and RAM
+ common_hal_never_reset_pin(&pin_GPIO26);
+ common_hal_never_reset_pin(&pin_GPIO27);
+ common_hal_never_reset_pin(&pin_GPIO28);
+ common_hal_never_reset_pin(&pin_GPIO29);
+ common_hal_never_reset_pin(&pin_GPIO30);
+ common_hal_never_reset_pin(&pin_GPIO31);
+ common_hal_never_reset_pin(&pin_GPIO32);
+}
+
+bool board_requests_safe_mode(void) {
+ return false;
+}
+
+void reset_board(void) {
+
+}
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
new file mode 100644
index 000000000..ee97d62c6
--- /dev/null
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+//Micropython setup
+
+#define MICROPY_HW_BOARD_NAME "FeatherS2"
+#define MICROPY_HW_MCU_NAME "ESP32S2"
+
+#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
+#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
+
+#define AUTORESET_DELAY_MS 500
+
+#define MICROPY_HW_APA102_MOSI (&pin_GPIO40)
+#define MICROPY_HW_APA102_SCK (&pin_GPIO45)
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.mk b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.mk
new file mode 100644
index 000000000..9857c0761
--- /dev/null
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.mk
@@ -0,0 +1,21 @@
+USB_VID = 0x239A
+USB_PID = 0x80AC
+USB_PRODUCT = "FeatherS2"
+USB_MANUFACTURER = "UnexpectedMaker"
+USB_DEVICES = "CDC,MSC,HID"
+
+INTERNAL_FLASH_FILESYSTEM = 1
+LONGINT_IMPL = MPZ
+
+# The default queue depth of 16 overflows on release builds,
+# so increase it to 32.
+CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
+
+CIRCUITPY_ESP_FLASH_MODE=qio
+CIRCUITPY_ESP_FLASH_FREQ=40m
+CIRCUITPY_ESP_FLASH_SIZE=16MB
+
+CIRCUITPY_BITBANG_APA102 = 1
+
+# Include these Python libraries in firmware.
+# FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/pins.c b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/pins.c
new file mode 100644
index 000000000..967f5e8d9
--- /dev/null
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/pins.c
@@ -0,0 +1,102 @@
+#include "shared-bindings/board/__init__.h"
+
+STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
+ { MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
+ { MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO17) },
+ { MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_GPIO17) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
+ { MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO18) },
+ { MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_GPIO18) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO13) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
+ { MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO12) },
+ { MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO12) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
+ { MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_GPIO6) },
+ { MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO6) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
+ { MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO5) },
+ { MP_ROM_QSTR(MP_QSTR_D19), MP_ROM_PTR(&pin_GPIO5) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
+ { MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO36) },
+ { MP_ROM_QSTR(MP_QSTR_D25), MP_ROM_PTR(&pin_GPIO36) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
+ { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
+ { MP_ROM_QSTR(MP_QSTR_D24), MP_ROM_PTR(&pin_GPIO35) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
+ { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },
+ { MP_ROM_QSTR(MP_QSTR_D23), MP_ROM_PTR(&pin_GPIO37) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
+ { MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO44) },
+ { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
+ { MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO43) },
+ { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
+
+ { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO38) },
+ { MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
+ { MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO38) },
+
+ { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO33) },
+ { MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
+ { MP_ROM_QSTR(MP_QSTR_D20), MP_ROM_PTR(&pin_GPIO33) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
+ { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO0) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
+ { MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO1) },
+ { MP_ROM_QSTR(MP_QSTR_A10), MP_ROM_PTR(&pin_GPIO1) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
+ { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO3) },
+ { MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_GPIO3) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
+ { MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO7) },
+ { MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_GPIO7) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
+ { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO8) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
+ { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO9) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
+ { MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_GPIO10) },
+ { MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_GPIO10) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
+ { MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_GPIO11) },
+ { MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_GPIO11) },
+
+ { MP_ROM_QSTR(MP_QSTR_APA102_MOSI), MP_ROM_PTR(&pin_GPIO40) }, // MTDO
+ { MP_ROM_QSTR(MP_QSTR_APA102_SCK), MP_ROM_PTR(&pin_GPIO45) },
+
+ { MP_ROM_QSTR(MP_QSTR_LDO2), MP_ROM_PTR(&pin_GPIO21) },
+ { MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
+ { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO13) },
+
+ { MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
+ { MP_ROM_QSTR(MP_QSTR_AMB), MP_ROM_PTR(&pin_GPIO4) },
+
+ { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
+ { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
+ { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
+};
+MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/sdkconfig b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/sdkconfig
new file mode 100644
index 000000000..b73c4a8c2
--- /dev/null
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/sdkconfig
@@ -0,0 +1,35 @@
+CONFIG_ESP32S2_SPIRAM_SUPPORT=y
+
+#
+# SPI RAM config
+#
+# CONFIG_SPIRAM_TYPE_AUTO is not set
+# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
+# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
+CONFIG_SPIRAM_TYPE_ESPPSRAM64=y
+CONFIG_SPIRAM_SIZE=8388608
+
+#
+# PSRAM clock and cs IO for ESP32S2
+#
+CONFIG_DEFAULT_PSRAM_CLK_IO=30
+CONFIG_DEFAULT_PSRAM_CS_IO=26
+# end of PSRAM clock and cs IO for ESP32S2
+
+CONFIG_SPIRAM_SPIWP_SD3_PIN=28
+# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
+# CONFIG_SPIRAM_RODATA is not set
+# CONFIG_SPIRAM_USE_AHB_DBUS3 is not set
+# CONFIG_SPIRAM_SPEED_80M is not set
+CONFIG_SPIRAM_SPEED_40M=y
+# CONFIG_SPIRAM_SPEED_26M is not set
+# CONFIG_SPIRAM_SPEED_20M is not set
+CONFIG_SPIRAM=y
+CONFIG_SPIRAM_BOOT_INIT=y
+# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
+CONFIG_SPIRAM_USE_MEMMAP=y
+# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
+# CONFIG_SPIRAM_USE_MALLOC is not set
+CONFIG_SPIRAM_MEMTEST=y
+# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
+# end of SPI RAM config
diff --git a/ports/esp32s2/common-hal/digitalio/DigitalInOut.c b/ports/esp32s2/common-hal/digitalio/DigitalInOut.c
index 46c47a285..a2a0209f9 100644
--- a/ports/esp32s2/common-hal/digitalio/DigitalInOut.c
+++ b/ports/esp32s2/common-hal/digitalio/DigitalInOut.c
@@ -42,6 +42,16 @@ digitalinout_result_t common_hal_digitalio_digitalinout_construct(
claim_pin(pin);
self->pin = pin;
+ gpio_config_t config;
+ config.pin_bit_mask = 1ull << pin->number;
+ config.mode = GPIO_MODE_INPUT;
+ config.pull_up_en = GPIO_PULLUP_DISABLE;
+ config.pull_down_en = GPIO_PULLDOWN_DISABLE;
+ config.intr_type = GPIO_INTR_DISABLE;
+ if (gpio_config(&config) != ESP_OK) {
+ return DIGITALINOUT_PIN_BUSY;
+ }
+
return DIGITALINOUT_OK;
}
@@ -67,7 +77,7 @@ void common_hal_digitalio_digitalinout_switch_to_input(
digitalinout_result_t common_hal_digitalio_digitalinout_switch_to_output(
digitalio_digitalinout_obj_t *self, bool value,
digitalio_drive_mode_t drive_mode) {
- gpio_set_level(self->pin->number, value);
+ common_hal_digitalio_digitalinout_set_value(self, value);
return common_hal_digitalio_digitalinout_set_drive_mode(self, drive_mode);
}
@@ -82,12 +92,16 @@ digitalio_direction_t common_hal_digitalio_digitalinout_get_direction(
void common_hal_digitalio_digitalinout_set_value(
digitalio_digitalinout_obj_t *self, bool value) {
+ self->output_value = value;
gpio_set_level(self->pin->number, value);
}
bool common_hal_digitalio_digitalinout_get_value(
digitalio_digitalinout_obj_t *self) {
- return gpio_get_level(self->pin->number) == 1;
+ if (common_hal_digitalio_digitalinout_get_direction(self) == DIRECTION_INPUT) {
+ return gpio_get_level(self->pin->number) == 1;
+ }
+ return self->output_value;
}
digitalinout_result_t common_hal_digitalio_digitalinout_set_drive_mode(
diff --git a/ports/esp32s2/common-hal/digitalio/DigitalInOut.h b/ports/esp32s2/common-hal/digitalio/DigitalInOut.h
index 6877f1741..c09c5502d 100644
--- a/ports/esp32s2/common-hal/digitalio/DigitalInOut.h
+++ b/ports/esp32s2/common-hal/digitalio/DigitalInOut.h
@@ -33,6 +33,7 @@
typedef struct {
mp_obj_base_t base;
const mcu_pin_obj_t *pin;
+ bool output_value;
} digitalio_digitalinout_obj_t;
#endif // MICROPY_INCLUDED_ESP32S2_COMMON_HAL_DIGITALIO_DIGITALINOUT_H
diff --git a/ports/esp32s2/common-hal/wifi/Radio.c b/ports/esp32s2/common-hal/wifi/Radio.c
index ac3e2ee4c..b62ad611b 100644
--- a/ports/esp32s2/common-hal/wifi/Radio.c
+++ b/ports/esp32s2/common-hal/wifi/Radio.c
@@ -106,6 +106,8 @@ void common_hal_wifi_radio_stop_scanning_networks(wifi_radio_obj_t *self) {
wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t* ssid, size_t ssid_len, uint8_t* password, size_t password_len, uint8_t channel, mp_float_t timeout, uint8_t* bssid, size_t bssid_len) {
// check enabled
+ start_station(self);
+
wifi_config_t* config = &self->sta_config;
memcpy(&config->sta.ssid, ssid, ssid_len);
config->sta.ssid[ssid_len] = 0;
diff --git a/ports/esp32s2/partitions-16MB.csv b/ports/esp32s2/esp-idf-config/partitions-16MB.csv
index 13ea81bea..13ea81bea 100644
--- a/ports/esp32s2/partitions-16MB.csv
+++ b/ports/esp32s2/esp-idf-config/partitions-16MB.csv
diff --git a/ports/esp32s2/partitions-4MB.csv b/ports/esp32s2/esp-idf-config/partitions-4MB.csv
index cf9b3cca8..cf9b3cca8 100644
--- a/ports/esp32s2/partitions-4MB.csv
+++ b/ports/esp32s2/esp-idf-config/partitions-4MB.csv
diff --git a/ports/esp32s2/partitions-8MB.csv b/ports/esp32s2/esp-idf-config/partitions-8MB.csv
index f4ba9b60a..f4ba9b60a 100644
--- a/ports/esp32s2/partitions-8MB.csv
+++ b/ports/esp32s2/esp-idf-config/partitions-8MB.csv
diff --git a/ports/esp32s2/sdkconfig-16MB.defaults b/ports/esp32s2/esp-idf-config/sdkconfig-16MB.defaults
index af477999b..2299feccd 100644
--- a/ports/esp32s2/sdkconfig-16MB.defaults
+++ b/ports/esp32s2/esp-idf-config/sdkconfig-16MB.defaults
@@ -1,10 +1,9 @@
-
+# No newlines in this file so they are preserved in the board sdkconfig.
# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
CONFIG_ESPTOOLPY_FLASHSIZE="16MB"
-
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-16MB.csv"
-CONFIG_PARTITION_TABLE_FILENAME="partitions-16MB.csv"
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-16MB.csv"
+CONFIG_PARTITION_TABLE_FILENAME="esp-idf-config/partitions-16MB.csv" \ No newline at end of file
diff --git a/ports/esp32s2/sdkconfig-4MB.defaults b/ports/esp32s2/esp-idf-config/sdkconfig-4MB.defaults
index 561f971c3..4da90d1bc 100644
--- a/ports/esp32s2/sdkconfig-4MB.defaults
+++ b/ports/esp32s2/esp-idf-config/sdkconfig-4MB.defaults
@@ -1,10 +1,9 @@
-
+# No newlines in this file so they are preserved in the board sdkconfig.
# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
-
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-4MB.csv"
-CONFIG_PARTITION_TABLE_FILENAME="partitions-4MB.csv"
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-4MB.csv"
+CONFIG_PARTITION_TABLE_FILENAME="esp-idf-config/partitions-4MB.csv" \ No newline at end of file
diff --git a/ports/esp32s2/sdkconfig-8MB.defaults b/ports/esp32s2/esp-idf-config/sdkconfig-8MB.defaults
index fcff17f46..af681c5ea 100644
--- a/ports/esp32s2/sdkconfig-8MB.defaults
+++ b/ports/esp32s2/esp-idf-config/sdkconfig-8MB.defaults
@@ -1,10 +1,9 @@
-
+# No newlines in this file so they are preserved in the board sdkconfig.
# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
-
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-8MB.csv"
-CONFIG_PARTITION_TABLE_FILENAME="partitions-8MB.csv"
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-8MB.csv"
+CONFIG_PARTITION_TABLE_FILENAME="esp-idf-config/partitions-8MB.csv" \ No newline at end of file
diff --git a/ports/esp32s2/esp-idf-config/sdkconfig-debug.defaults b/ports/esp32s2/esp-idf-config/sdkconfig-debug.defaults
new file mode 100644
index 000000000..f45f6ae9f
--- /dev/null
+++ b/ports/esp32s2/esp-idf-config/sdkconfig-debug.defaults
@@ -0,0 +1,13 @@
+# No newlines in this file so they are preserved in the board sdkconfig.
+CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
+CONFIG_ESP_CONSOLE_UART_DEFAULT=y
+# CONFIG_ESP_CONSOLE_USB_CDC is not set
+# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
+# CONFIG_ESP_CONSOLE_NONE is not set
+CONFIG_ESP_CONSOLE_UART=y
+CONFIG_ESP_CONSOLE_UART_NUM=0
+CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
+CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
+# CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT is not set
+# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set \ No newline at end of file
diff --git a/ports/esp32s2/esp-idf-config/sdkconfig-opt.defaults b/ports/esp32s2/esp-idf-config/sdkconfig-opt.defaults
new file mode 100644
index 000000000..af0746bc0
--- /dev/null
+++ b/ports/esp32s2/esp-idf-config/sdkconfig-opt.defaults
@@ -0,0 +1,12 @@
+# No newlines in this file so they are preserved in the board sdkconfig.
+# CONFIG_ESP_ERR_TO_NAME_LOOKUP is not set
+# CONFIG_ESP_CONSOLE_UART_DEFAULT is not set
+# CONFIG_CONSOLE_UART_DEFAULT is not set
+CONFIG_ESP_CONSOLE_UART_NONE=y
+CONFIG_ESP_CONSOLE_NONE=y
+CONFIG_ESP_CONSOLE_UART_NUM=-1
+CONFIG_CONSOLE_UART_NUM=-1
+# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
+CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT=y
+# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set
+CONFIG_ESP32S2_PANIC_SILENT_REBOOT=y \ No newline at end of file
diff --git a/ports/esp32s2/sdkconfig.defaults b/ports/esp32s2/esp-idf-config/sdkconfig.defaults
index 4094367e0..4094367e0 100644
--- a/ports/esp32s2/sdkconfig.defaults
+++ b/ports/esp32s2/esp-idf-config/sdkconfig.defaults
diff --git a/ports/esp32s2/supervisor/port.c b/ports/esp32s2/supervisor/port.c
index d2630617b..4290b9bb4 100644
--- a/ports/esp32s2/supervisor/port.c
+++ b/ports/esp32s2/supervisor/port.c
@@ -56,6 +56,8 @@ uint32_t heap_size;
STATIC esp_timer_handle_t _tick_timer;
+extern void esp_restart(void) NORETURN;
+
void tick_timer_cb(void* arg) {
supervisor_tick();
}
@@ -118,9 +120,11 @@ void reset_port(void) {
}
void reset_to_bootloader(void) {
+ esp_restart();
}
void reset_cpu(void) {
+ esp_restart();
}
uint32_t *port_heap_get_bottom(void) {
diff --git a/ports/litex/supervisor/port.c b/ports/litex/supervisor/port.c
index 3125072e6..e55eb49f0 100644
--- a/ports/litex/supervisor/port.c
+++ b/ports/litex/supervisor/port.c
@@ -85,9 +85,17 @@ void reset_port(void) {
void reset_to_bootloader(void) {
reboot_ctrl_write(0xac);
+ for(;;) {}
}
void reset_cpu(void) {
+ // "You can reset Fomu by writing a special value to the CSR_REBOOT_CTRL
+ // register at 0xe0006000L. All writes to this register must start with
+ // 0xac, to ensure random values aren’t written. We can reboot Fomu by
+ // simply writing this value" --
+ // https://workshop.fomu.im/en/latest/riscv.html
+ reboot_ctrl_write(0xac);
+ for(;;) {}
}
supervisor_allocation* port_fixed_stack(void) {
diff --git a/ports/mimxrt10xx/reset.h b/ports/mimxrt10xx/reset.h
index dc3106cf0..ea56df02a 100644
--- a/ports/mimxrt10xx/reset.h
+++ b/ports/mimxrt10xx/reset.h
@@ -30,12 +30,14 @@
#include <stdbool.h>
#include <stdint.h>
+#include "py/mpconfig.h"
+
// Copied from inc/uf2.h in https://github.com/Microsoft/uf2-samd21
#define DBL_TAP_MAGIC 0xf01669ef // Randomly selected, adjusted to have first and last bit set
#define DBL_TAP_MAGIC_QUICK_BOOT 0xf02669ef
-void reset_to_bootloader(void);
-void reset(void);
+void reset_to_bootloader(void) NORETURN;
+void reset(void) NORETURN;
bool bootloader_available(void);
#endif // MICROPY_INCLUDED_MIMXRT10XX_RESET_H
diff --git a/ports/nrf/boards/clue_nrf52840_express/board.c b/ports/nrf/boards/clue_nrf52840_express/board.c
index 45452a35e..523bd7677 100644
--- a/ports/nrf/boards/clue_nrf52840_express/board.c
+++ b/ports/nrf/boards/clue_nrf52840_express/board.c
@@ -91,7 +91,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // not SH1107
}
bool board_requests_safe_mode(void) {
diff --git a/ports/nrf/boards/hiibot_bluefi/board.c b/ports/nrf/boards/hiibot_bluefi/board.c
index 6b53cab13..93e31aef0 100644
--- a/ports/nrf/boards/hiibot_bluefi/board.c
+++ b/ports/nrf/boards/hiibot_bluefi/board.c
@@ -92,7 +92,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/nrf/boards/makerdiary_nrf52840_m2_devkit/board.c b/ports/nrf/boards/makerdiary_nrf52840_m2_devkit/board.c
index e7f946f4d..e08d00dac 100644
--- a/ports/nrf/boards/makerdiary_nrf52840_m2_devkit/board.c
+++ b/ports/nrf/boards/makerdiary_nrf52840_m2_devkit/board.c
@@ -92,7 +92,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/nrf/boards/ohs2020_badge/board.c b/ports/nrf/boards/ohs2020_badge/board.c
index 9fcf9d2bf..ec52690ce 100644
--- a/ports/nrf/boards/ohs2020_badge/board.c
+++ b/ports/nrf/boards/ohs2020_badge/board.c
@@ -91,7 +91,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- false); // backlight_on_high
+ false, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/nrf/supervisor/port.c b/ports/nrf/supervisor/port.c
index 2945f244d..bc8b47be7 100644
--- a/ports/nrf/supervisor/port.c
+++ b/ports/nrf/supervisor/port.c
@@ -234,6 +234,8 @@ void reset_cpu(void) {
uint32_t ticks = nrfx_rtc_counter_get(&rtc_instance);
overflow_tracker.overflowed_ticks += ticks / 32;
NVIC_SystemReset();
+ for (;;) {
+ }
}
// The uninitialized data section is placed directly after BSS, under the theory
diff --git a/ports/stm/boards/meowbit_v121/board.c b/ports/stm/boards/meowbit_v121/board.c
index b74f13516..f67b4a49d 100644
--- a/ports/stm/boards/meowbit_v121/board.c
+++ b/ports/stm/boards/meowbit_v121/board.c
@@ -111,7 +111,8 @@ void board_init(void) {
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
- true); // backlight_on_high
+ true, // backlight_on_high
+ false); // SH1107_addressing
}
bool board_requests_safe_mode(void) {
diff --git a/ports/stm/supervisor/port.c b/ports/stm/supervisor/port.c
index e21105001..bb304a317 100644
--- a/ports/stm/supervisor/port.c
+++ b/ports/stm/supervisor/port.c
@@ -56,6 +56,8 @@
#include STM32_HAL_H
+void NVIC_SystemReset(void) NORETURN;
+
#if (CPY_STM32H7) || (CPY_STM32F7)
// Device memories must be accessed in order.
@@ -247,7 +249,7 @@ void reset_port(void) {
}
void reset_to_bootloader(void) {
-
+ NVIC_SystemReset();
}
void reset_cpu(void) {
diff --git a/py/circuitpy_defns.mk b/py/circuitpy_defns.mk
index 98fa7a5f2..76c0a4db6 100644
--- a/py/circuitpy_defns.mk
+++ b/py/circuitpy_defns.mk
@@ -411,6 +411,7 @@ SRC_SHARED_MODULE_ALL = \
_bleio/ScanResults.c \
canio/Match.c \
canio/Message.c \
+ canio/RemoteTransmissionRequest.c \
_eve/__init__.c \
_pixelbuf/PixelBuf.c \
_pixelbuf/__init__.c \
diff --git a/shared-bindings/canio/CAN.c b/shared-bindings/canio/CAN.c
index ff27bb204..6dae36943 100644
--- a/shared-bindings/canio/CAN.c
+++ b/shared-bindings/canio/CAN.c
@@ -171,59 +171,8 @@ STATIC const mp_obj_property_t canio_can_receive_error_count_obj = {
(mp_obj_t)mp_const_none},
};
-//| error_warning_state_count: int
-//| """The number of times the controller enterted the Error Warning state (read-only). This number wraps around to 0 after an implementation-defined number of errors."""
-//|
-STATIC mp_obj_t canio_can_error_warning_state_count_get(mp_obj_t self_in) {
- canio_can_obj_t *self = MP_OBJ_TO_PTR(self_in);
- common_hal_canio_can_check_for_deinit(self);
- return MP_OBJ_NEW_SMALL_INT(common_hal_canio_can_error_warning_state_count_get(self));
-}
-MP_DEFINE_CONST_FUN_OBJ_1(canio_can_error_warning_state_count_get_obj, canio_can_error_warning_state_count_get);
-
-STATIC const mp_obj_property_t canio_can_error_warning_state_count_obj = {
- .base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&canio_can_error_warning_state_count_get_obj,
- (mp_obj_t)mp_const_none,
- (mp_obj_t)mp_const_none},
-};
-
-//| error_passive_state_count: int
-//| """The number of times the controller enterted the Error Passive state (read-only). This number wraps around to 0 after an implementation-defined number of errors."""
-//|
-STATIC mp_obj_t canio_can_error_passive_state_count_get(mp_obj_t self_in) {
- canio_can_obj_t *self = MP_OBJ_TO_PTR(self_in);
- common_hal_canio_can_check_for_deinit(self);
- return MP_OBJ_NEW_SMALL_INT(common_hal_canio_can_error_passive_state_count_get(self));
-}
-MP_DEFINE_CONST_FUN_OBJ_1(canio_can_error_passive_state_count_get_obj, canio_can_error_passive_state_count_get);
-
-STATIC const mp_obj_property_t canio_can_error_passive_state_count_obj = {
- .base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&canio_can_error_passive_state_count_get_obj,
- (mp_obj_t)mp_const_none,
- (mp_obj_t)mp_const_none},
-};
-
-//| bus_off_state_count: int
-//| """The number of times the controller enterted the Bus Off state (read-only). This number wraps around to 0 after an implementation-defined number of errors."""
-//|
-STATIC mp_obj_t canio_can_bus_off_state_count_get(mp_obj_t self_in) {
- canio_can_obj_t *self = MP_OBJ_TO_PTR(self_in);
- common_hal_canio_can_check_for_deinit(self);
- return MP_OBJ_NEW_SMALL_INT(common_hal_canio_can_bus_off_state_count_get(self));
-}
-MP_DEFINE_CONST_FUN_OBJ_1(canio_can_bus_off_state_count_get_obj, canio_can_bus_off_state_count_get);
-
-STATIC const mp_obj_property_t canio_can_bus_off_state_count_obj = {
- .base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&canio_can_bus_off_state_count_get_obj,
- (mp_obj_t)mp_const_none,
- (mp_obj_t)mp_const_none},
-};
-
//| state: State
-//| """The current state of the bus."""
+//| """The current state of the bus. (read-only)"""
STATIC mp_obj_t canio_can_state_get(mp_obj_t self_in) {
canio_can_obj_t *self = MP_OBJ_TO_PTR(self_in);
common_hal_canio_can_check_for_deinit(self);
@@ -252,7 +201,7 @@ STATIC mp_obj_t canio_can_restart(mp_obj_t self_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(canio_can_restart_obj, canio_can_restart);
-//| def listen(self, match: Optional[Sequence[Match]]=None, *, timeout: float=10) -> Listener:
+//| def listen(self, matches: Optional[Sequence[Match]]=None, *, timeout: float=10) -> Listener:
//| """Start receiving messages that match any one of the filters.
//|
//| Creating a listener is an expensive operation and can interfere with reception of messages by other listeners.
@@ -265,16 +214,16 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(canio_can_restart_obj, canio_can_restart);
//|
//| An empty filter list causes all messages to be accepted.
//|
-//| Timeout dictates how long readinto, read and next() will block."""
+//| Timeout dictates how long receive() and next() will block."""
//| ...
//|
STATIC mp_obj_t canio_can_listen(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
canio_can_obj_t *self = MP_OBJ_TO_PTR(pos_args[0]);
common_hal_canio_can_check_for_deinit(self);
- enum { ARG_match, ARG_timeout, NUM_ARGS };
+ enum { ARG_matches, ARG_timeout, NUM_ARGS };
static const mp_arg_t allowed_args[] = {
- { MP_QSTR_match, MP_ARG_OBJ, {.u_obj = 0} },
+ { MP_QSTR_matches, MP_ARG_OBJ, {.u_obj = 0} },
{ MP_QSTR_timeout, MP_ARG_OBJ, {.u_obj = 0} },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
@@ -285,8 +234,8 @@ STATIC mp_obj_t canio_can_listen(size_t n_args, const mp_obj_t *pos_args, mp_map
size_t nmatch = 0;
mp_obj_t *match_objects = NULL;
- if (args[ARG_match].u_obj) {
- mp_obj_get_array(args[ARG_match].u_obj, &nmatch, &match_objects);
+ if (args[ARG_matches].u_obj) {
+ mp_obj_get_array(args[ARG_matches].u_obj, &nmatch, &match_objects);
}
canio_match_obj_t *matches[nmatch];
@@ -307,7 +256,8 @@ STATIC mp_obj_t canio_can_listen(size_t n_args, const mp_obj_t *pos_args, mp_map
MP_DEFINE_CONST_FUN_OBJ_KW(canio_can_listen_obj, 1, canio_can_listen);
//| loopback: bool
-//| """True if the device was created in loopback mode, False otherwise"""
+//| """True if the device was created in loopback mode, False
+//| otherwise (read-only)"""
//|
STATIC mp_obj_t canio_can_loopback_get(mp_obj_t self_in) {
canio_can_obj_t *self = MP_OBJ_TO_PTR(self_in);
@@ -324,7 +274,7 @@ STATIC const mp_obj_property_t canio_can_loopback_obj = {
};
-//| def send(message: Message) -> None:
+//| def send(message: Union[RemoteTransmissionRequest, Message]) -> None:
//| """Send a message on the bus with the given data and id.
//| If the message could not be sent due to a full fifo or a bus error condition, RuntimeError is raised.
//| """
@@ -334,8 +284,8 @@ STATIC mp_obj_t canio_can_send(mp_obj_t self_in, mp_obj_t message_in) {
canio_can_obj_t *self = MP_OBJ_TO_PTR(self_in);
common_hal_canio_can_check_for_deinit(self);
mp_obj_type_t *message_type = mp_obj_get_type(message_in);
- if (message_type != &canio_message_type) {
- mp_raise_TypeError_varg(translate("expected '%q' but got '%q'"), MP_QSTR_Message, message_type->name);
+ if (message_type != &canio_message_type && message_type != &canio_remote_transmission_request_type) {
+ mp_raise_TypeError_varg(translate("expected '%q' or '%q' but got '%q'"), MP_QSTR_Message, MP_QSTR_RemoteTransmissionRequest, message_type->name);
}
canio_message_obj_t *message = message_in;
@@ -345,7 +295,8 @@ STATIC mp_obj_t canio_can_send(mp_obj_t self_in, mp_obj_t message_in) {
MP_DEFINE_CONST_FUN_OBJ_2(canio_can_send_obj, canio_can_send);
//| silent: bool
-//| """True if the device was created in silent mode, False otherwise"""
+//| """True if the device was created in silent mode, False
+//| otherwise (read-only)"""
//|
STATIC mp_obj_t canio_can_silent_get(mp_obj_t self_in) {
canio_can_obj_t *self = MP_OBJ_TO_PTR(self_in);
@@ -399,10 +350,7 @@ STATIC const mp_rom_map_elem_t canio_can_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&canio_can_exit_obj) },
{ MP_ROM_QSTR(MP_QSTR_auto_restart), MP_ROM_PTR(&canio_can_auto_restart_obj) },
{ MP_ROM_QSTR(MP_QSTR_baudrate), MP_ROM_PTR(&canio_can_baudrate_obj) },
- { MP_ROM_QSTR(MP_QSTR_bus_off_state_count), MP_ROM_PTR(&canio_can_bus_off_state_count_obj) },
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&canio_can_deinit_obj) },
- { MP_ROM_QSTR(MP_QSTR_error_passive_state_count), MP_ROM_PTR(&canio_can_error_passive_state_count_obj) },
- { MP_ROM_QSTR(MP_QSTR_error_warning_state_count), MP_ROM_PTR(&canio_can_error_warning_state_count_obj) },
{ MP_ROM_QSTR(MP_QSTR_listen), MP_ROM_PTR(&canio_can_listen_obj) },
{ MP_ROM_QSTR(MP_QSTR_loopback), MP_ROM_PTR(&canio_can_loopback_obj) },
{ MP_ROM_QSTR(MP_QSTR_receive_error_count), MP_ROM_PTR(&canio_can_receive_error_count_obj) },
diff --git a/shared-bindings/canio/CAN.h b/shared-bindings/canio/CAN.h
index 66c972c28..968b71f14 100644
--- a/shared-bindings/canio/CAN.h
+++ b/shared-bindings/canio/CAN.h
@@ -28,6 +28,7 @@
#include "py/obj.h"
#include "shared-bindings/microcontroller/Pin.h"
+#include "shared-bindings/canio/__init__.h"
#include "shared-bindings/canio/Message.h"
extern const mp_obj_type_t canio_can_type;
@@ -38,9 +39,6 @@ void common_hal_canio_can_construct(canio_can_obj_t *self, mcu_pin_obj_t *tx, mc
bool common_hal_canio_can_auto_restart_get(canio_can_obj_t *self);
bool common_hal_canio_can_deinited(canio_can_obj_t *self);
int common_hal_canio_can_baudrate_get(canio_can_obj_t *self);
-int common_hal_canio_can_bus_off_state_count_get(canio_can_obj_t *self);
-int common_hal_canio_can_error_passive_state_count_get(canio_can_obj_t *self);
-int common_hal_canio_can_error_warning_state_count_get(canio_can_obj_t *self);
bool common_hal_canio_can_loopback_get(canio_can_obj_t *self);
int common_hal_canio_can_receive_error_count_get(canio_can_obj_t *self);
canio_bus_state_t common_hal_canio_can_state_get(canio_can_obj_t *self);
@@ -50,5 +48,5 @@ void common_hal_canio_can_auto_restart_set(canio_can_obj_t *self, bool auto_rest
void common_hal_canio_can_check_for_deinit(canio_can_obj_t *self);
void common_hal_canio_can_deinit(canio_can_obj_t *self);
void common_hal_canio_can_restart(canio_can_obj_t *self);
-void common_hal_canio_can_send(canio_can_obj_t *self, canio_message_obj_t *message);
+void common_hal_canio_can_send(canio_can_obj_t *self, mp_obj_t message);
void common_hal_canio_reset(void);
diff --git a/shared-bindings/canio/Listener.c b/shared-bindings/canio/Listener.c
index 1f4176f0c..93552af81 100644
--- a/shared-bindings/canio/Listener.c
+++ b/shared-bindings/canio/Listener.c
@@ -34,51 +34,39 @@
//| class Listener:
//| """Listens for CAN message
//|
-//| canio.Listener is not constructed directly, but instead by calling the
-//| Listen method of a canio.CAN object."""
+//| `canio.Listener` is not constructed directly, but instead by calling
+//| `canio.CAN.listen`.
+//|
+//| In addition to using the `receive` method to retrieve a message or
+//| the `in_waiting` method to check for an available message, a
+//| listener can be used as an iterable, yielding messages until no
+//| message arrives within ``self.timeout`` seconds."""
//|
-//| def read(self) -> Optional[Message]:
-//| """Reads a message, after waiting up to self.timeout seconds
+//| def receive(self) -> Optional[Union[RemoteTransmissionRequest,Message]]:
+//| """Reads a message, after waiting up to ``self.timeout`` seconds
//|
-//| If no message is received in time, None is returned. Otherwise,
-//| a Message is returned."""
+//| If no message is received in time, `None` is returned. Otherwise,
+//| a `Message` or `RemoteTransmissionRequest` is returned."""
//| ...
//|
-STATIC mp_obj_t canio_listener_read(mp_obj_t self_in) {
+STATIC mp_obj_t canio_listener_receive(mp_obj_t self_in) {
canio_listener_obj_t *self = MP_OBJ_TO_PTR(self_in);
common_hal_canio_listener_check_for_deinit(self);
- canio_message_obj_t *message = m_new_obj(canio_message_obj_t);
- message->base.type = &canio_message_type;
+ mp_obj_t message = common_hal_canio_listener_receive(self);
+ // note: receive fills out the type field of the message
- if (common_hal_canio_listener_readinto(self, message)) {
+ if (message) {
return message;
- } else {
- m_free(message); // message did not escape into vm
}
return mp_const_none;
}
-STATIC MP_DEFINE_CONST_FUN_OBJ_1(canio_listener_read_obj, canio_listener_read);
-
-//| def readinto(self, message: Message) -> bool:
-//| """Returns True (and modifies message) if a message was received
-//| before ``timeout`` seconds elapsed, False otherwise."""
-//| ...
-//|
-STATIC mp_obj_t canio_listener_readinto(mp_obj_t self_in, mp_obj_t message) {
- canio_listener_obj_t *self = MP_OBJ_TO_PTR(self_in);
- mp_obj_type_t *type = mp_obj_get_type(message);
- if (type != &canio_message_type) {
- mp_raise_TypeError_varg(translate("expected '%q' but got '%q'"), MP_QSTR_Message, type->name);
- }
- common_hal_canio_listener_check_for_deinit(self);
- return mp_obj_new_bool(common_hal_canio_listener_readinto(self, message));
-}
-STATIC MP_DEFINE_CONST_FUN_OBJ_2(canio_listener_readinto_obj, canio_listener_readinto);
+STATIC MP_DEFINE_CONST_FUN_OBJ_1(canio_listener_receive_obj, canio_listener_receive);
//| def in_waiting(self) -> int:
-//| """Returns the number of messages waiting"""
+//| """Returns the number of messages (including remote
+//| transmission requests) waiting"""
//| ...
//|
STATIC mp_obj_t canio_listener_in_waiting(mp_obj_t self_in) {
@@ -88,19 +76,25 @@ STATIC mp_obj_t canio_listener_in_waiting(mp_obj_t self_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(canio_listener_in_waiting_obj, canio_listener_in_waiting);
-//| def __iter__(self):
-//| """Returns self, unless the object is deinitialized"""
+//| def __iter__(self) -> Listener:
+//| """Returns self
+//|
+//| This method exists so that `Listener` can be used as an
+//| iterable"""
//| ...
//|
-//| def __next__(self):
+//| def __next__(self) -> Union[RemoteTransmissionRequest,Message]:
//| """Reads a message, after waiting up to self.timeout seconds
//|
//| If no message is received in time, raises StopIteration. Otherwise,
-//| a Message is returned."""
+//| a Message or is returned.
+//|
+//| This method enables the `Listener` to be used as an
+//| iterable, for instance in a for-loop."""
//| ...
//|
STATIC mp_obj_t canio_iternext(mp_obj_t self_in) {
- mp_obj_t result = canio_listener_read(self_in);
+ mp_obj_t result = canio_listener_receive(self_in);
if (result == mp_const_none) {
return MP_OBJ_STOP_ITERATION;
}
@@ -170,8 +164,7 @@ STATIC const mp_rom_map_elem_t canio_listener_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&canio_listener_exit_obj) },
{ MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&canio_listener_deinit_obj) },
{ MP_ROM_QSTR(MP_QSTR_in_waiting), MP_ROM_PTR(&canio_listener_in_waiting_obj) },
- { MP_ROM_QSTR(MP_QSTR_read), MP_ROM_PTR(&canio_listener_read_obj) },
- { MP_ROM_QSTR(MP_QSTR_readinto), MP_ROM_PTR(&canio_listener_readinto_obj) },
+ { MP_ROM_QSTR(MP_QSTR_receive), MP_ROM_PTR(&canio_listener_receive_obj) },
{ MP_ROM_QSTR(MP_QSTR_timeout), MP_ROM_PTR(&canio_listener_timeout_obj) },
};
STATIC MP_DEFINE_CONST_DICT(canio_listener_locals_dict, canio_listener_locals_dict_table);
diff --git a/shared-bindings/canio/Listener.h b/shared-bindings/canio/Listener.h
index eaa3490df..527ffe4cb 100644
--- a/shared-bindings/canio/Listener.h
+++ b/shared-bindings/canio/Listener.h
@@ -27,5 +27,17 @@
#pragma once
#include "py/obj.h"
+#include "shared-bindings/canio/CAN.h"
+#include "shared-bindings/canio/Match.h"
extern const mp_obj_type_t canio_listener_type;
+
+typedef struct canio_listener_obj canio_listener_obj_t;
+
+void common_hal_canio_listener_construct(canio_listener_obj_t *self, canio_can_obj_t *can, size_t nmatch, canio_match_obj_t **matches, float timeout);
+void common_hal_canio_listener_check_for_deinit(canio_listener_obj_t *self);
+void common_hal_canio_listener_deinit(canio_listener_obj_t *self);
+mp_obj_t common_hal_canio_listener_receive(canio_listener_obj_t *self);
+int common_hal_canio_listener_in_waiting(canio_listener_obj_t *self);
+float common_hal_canio_listener_get_timeout(canio_listener_obj_t *self);
+void common_hal_canio_listener_set_timeout(canio_listener_obj_t *self, float timeout);
diff --git a/shared-bindings/canio/Match.c b/shared-bindings/canio/Match.c
index ff5d028fa..3fbc1773e 100644
--- a/shared-bindings/canio/Match.c
+++ b/shared-bindings/canio/Match.c
@@ -33,20 +33,20 @@
//| """Describe CAN bus messages to match"""
//|
//|
-//| def __init__(self, address: int, *, mask: int = 0, extended: bool = False):
+//| def __init__(self, id: int, *, mask: Optional[int] = None, extended: bool = False):
//| """Construct a Match with the given properties.
//|
-//| If mask is nonzero, then the filter is for any sender which matches all
-//| the nonzero bits in mask. Otherwise, it matches exactly the given address.
-//| If extended is true then only extended addresses are matched, otherwise
-//| only standard addresses are matched."""
+//| If mask is not None, then the filter is for any id which matches all
+//| the nonzero bits in mask. Otherwise, it matches exactly the given id.
+//| If extended is true then only extended ids are matched, otherwise
+//| only standard ids are matched."""
//|
STATIC mp_obj_t canio_match_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
- enum { ARG_address, ARG_mask, ARG_extended, NUM_ARGS };
+ enum { ARG_id, ARG_mask, ARG_extended, NUM_ARGS };
static const mp_arg_t allowed_args[] = {
- { MP_QSTR_address, MP_ARG_INT | MP_ARG_REQUIRED },
- { MP_QSTR_mask, MP_ARG_INT, {.u_int = 0} },
+ { MP_QSTR_id, MP_ARG_INT | MP_ARG_REQUIRED },
+ { MP_QSTR_mask, MP_ARG_OBJ, {.u_obj = mp_const_none } },
{ MP_QSTR_extended, MP_ARG_BOOL, {.u_bool = false} },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
@@ -54,44 +54,44 @@ STATIC mp_obj_t canio_match_make_new(const mp_obj_type_t *type, size_t n_args, c
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
- int address_bits = args[ARG_extended].u_bool ? 0x1fffffff : 0x7ff;
- int address = args[ARG_address].u_int;
- int mask = args[ARG_mask].u_int;
+ int id_bits = args[ARG_extended].u_bool ? 0x1fffffff : 0x7ff;
+ int id = args[ARG_id].u_int;
+ int mask = args[ARG_mask].u_obj == mp_const_none ? id_bits : mp_obj_get_int(args[ARG_mask].u_obj);
- if (address & ~address_bits) {
- mp_raise_ValueError_varg(translate("%q out of range"), MP_QSTR_address);
+ if (id & ~id_bits) {
+ mp_raise_ValueError_varg(translate("%q out of range"), MP_QSTR_id);
}
- if (mask & ~address_bits) {
+ if (mask & ~id_bits) {
mp_raise_ValueError_varg(translate("%q out of range"), MP_QSTR_mask);
}
canio_match_obj_t *self = m_new_obj(canio_match_obj_t);
self->base.type = &canio_match_type;
- common_hal_canio_match_construct(self, args[ARG_address].u_int, args[ARG_mask].u_int, args[ARG_extended].u_bool);
+ common_hal_canio_match_construct(self, id, mask, args[ARG_extended].u_bool);
return self;
}
-//| address: int
-//| """The address to match"""
+//| id: int
+//| """The id to match"""
//|
-STATIC mp_obj_t canio_match_address_get(mp_obj_t self_in) {
+STATIC mp_obj_t canio_match_id_get(mp_obj_t self_in) {
canio_match_obj_t *self = self_in;
- return MP_OBJ_NEW_SMALL_INT(common_hal_canio_match_get_address(self));
+ return MP_OBJ_NEW_SMALL_INT(common_hal_canio_match_get_id(self));
}
-MP_DEFINE_CONST_FUN_OBJ_1(canio_match_address_get_obj, canio_match_address_get);
+MP_DEFINE_CONST_FUN_OBJ_1(canio_match_id_get_obj, canio_match_id_get);
-const mp_obj_property_t canio_match_address_obj = {
+const mp_obj_property_t canio_match_id_obj = {
.base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&canio_match_address_get_obj,
+ .proxy = {(mp_obj_t)&canio_match_id_get_obj,
(mp_obj_t)&mp_const_none_obj,
(mp_obj_t)&mp_const_none_obj},
};
//|
//| mask: int
-//| """The optional mask of addresses to match"""
+//| """The optional mask of ids to match"""
//|
STATIC mp_obj_t canio_match_mask_get(mp_obj_t self_in) {
@@ -108,7 +108,7 @@ const mp_obj_property_t canio_match_mask_obj = {
};
//| extended: bool
-//| """True to match extended addresses, False to match standard addresses"""
+//| """True to match extended ids, False to match standard ides"""
//|
STATIC mp_obj_t canio_match_extended_get(mp_obj_t self_in) {
@@ -125,7 +125,7 @@ const mp_obj_property_t canio_match_extended_obj = {
};
STATIC const mp_rom_map_elem_t canio_match_locals_dict_table[] = {
- { MP_ROM_QSTR(MP_QSTR_address), MP_ROM_PTR(&canio_match_address_obj) },
+ { MP_ROM_QSTR(MP_QSTR_id), MP_ROM_PTR(&canio_match_id_obj) },
{ MP_ROM_QSTR(MP_QSTR_mask), MP_ROM_PTR(&canio_match_mask_obj) },
{ MP_ROM_QSTR(MP_QSTR_extended), MP_ROM_PTR(&canio_match_extended_obj) },
};
diff --git a/shared-bindings/canio/Match.h b/shared-bindings/canio/Match.h
index 88996d730..01a75fd1c 100644
--- a/shared-bindings/canio/Match.h
+++ b/shared-bindings/canio/Match.h
@@ -31,7 +31,7 @@
extern const mp_obj_type_t canio_match_type;
-void common_hal_canio_match_construct(canio_match_obj_t *self, int address, int mask, bool extended);
-int common_hal_canio_match_get_address(const canio_match_obj_t *self);
+void common_hal_canio_match_construct(canio_match_obj_t *self, int id, int mask, bool extended);
+int common_hal_canio_match_get_id(const canio_match_obj_t *self);
int common_hal_canio_match_get_mask(const canio_match_obj_t *self);
bool common_hal_canio_match_get_extended(const canio_match_obj_t *self);
diff --git a/shared-bindings/canio/Message.c b/shared-bindings/canio/Message.c
index 23645d2e5..e47e997c7 100644
--- a/shared-bindings/canio/Message.c
+++ b/shared-bindings/canio/Message.c
@@ -31,28 +31,22 @@
#include "py/runtime.h"
//| class Message:
-//| def __init__(self, id: int=0, data: Optional[bytes] = None, *, size: Optional[int] = None, rtr: bool = False, extended: bool = False):
-//| """Construct a Message to use with a CAN bus. Provide arguments to create a message to send. Otherwise, use Listener.readinto() to read a message.
+//| def __init__(self, id: int, data: bytes, *, extended: bool = False):
+//| """Construct a Message to send on a CAN bus.
//|
//| :param int id: The numeric ID of the message
//| :param bytes data: The content of the message
-//| :param int size: The amount of data requested, for an rtr
-//| :param bool rtr: True if the message represents an rtr (Remote Transmission Request)
//| :param bool extended: True if the message has an extended identifier, False if it has a standard identifier
//|
-//| In CAN, messages can have a size from 0 to 8 bytes.
-//|
-//| For a non-rtr message, specify ``data``. For an rtr-message, specify either ``data`` (a dummy buffer of the requested size) or ``size``.
+//| In CAN, messages can have a length from 0 to 8 bytes.
//| """
//| ...
//|
STATIC mp_obj_t canio_message_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
- enum { ARG_id, ARG_data, ARG_size, ARG_rtr, ARG_extended, NUM_ARGS };
+ enum { ARG_id, ARG_data, ARG_extended, NUM_ARGS };
static const mp_arg_t allowed_args[] = {
- { MP_QSTR_id, MP_ARG_INT, {.u_obj = 0} },
- { MP_QSTR_data, MP_ARG_OBJ, {.u_obj = 0} },
- { MP_QSTR_size, MP_ARG_INT, {.u_int = -1} },
- { MP_QSTR_rtr, MP_ARG_BOOL, {.u_bool = false} },
+ { MP_QSTR_id, MP_ARG_INT | MP_ARG_REQUIRED },
+ { MP_QSTR_data, MP_ARG_OBJ | MP_ARG_REQUIRED },
{ MP_QSTR_extended, MP_ARG_BOOL, {.u_bool = false} },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
@@ -60,26 +54,8 @@ STATIC mp_obj_t canio_message_make_new(const mp_obj_type_t *type, size_t n_args,
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
- bool rtr = args[ARG_rtr].u_bool;
- bool extended = args[ARG_extended].u_bool;
- size_t size = (size_t)args[ARG_size].u_int;
- bool specified_size = (size != (size_t)-1);
- bool specified_data = (args[ARG_data].u_obj != NULL);
-
- if (specified_size && specified_data) {
- mp_raise_TypeError(translate("specify size or data, but not both"));
- }
-
mp_buffer_info_t data;
- if (specified_data) {
- mp_get_buffer_raise(args[ARG_data].u_obj, &data, MP_BUFFER_READ);
- } else if (specified_size) {
- data.buf = 0;
- data.len = size;
- } else {
- data.buf = 0;
- data.len = 0;
- }
+ mp_get_buffer_raise(args[ARG_data].u_obj, &data, MP_BUFFER_READ);
if (data.len > 8) {
mp_raise_ValueError(translate("Messages limited to 8 bytes"));
@@ -87,7 +63,7 @@ STATIC mp_obj_t canio_message_make_new(const mp_obj_type_t *type, size_t n_args,
canio_message_obj_t *self = m_new_obj(canio_message_obj_t);
self->base.type = &canio_message_type;
- common_hal_canio_message_construct(self, args[ARG_id].u_int, data.buf, data.len, rtr, extended);
+ common_hal_canio_message_construct(self, args[ARG_id].u_int, data.buf, data.len, args[ARG_extended].u_bool);
return self;
}
@@ -115,13 +91,11 @@ STATIC const mp_obj_property_t canio_message_id_obj = {
};
//| data: bytes
-//| """The content of the message, or dummy content in the case of an rtr.
-//|
-//| Assigning to data also sets the length and clears the rtr flag."""
+//| """The content of the message"""
//|
STATIC mp_obj_t canio_message_data_get(const mp_obj_t self_in) {
canio_message_obj_t *self = self_in;
- return mp_obj_new_bytes((const byte*)common_hal_canio_message_get_data(self), common_hal_canio_message_get_size(self));
+ return mp_obj_new_bytes((const byte*)common_hal_canio_message_get_data(self), common_hal_canio_message_get_length(self));
}
MP_DEFINE_CONST_FUN_OBJ_1(canio_message_data_get_obj, canio_message_data_get);
@@ -147,7 +121,7 @@ STATIC const mp_obj_property_t canio_message_data_obj = {
//| extended: bool
-//| """True if the message represents a remote transmission request (RTR)"""
+//| """True if the message's id is an extended id"""
//|
STATIC mp_obj_t canio_message_extended_get(const mp_obj_t self_in) {
canio_message_obj_t *self = self_in;
@@ -170,36 +144,9 @@ STATIC const mp_obj_property_t canio_message_extended_obj = {
(mp_obj_t)&mp_const_none_obj},
};
-
-//| rtr: bool
-//| """True if the message represents a remote transmission request (RTR). Setting rtr to true zeros out data"""
-//|
-STATIC mp_obj_t canio_message_rtr_get(const mp_obj_t self_in) {
- canio_message_obj_t *self = self_in;
- return mp_obj_new_bool(common_hal_canio_message_get_rtr(self));
-}
-MP_DEFINE_CONST_FUN_OBJ_1(canio_message_rtr_get_obj, canio_message_rtr_get);
-
-STATIC mp_obj_t canio_message_rtr_set(const mp_obj_t self_in, const mp_obj_t rtr) {
- canio_message_obj_t *self = self_in;
- common_hal_canio_message_set_rtr(self, mp_obj_is_true(rtr));
- return mp_const_none;
-}
-MP_DEFINE_CONST_FUN_OBJ_2(canio_message_rtr_set_obj, canio_message_rtr_set);
-
-
-STATIC const mp_obj_property_t canio_message_rtr_obj = {
- .base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&canio_message_rtr_get_obj,
- (mp_obj_t)&canio_message_rtr_set_obj,
- (mp_obj_t)&mp_const_none_obj},
-};
-
-
STATIC const mp_rom_map_elem_t canio_message_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_id), MP_ROM_PTR(&canio_message_id_obj) },
{ MP_ROM_QSTR(MP_QSTR_data), MP_ROM_PTR(&canio_message_data_obj) },
- { MP_ROM_QSTR(MP_QSTR_rtr), MP_ROM_PTR(&canio_message_rtr_obj) },
{ MP_ROM_QSTR(MP_QSTR_extended), MP_ROM_PTR(&canio_message_extended_obj) },
};
STATIC MP_DEFINE_CONST_DICT(canio_message_locals_dict, canio_message_locals_dict_table);
diff --git a/shared-bindings/canio/Message.h b/shared-bindings/canio/Message.h
index 34b632e84..b76535939 100644
--- a/shared-bindings/canio/Message.h
+++ b/shared-bindings/canio/Message.h
@@ -30,15 +30,13 @@
#include "shared-module/canio/Message.h"
extern const mp_obj_type_t canio_message_type;
+extern const mp_obj_type_t canio_remote_transmission_request_type;
-void common_hal_canio_message_construct(canio_message_obj_t *self, int id, void *data, size_t size, bool rtr, bool extended);
+void common_hal_canio_message_construct(canio_message_obj_t *self, int id, void *data, size_t size, bool extended);
const void *common_hal_canio_message_get_data(const canio_message_obj_t *self);
void common_hal_canio_message_set_data(canio_message_obj_t *self, const void *data, size_t size);
bool common_hal_canio_message_get_extended(const canio_message_obj_t *self);
void common_hal_canio_message_set_extended(canio_message_obj_t *self, bool extended);
int common_hal_canio_message_get_id(const canio_message_obj_t *self);
void common_hal_canio_message_set_id(canio_message_obj_t *self, int id);
-bool common_hal_canio_message_get_rtr(const canio_message_obj_t *self);
-void common_hal_canio_message_set_rtr(canio_message_obj_t *self, bool rtr);
-size_t common_hal_canio_message_get_size(const canio_message_obj_t *self);
-void common_hal_canio_message_set_size(canio_message_obj_t *self, size_t size);
+size_t common_hal_canio_message_get_length(const canio_message_obj_t *self);
diff --git a/shared-bindings/canio/RemoteTransmissionRequest.c b/shared-bindings/canio/RemoteTransmissionRequest.c
new file mode 100644
index 000000000..d762787b1
--- /dev/null
+++ b/shared-bindings/canio/RemoteTransmissionRequest.c
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2020 Jeff Epler for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "shared-bindings/canio/RemoteTransmissionRequest.h"
+
+#include "py/obj.h"
+#include "py/objproperty.h"
+#include "py/runtime.h"
+
+//| class RemoteTransmissionRequest:
+//| def __init__(self, id: int, length: int, *, extended: bool = False):
+//| """Construct a RemoteTransmissionRequest to send on a CAN bus.
+//|
+//| :param int id: The numeric ID of the requested message
+//| :param int length: The length of the requested message
+//| :param bool extended: True if the message has an extended identifier, False if it has a standard identifier
+//|
+//| In CAN, messages can have a length from 0 to 8 bytes.
+//| """
+//| ...
+//|
+STATIC mp_obj_t canio_remote_transmission_request_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
+ enum { ARG_id, ARG_length, ARG_extended, NUM_ARGS };
+ static const mp_arg_t allowed_args[] = {
+ { MP_QSTR_id, MP_ARG_INT | MP_ARG_REQUIRED },
+ { MP_QSTR_length, MP_ARG_INT | MP_ARG_REQUIRED },
+ { MP_QSTR_extended, MP_ARG_BOOL, {.u_bool = false} },
+ };
+ mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
+ MP_STATIC_ASSERT( MP_ARRAY_SIZE(allowed_args) == NUM_ARGS );
+
+ mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
+
+ int length = args[ARG_length].u_int;
+ if (length < 0 || length > 8) {
+ mp_raise_ValueError(translate("RemoteTransmissionRequests limited to 8 bytes"));
+ }
+
+ canio_remote_transmission_request_obj_t *self = m_new_obj(canio_remote_transmission_request_obj_t);
+ self->base.type = &canio_remote_transmission_request_type;
+ common_hal_canio_remote_transmission_request_construct(self, args[ARG_id].u_int, length, args[ARG_extended].u_bool);
+ return self;
+}
+
+
+//| id: int
+//| """The numeric ID of the message"""
+//|
+STATIC mp_obj_t canio_remote_transmission_request_id_get(const mp_obj_t self_in) {
+ canio_remote_transmission_request_obj_t *self = self_in;
+ return MP_OBJ_NEW_SMALL_INT(common_hal_canio_remote_transmission_request_get_id(self));
+}
+MP_DEFINE_CONST_FUN_OBJ_1(canio_remote_transmission_request_id_get_obj, canio_remote_transmission_request_id_get);
+
+STATIC mp_obj_t canio_remote_transmission_request_id_set(const mp_obj_t self_in, const mp_obj_t id) {
+ canio_remote_transmission_request_obj_t *self = self_in;
+ common_hal_canio_remote_transmission_request_set_id(self, mp_obj_get_int(id));
+ return mp_const_none;
+}
+MP_DEFINE_CONST_FUN_OBJ_2(canio_remote_transmission_request_id_set_obj, canio_remote_transmission_request_id_set);
+
+STATIC const mp_obj_property_t canio_remote_transmission_request_id_obj = {
+ .base.type = &mp_type_property,
+ .proxy = {(mp_obj_t)&canio_remote_transmission_request_id_get_obj,
+ (mp_obj_t)&canio_remote_transmission_request_id_set_obj,
+ (mp_obj_t)&mp_const_none_obj},
+};
+
+//| extended: bool
+//| """True if the message's id is an extended id"""
+//|
+STATIC mp_obj_t canio_remote_transmission_request_extended_get(const mp_obj_t self_in) {
+ canio_remote_transmission_request_obj_t *self = self_in;
+ return mp_obj_new_bool(common_hal_canio_remote_transmission_request_get_extended(self));
+}
+MP_DEFINE_CONST_FUN_OBJ_1(canio_remote_transmission_request_extended_get_obj, canio_remote_transmission_request_extended_get);
+
+STATIC mp_obj_t canio_remote_transmission_request_extended_set(const mp_obj_t self_in, const mp_obj_t extended) {
+ canio_remote_transmission_request_obj_t *self = self_in;
+ common_hal_canio_remote_transmission_request_set_extended(self, mp_obj_is_true(extended));
+ return mp_const_none;
+}
+MP_DEFINE_CONST_FUN_OBJ_2(canio_remote_transmission_request_extended_set_obj, canio_remote_transmission_request_extended_set);
+
+
+STATIC const mp_obj_property_t canio_remote_transmission_request_extended_obj = {
+ .base.type = &mp_type_property,
+ .proxy = {(mp_obj_t)&canio_remote_transmission_request_extended_get_obj,
+ (mp_obj_t)&canio_remote_transmission_request_extended_set_obj,
+ (mp_obj_t)&mp_const_none_obj},
+};
+
+//| length: int
+//| """The length of the requested message."""
+//|
+STATIC mp_obj_t canio_remote_transmission_request_length_get(const mp_obj_t self_in) {
+ canio_remote_transmission_request_obj_t *self = self_in;
+ return MP_OBJ_NEW_SMALL_INT(common_hal_canio_remote_transmission_request_get_length(self));
+}
+MP_DEFINE_CONST_FUN_OBJ_1(canio_remote_transmission_request_length_get_obj, canio_remote_transmission_request_length_get);
+
+STATIC mp_obj_t canio_remote_transmission_request_length_set(const mp_obj_t self_in, const mp_obj_t length_in) {
+ canio_remote_transmission_request_obj_t *self = self_in;
+ int length = mp_obj_get_int(length_in);
+ if (length < 0 || length > 8) {
+ mp_raise_ValueError(translate("RemoteTransmissionRequests limited to 8 bytes"));
+ }
+ common_hal_canio_remote_transmission_request_set_length(self, length);
+ return mp_const_none;
+}
+MP_DEFINE_CONST_FUN_OBJ_2(canio_remote_transmission_request_length_set_obj, canio_remote_transmission_request_length_set);
+
+
+STATIC const mp_obj_property_t canio_remote_transmission_request_length_obj = {
+ .base.type = &mp_type_property,
+ .proxy = {(mp_obj_t)&canio_remote_transmission_request_length_get_obj,
+ (mp_obj_t)&canio_remote_transmission_request_length_set_obj,
+ (mp_obj_t)&mp_const_none_obj},
+};
+
+STATIC const mp_rom_map_elem_t canio_remote_transmission_request_locals_dict_table[] = {
+ { MP_ROM_QSTR(MP_QSTR_id), MP_ROM_PTR(&canio_remote_transmission_request_id_obj) },
+ { MP_ROM_QSTR(MP_QSTR_length), MP_ROM_PTR(&canio_remote_transmission_request_length_obj) },
+ { MP_ROM_QSTR(MP_QSTR_extended), MP_ROM_PTR(&canio_remote_transmission_request_extended_obj) },
+};
+STATIC MP_DEFINE_CONST_DICT(canio_remote_transmission_request_locals_dict, canio_remote_transmission_request_locals_dict_table);
+
+const mp_obj_type_t canio_remote_transmission_request_type = {
+ { &mp_type_type },
+ .name = MP_QSTR_RemoteTransmissionRequest,
+ .make_new = canio_remote_transmission_request_make_new,
+ .locals_dict = (mp_obj_t)&canio_remote_transmission_request_locals_dict,
+};
diff --git a/shared-bindings/canio/RemoteTransmissionRequest.h b/shared-bindings/canio/RemoteTransmissionRequest.h
new file mode 100644
index 000000000..8956587b3
--- /dev/null
+++ b/shared-bindings/canio/RemoteTransmissionRequest.h
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2020 Jeff Epler for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#pragma once
+
+#include "py/obj.h"
+#include "shared-module/canio/RemoteTransmissionRequest.h"
+
+extern const mp_obj_type_t canio_remote_transmission_request_type;
+
+void common_hal_canio_remote_transmission_request_construct(canio_remote_transmission_request_obj_t *self, int id, size_t size, bool extended);
+const void *common_hal_canio_remote_transmission_request_get_data(const canio_remote_transmission_request_obj_t *self);
+void common_hal_canio_remote_transmission_request_set_data(canio_remote_transmission_request_obj_t *self, const void *data, size_t size);
+bool common_hal_canio_remote_transmission_request_get_extended(const canio_remote_transmission_request_obj_t *self);
+void common_hal_canio_remote_transmission_request_set_extended(canio_remote_transmission_request_obj_t *self, bool extended);
+int common_hal_canio_remote_transmission_request_get_id(const canio_remote_transmission_request_obj_t *self);
+void common_hal_canio_remote_transmission_request_set_id(canio_remote_transmission_request_obj_t *self, int id);
+size_t common_hal_canio_remote_transmission_request_get_length(const canio_remote_transmission_request_obj_t *self);
+void common_hal_canio_remote_transmission_request_set_length(canio_remote_transmission_request_obj_t *self, size_t length);
diff --git a/shared-bindings/canio/__init__.c b/shared-bindings/canio/__init__.c
index b0b982c95..f29d3ab8a 100644
--- a/shared-bindings/canio/__init__.c
+++ b/shared-bindings/canio/__init__.c
@@ -40,8 +40,8 @@
//| from board import *
//|
//| can = canio.CAN(board.CAN_RX, board.CAN_TX, baudrate=1000000)
-//| message = canio.Message(id=0x0408, data="adafruit"
-//| can.write(message))
+//| message = canio.Message(id=0x0408, data=b"adafruit")
+//| can.send(message)
//| can.deinit()
//|
//| This example will write the data 'adafruit' onto the CAN bus to any
@@ -113,6 +113,7 @@ STATIC const mp_rom_map_elem_t canio_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_Listener), MP_ROM_PTR(&canio_listener_type) },
{ MP_ROM_QSTR(MP_QSTR_Match), MP_ROM_PTR(&canio_match_type) },
{ MP_ROM_QSTR(MP_QSTR_Message), MP_ROM_PTR(&canio_message_type) },
+ { MP_ROM_QSTR(MP_QSTR_RemoteTransmissionRequest), MP_ROM_PTR(&canio_remote_transmission_request_type) },
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__canio) },
};
diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c
index f36aeed18..e78a893b0 100644
--- a/shared-bindings/displayio/Display.c
+++ b/shared-bindings/displayio/Display.c
@@ -105,13 +105,22 @@
//| :param bool auto_brightness: If True, brightness is controlled via an ambient light sensor or other mechanism.
//| :param bool single_byte_bounds: Display column and row commands use single bytes
//| :param bool data_as_commands: Treat all init and boundary data as SPI commands. Certain displays require this.
+//| :param bool SH1107_addressing: Special quirk for SH1107, use upper/lower column set and page set
//| :param bool auto_refresh: Automatically refresh the screen
//| :param int native_frames_per_second: Number of display refreshes per second that occur with the given init_sequence.
//| :param bool backlight_on_high: If True, pulling the backlight pin high turns the backlight on."""
//| ...
//|
-STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
- enum { ARG_display_bus, ARG_init_sequence, ARG_width, ARG_height, ARG_colstart, ARG_rowstart, ARG_rotation, ARG_color_depth, ARG_grayscale, ARG_pixels_in_byte_share_row, ARG_bytes_per_cell, ARG_reverse_pixels_in_byte, ARG_reverse_bytes_in_word, ARG_set_column_command, ARG_set_row_command, ARG_write_ram_command, ARG_set_vertical_scroll, ARG_backlight_pin, ARG_brightness_command, ARG_brightness, ARG_auto_brightness, ARG_single_byte_bounds, ARG_data_as_commands, ARG_auto_refresh, ARG_native_frames_per_second, ARG_backlight_on_high };
+STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_args,
+ const mp_obj_t *pos_args, mp_map_t *kw_args) {
+ enum { ARG_display_bus, ARG_init_sequence, ARG_width, ARG_height, ARG_colstart, ARG_rowstart,
+ ARG_rotation, ARG_color_depth, ARG_grayscale, ARG_pixels_in_byte_share_row,
+ ARG_bytes_per_cell, ARG_reverse_pixels_in_byte, ARG_reverse_bytes_in_word,
+ ARG_set_column_command, ARG_set_row_command, ARG_write_ram_command,
+ ARG_set_vertical_scroll, ARG_backlight_pin, ARG_brightness_command,
+ ARG_brightness, ARG_auto_brightness, ARG_single_byte_bounds, ARG_data_as_commands,
+ ARG_auto_refresh, ARG_native_frames_per_second, ARG_backlight_on_high,
+ ARG_SH1107_addressing };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_display_bus, MP_ARG_REQUIRED | MP_ARG_OBJ },
{ MP_QSTR_init_sequence, MP_ARG_REQUIRED | MP_ARG_OBJ },
@@ -139,6 +148,7 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a
{ MP_QSTR_auto_refresh, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = true} },
{ MP_QSTR_native_frames_per_second, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 60} },
{ MP_QSTR_backlight_on_high, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = true} },
+ { MP_QSTR_SH1107_addressing, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} }
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
@@ -180,7 +190,8 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a
args[ARG_data_as_commands].u_bool,
args[ARG_auto_refresh].u_bool,
args[ARG_native_frames_per_second].u_int,
- args[ARG_backlight_on_high].u_bool
+ args[ARG_backlight_on_high].u_bool,
+ args[ARG_SH1107_addressing].u_bool
);
return self;
diff --git a/shared-bindings/displayio/Display.h b/shared-bindings/displayio/Display.h
index e69c5b6b5..f9fbc157c 100644
--- a/shared-bindings/displayio/Display.h
+++ b/shared-bindings/displayio/Display.h
@@ -45,7 +45,8 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self,
uint8_t set_column_command, uint8_t set_row_command, uint8_t write_ram_command, uint8_t set_vertical_scroll,
uint8_t* init_sequence, uint16_t init_sequence_len, const mcu_pin_obj_t* backlight_pin, uint16_t brightness_command,
mp_float_t brightness, bool auto_brightness,
- bool single_byte_bounds, bool data_as_commands, bool auto_refresh, uint16_t native_frames_per_second, bool backlight_on_high);
+ bool single_byte_bounds, bool data_as_commands, bool auto_refresh, uint16_t native_frames_per_second,
+ bool backlight_on_high, bool SH1107_addressing);
bool common_hal_displayio_display_show(displayio_display_obj_t* self,
displayio_group_t* root_group);
diff --git a/shared-bindings/rgbmatrix/RGBMatrix.c b/shared-bindings/rgbmatrix/RGBMatrix.c
index e4683af92..753c1c920 100644
--- a/shared-bindings/rgbmatrix/RGBMatrix.c
+++ b/shared-bindings/rgbmatrix/RGBMatrix.c
@@ -73,6 +73,10 @@ STATIC void preflight_pins_or_throw(uint8_t clock_pin, uint8_t *rgb_pins, uint8_
uint32_t port = clock_pin / 32;
uint32_t bit_mask = 1 << (clock_pin % 32);
+ if (rgb_pin_count <= 0 || rgb_pin_count % 6 != 0 || rgb_pin_count > 30) {
+ mp_raise_ValueError_varg(translate("The length of rgb_pins must be 6, 12, 18, 24, or 30"));
+ }
+
for (uint8_t i = 0; i < rgb_pin_count; i++) {
uint32_t pin_port = rgb_pins[i] / 32;
@@ -210,6 +214,10 @@ STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n
}
}
+ if (args[ARG_width].u_int <= 0) {
+ mp_raise_ValueError(translate("width must be greater than zero"));
+ }
+
preflight_pins_or_throw(clock_pin, rgb_pins, rgb_count, true);
mp_obj_t framebuffer = args[ARG_framebuffer].u_obj;
diff --git a/shared-module/_stage/__init__.c b/shared-module/_stage/__init__.c
index 0323c32cb..6dfc18880 100644
--- a/shared-module/_stage/__init__.c
+++ b/shared-module/_stage/__init__.c
@@ -45,7 +45,7 @@ void render_stage(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1,
area.y2 = y1;
displayio_display_core_set_region_to_update(
&display->core, display->set_column_command, display->set_row_command,
- NO_COMMAND, NO_COMMAND, display->data_as_commands, false, &area);
+ NO_COMMAND, NO_COMMAND, display->data_as_commands, false, &area, display->SH1107_addressing);
while (!displayio_display_core_begin_transaction(&display->core)) {
RUN_BACKGROUND_TASKS;
diff --git a/shared-module/board/__init__.c b/shared-module/board/__init__.c
index fb4f731b8..39b68a0f1 100644
--- a/shared-module/board/__init__.c
+++ b/shared-module/board/__init__.c
@@ -167,7 +167,9 @@ void reset_board_busses(void) {
}
#endif
// make sure SPI lock is not held over a soft reset
- common_hal_busio_spi_unlock(&spi_obj);
+ if (spi_singleton != NULL) {
+ common_hal_busio_spi_unlock(spi_singleton);
+ }
if (!display_using_spi) {
spi_singleton = NULL;
}
diff --git a/shared-module/canio/Match.c b/shared-module/canio/Match.c
index 9e33b956f..b4e8616e9 100644
--- a/shared-module/canio/Match.c
+++ b/shared-module/canio/Match.c
@@ -26,14 +26,14 @@
#include "shared-module/canio/Match.h"
-void common_hal_canio_match_construct(canio_match_obj_t *self, int address, int mask, bool extended) {
- self->address = address;
+void common_hal_canio_match_construct(canio_match_obj_t *self, int id, int mask, bool extended) {
+ self->id = id;
self->mask = mask;
self->extended = extended;
}
-int common_hal_canio_match_get_address(const canio_match_obj_t *self) {
- return self->address;
+int common_hal_canio_match_get_id(const canio_match_obj_t *self) {
+ return self->id;
}
int common_hal_canio_match_get_mask(const canio_match_obj_t *self) {
return self->mask;
diff --git a/shared-module/canio/Match.h b/shared-module/canio/Match.h
index 25f047f37..b52191d7c 100644
--- a/shared-module/canio/Match.h
+++ b/shared-module/canio/Match.h
@@ -30,7 +30,7 @@
typedef struct {
mp_obj_base_t base;
- int address;
+ int id;
int mask;
bool extended;
} canio_match_obj_t;
diff --git a/shared-module/canio/Message.c b/shared-module/canio/Message.c
index b8ebb7859..a1df4f693 100644
--- a/shared-module/canio/Message.c
+++ b/shared-module/canio/Message.c
@@ -28,16 +28,13 @@
#include <string.h>
-void common_hal_canio_message_construct(canio_message_obj_t *self, int id, void *data, size_t size, bool rtr, bool extended)
+void common_hal_canio_message_construct(canio_message_obj_t *self, int id, void *data, size_t size, bool extended)
{
self->id = id;
self->size = size;
- self->rtr = rtr;
self->extended = extended;
if (data) {
memcpy(self->data, data, size);
- } else {
- memset(self->data, 0, size);
}
}
@@ -59,37 +56,16 @@ const void *common_hal_canio_message_get_data(const canio_message_obj_t *self)
const void common_hal_canio_message_set_data(canio_message_obj_t *self, const void *data, size_t size)
{
- self->rtr = false;
self->size = size;
memcpy(self->data, data, size);
}
-size_t common_hal_canio_message_get_size(const canio_message_obj_t *self)
+size_t common_hal_canio_message_get_length(const canio_message_obj_t *self)
{
return self->size;
}
-void common_hal_canio_message_set_size(canio_message_obj_t *self, size_t size)
-{
- memset(self->data, 0, size);
- self->size = size;
-}
-
-
-bool common_hal_canio_message_get_rtr(const canio_message_obj_t *self)
-{
- return self->rtr;
-}
-
-void common_hal_canio_message_set_rtr(canio_message_obj_t *self, bool rtr)
-{
- self->rtr = rtr;
- if (rtr) {
- memset(self->data, 0, self->size);
- }
-}
-
bool common_hal_canio_message_get_extended(const canio_message_obj_t *self)
{
return self->extended;
diff --git a/shared-module/canio/Message.h b/shared-module/canio/Message.h
index b99c5c48e..1ca0d42e2 100644
--- a/shared-module/canio/Message.h
+++ b/shared-module/canio/Message.h
@@ -33,6 +33,5 @@ typedef struct {
int id;
uint8_t data[8];
size_t size:4;
- bool rtr:1;
bool extended:1;
} canio_message_obj_t;
diff --git a/shared-module/canio/RemoteTransmissionRequest.c b/shared-module/canio/RemoteTransmissionRequest.c
new file mode 100644
index 000000000..9b4d5632f
--- /dev/null
+++ b/shared-module/canio/RemoteTransmissionRequest.c
@@ -0,0 +1,67 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2020 Jeff Epler for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "shared-module/canio/RemoteTransmissionRequest.h"
+#include "shared-bindings/canio/RemoteTransmissionRequest.h"
+
+#include <string.h>
+
+void common_hal_canio_remote_transmission_request_construct(canio_remote_transmission_request_obj_t *self, int id, size_t size, bool extended)
+{
+ self->id = id;
+ self->size = size;
+ self->extended = extended;
+}
+
+int common_hal_canio_remote_transmission_request_get_id(const canio_remote_transmission_request_obj_t *self)
+{
+ return self->id;
+}
+
+void common_hal_canio_remote_transmission_request_set_id(canio_remote_transmission_request_obj_t *self, int id)
+{
+ self->id = id;
+}
+
+size_t common_hal_canio_remote_transmission_request_get_length(const canio_remote_transmission_request_obj_t *self)
+{
+ return self->size;
+}
+
+void common_hal_canio_remote_transmission_request_set_length(canio_remote_transmission_request_obj_t *self, size_t size)
+{
+ self->size = size;
+}
+
+bool common_hal_canio_remote_transmission_request_get_extended(const canio_remote_transmission_request_obj_t *self)
+{
+ return self->extended;
+}
+
+void common_hal_canio_remote_transmission_request_set_extended(canio_remote_transmission_request_obj_t *self, bool extended)
+{
+ self->extended = extended;
+}
diff --git a/shared-module/canio/RemoteTransmissionRequest.h b/shared-module/canio/RemoteTransmissionRequest.h
new file mode 100644
index 000000000..2f09b19c6
--- /dev/null
+++ b/shared-module/canio/RemoteTransmissionRequest.h
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2020 Jeff Epler for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#pragma once
+
+#include "py/obj.h"
+
+#include "shared-bindings/canio/Message.h"
+
+typedef canio_message_obj_t canio_remote_transmission_request_obj_t;
diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c
index 021159c0d..bb7e40f41 100644
--- a/shared-module/displayio/Display.c
+++ b/shared-module/displayio/Display.c
@@ -48,7 +48,9 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self,
uint8_t set_row_command, uint8_t write_ram_command, uint8_t set_vertical_scroll,
uint8_t* init_sequence, uint16_t init_sequence_len, const mcu_pin_obj_t* backlight_pin,
uint16_t brightness_command, mp_float_t brightness, bool auto_brightness,
- bool single_byte_bounds, bool data_as_commands, bool auto_refresh, uint16_t native_frames_per_second, bool backlight_on_high) {
+ bool single_byte_bounds, bool data_as_commands, bool auto_refresh, uint16_t native_frames_per_second,
+ bool backlight_on_high, bool SH1107_addressing) {
+
// Turn off auto-refresh as we init.
self->auto_refresh = false;
uint16_t ram_width = 0x100;
@@ -68,6 +70,7 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self,
self->first_manual_refresh = !auto_refresh;
self->data_as_commands = data_as_commands;
self->backlight_on_high = backlight_on_high;
+ self->SH1107_addressing = SH1107_addressing;
self->native_frames_per_second = native_frames_per_second;
self->native_ms_per_frame = 1000 / native_frames_per_second;
@@ -240,11 +243,17 @@ STATIC bool _refresh_area(displayio_display_obj_t* self, const displayio_area_t*
if (!displayio_display_core_clip_area(&self->core, area, &clipped)) {
return true;
}
- uint16_t subrectangles = 1;
uint16_t rows_per_buffer = displayio_area_height(&clipped);
uint8_t pixels_per_word = (sizeof(uint32_t) * 8) / self->core.colorspace.depth;
uint16_t pixels_per_buffer = displayio_area_size(&clipped);
- if (displayio_area_size(&clipped) > buffer_size * pixels_per_word) {
+
+ uint16_t subrectangles = 1;
+ // for SH1107 and other boundary constrained controllers
+ // write one single row at a time
+ if (self->SH1107_addressing) {
+ subrectangles = rows_per_buffer; // vertical (column mode) write each separately (height times)
+ rows_per_buffer = 1;
+ } else if (displayio_area_size(&clipped) > buffer_size * pixels_per_word) {
rows_per_buffer = buffer_size * pixels_per_word / displayio_area_width(&clipped);
if (rows_per_buffer == 0) {
rows_per_buffer = 1;
@@ -286,7 +295,9 @@ STATIC bool _refresh_area(displayio_display_obj_t* self, const displayio_area_t*
}
remaining_rows -= rows_per_buffer;
- displayio_display_core_set_region_to_update(&self->core, self->set_column_command, self->set_row_command, NO_COMMAND, NO_COMMAND, self->data_as_commands, false, &subrectangle);
+ displayio_display_core_set_region_to_update(&self->core, self->set_column_command,
+ self->set_row_command, NO_COMMAND, NO_COMMAND, self->data_as_commands, false,
+ &subrectangle, self->SH1107_addressing);
uint16_t subrectangle_size_bytes;
if (self->core.colorspace.depth >= 8) {
@@ -317,11 +328,10 @@ STATIC bool _refresh_area(displayio_display_obj_t* self, const displayio_area_t*
}
STATIC void _refresh_display(displayio_display_obj_t* self) {
- if (!displayio_display_core_bus_free(&self->core)) {
- // Can't acquire display bus; skip updating this display. Try next display.
+ if (!displayio_display_core_start_refresh(&self->core)) {
+ // A refresh on this bus is already in progress. Try next display.
return;
}
- displayio_display_core_start_refresh(&self->core);
const displayio_area_t* current_area = _get_refresh_areas(self);
while (current_area != NULL) {
_refresh_area(self, current_area);
diff --git a/shared-module/displayio/Display.h b/shared-module/displayio/Display.h
index bdb861aa0..cc9cd54c4 100644
--- a/shared-module/displayio/Display.h
+++ b/shared-module/displayio/Display.h
@@ -60,6 +60,8 @@ typedef struct {
bool auto_brightness;
bool updating_backlight;
bool backlight_on_high;
+ // new quirk for sh1107
+ bool SH1107_addressing;
} displayio_display_obj_t;
void displayio_display_background(displayio_display_obj_t* self);
diff --git a/shared-module/displayio/EPaperDisplay.c b/shared-module/displayio/EPaperDisplay.c
index 6d9e915b4..5b055e62e 100644
--- a/shared-module/displayio/EPaperDisplay.c
+++ b/shared-module/displayio/EPaperDisplay.c
@@ -238,8 +238,11 @@ bool displayio_epaperdisplay_refresh_area(displayio_epaperdisplay_obj_t* self, c
for (uint8_t pass = 0; pass < passes; pass++) {
uint16_t remaining_rows = displayio_area_height(&clipped);
+ // added false parameter at end for SH1107_addressing quirk
if (self->set_row_window_command != NO_COMMAND) {
- displayio_display_core_set_region_to_update(&self->core, self->set_column_window_command, self->set_row_window_command, self->set_current_column_command, self->set_current_row_command, false, self->chip_select, &clipped);
+ displayio_display_core_set_region_to_update(&self->core, self->set_column_window_command,
+ self->set_row_window_command, self->set_current_column_command, self->set_current_row_command,
+ false, self->chip_select, &clipped, false);
}
uint8_t write_command = self->write_black_ram_command;
diff --git a/shared-module/displayio/FourWire.c b/shared-module/displayio/FourWire.c
index 726116208..8c56d7ab6 100644
--- a/shared-module/displayio/FourWire.c
+++ b/shared-module/displayio/FourWire.c
@@ -87,9 +87,9 @@ bool common_hal_displayio_fourwire_reset(mp_obj_t obj) {
return false;
}
common_hal_digitalio_digitalinout_set_value(&self->reset, false);
- common_hal_time_delay_ms(1);
+ common_hal_mcu_delay_us(1000);
common_hal_digitalio_digitalinout_set_value(&self->reset, true);
- common_hal_time_delay_ms(1);
+ common_hal_mcu_delay_us(1000);
return true;
}
diff --git a/shared-module/displayio/__init__.c b/shared-module/displayio/__init__.c
index 101dac4b3..a9bb3b21b 100644
--- a/shared-module/displayio/__init__.c
+++ b/shared-module/displayio/__init__.c
@@ -40,8 +40,6 @@ STATIC bool any_display_uses_this_framebuffer(mp_obj_base_t *obj) {
}
#endif
-// Check for recursive calls to displayio_background.
-bool displayio_background_in_progress = false;
void displayio_background(void) {
if (mp_hal_is_interrupted()) {
@@ -52,12 +50,6 @@ void displayio_background(void) {
return;
}
- if (displayio_background_in_progress) {
- // Don't allow recursive calls to this routine.
- return;
- }
-
- displayio_background_in_progress = true;
for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) {
if (displays[i].display.base.type == NULL || displays[i].display.base.type == &mp_type_NoneType) {
@@ -75,8 +67,6 @@ void displayio_background(void) {
}
}
- // All done.
- displayio_background_in_progress = false;
}
void common_hal_displayio_release_displays(void) {
diff --git a/shared-module/displayio/display_core.c b/shared-module/displayio/display_core.c
index 43f2d1937..60a8ef213 100644
--- a/shared-module/displayio/display_core.c
+++ b/shared-module/displayio/display_core.c
@@ -197,7 +197,7 @@ bool displayio_display_core_get_dither(displayio_display_core_t* self){
}
bool displayio_display_core_bus_free(displayio_display_core_t *self) {
- return self->bus_free(self->bus);
+ return !self->bus || self->bus_free(self->bus);
}
bool displayio_display_core_begin_transaction(displayio_display_core_t* self) {
@@ -208,7 +208,10 @@ void displayio_display_core_end_transaction(displayio_display_core_t* self) {
self->end_transaction(self->bus);
}
-void displayio_display_core_set_region_to_update(displayio_display_core_t* self, uint8_t column_command, uint8_t row_command, uint16_t set_current_column_command, uint16_t set_current_row_command, bool data_as_commands, bool always_toggle_chip_select, displayio_area_t* area) {
+void displayio_display_core_set_region_to_update(displayio_display_core_t* self, uint8_t column_command,
+ uint8_t row_command, uint16_t set_current_column_command, uint16_t set_current_row_command,
+ bool data_as_commands, bool always_toggle_chip_select,
+ displayio_area_t* area, bool SH1107_addressing) {
uint16_t x1 = area->x1;
uint16_t x2 = area->x2;
uint16_t y1 = area->y1;
@@ -253,8 +256,17 @@ void displayio_display_core_set_region_to_update(displayio_display_core_t* self,
data[data_length++] = x2 >> 8;
data[data_length++] = x2 & 0xff;
}
+ // Quirk for SH1107 "SH1107_addressing"
+ // Note... column is y! page is x!
+ // Page address command = 0xB0
+ if (SH1107_addressing) {
+ // set the page to our x value
+ data[0] = 0xB0 | (x1 & 0x0F);
+ data_length = 1;
+ }
self->send(self->bus, data_type, chip_select, data, data_length);
displayio_display_core_end_transaction(self);
+
if (set_current_column_command != NO_COMMAND) {
uint8_t command = set_current_column_command;
displayio_display_core_begin_transaction(self);
@@ -283,7 +295,16 @@ void displayio_display_core_set_region_to_update(displayio_display_core_t* self,
data[data_length++] = y2 >> 8;
data[data_length++] = y2 & 0xff;
}
+ // Quirk for SH1107 "SH1107_addressing"
+ // Note... column is y! page is x!
+ // Column lower command = 0x00, Column upper command = 0x10
+ if (SH1107_addressing) {
+ data[0] = y1 & 0x0F; // 0x00 to 0x0F
+ data[1] = (y1 >> 4 & 0x0F) | 0x10; // 0x10 to 0x17
+ data_length = 2;
+ }
self->send(self->bus, data_type, chip_select, data, data_length);
+
displayio_display_core_end_transaction(self);
if (set_current_row_command != NO_COMMAND) {
@@ -295,8 +316,17 @@ void displayio_display_core_set_region_to_update(displayio_display_core_t* self,
}
}
-void displayio_display_core_start_refresh(displayio_display_core_t* self) {
+bool displayio_display_core_start_refresh(displayio_display_core_t* self) {
+ if (!displayio_display_core_bus_free(self)) {
+ // Can't acquire display bus; skip updating this display. Try next display.
+ return false;
+ }
+ if (self->refresh_in_progress) {
+ return false;
+ }
+ self->refresh_in_progress = true;
self->last_refresh = supervisor_ticks_ms64();
+ return true;
}
void displayio_display_core_finish_refresh(displayio_display_core_t* self) {
@@ -305,6 +335,7 @@ void displayio_display_core_finish_refresh(displayio_display_core_t* self) {
displayio_group_finish_refresh(self->current_group);
}
self->full_refresh = false;
+ self->refresh_in_progress = false;
self->last_refresh = supervisor_ticks_ms64();
}
diff --git a/shared-module/displayio/display_core.h b/shared-module/displayio/display_core.h
index e4fd62d4a..fe6cb6f3f 100644
--- a/shared-module/displayio/display_core.h
+++ b/shared-module/displayio/display_core.h
@@ -54,6 +54,7 @@ typedef struct {
int16_t colstart;
int16_t rowstart;
bool full_refresh; // New group means we need to refresh the whole display.
+ bool refresh_in_progress;
} displayio_display_core_t;
void displayio_display_core_construct(displayio_display_core_t* self,
@@ -74,11 +75,14 @@ bool displayio_display_core_bus_free(displayio_display_core_t *self);
bool displayio_display_core_begin_transaction(displayio_display_core_t* self);
void displayio_display_core_end_transaction(displayio_display_core_t* self);
-void displayio_display_core_set_region_to_update(displayio_display_core_t* self, uint8_t column_command, uint8_t row_command, uint16_t set_current_column_command, uint16_t set_current_row_command, bool data_as_commands, bool always_toggle_chip_select, displayio_area_t* area);
+void displayio_display_core_set_region_to_update(displayio_display_core_t* self, uint8_t column_command,
+ uint8_t row_command, uint16_t set_current_column_command, uint16_t set_current_row_command,
+ bool data_as_commands, bool always_toggle_chip_select,
+ displayio_area_t* area, bool SH1107_addressing);
void release_display_core(displayio_display_core_t* self);
-void displayio_display_core_start_refresh(displayio_display_core_t* self);
+bool displayio_display_core_start_refresh(displayio_display_core_t* self);
void displayio_display_core_finish_refresh(displayio_display_core_t* self);
void displayio_display_core_collect_ptrs(displayio_display_core_t* self);
diff --git a/shared-module/sharpdisplay/SharpMemoryFramebuffer.c b/shared-module/sharpdisplay/SharpMemoryFramebuffer.c
index 71e00d7f0..c23446828 100644
--- a/shared-module/sharpdisplay/SharpMemoryFramebuffer.c
+++ b/shared-module/sharpdisplay/SharpMemoryFramebuffer.c
@@ -90,10 +90,6 @@ bool common_hal_sharpdisplay_framebuffer_get_pixels_in_byte_share_row(sharpdispl
}
void common_hal_sharpdisplay_framebuffer_reset(sharpdisplay_framebuffer_obj_t *self) {
- if (!allocation_from_ptr(self->bufinfo.buf)) {
- self->bufinfo.buf = NULL;
- }
-
if (self->bus != &self->inline_bus
#if BOARD_SPI
&& self->bus != common_hal_board_get_spi()
@@ -105,7 +101,9 @@ void common_hal_sharpdisplay_framebuffer_reset(sharpdisplay_framebuffer_obj_t *s
}
void common_hal_sharpdisplay_framebuffer_reconstruct(sharpdisplay_framebuffer_obj_t *self) {
-
+ if (!allocation_from_ptr(self->bufinfo.buf)) {
+ self->bufinfo.buf = NULL;
+ }
}
void common_hal_sharpdisplay_framebuffer_get_bufinfo(sharpdisplay_framebuffer_obj_t *self, mp_buffer_info_t *bufinfo) {
diff --git a/supervisor/port.h b/supervisor/port.h
index ddb96bd52..f5b3c15d1 100644
--- a/supervisor/port.h
+++ b/supervisor/port.h
@@ -44,7 +44,7 @@ extern uint32_t _ebss;
safe_mode_t port_init(void);
// Reset the microcontroller completely.
-void reset_cpu(void);
+void reset_cpu(void) NORETURN;
// Reset the microcontroller state.
void reset_port(void);
@@ -53,7 +53,7 @@ void reset_port(void);
void reset_board(void);
// Reset to the bootloader
-void reset_to_bootloader(void);
+void reset_to_bootloader(void) NORETURN;
// Get stack limit address
uint32_t *port_stack_get_limit(void);
diff --git a/supervisor/shared/safe_mode.c b/supervisor/shared/safe_mode.c
index 1cf36e4b7..d59e754ed 100644
--- a/supervisor/shared/safe_mode.c
+++ b/supervisor/shared/safe_mode.c
@@ -119,9 +119,9 @@ void print_safe_mode_message(safe_mode_t reason) {
#ifdef BOARD_USER_SAFE_MODE_ACTION
// Output a user safe mode string if it's set.
serial_write_compressed(translate("You requested starting safe mode by "));
- serial_write_compressed(translate(BOARD_USER_SAFE_MODE_ACTION));
+ serial_write_compressed(BOARD_USER_SAFE_MODE_ACTION);
serial_write_compressed(translate("To exit, please reset the board without "));
- serial_write_compressed(translate(BOARD_USER_SAFE_MODE_ACTION));
+ serial_write_compressed(BOARD_USER_SAFE_MODE_ACTION);
#else
break;
#endif
diff --git a/supervisor/shared/safe_mode.h b/supervisor/shared/safe_mode.h
index 7d3cd63b5..34fc3c8ae 100644
--- a/supervisor/shared/safe_mode.h
+++ b/supervisor/shared/safe_mode.h
@@ -27,6 +27,8 @@
#ifndef MICROPY_INCLUDED_SUPERVISOR_SAFE_MODE_H
#define MICROPY_INCLUDED_SUPERVISOR_SAFE_MODE_H
+#include "py/mpconfig.h"
+
typedef enum {
NO_SAFE_MODE = 0,
BROWNOUT,
@@ -48,7 +50,7 @@ typedef enum {
safe_mode_t wait_for_safe_mode_reset(void);
void safe_mode_on_next_reset(safe_mode_t reason);
-void reset_into_safe_mode(safe_mode_t reason);
+void reset_into_safe_mode(safe_mode_t reason) NORETURN;
void print_safe_mode_message(safe_mode_t reason);
diff --git a/supervisor/stub/safe_mode.c b/supervisor/stub/safe_mode.c
index 8072be2c6..a70ac6b6d 100644
--- a/supervisor/stub/safe_mode.c
+++ b/supervisor/stub/safe_mode.c
@@ -26,14 +26,15 @@
#include "supervisor/shared/safe_mode.h"
+#include <stdlib.h>
+
safe_mode_t wait_for_safe_mode_reset(void) {
return NO_SAFE_MODE;
}
void reset_into_safe_mode(safe_mode_t reason) {
(void) reason;
- for (;;) {
- }
+ abort();
}
void print_safe_mode_message(safe_mode_t reason) {
diff --git a/tools/build_board_info.py b/tools/build_board_info.py
index 6ed8b8c16..f83282ea9 100644
--- a/tools/build_board_info.py
+++ b/tools/build_board_info.py
@@ -42,7 +42,7 @@ extension_by_port = {
"cxd56": SPK,
"mimxrt10xx": HEX_UF2,
"litex": DFU,
- "esp32s2": BIN
+ "esp32s2": BIN_UF2
}
# Per board overrides
diff --git a/tools/ci_check_duplicate_usb_vid_pid.py b/tools/ci_check_duplicate_usb_vid_pid.py
index dd6bf5670..cb4efc5f1 100644
--- a/tools/ci_check_duplicate_usb_vid_pid.py
+++ b/tools/ci_check_duplicate_usb_vid_pid.py
@@ -44,7 +44,9 @@ DEFAULT_IGNORELIST = [
"feather_m0_express",
"feather_m0_supersized",
"cp32-m4",
- "metro_m4_express"
+ "metro_m4_express",
+ "unexpectedmaker_feathers2",
+ "unexpectedmaker_feathers2_prerelease"
]
cli_parser = argparse.ArgumentParser(description="USB VID/PID Duplicate Checker")