summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst4
-rw-r--r--locale/ID.po17
-rw-r--r--locale/circuitpython.pot44
-rw-r--r--locale/cs.po17
-rw-r--r--locale/de_DE.po25
-rw-r--r--locale/el.po17
-rw-r--r--locale/es.po163
-rw-r--r--locale/fil.po17
-rw-r--r--locale/fr.po54
-rw-r--r--locale/hi.po17
-rw-r--r--locale/it_IT.po17
-rw-r--r--locale/ja.po23
-rw-r--r--locale/ko.po17
-rw-r--r--locale/nl.po20
-rw-r--r--locale/pl.po17
-rw-r--r--locale/pt_BR.po82
-rw-r--r--locale/sv.po20
-rw-r--r--locale/zh_Latn_pinyin.po20
-rw-r--r--ports/esp32s2/Makefile1
-rw-r--r--ports/esp32s2/common-hal/busio/SPI.c8
-rw-r--r--ports/esp32s2/common-hal/microcontroller/Pin.c4
-rw-r--r--ports/esp32s2/common-hal/socketpool/Socket.c71
-rw-r--r--ports/esp32s2/common-hal/socketpool/SocketPool.c7
-rw-r--r--ports/esp32s2/common-hal/wifi/Radio.c4
-rw-r--r--shared-bindings/displayio/ColorConverter.c4
-rw-r--r--shared-bindings/socketpool/Socket.c122
-rw-r--r--shared-bindings/socketpool/Socket.h4
-rw-r--r--shared-bindings/wifi/Radio.c20
-rw-r--r--shared-module/_eve/__init__.c4
29 files changed, 511 insertions, 329 deletions
diff --git a/README.rst b/README.rst
index d21e8d8d3..19992d284 100644
--- a/README.rst
+++ b/README.rst
@@ -114,14 +114,14 @@ Behavior
finishes or is interrupted. After it is done running, the vm and
hardware is reinitialized. **This means you cannot read state from**
``code.py`` **in the REPL anymore.** CircuitPython's goal for this
- change includes reduce confusion about pins and memory being used.
+ change includes reducing confusion about pins and memory being used.
- After ``code.py`` the REPL can be entered by pressing any key. It no
longer shares state with ``code.py`` so it is a fresh vm.
- Autoreload state will be maintained across reload.
- Adds a safe mode that does not run user code after a hard crash or
brown out. The hope is that this will make it easier to fix code that
causes nasty crashes by making it available through mass storage
- after the crash. A reset (the button) is needed after its fixed to
+ after the crash. A reset (the button) is needed after it's fixed to
get back into normal mode.
- RGB status LED indicating CircuitPython state, and errors through a sequence of colored flashes.
- Re-runs ``code.py`` or other main file after file system writes over USB mass storage. (Disable with
diff --git a/locale/ID.po b/locale/ID.po
index 782e846e9..6073b6a46 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: 2020-10-10 23:51+0000\n"
"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -301,6 +301,7 @@ msgid "All I2C peripherals are in use"
msgstr "Semua perangkat I2C sedang digunakan"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -337,6 +338,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1107,6 +1109,7 @@ msgid "Invalid byteorder string"
msgstr "String byteorder tidak valid"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "Periode penangkapan tidak valid. Kisaran yang valid: 1 - 500"
@@ -1283,6 +1286,10 @@ msgstr "Harus menyediakan pin MISO atau MOSI"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "Harus menggunakan kelipatan 6 pin rgb, bukan %d"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr "Nama terlalu panjang"
@@ -1435,14 +1442,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot
index 36fd5f647..38deb62d7 100644
--- a/locale/circuitpython.pot
+++ b/locale/circuitpython.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-27 16:03-0500\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1427,14 +1427,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1448,10 +1448,6 @@ msgid ""
"%d bpp given"
msgstr ""
-#: ports/esp32s2/common-hal/alarm/__init__.c
-msgid "Only one alarm.time alarm can be set."
-msgstr ""
-
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
@@ -1509,10 +1505,6 @@ msgstr ""
msgid "Pin number already reserved by EXTI"
msgstr ""
-#: ports/esp32s2/common-hal/alarm/__init__.c
-msgid "PinAlarm not yet implemented"
-msgstr ""
-
#: shared-bindings/rgbmatrix/RGBMatrix.c
#, c-format
msgid ""
@@ -1574,7 +1566,7 @@ msgstr ""
msgid "RTC calibration is not supported on this board"
msgstr ""
-#: shared-bindings/alarm/time/TimeAlarm.c shared-bindings/time/__init__.c
+#: shared-bindings/time/__init__.c
msgid "RTC is not supported on this board"
msgstr ""
@@ -1720,10 +1712,6 @@ msgstr ""
msgid "Supply at least one UART pin"
msgstr ""
-#: shared-bindings/alarm/time/TimeAlarm.c
-msgid "Supply one of monotonic_time or epoch_time"
-msgstr ""
-
#: shared-bindings/gnss/GNSS.c
msgid "System entry must be gnss.SatelliteSystem"
msgstr ""
@@ -1787,10 +1775,6 @@ msgstr ""
msgid "Tile width must exactly divide bitmap width"
msgstr ""
-#: shared-bindings/alarm/time/TimeAlarm.c
-msgid "Time is in the past."
-msgstr ""
-
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Timeout is too long: Maximum timeout length is %d seconds"
@@ -2505,10 +2489,6 @@ msgstr ""
msgid "end_x should be an int"
msgstr ""
-#: shared-bindings/alarm/time/TimeAlarm.c
-msgid "epoch_time not supported on this board"
-msgstr ""
-
#: ports/nrf/common-hal/busio/UART.c
#, c-format
msgid "error = 0x%08lX"
@@ -2878,10 +2858,6 @@ msgstr ""
msgid "invalid syntax for number"
msgstr ""
-#: ports/esp32s2/common-hal/alarm/pin/__init__.c
-msgid "io must be rtc io"
-msgstr ""
-
#: py/objtype.c
msgid "issubclass() arg 1 must be a class"
msgstr ""
@@ -3569,10 +3545,6 @@ msgstr ""
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
-#: ports/esp32s2/common-hal/alarm/pin/__init__.c
-msgid "trigger level must be 0 or 1"
-msgstr ""
-
#: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range"
msgstr ""
@@ -3715,10 +3687,6 @@ msgstr ""
msgid "vectors must have same lengths"
msgstr ""
-#: ports/esp32s2/common-hal/alarm/pin/__init__.c
-msgid "wakeup conflict"
-msgstr ""
-
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
msgid "watchdog not initialized"
msgstr ""
diff --git a/locale/cs.po b/locale/cs.po
index 6eb69fb67..a77a655a6 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-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"
@@ -301,6 +301,7 @@ msgid "All I2C peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -337,6 +338,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1090,6 +1092,7 @@ msgid "Invalid byteorder string"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr ""
@@ -1266,6 +1269,10 @@ msgstr ""
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr ""
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr ""
@@ -1416,14 +1423,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index f10333910..7dd79d915 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -5,15 +5,15 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-23 10:10-0600\n"
-"PO-Revision-Date: 2020-06-16 18:24+0000\n"
-"Last-Translator: Andreas Buchen <andreas.buchen@gmail.com>\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
+"PO-Revision-Date: 2020-11-26 03:11+0000\n"
+"Last-Translator: Daniel Bravo Darriba <bravodarriba@gmail.com>\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.1.1-dev\n"
+"X-Generator: Weblate 4.4-dev\n"
#: main.c
msgid ""
@@ -57,7 +57,7 @@ msgstr "%d Adress-Pins und %d rgb-Pins zeigen eine Höhe von %d, nicht von %d"
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
msgid "%q failure: %d"
-msgstr ""
+msgstr "%q Fehler: %d"
#: shared-bindings/microcontroller/Pin.c
msgid "%q in use"
@@ -300,6 +300,7 @@ msgid "All I2C peripherals are in use"
msgstr "Alle I2C-Peripheriegeräte sind in Benutzung"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -336,6 +337,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1107,6 +1109,7 @@ msgid "Invalid byteorder string"
msgstr "Ungültige Byteorder String"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "Ungültiger Aufnahmezeitraum. Gültiger Bereich: 1 - 500"
@@ -1285,6 +1288,10 @@ msgstr "Muss MISO- oder MOSI-Pin bereitstellen"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "Muss ein Vielfaches von 6 RGB-Pins verwenden, nicht %d"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr "Name zu lang"
@@ -1437,14 +1444,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/el.po b/locale/el.po
index 85bf0ab44..8d6dad828 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -296,6 +296,7 @@ msgid "All I2C peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -332,6 +333,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1085,6 +1087,7 @@ msgid "Invalid byteorder string"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr ""
@@ -1261,6 +1264,10 @@ msgstr ""
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr ""
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr ""
@@ -1411,14 +1418,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/es.po b/locale/es.po
index 538a2944e..6b0fde563 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-23 10:10-0600\n"
-"PO-Revision-Date: 2020-11-15 16:28+0000\n"
-"Last-Translator: RubenD <rubendariopm14@gmail.com>\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
+"PO-Revision-Date: 2020-11-27 18:34+0000\n"
+"Last-Translator: Iván Montiel Cardona <ivan_montiel2013@hotmail.com>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
@@ -304,6 +304,7 @@ msgid "All I2C peripherals are in use"
msgstr "Todos los periféricos I2C están siendo usados"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr "Todas las unidades PCNT en uso"
@@ -342,6 +343,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -437,7 +439,7 @@ msgstr "El periférico no maneja el Baudrate"
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
-msgstr "Por debajo de taza mínima de refrescamiento"
+msgstr "Por debajo de la tasa mínima de refrescamiento"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Bit clock and word select must share a clock unit"
@@ -498,7 +500,7 @@ msgstr "El buffer es muy pequeño"
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
#, c-format
msgid "Buffer length %d too big. It must be less than %d"
-msgstr "La longitud del buffer %d es muy grande. Debe ser menor a %d"
+msgstr "Longitud del buffer %d es demasiado grande. Tiene que ser menor a %d"
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
#: ports/cxd56/common-hal/sdioio/SDCard.c shared-module/sdcardio/SDCard.c
@@ -520,7 +522,7 @@ msgstr "Buffer demasiado grande e incapaz de asignar"
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
-msgstr "Búfer muy corto por %d bytes"
+msgstr "Búffer muy corto por %d bytes"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
@@ -729,7 +731,7 @@ msgstr "No se puede definir la dirección"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not start PWM"
-msgstr "No se pudo iniciar el PWM"
+msgstr "No se pudo iniciar PWM"
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
@@ -746,7 +748,7 @@ msgstr "No se pudo asignar el primer buffer"
#: shared-module/audiomp3/MP3Decoder.c
msgid "Couldn't allocate input buffer"
-msgstr "No se pudo encontrar el búfer de entrada"
+msgstr "No se pudo encontrar el buffer de entrada"
#: shared-module/audiocore/WaveFile.c shared-module/audiomixer/Mixer.c
#: shared-module/audiomp3/MP3Decoder.c
@@ -876,7 +878,7 @@ msgstr "FFT se define solo para ndarrays"
#: extmod/ulab/code/fft/fft.c
msgid "FFT is implemented for linear arrays only"
-msgstr ""
+msgstr "FFT solo esta implementado para arrays lineales"
#: ports/esp32s2/common-hal/socketpool/Socket.c
msgid "Failed SSL handshake"
@@ -936,7 +938,7 @@ msgstr "No se puede liberar el mutex, err 0x%04x"
#: supervisor/shared/safe_mode.c
msgid "Failed to write internal flash."
-msgstr "Error al escribir al flash interno."
+msgstr "Error al escribir el flash interno."
#: py/moduerrno.c
msgid "File exists"
@@ -975,7 +977,7 @@ msgstr "La función requiere lock"
#: shared-bindings/displayio/EPaperDisplay.c
#: shared-bindings/framebufferio/FramebufferDisplay.c
msgid "Group already used"
-msgstr "El grupo ya está siendo utilizado"
+msgstr "Grupo ya está siendo utilizado"
#: shared-module/displayio/Group.c
msgid "Group full"
@@ -1001,7 +1003,7 @@ msgstr "Operación I/O en archivo cerrado"
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
-msgstr "Error de inicio de I2C"
+msgstr "I2C Error de inicio"
#: shared-bindings/audiobusio/I2SOut.c
msgid "I2SOut not available"
@@ -1026,7 +1028,7 @@ msgstr "Tamaño incorrecto del buffer"
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
msgid "Initialization failed due to lack of memory"
-msgstr ""
+msgstr "Inicializacion fallida por falta de memoria"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "Input taking too long"
@@ -1108,6 +1110,7 @@ msgid "Invalid byteorder string"
msgstr "Cadena de byteorder inválida"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "Inválido periodo de captura. Rango válido: 1 - 500"
@@ -1284,6 +1287,10 @@ msgstr "Debe proporcionar un pin MISO o MOSI"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "Debe usar un múltiplo de 6 pines rgb, no %d"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr "Error NVS"
+
#: py/parse.c
msgid "Name too long"
msgstr "Nombre muy largo"
@@ -1397,7 +1404,7 @@ msgstr "No hay temporizador disponible"
#: supervisor/shared/safe_mode.c
msgid "Nordic Soft Device failure assertion."
-msgstr "fallo de aserción de dispositivo Nordic Soft."
+msgstr "Fallo de aserción de dispositivo Nordic Soft."
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
msgid "Not a valid IP string"
@@ -1436,14 +1443,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"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr "Solo se admiten sockets IPv4"
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -1493,7 +1500,7 @@ msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
-msgstr "ParallelBus no soportado aún"
+msgstr "ParallelBus todavía no soportado"
#: py/moduerrno.c
msgid "Permission denied"
@@ -1527,8 +1534,9 @@ msgid ""
"bytes. If this cannot be avoided, pass allow_inefficient=True to the "
"constructor"
msgstr ""
-"El pinout utiliza %d bytes por elemento, lo que consume más del ideal de %d "
-"bytes. Si esto no se puede evitar, pase allow_inefficient=True al constructor"
+"El pinout utiliza %d bytes por elemento, lo que consume más de los %d bytes "
+"ideales. Si esto no se puede evitar, pase allow_inefficient=True al "
+"constructor"
#: py/builtinhelp.c
msgid "Plus any modules on the filesystem\n"
@@ -1559,7 +1567,7 @@ msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap"
-msgstr "El búfer de prefijo debe estar en el montículo"
+msgstr "El prefijo del buffer debe estar en el heap"
#: main.c
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
@@ -1572,7 +1580,7 @@ msgstr "Pull no se usa cuando la dirección es output."
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
-msgstr "Error de desinicializado del RNG"
+msgstr "Error de desinicialización de RNG"
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
@@ -1581,7 +1589,7 @@ 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"
+msgstr "Se especifica inversión de RS485 si no está en modo RS485"
#: 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
@@ -1616,7 +1624,7 @@ msgstr "Objeto de solo-lectura"
#: shared-bindings/displayio/EPaperDisplay.c
msgid "Refresh too soon"
-msgstr "Actualizando demasiado pronto"
+msgstr "Refresco demasiado pronto"
#: shared-bindings/canio/RemoteTransmissionRequest.c
msgid "RemoteTransmissionRequests limited to 8 bytes"
@@ -1676,7 +1684,7 @@ msgstr "Frecuencia de muestreo demasiado alta. Debe ser menor a %d"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Scan already in progess. Stop with stop_scan."
-msgstr "Escaneo en progreso. Use stop_scan para detener."
+msgstr "Escaneo en progreso. Usa stop_scan para detener."
#: ports/mimxrt10xx/common-hal/busio/UART.c
msgid "Selected CTS pin not valid"
@@ -1716,7 +1724,7 @@ 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"
+msgstr "Los buffers de fuente y destino deben ser del mismo tamaño"
#: extmod/modure.c
msgid "Splitting with sub-captures"
@@ -1747,7 +1755,7 @@ msgid ""
"The CircuitPython heap was corrupted because the stack was too small.\n"
"Please increase the stack size if you know how, or if not:"
msgstr ""
-"El montículo de CircuitPython se dañó porque la pila era demasiado pequeña.\n"
+"El heap de CircuitPython se dañó porque la pila era demasiado pequeña.\n"
"Aumente el tamaño de la pila si sabe cómo, o si no:"
#: supervisor/shared/safe_mode.c
@@ -1755,8 +1763,8 @@ msgid ""
"The `microcontroller` module was used to boot into safe mode. Press reset to "
"exit safe mode.\n"
msgstr ""
-"El módulo de `microcontroller` fue utilizado para bootear en modo seguro. "
-"Presione reset para salir del modo seguro.\n"
+"El módulo de `microcontroller` fue utilizado para arrancar en modo seguro. "
+"Presiona 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"
@@ -1768,9 +1776,9 @@ msgid ""
"enough power for the whole circuit and press reset (after ejecting "
"CIRCUITPY).\n"
msgstr ""
-"La alimentación de la microntroladora bajó. Asegúrate que tu fuente de "
-"poder\n"
-"pueda suplir suficiente energía para todo el circuito y presione reset "
+"La alimentación del microntrolador cayó. Asegúrate que tu fuente de "
+"alimentación\n"
+"pueda aportar suficiente energía para todo el circuito y presiona reset "
"(luego de\n"
"expulsar CIRCUITPY)\n"
@@ -1950,7 +1958,7 @@ msgstr "Error de seguridad desconocido: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
-msgstr "Error suave desconocido en dispositivo: %04x"
+msgstr "Error leve desconocido en dispositivo: %04x"
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
@@ -1963,7 +1971,7 @@ msgid ""
"declined or ignored."
msgstr ""
"Problema no especificado. Puede ser que la señal de emparejamiento del otro "
-"dispositivo fue declinada o ignorada."
+"dispositivo fue denegada o ignorada."
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
@@ -2053,7 +2061,7 @@ msgstr "La clave de WiFi debe ser entre 8 y 63 caracteres"
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
msgid "Writes not supported on Characteristic"
-msgstr "Escrituras no admitidas en la característica"
+msgstr "Escrituras no admitidas en Characteristic"
#: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n"
@@ -2106,7 +2114,7 @@ msgstr "El argumento para argsort debe ser un ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
-msgstr ""
+msgstr "El argot no está implementado para arrays aplanados"
#: py/runtime.c
msgid "argument has wrong type"
@@ -2131,7 +2139,7 @@ msgstr "argumentos deben ser ndarrays"
#: extmod/ulab/code/ndarray.c
msgid "array and index length must be equal"
-msgstr ""
+msgstr "Longitud del array e índice tienen que ser iguales"
#: py/objarray.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side"
@@ -2139,11 +2147,11 @@ msgstr "array/bytes requeridos en el lado derecho"
#: extmod/ulab/code/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
-msgstr ""
+msgstr "Intendo de obteber (arg)min/(arg)max de secuencia vacía"
#: extmod/ulab/code/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
-msgstr "se trató de traer argmin/argmax de una secuencia vacía"
+msgstr "intento de obtener argmin/argmax de una secuencia vacía"
#: py/objstr.c
msgid "attributes not supported yet"
@@ -2151,15 +2159,15 @@ msgstr "atributos aún no soportados"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis is out of bounds"
-msgstr ""
+msgstr "Eje está fuera de sus límites"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis must be None, or an integer"
-msgstr ""
+msgstr "Eje tiene que ser None, o un entero"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis too long"
-msgstr ""
+msgstr "Eje demasiado largo"
#: py/builtinevex.c
msgid "bad compile mode"
@@ -2369,7 +2377,7 @@ msgstr ""
#: extmod/ulab/code/ndarray_operators.c
msgid "cannot cast output with casting rule"
-msgstr ""
+msgstr "No se puede realizar cast de la salida sin una regla de cast"
#: py/objtype.c
msgid "cannot create '%q' instances"
@@ -2405,7 +2413,7 @@ msgstr "El argumento de chr() no esta en el rango(256)"
#: shared-module/vectorio/Circle.c
msgid "circle can only be registered in one parent"
-msgstr "circle solo puede ser registrado con un pariente"
+msgstr "circulo solo puede ser registrado con un pariente"
#: shared-bindings/displayio/Palette.c
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
@@ -2469,7 +2477,7 @@ msgstr "no se pudo determinar la versión de la tarjeta SD"
#: extmod/ulab/code/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
-msgstr ""
+msgstr "Cruce está definido para un array 1D de longitud 3"
#: extmod/ulab/code/approx/approx.c
msgid "data must be iterable"
@@ -2512,7 +2520,7 @@ msgstr "El argumento diff debe ser un ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "differentiation order out of range"
-msgstr ""
+msgstr "Orden de diferenciación fuera de rango"
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
@@ -2631,11 +2639,11 @@ msgstr "el primer argumento debe ser una función"
#: extmod/ulab/code/ulab_create.c
msgid "first argument must be a tuple of ndarrays"
-msgstr ""
+msgstr "Primer argumento tiene que ser una tupla de ndarrays"
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
-msgstr "el primer argumento debe permitir iteración"
+msgstr "el primer argumento debe ser un iterable"
#: extmod/ulab/code/vector/vectorise.c
msgid "first argument must be an ndarray"
@@ -2655,7 +2663,7 @@ msgstr "el argumento invertido debe ser un ndarray"
#: py/objint.c
msgid "float too big"
-msgstr "punto flotante muy grande"
+msgstr "punto flotante demasiado grande"
#: shared-bindings/_stage/Text.c
msgid "font must be 2048 bytes long"
@@ -2688,7 +2696,7 @@ msgstr "la función tiene el mismo signo a extremos del intervalo"
#: extmod/ulab/code/ndarray.c
msgid "function is defined for ndarrays only"
-msgstr ""
+msgstr "Función solo definida para ndarrays"
#: py/argcheck.c
#, c-format
@@ -2784,7 +2792,7 @@ msgstr "ensamblador en línea debe ser una función"
#: extmod/ulab/code/ndarray.c
msgid "input and output shapes are not compatible"
-msgstr ""
+msgstr "Formas de entrada y salida no son compactibles"
#: extmod/ulab/code/ulab_create.c
msgid "input argument must be an integer or a 2-tuple"
@@ -2796,11 +2804,11 @@ msgstr "el tamaño del arreglo de entrada debe ser potencia de 2"
#: extmod/ulab/code/ulab_create.c
msgid "input arrays are not compatible"
-msgstr ""
+msgstr "Arrays de entrada no son compactibles"
#: extmod/ulab/code/poly/poly.c
msgid "input data must be an iterable"
-msgstr "los datos de entrada deben permitir iteración"
+msgstr "los datos de entrada deben ser iterables"
#: extmod/ulab/code/linalg/linalg.c
msgid "input matrix is asymmetric"
@@ -2812,19 +2820,19 @@ msgstr "la matriz de entrada es singular"
#: extmod/ulab/code/user/user.c
msgid "input must be a dense ndarray"
-msgstr ""
+msgstr "Entrada tiene que ser un ndarray denso"
#: extmod/ulab/code/ulab_create.c
msgid "input must be a tensor of rank 2"
-msgstr ""
+msgstr "Entrada tiene que ser un tensor de rango 2"
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/user/user.c
msgid "input must be an ndarray"
-msgstr ""
+msgstr "Entrada tiene que ser un ndarray"
#: extmod/ulab/code/filter/filter.c
msgid "input must be one-dimensional"
-msgstr ""
+msgstr "Entrada tiene que ser unidimensional"
#: extmod/ulab/code/linalg/linalg.c
msgid "input must be square matrix"
@@ -2840,7 +2848,7 @@ msgstr "los vectores de entrada deben ser de igual tamaño"
#: extmod/ulab/code/poly/poly.c
msgid "inputs are not iterable"
-msgstr ""
+msgstr "Entradas no son iterables"
#: py/parsenum.c
msgid "int() arg 2 must be >= 2 and <= 36"
@@ -2981,7 +2989,7 @@ msgstr "long int no soportado en esta compilación"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
-msgstr ""
+msgstr "Loopback + modo silencioso no están soportados por periférico"
#: py/parse.c
msgid "malformed f-string"
@@ -3015,7 +3023,7 @@ msgstr "max_lenght debe ser > 0"
#: extmod/ulab/code/ndarray.c
msgid "maximum number of dimensions is 4"
-msgstr ""
+msgstr "Máximo número de dimensiones es 4"
#: py/runtime.c
msgid "maximum recursion depth exceeded"
@@ -3023,11 +3031,11 @@ msgstr "profundidad máxima de recursión excedida"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
-msgstr ""
+msgstr "maxiter tiene que ser > 0"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
-msgstr ""
+msgstr "maxiter debe ser > 0"
#: py/runtime.c
#, c-format
@@ -3152,7 +3160,7 @@ msgstr ""
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
-msgstr ""
+msgstr "norma está definida para arrays 1D y 2D"
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
@@ -3221,7 +3229,7 @@ msgstr "string de longitud impar"
#: extmod/ulab/code/ulab_create.c
msgid "offset is too large"
-msgstr ""
+msgstr "offset es demasiado grande"
#: py/objstr.c py/objstrunicode.c
msgid "offset out of bounds"
@@ -3247,11 +3255,11 @@ msgstr "los operandos no se pueden transmitir juntos"
#: extmod/ulab/code/ndarray.c
msgid "operation is implemented for 1D Boolean arrays only"
-msgstr ""
+msgstr "operación solo está implementada para arrays booleanos de 1D"
#: extmod/ulab/code/numerical/numerical.c
msgid "operation is not implemented for flattened array"
-msgstr ""
+msgstr "operación no está implementada para arrays aplanados"
#: extmod/ulab/code/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
@@ -3389,7 +3397,7 @@ msgstr "longitud solicitada %d pero el objeto tiene longitud %d"
#: extmod/ulab/code/ndarray_operators.c
msgid "results cannot be cast to specified type"
-msgstr ""
+msgstr "resultados no pueden aplicar cast a un tipo específico"
#: py/compile.c
msgid "return annotation must be an identifier"
@@ -3411,7 +3419,7 @@ msgstr "rgb_pins[%d] no está en el mismo puerto que el reloj"
#: extmod/ulab/code/numerical/numerical.c
msgid "roll argument must be an ndarray"
-msgstr ""
+msgstr "Argumento enrolado tiene que ser un ndarray"
#: py/objstr.c
msgid "rsplit(None,n)"
@@ -3439,7 +3447,7 @@ msgstr "script de compilación no soportado"
#: extmod/ulab/code/ndarray.c
msgid "shape must be a tuple"
-msgstr ""
+msgstr "forma tiene que ser una tupla"
#: py/objstr.c
msgid "sign not allowed in string format specifier"
@@ -3589,7 +3597,7 @@ msgstr "timestamp fuera de rango para plataform time_t"
#: extmod/ulab/code/ndarray.c
msgid "tobytes can be invoked for dense arrays only"
-msgstr ""
+msgstr "tobytes solo pueden ser invocados por arrays densos"
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
@@ -3619,12 +3627,12 @@ msgstr "tupla/lista tiene una longitud incorrecta"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
-msgstr ""
+msgstr "twai_driver_install devolvió esp-idf error #%d"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
-msgstr ""
+msgstr "twai_start devolvió esp-idf error #%d"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
@@ -3752,7 +3760,7 @@ msgstr "los vectores deben tener el mismo tamaño"
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
msgid "watchdog not initialized"
-msgstr ""
+msgstr "watchdog no inicializado"
#: shared-bindings/watchdog/WatchDogTimer.c
msgid "watchdog timeout must be greater than 0"
@@ -3768,11 +3776,11 @@ msgstr "la ventana debe ser <= intervalo"
#: extmod/ulab/code/numerical/numerical.c
msgid "wrong axis index"
-msgstr ""
+msgstr "indice de eje erróneo"
#: extmod/ulab/code/ulab_create.c
msgid "wrong axis specified"
-msgstr ""
+msgstr "eje especificado erróneo"
#: extmod/ulab/code/vector/vectorise.c
msgid "wrong input type"
@@ -3822,6 +3830,9 @@ 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 "Only IPv4 SOCK_STREAM sockets supported"
+#~ msgstr "Solo hay capacidad para enchufes IPv4 SOCK_STREAM"
+
#~ msgid "arctan2 is implemented for scalars and ndarrays only"
#~ msgstr "arctan2 se encuentra implementado solo para escalares y ndarrays"
diff --git a/locale/fil.po b/locale/fil.po
index 86178a9a1..9178623a2 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@@ -298,6 +298,7 @@ msgid "All I2C peripherals are in use"
msgstr "Lahat ng I2C peripherals ginagamit"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -335,6 +336,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1100,6 +1102,7 @@ msgid "Invalid byteorder string"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr ""
@@ -1276,6 +1279,10 @@ msgstr ""
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr ""
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr ""
@@ -1429,14 +1436,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/fr.po b/locale/fr.po
index 17e6e905d..bb9b6ea98 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-23 10:10-0600\n"
-"PO-Revision-Date: 2020-11-20 22:28+0000\n"
-"Last-Translator: Noel Gaetan <gaetan.noel@viacesi.fr>\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
+"PO-Revision-Date: 2020-11-24 22:45+0000\n"
+"Last-Translator: Antonin ENFRUN <antonin.e@me.com>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
@@ -305,6 +305,7 @@ msgid "All I2C peripherals are in use"
msgstr "Tous les périphériques I2C sont utilisés"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr "Toutes les unités PCNT sont utilisées"
@@ -341,6 +342,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -881,7 +883,7 @@ msgstr "La FFT est définie pour les ndarrays uniquement"
#: extmod/ulab/code/fft/fft.c
msgid "FFT is implemented for linear arrays only"
-msgstr ""
+msgstr "FFT n'est implémenté que pour les tableaux linéaires"
#: ports/esp32s2/common-hal/socketpool/Socket.c
msgid "Failed SSL handshake"
@@ -1113,6 +1115,7 @@ msgid "Invalid byteorder string"
msgstr "Chaîne d'octets non valide"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "Période de capture invalide. Gamme valide : 1 à 500"
@@ -1289,6 +1292,10 @@ msgstr "Doit fournir une broche MISO ou MOSI"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "Doit utiliser un multiple de 6 broches RVB, pas %d"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr "Nom trop long"
@@ -1441,14 +1448,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 "Seules les sockets IPv4 SOCK_STREAM sont prises en charge"
-
#: ports/esp32s2/common-hal/wifi/__init__.c
msgid "Only IPv4 addresses supported"
msgstr "Seules les adresses IPv4 sont prises en charge"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -2116,7 +2123,7 @@ msgstr "L'argument argsort doit être un ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
-msgstr ""
+msgstr "argsort n'est pas mis en œuvre pour les tableaux aplatis"
#: py/runtime.c
msgid "argument has wrong type"
@@ -2141,7 +2148,7 @@ msgstr "les arguments doivent être des ndarrays"
#: extmod/ulab/code/ndarray.c
msgid "array and index length must be equal"
-msgstr ""
+msgstr "la longueur du tableau et de l'index doit être égale"
#: py/objarray.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side"
@@ -2149,7 +2156,7 @@ msgstr "tableau/octets requis à droite"
#: extmod/ulab/code/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
-msgstr ""
+msgstr "tentative d’obtenir (arg)min/(arg)max d'une séquence vide"
#: extmod/ulab/code/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
@@ -2161,15 +2168,15 @@ msgstr "attribut pas encore supporté"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis is out of bounds"
-msgstr ""
+msgstr "axis est hors limites"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis must be None, or an integer"
-msgstr ""
+msgstr "axis doit être None ou un entier"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis too long"
-msgstr ""
+msgstr "axis trop long"
#: py/builtinevex.c
msgid "bad compile mode"
@@ -2485,7 +2492,7 @@ msgstr "impossible de déterminer la version de la carte SD"
#: extmod/ulab/code/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
-msgstr ""
+msgstr "cross est défini pour les tableaux 1D de longueur 3"
#: extmod/ulab/code/approx/approx.c
msgid "data must be iterable"
@@ -2528,7 +2535,7 @@ msgstr "l'argument diff doit être un ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "differentiation order out of range"
-msgstr ""
+msgstr "differentiation order hors plage"
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
@@ -2649,7 +2656,7 @@ msgstr "le premier argument doit être une fonction"
#: extmod/ulab/code/ulab_create.c
msgid "first argument must be a tuple of ndarrays"
-msgstr ""
+msgstr "le premier argument doit être un tuple de ndarrays"
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
@@ -2706,7 +2713,7 @@ msgstr "la fonction a le même signe aux extrémités de l’intervalle"
#: extmod/ulab/code/ndarray.c
msgid "function is defined for ndarrays only"
-msgstr ""
+msgstr "La fonction n'est définie que pour les ndarrays"
#: py/argcheck.c
#, c-format
@@ -2803,7 +2810,7 @@ msgstr "l'assembleur doit être une fonction"
#: extmod/ulab/code/ndarray.c
msgid "input and output shapes are not compatible"
-msgstr ""
+msgstr "les formes d'entrée et de sortie ne sont pas compatibles"
#: extmod/ulab/code/ulab_create.c
msgid "input argument must be an integer or a 2-tuple"
@@ -2815,7 +2822,7 @@ msgstr "la longueur du tableau d'entrée doit être une puissance de 2"
#: extmod/ulab/code/ulab_create.c
msgid "input arrays are not compatible"
-msgstr ""
+msgstr "les tableaux d'entrée ne sont pas compatibles"
#: extmod/ulab/code/poly/poly.c
msgid "input data must be an iterable"
@@ -2831,11 +2838,11 @@ msgstr "la matrice d'entrée est singulière"
#: extmod/ulab/code/user/user.c
msgid "input must be a dense ndarray"
-msgstr ""
+msgstr "l'entrée doit être un tableau dense"
#: extmod/ulab/code/ulab_create.c
msgid "input must be a tensor of rank 2"
-msgstr ""
+msgstr "l'entrée doit être un tenseur de rang 2"
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/user/user.c
msgid "input must be an ndarray"
@@ -3844,6 +3851,9 @@ msgstr "zi doit être de type float"
msgid "zi must be of shape (n_section, 2)"
msgstr "zi doit être de forme (n_section, 2)"
+#~ msgid "Only IPv4 SOCK_STREAM sockets supported"
+#~ msgstr "Seules les sockets IPv4 SOCK_STREAM sont prises en charge"
+
#~ msgid "arctan2 is implemented for scalars and ndarrays only"
#~ msgstr ""
#~ "arctan2 est implémenté uniquement pour les scalaires et les ndarrays"
diff --git a/locale/hi.po b/locale/hi.po
index 3b006f198..025664069 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -296,6 +296,7 @@ msgid "All I2C peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -332,6 +333,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1085,6 +1087,7 @@ msgid "Invalid byteorder string"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr ""
@@ -1261,6 +1264,10 @@ msgstr ""
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr ""
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr ""
@@ -1411,14 +1418,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 652bc56fd..bb77d71cc 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@@ -297,6 +297,7 @@ msgid "All I2C peripherals are in use"
msgstr "Tutte le periferiche I2C sono in uso"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -334,6 +335,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1101,6 +1103,7 @@ msgid "Invalid byteorder string"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "periodo di cattura invalido. Zona valida: 1 - 500"
@@ -1280,6 +1283,10 @@ msgstr ""
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr ""
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr ""
@@ -1434,14 +1441,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/ja.po b/locale/ja.po
index 26025c19e..bacf0df81 100644
--- a/locale/ja.po
+++ b/locale/ja.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-23 10:10-0600\n"
-"PO-Revision-Date: 2020-11-12 22:51+0000\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
+"PO-Revision-Date: 2020-11-27 18:34+0000\n"
"Last-Translator: sporeball <sporeballdev@gmail.com>\n"
"Language-Team: none\n"
"Language: ja\n"
@@ -182,7 +182,7 @@ msgstr ""
#: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format
msgid "'%s' expects an integer"
-msgstr ""
+msgstr "'%s' には整数が必要"
#: py/emitinlinethumb.c
#, c-format
@@ -303,6 +303,7 @@ msgid "All I2C peripherals are in use"
msgstr "全てのI2C周辺機器が使用中"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -339,6 +340,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1100,6 +1102,7 @@ msgid "Invalid byteorder string"
msgstr "不正なバイトオーダー文字列"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "不正なキャプチャ周期。有効な周期は1-500"
@@ -1276,6 +1279,10 @@ msgstr "MISOピンまたはMOSIピンが必要"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "%d個でなく6の倍数個のrgbピンを使ってください"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr "名前が長すぎます"
@@ -1428,14 +1435,14 @@ msgstr "奇数パリティには対応していません"
msgid "Only 8 or 16 bit mono with "
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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -3750,7 +3757,7 @@ msgstr ""
#: shared-module/displayio/Shape.c
msgid "x value out of bounds"
-msgstr ""
+msgstr "xが範囲外"
#: shared-bindings/displayio/Shape.c
msgid "y should be an int"
diff --git a/locale/ko.po b/locale/ko.po
index a7967210d..9e6cbb0c2 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: 2020-10-05 12:12+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -299,6 +299,7 @@ msgid "All I2C peripherals are in use"
msgstr "사용중인 모든 I2C주변 기기"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -335,6 +336,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1090,6 +1092,7 @@ msgid "Invalid byteorder string"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr ""
@@ -1266,6 +1269,10 @@ msgstr ""
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr ""
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr ""
@@ -1416,14 +1423,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/nl.po b/locale/nl.po
index f9847fd81..41a3ace76 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: 2020-10-27 16:47+0000\n"
"Last-Translator: Jelle Jager <jell@jjc.id.au>\n"
"Language-Team: none\n"
@@ -301,6 +301,7 @@ msgid "All I2C peripherals are in use"
msgstr "Alle I2C peripherals zijn in gebruik"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -337,6 +338,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1102,6 +1104,7 @@ msgid "Invalid byteorder string"
msgstr "Ongeldige byteorder string"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "Ongeldige vastlegging periode. Geldig bereik: 1 - 500"
@@ -1278,6 +1281,10 @@ msgstr "MISO of MOSI moeten worden gegeven"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "Een meervoud van 6 rgb pinnen moet worden gebruikt, niet %d"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr "Naam te lang"
@@ -1430,14 +1437,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 "Alleen IPv4 SOCK_STREAM sockets worden ondersteund"
-
#: ports/esp32s2/common-hal/wifi/__init__.c
msgid "Only IPv4 addresses supported"
msgstr "Alleen IPv4 adressen worden ondersteund"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -3810,6 +3817,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 "Only IPv4 SOCK_STREAM sockets supported"
+#~ msgstr "Alleen IPv4 SOCK_STREAM sockets worden ondersteund"
+
#~ msgid "arctan2 is implemented for scalars and ndarrays only"
#~ msgstr "arctan2 is alleen geïmplementeerd voor scalars en ndarrays"
diff --git a/locale/pl.po b/locale/pl.po
index 1873af488..5fbe727ef 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: 2020-11-11 19:13+0000\n"
"Last-Translator: Maciej Stankiewicz <tawezik@gmail.com>\n"
"Language-Team: pl\n"
@@ -303,6 +303,7 @@ msgid "All I2C peripherals are in use"
msgstr "Wszystkie peryferia I2C w użyciu"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr ""
@@ -339,6 +340,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1100,6 +1102,7 @@ msgid "Invalid byteorder string"
msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "Zły okres. Poprawny zakres to: 1 - 500"
@@ -1277,6 +1280,10 @@ msgstr "Należy podać pin MISO lub MOSI"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr ""
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr "Za długa nazwa"
@@ -1427,14 +1434,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 ""
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index baa125f1d..8f899a12c 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-11-23 10:10-0600\n"
-"PO-Revision-Date: 2020-11-18 00:28+0000\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
+"PO-Revision-Date: 2020-11-24 23:22+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n"
"Language: pt_BR\n"
@@ -305,6 +305,7 @@ msgid "All I2C peripherals are in use"
msgstr "Todos os periféricos I2C estão em uso"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr "Todas as unidades PCNT estão em uso"
@@ -341,6 +342,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -878,7 +880,7 @@ msgstr "O FFT é definido apenas para ndarrays"
#: extmod/ulab/code/fft/fft.c
msgid "FFT is implemented for linear arrays only"
-msgstr ""
+msgstr "O FFT é implementado apenas para matrizes lineares"
#: ports/esp32s2/common-hal/socketpool/Socket.c
msgid "Failed SSL handshake"
@@ -1111,6 +1113,7 @@ msgid "Invalid byteorder string"
msgstr "A cadeia de bytes é inválida"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "O período de captura é inválido. O intervalo válido é: 1 - 500"
@@ -1287,6 +1290,10 @@ msgstr "Deve informar os pinos MISO ou MOSI"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "Deve utilizar um múltiplo de 6 pinos rgb, não %d"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr "Erro NVS"
+
#: py/parse.c
msgid "Name too long"
msgstr "Nome muito longo"
@@ -1438,14 +1445,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"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -2114,7 +2121,7 @@ msgstr "O argumento argsort deve ser um ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "argsort is not implemented for flattened arrays"
-msgstr ""
+msgstr "argsort não é implementado para matrizes achatadas"
#: py/runtime.c
msgid "argument has wrong type"
@@ -2139,7 +2146,7 @@ msgstr "os argumentos devem ser ndarrays"
#: extmod/ulab/code/ndarray.c
msgid "array and index length must be equal"
-msgstr ""
+msgstr "a matriz e comprimento do índice devem ser iguais"
#: py/objarray.c shared-bindings/nvm/ByteArray.c
msgid "array/bytes required on right side"
@@ -2147,7 +2154,7 @@ msgstr "matriz/bytes são necessários no lado direito"
#: extmod/ulab/code/numerical/numerical.c
msgid "attempt to get (arg)min/(arg)max of empty sequence"
-msgstr ""
+msgstr "tentativa de obter (arg)min/(arg)max da sequência vazia"
#: extmod/ulab/code/numerical/numerical.c
msgid "attempt to get argmin/argmax of an empty sequence"
@@ -2159,15 +2166,15 @@ msgstr "atributos ainda não suportados"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis is out of bounds"
-msgstr ""
+msgstr "o eixo está fora dos limites"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis must be None, or an integer"
-msgstr ""
+msgstr "eixo deve ser Nenhum ou um número inteiro"
#: extmod/ulab/code/numerical/numerical.c
msgid "axis too long"
-msgstr ""
+msgstr "o eixo é muito longo"
#: py/builtinevex.c
msgid "bad compile mode"
@@ -2376,7 +2383,7 @@ msgstr ""
#: extmod/ulab/code/ndarray_operators.c
msgid "cannot cast output with casting rule"
-msgstr ""
+msgstr "não pode lançar a saída com a regra de fundição"
#: py/objtype.c
msgid "cannot create '%q' instances"
@@ -2478,7 +2485,7 @@ msgstr "não foi possível determinar a versão do cartão SD"
#: extmod/ulab/code/numerical/numerical.c
msgid "cross is defined for 1D arrays of length 3"
-msgstr ""
+msgstr "a cruz é definida para matrizes 1D de comprimento 3"
#: extmod/ulab/code/approx/approx.c
msgid "data must be iterable"
@@ -2522,7 +2529,7 @@ msgstr "O argumento diff deve ser um ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "differentiation order out of range"
-msgstr ""
+msgstr "ordem de diferenciação fora do alcance"
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
#: shared-bindings/math/__init__.c
@@ -2641,7 +2648,7 @@ msgstr "o primeiro argumento deve ser uma função"
#: extmod/ulab/code/ulab_create.c
msgid "first argument must be a tuple of ndarrays"
-msgstr ""
+msgstr "o primeiro argumento deve ser um tuple de ndarrays"
#: extmod/ulab/code/ndarray.c
msgid "first argument must be an iterable"
@@ -2698,7 +2705,7 @@ msgstr "a função tem o mesmo sinal nas extremidades do intervalo"
#: extmod/ulab/code/ndarray.c
msgid "function is defined for ndarrays only"
-msgstr ""
+msgstr "A função é definida apenas para ndarrays"
#: py/argcheck.c
#, c-format
@@ -2794,7 +2801,7 @@ msgstr "o assembler em linha deve ser uma função"
#: extmod/ulab/code/ndarray.c
msgid "input and output shapes are not compatible"
-msgstr ""
+msgstr "as formas de entrada e saída não são compatíveis"
#: extmod/ulab/code/ulab_create.c
msgid "input argument must be an integer or a 2-tuple"
@@ -2806,7 +2813,7 @@ msgstr "comprimento da matriz da entrada deve ter potência de 2"
#: extmod/ulab/code/ulab_create.c
msgid "input arrays are not compatible"
-msgstr ""
+msgstr "as matrizes da entrada não são compatíveis"
#: extmod/ulab/code/poly/poly.c
msgid "input data must be an iterable"
@@ -2822,19 +2829,19 @@ msgstr "a matriz da entrada é singular"
#: extmod/ulab/code/user/user.c
msgid "input must be a dense ndarray"
-msgstr ""
+msgstr "a entrada deve ser um ndarray denso"
#: extmod/ulab/code/ulab_create.c
msgid "input must be a tensor of rank 2"
-msgstr ""
+msgstr "a entrada dos dados deve ser um tensor de nível 2"
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/user/user.c
msgid "input must be an ndarray"
-msgstr ""
+msgstr "a entrada deve ser um ndarray"
#: extmod/ulab/code/filter/filter.c
msgid "input must be one-dimensional"
-msgstr ""
+msgstr "a entrada deve ser unidimensional"
#: extmod/ulab/code/linalg/linalg.c
msgid "input must be square matrix"
@@ -2850,7 +2857,7 @@ msgstr "os vetores da entrada devem ter o mesmo comprimento"
#: extmod/ulab/code/poly/poly.c
msgid "inputs are not iterable"
-msgstr ""
+msgstr "as entradas não são iteráveis"
#: py/parsenum.c
msgid "int() arg 2 must be >= 2 and <= 36"
@@ -3025,7 +3032,7 @@ msgstr "max_length deve ser > 0"
#: extmod/ulab/code/ndarray.c
msgid "maximum number of dimensions is 4"
-msgstr ""
+msgstr "O número máximo de dimensões são 4"
#: py/runtime.c
msgid "maximum recursion depth exceeded"
@@ -3162,7 +3169,7 @@ msgstr "um arg não-palavra-chave após a palavra-chave arg"
#: extmod/ulab/code/linalg/linalg.c
msgid "norm is defined for 1D and 2D arrays"
-msgstr ""
+msgstr "a norma é definida para matrizes 1D e 2D"
#: shared-bindings/_bleio/UUID.c
msgid "not a 128-bit UUID"
@@ -3230,7 +3237,7 @@ msgstr "sequência com comprimento ímpar"
#: extmod/ulab/code/ulab_create.c
msgid "offset is too large"
-msgstr ""
+msgstr "o offset é muito grande"
#: py/objstr.c py/objstrunicode.c
msgid "offset out of bounds"
@@ -3257,11 +3264,11 @@ msgstr "os operandos não puderam ser transmitidos juntos"
#: extmod/ulab/code/ndarray.c
msgid "operation is implemented for 1D Boolean arrays only"
-msgstr ""
+msgstr "A operação é implementada apenas para matrizes booleanas 1D"
#: extmod/ulab/code/numerical/numerical.c
msgid "operation is not implemented for flattened array"
-msgstr ""
+msgstr "a operação não é implementada para a matriz achatada"
#: extmod/ulab/code/numerical/numerical.c
msgid "operation is not implemented on ndarrays"
@@ -3403,7 +3410,7 @@ msgstr "o comprimento solicitado %d, porém o objeto tem comprimento %d"
#: extmod/ulab/code/ndarray_operators.c
msgid "results cannot be cast to specified type"
-msgstr ""
+msgstr "os resultados não podem ser lançados para um determinado tipo"
#: py/compile.c
msgid "return annotation must be an identifier"
@@ -3425,7 +3432,7 @@ msgstr "rgb_pins[%d] não está na mesma porta que o clock"
#: extmod/ulab/code/numerical/numerical.c
msgid "roll argument must be an ndarray"
-msgstr ""
+msgstr "argumento de enrolar deve ser um ndarray"
#: py/objstr.c
msgid "rsplit(None,n)"
@@ -3453,7 +3460,7 @@ msgstr "compilação de script não suportada"
#: extmod/ulab/code/ndarray.c
msgid "shape must be a tuple"
-msgstr ""
+msgstr "a forma deve ser uma tupla"
#: py/objstr.c
msgid "sign not allowed in string format specifier"
@@ -3602,7 +3609,7 @@ msgstr "timestamp fora do intervalo para a plataforma time_t"
#: extmod/ulab/code/ndarray.c
msgid "tobytes can be invoked for dense arrays only"
-msgstr ""
+msgstr "os tobytes podem ser invocados apenas nas matrizes densas"
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
@@ -3781,11 +3788,11 @@ msgstr "a janela deve ser <= intervalo"
#: extmod/ulab/code/numerical/numerical.c
msgid "wrong axis index"
-msgstr ""
+msgstr "índice do eixo errado"
#: extmod/ulab/code/ulab_create.c
msgid "wrong axis specified"
-msgstr ""
+msgstr "um eixo errado foi definido"
#: extmod/ulab/code/vector/vectorise.c
msgid "wrong input type"
@@ -3835,6 +3842,9 @@ 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 "Only IPv4 SOCK_STREAM sockets supported"
+#~ msgstr "São suportados apenas soquetes IPv4 SOCK_STREAM"
+
#~ msgid "arctan2 is implemented for scalars and ndarrays only"
#~ msgstr "O arctan2 está implementado apenas para escalares e ndarrays"
diff --git a/locale/sv.po b/locale/sv.po
index 02847044f..66c1f345a 100644
--- a/locale/sv.po
+++ b/locale/sv.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: 2020-11-20 22:28+0000\n"
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -301,6 +301,7 @@ msgid "All I2C peripherals are in use"
msgstr "All I2C-kringutrustning används"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr "Alla PCNT-enheter används"
@@ -337,6 +338,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1100,6 +1102,7 @@ msgid "Invalid byteorder string"
msgstr "Ogiltig byteorder-sträng"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "Ogiltig inspelningsperiod. Giltigt intervall: 1 - 500"
@@ -1277,6 +1280,10 @@ msgstr "Måste ange MISO- eller MOSI-pinne"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "Måste använda ett multipel av 6 rgb-pinnar, inte %d"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr "Name är för långt"
@@ -1429,14 +1436,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"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -3803,6 +3810,9 @@ 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 "Only IPv4 SOCK_STREAM sockets supported"
+#~ msgstr "Endast IPv4 SOCK_STREAM sockets stöds"
+
#~ msgid "arctan2 is implemented for scalars and ndarrays only"
#~ msgstr "arctan2 är enbart implementerad för scalar och ndarray"
diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po
index 134efec90..7a08bc6e8 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-11-23 10:10-0600\n"
+"POT-Creation-Date: 2020-11-24 15:40-0500\n"
"PO-Revision-Date: 2020-11-19 01:28+0000\n"
"Last-Translator: hexthat <hexthat@gmail.com>\n"
"Language-Team: Chinese Hanyu Pinyin\n"
@@ -303,6 +303,7 @@ msgid "All I2C peripherals are in use"
msgstr "Suǒyǒu I2C wàiwéi qì zhèngzài shǐyòng"
#: ports/esp32s2/common-hal/countio/Counter.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
msgid "All PCNT units in use"
msgstr "suǒ yǒu zhèng zài shǐ yòng zhōng de PCNT dān yuán"
@@ -339,6 +340,7 @@ 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/frequencyio/FrequencyIn.c
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
#: ports/esp32s2/common-hal/pulseio/PulseIn.c
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
@@ -1098,6 +1100,7 @@ msgid "Invalid byteorder string"
msgstr "Wúxiào de zì jié shùnxù zìfú chuàn"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
+#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
msgstr "Wúxiào de bǔhuò zhōuqí. Yǒuxiào fànwéi: 1-500"
@@ -1274,6 +1277,10 @@ msgstr "Bìxū tígōng MISO huò MOSI yǐn jiǎo"
msgid "Must use a multiple of 6 rgb pins, not %d"
msgstr "bì xū shǐ yòng 6 RGB yǐn jiǎo de bèi shù, ér bù shì %d"
+#: ports/esp32s2/common-hal/nvm/ByteArray.c
+msgid "NVS Error"
+msgstr ""
+
#: py/parse.c
msgid "Name too long"
msgstr "Míngchēng tài zhǎng"
@@ -1425,14 +1432,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 "Jǐn zhīchí IPv4 SOCK_STREAM tào jiē zì"
-
#: ports/esp32s2/common-hal/wifi/__init__.c
msgid "Only IPv4 addresses supported"
msgstr "Jǐn zhīchí IPv4 dìzhǐ"
+#: ports/esp32s2/common-hal/socketpool/SocketPool.c
+msgid "Only IPv4 sockets supported"
+msgstr ""
+
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
@@ -3792,6 +3799,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 "Only IPv4 SOCK_STREAM sockets supported"
+#~ msgstr "Jǐn zhīchí IPv4 SOCK_STREAM tào jiē zì"
+
#~ msgid "arctan2 is implemented for scalars and ndarrays only"
#~ msgstr "arctan2 jǐn zhēnduì biāoliàng hé ndarray shíxiàn"
diff --git a/ports/esp32s2/Makefile b/ports/esp32s2/Makefile
index 93221aba7..4486cb598 100644
--- a/ports/esp32s2/Makefile
+++ b/ports/esp32s2/Makefile
@@ -190,6 +190,7 @@ SRC_C += \
lib/utils/pyexec.c \
lib/utils/stdout_helpers.c \
lib/utils/sys_stdio_mphal.c \
+ lib/netutils/netutils.c \
peripherals/timer.c \
peripherals/pcnt.c \
peripherals/pins.c \
diff --git a/ports/esp32s2/common-hal/busio/SPI.c b/ports/esp32s2/common-hal/busio/SPI.c
index 490419f34..da738bbfd 100644
--- a/ports/esp32s2/common-hal/busio/SPI.c
+++ b/ports/esp32s2/common-hal/busio/SPI.c
@@ -204,6 +204,14 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self,
// hal->dummy_bits = 0;
// hal->addr = 0;
+ claim_pin(self->clock_pin);
+ if (self->MOSI_pin != NULL) {
+ claim_pin(self->MOSI_pin);
+ }
+ if (self->MISO_pin != NULL) {
+ claim_pin(self->MISO_pin);
+ }
+
hal->io_mode = SPI_LL_IO_MODE_NORMAL;
common_hal_busio_spi_configure(self, 250000, 0, 0, 8);
diff --git a/ports/esp32s2/common-hal/microcontroller/Pin.c b/ports/esp32s2/common-hal/microcontroller/Pin.c
index 3c2611efe..394a19e69 100644
--- a/ports/esp32s2/common-hal/microcontroller/Pin.c
+++ b/ports/esp32s2/common-hal/microcontroller/Pin.c
@@ -96,7 +96,7 @@ void reset_all_pins(void) {
}
void claim_pin(const mcu_pin_obj_t* pin) {
- in_use[pin->number / 32] |= (1 << pin->number % 32);
+ in_use[pin->number / 32] |= (1 << (pin->number % 32));
#ifdef MICROPY_HW_NEOPIXEL
if (pin == MICROPY_HW_NEOPIXEL) {
neopixel_in_use = true;
@@ -116,7 +116,7 @@ bool pin_number_is_free(gpio_num_t pin_number) {
#endif
uint8_t offset = pin_number / 32;
- uint8_t mask = 1 << pin_number % 32;
+ uint32_t mask = 1 << (pin_number % 32);
return (never_reset_pins[offset] & mask) == 0 && (in_use[offset] & mask) == 0;
}
diff --git a/ports/esp32s2/common-hal/socketpool/Socket.c b/ports/esp32s2/common-hal/socketpool/Socket.c
index 750415dc7..92247420f 100644
--- a/ports/esp32s2/common-hal/socketpool/Socket.c
+++ b/ports/esp32s2/common-hal/socketpool/Socket.c
@@ -32,6 +32,11 @@
#include "py/runtime.h"
#include "supervisor/shared/tick.h"
+#include "components/lwip/lwip/src/include/lwip/err.h"
+#include "components/lwip/lwip/src/include/lwip/sockets.h"
+#include "components/lwip/lwip/src/include/lwip/sys.h"
+#include "components/lwip/lwip/src/include/lwip/netdb.h"
+
void common_hal_socketpool_socket_settimeout(socketpool_socket_obj_t* self, mp_uint_t timeout_ms) {
self->timeout_ms = timeout_ms;
}
@@ -103,6 +108,11 @@ mp_uint_t common_hal_socketpool_socket_recv_into(socketpool_socket_obj_t* self,
}
if (available > 0) {
status = esp_tls_conn_read(self->tcp, (void*) buf + received, available);
+ if (status == 0) {
+ // Reading zero when something is available indicates a closed
+ // connection. (The available bytes could have been TLS internal.)
+ break;
+ }
if (status > 0) {
received += status;
}
@@ -119,16 +129,75 @@ mp_uint_t common_hal_socketpool_socket_recv_into(socketpool_socket_obj_t* self,
return received;
}
+mp_uint_t common_hal_socketpool_socket_sendto(socketpool_socket_obj_t* self,
+ const char* host, size_t hostlen, uint8_t port, const uint8_t* buf, mp_uint_t len) {
+
+ // Get the IP address string
+ const struct addrinfo hints = {
+ .ai_family = AF_INET,
+ .ai_socktype = SOCK_STREAM,
+ };
+ struct addrinfo *result;
+ int error = lwip_getaddrinfo(host, NULL, &hints, &result);
+ if (error != 0 || result == NULL) {
+ return 0;
+ }
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wcast-align"
+ struct in_addr *addr = &((struct sockaddr_in *)result->ai_addr)->sin_addr;
+ #pragma GCC diagnostic pop
+ char ip_str[IP4ADDR_STRLEN_MAX];
+ inet_ntoa_r(*addr, ip_str, IP4ADDR_STRLEN_MAX);
+ freeaddrinfo(result);
+
+ // Set parameters
+ struct sockaddr_in dest_addr;
+ dest_addr.sin_addr.s_addr = inet_addr((const char *)ip_str);
+ dest_addr.sin_family = AF_INET;
+ dest_addr.sin_port = htons(port);
+
+ int bytes_sent = lwip_sendto(self->num, buf, len, 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
+ if (bytes_sent < 0) {
+ mp_raise_BrokenPipeError();
+ return 0;
+ }
+ return bytes_sent;
+}
+
+mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* self,
+ uint8_t* buf, mp_uint_t len, uint8_t* ip, uint *port) {
+
+ struct sockaddr_in source_addr;
+ socklen_t socklen = sizeof(source_addr);
+ int bytes_received = lwip_recvfrom(self->num, buf, len - 1, 0, (struct sockaddr *)&source_addr, &socklen);
+
+ memcpy((void *)ip, (void*)&source_addr.sin_addr.s_addr, sizeof source_addr.sin_addr.s_addr);
+ *port = source_addr.sin_port;
+
+ if (bytes_received < 0) {
+ mp_raise_BrokenPipeError();
+ return 0;
+ } else {
+ buf[bytes_received] = 0; // Null-terminate whatever we received
+ return bytes_received;
+ }
+}
+
void common_hal_socketpool_socket_close(socketpool_socket_obj_t* self) {
self->connected = false;
if (self->tcp != NULL) {
esp_tls_conn_destroy(self->tcp);
self->tcp = NULL;
}
+ if (self->num >= 0) {
+ lwip_shutdown(self->num, 0);
+ lwip_close(self->num);
+ self->num = -1;
+ }
}
bool common_hal_socketpool_socket_get_closed(socketpool_socket_obj_t* self) {
- return self->tcp == NULL;
+ return self->tcp == NULL && self->num < 0;
}
diff --git a/ports/esp32s2/common-hal/socketpool/SocketPool.c b/ports/esp32s2/common-hal/socketpool/SocketPool.c
index 1d4d04b03..3bec5f337 100644
--- a/ports/esp32s2/common-hal/socketpool/SocketPool.c
+++ b/ports/esp32s2/common-hal/socketpool/SocketPool.c
@@ -61,15 +61,14 @@ socketpool_socket_obj_t* common_hal_socketpool_socket(socketpool_socketpool_obj_
socket_type = SOCK_RAW;
}
- if (socket_type == SOCK_DGRAM || socket_type == SOCK_RAW ||
- addr_family == AF_INET6 || ipproto == IPPROTO_IPV6) {
- mp_raise_NotImplementedError(translate("Only IPv4 SOCK_STREAM sockets supported"));
+ if (addr_family == AF_INET6 || ipproto == IPPROTO_IPV6) {
+ mp_raise_NotImplementedError(translate("Only IPv4 sockets supported"));
}
int socknum = -1;
esp_tls_t* tcp_handle = NULL;
if (socket_type == SOCK_DGRAM || socket_type == SOCK_RAW) {
- // socknum = lwip_socket(addr_family, socket_type, ipproto);
+ socknum = lwip_socket(addr_family, socket_type, ipproto);
} else {
tcp_handle = esp_tls_init();
diff --git a/ports/esp32s2/common-hal/wifi/Radio.c b/ports/esp32s2/common-hal/wifi/Radio.c
index f7c431a56..bc987bc1c 100644
--- a/ports/esp32s2/common-hal/wifi/Radio.c
+++ b/ports/esp32s2/common-hal/wifi/Radio.c
@@ -138,9 +138,9 @@ wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t
if (bssid_len > 0){
memcpy(&config->sta.bssid, bssid, bssid_len);
config->sta.bssid[bssid_len] = 0;
- config->sta.bssid_set = 1;
+ config->sta.bssid_set = true;
} else {
- config->sta.bssid_set = 0;
+ config->sta.bssid_set = false;
}
// If channel is 0 (default/unset) and BSSID is not given, do a full scan instead of fast scan
// This will ensure that the best AP in range is chosen automatically
diff --git a/shared-bindings/displayio/ColorConverter.c b/shared-bindings/displayio/ColorConverter.c
index 0e6e9bfd9..88d3a1ba8 100644
--- a/shared-bindings/displayio/ColorConverter.c
+++ b/shared-bindings/displayio/ColorConverter.c
@@ -116,7 +116,7 @@ const mp_obj_property_t displayio_colorconverter_dither_obj = {
STATIC mp_obj_t displayio_colorconverter_make_transparent(mp_obj_t self_in, mp_obj_t transparent_color_obj) {
displayio_colorconverter_t *self = MP_OBJ_TO_PTR(self_in);
- mp_int_t transparent_color = mp_obj_get_int(&transparent_color);
+ mp_int_t transparent_color = mp_obj_get_int(transparent_color_obj);
common_hal_displayio_colorconverter_make_transparent(self, transparent_color);
return mp_const_none;
}
@@ -128,7 +128,7 @@ MP_DEFINE_CONST_FUN_OBJ_2(displayio_colorconverter_make_transparent_obj, display
STATIC mp_obj_t displayio_colorconverter_make_opaque(mp_obj_t self_in, mp_obj_t transparent_color_obj) {
displayio_colorconverter_t *self = MP_OBJ_TO_PTR(self_in);
- mp_int_t transparent_color = mp_obj_get_int(&transparent_color);
+ mp_int_t transparent_color = mp_obj_get_int(transparent_color_obj);
common_hal_displayio_colorconverter_make_opaque(self, transparent_color);
return mp_const_none;
}
diff --git a/shared-bindings/socketpool/Socket.c b/shared-bindings/socketpool/Socket.c
index 362e4d7e8..0e6968d5f 100644
--- a/shared-bindings/socketpool/Socket.c
+++ b/shared-bindings/socketpool/Socket.c
@@ -36,6 +36,8 @@
#include "py/runtime.h"
#include "py/mperrno.h"
+#include "lib/netutils/netutils.h"
+
//| class Socket:
//| """TCP, UDP and RAW socket. Cannot be created directly. Instead, call
//| `SocketPool.socket()`.
@@ -274,79 +276,63 @@ STATIC mp_obj_t socketpool_socket_recv_into(size_t n_args, const mp_obj_t *args)
}
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(socketpool_socket_recv_into_obj, 2, 3, socketpool_socket_recv_into);
-// //| def sendto(self, bytes: ReadableBuffer, address: tuple) -> int:
-// //| """Send some bytes to a specific address.
-// //| Suits sockets of type SOCK_DGRAM
-// //|
-// //| :param ~bytes bytes: some bytes to send
-// //| :param ~tuple address: tuple of (remote_address, remote_port)"""
-// //| ...
-// //|
-
-// STATIC mp_obj_t socketpool_socket_sendto(mp_obj_t self_in, mp_obj_t data_in, mp_obj_t addr_in) {
-// // mod_network_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
+//| def sendto(self, bytes: ReadableBuffer, address: Tuple[str, int]) -> int:
+//| """Send some bytes to a specific address.
+//| Suits sockets of type SOCK_DGRAM
+//|
+//| :param ~bytes bytes: some bytes to send
+//| :param ~tuple address: tuple of (remote_address, remote_port)"""
+//| ...
+//|
-// // // get the data
-// // mp_buffer_info_t bufinfo;
-// // mp_get_buffer_raise(data_in, &bufinfo, MP_BUFFER_READ);
+STATIC mp_obj_t socketpool_socket_sendto(mp_obj_t self_in, mp_obj_t data_in, mp_obj_t addr_in) {
+ socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
-// // // get address
-// // uint8_t ip[MOD_NETWORK_IPADDR_BUF_SIZE];
-// // mp_uint_t port = netutils_parse_inet_addr(addr_in, ip, NETUTILS_BIG);
+ // get the data
+ mp_buffer_info_t bufinfo;
+ mp_get_buffer_raise(data_in, &bufinfo, MP_BUFFER_READ);
-// // // check if we need to select a NIC
-// // socket_select_nic(self, ip);
+ mp_obj_t *addr_items;
+ mp_obj_get_array_fixed_n(addr_in, 2, &addr_items);
-// // // call the NIC to sendto
-// // int _errno;
-// // mp_int_t ret = self->nic_type->sendto(self, bufinfo.buf, bufinfo.len, ip, port, &_errno);
-// // if (ret == -1) {
-// // mp_raise_OSError(_errno);
-// // }
-// mp_int_t ret = 0;
+ size_t hostlen;
+ const char* host = mp_obj_str_get_data(addr_items[0], &hostlen);
+ mp_int_t port = mp_obj_get_int(addr_items[1]);
-// return mp_obj_new_int(ret);
-// }
-// STATIC MP_DEFINE_CONST_FUN_OBJ_3(socketpool_socket_sendto_obj, socketpool_socket_sendto);
+ mp_int_t ret = common_hal_socketpool_socket_sendto(self, host, hostlen, port, bufinfo.buf, bufinfo.len);
+ if (!ret) {
+ mp_raise_OSError(0);
+ }
-// //| def recvfrom(self, bufsize: int) -> Tuple[bytes, tuple]:
-// //| """Reads some bytes from the connected remote address.
-// //| Suits sockets of type SOCK_STREAM
-// //|
-// //| Returns a tuple containing
-// //| * a bytes() of length <= bufsize
-// //| * a remote_address, which is a tuple of ip address and port number
-// //|
-// //| :param ~int bufsize: maximum number of bytes to receive"""
-// //| ...
-// //|
+ return mp_obj_new_int_from_uint(ret);
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_3(socketpool_socket_sendto_obj, socketpool_socket_sendto);
-// STATIC mp_obj_t socketpool_socket_recvfrom_into(mp_obj_t self_in, mp_obj_t len_in) {
-// // mod_network_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
-// // if (self->nic == MP_OBJ_NULL) {
-// // // not connected
-// // mp_raise_OSError(MP_ENOTCONN);
-// // }
-// // vstr_t vstr;
-// // vstr_init_len(&vstr, mp_obj_get_int(len_in));
-// // byte ip[4];
-// // mp_uint_t port;
-// // int _errno;
-// // mp_int_t ret = self->nic_type->recvfrom(self, (byte*)vstr.buf, vstr.len, ip, &port, &_errno);
-// // if (ret == -1) {
-// // mp_raise_OSError(_errno);
-// // }
-// mp_obj_t tuple[2];
-// // if (ret == 0) {
-// // tuple[0] = mp_const_empty_bytes;
-// // } else {
-// // vstr.len = ret;
-// // tuple[0] = mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
-// // }
-// // tuple[1] = netutils_format_inet_addr(ip, port, NETUTILS_BIG);
-// return mp_obj_new_tuple(2, tuple);
-// }
-// STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_recvfrom_into_obj, socketpool_socket_recvfrom_into);
+//| def recvfrom_into(self, buffer: WriteableBuffer) -> Tuple[int, Tuple[str, int]]:
+//| """Reads some bytes from a remote address.
+//|
+//| Returns a tuple containing
+//| * the number of bytes received into the given buffer
+//| * a remote_address, which is a tuple of ip address and port number
+//|
+//| :param object buffer: buffer to read into"""
+//| ...
+//|
+STATIC mp_obj_t socketpool_socket_recvfrom_into(mp_obj_t self_in, mp_obj_t data_in) {
+ socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
+ mp_buffer_info_t bufinfo;
+ mp_get_buffer_raise(data_in, &bufinfo, MP_BUFFER_WRITE);
+
+ byte ip[4];
+ mp_uint_t port;
+ mp_int_t ret = common_hal_socketpool_socket_recvfrom_into(self,
+ (byte*)bufinfo.buf, bufinfo.len, ip, &port);
+ mp_obj_t tuple_contents[2];
+ tuple_contents[0] = mp_obj_new_int_from_uint(ret);
+ tuple_contents[1] = netutils_format_inet_addr(ip, port, NETUTILS_BIG);
+ return mp_obj_new_tuple(2, tuple_contents);
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_recvfrom_into_obj, socketpool_socket_recvfrom_into);
// //| def setsockopt(self, level: int, optname: int, value: int) -> None:
// //| """Sets socket options"""
@@ -449,8 +435,8 @@ STATIC const mp_rom_map_elem_t socketpool_socket_locals_dict_table[] = {
// { MP_ROM_QSTR(MP_QSTR_accept), MP_ROM_PTR(&socketpool_socket_accept_obj) },
{ MP_ROM_QSTR(MP_QSTR_connect), MP_ROM_PTR(&socketpool_socket_connect_obj) },
{ MP_ROM_QSTR(MP_QSTR_send), MP_ROM_PTR(&socketpool_socket_send_obj) },
- // { MP_ROM_QSTR(MP_QSTR_sendto), MP_ROM_PTR(&socketpool_socket_sendto_obj) },
- // { MP_ROM_QSTR(MP_QSTR_recvfrom_into), MP_ROM_PTR(&socketpool_socket_recvfrom_into_obj) },
+ { MP_ROM_QSTR(MP_QSTR_sendto), MP_ROM_PTR(&socketpool_socket_sendto_obj) },
+ { MP_ROM_QSTR(MP_QSTR_recvfrom_into), MP_ROM_PTR(&socketpool_socket_recvfrom_into_obj) },
{ MP_ROM_QSTR(MP_QSTR_recv_into), MP_ROM_PTR(&socketpool_socket_recv_into_obj) },
// { MP_ROM_QSTR(MP_QSTR_setsockopt), MP_ROM_PTR(&socketpool_socket_setsockopt_obj) },
{ MP_ROM_QSTR(MP_QSTR_settimeout), MP_ROM_PTR(&socketpool_socket_settimeout_obj) },
diff --git a/shared-bindings/socketpool/Socket.h b/shared-bindings/socketpool/Socket.h
index f0be95c92..54fbe59b2 100644
--- a/shared-bindings/socketpool/Socket.h
+++ b/shared-bindings/socketpool/Socket.h
@@ -35,6 +35,10 @@ void common_hal_socketpool_socket_settimeout(socketpool_socket_obj_t* self, mp_u
bool common_hal_socketpool_socket_connect(socketpool_socket_obj_t* self, const char* host, size_t hostlen, mp_int_t port);
mp_uint_t common_hal_socketpool_socket_send(socketpool_socket_obj_t* self, const uint8_t* buf, mp_uint_t len);
mp_uint_t common_hal_socketpool_socket_recv_into(socketpool_socket_obj_t* self, const uint8_t* buf, mp_uint_t len);
+mp_uint_t common_hal_socketpool_socket_sendto(socketpool_socket_obj_t* self,
+ const char* host, size_t hostlen, uint8_t port, const uint8_t* buf, mp_uint_t len);
+mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* self,
+ uint8_t* buf, mp_uint_t len, uint8_t* ip, uint *port);
void common_hal_socketpool_socket_close(socketpool_socket_obj_t* self);
bool common_hal_socketpool_socket_get_closed(socketpool_socket_obj_t* self);
bool common_hal_socketpool_socket_get_connected(socketpool_socket_obj_t* self);
diff --git a/shared-bindings/wifi/Radio.c b/shared-bindings/wifi/Radio.c
index e81e8793c..991abd4f1 100644
--- a/shared-bindings/wifi/Radio.c
+++ b/shared-bindings/wifi/Radio.c
@@ -142,9 +142,25 @@ const mp_obj_property_t wifi_radio_hostname_obj = {
(mp_obj_t)&mp_const_none_obj},
};
-//| def connect(self, ssid: ReadableBuffer, password: ReadableBuffer = b"", *, channel: Optional[int] = 0, timeout: Optional[float] = None) -> bool:
+//| def connect(self,
+//| ssid: ReadableBuffer,
+//| password: ReadableBuffer = b"",
+//| *,
+//| channel: Optional[int] = 0,
+//| bssid: Optional[ReadableBuffer] = b"",
+//| timeout: Optional[float] = None) -> bool:
//| """Connects to the given ssid and waits for an ip address. Reconnections are handled
-//| automatically once one connection succeeds."""
+//| automatically once one connection succeeds.
+//|
+//| By default, this will scan all channels and connect to the access point (AP) with the
+//| given ``ssid`` and greatest signal strength (rssi).
+//|
+//| If ``channel`` is given, the scan will begin with the given channel and connect to
+//| the first AP with the given ``ssid``. This can speed up the connection time
+//| significantly because a full scan doesn't occur.
+//|
+//| If ``bssid`` is given, the scan will start at the first channel or the one given and
+//| connect to the AP with the given ``bssid`` and ``ssid``."""
//| ...
//|
STATIC mp_obj_t wifi_radio_connect(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
diff --git a/shared-module/_eve/__init__.c b/shared-module/_eve/__init__.c
index 0f1e12d9f..d95c777dc 100644
--- a/shared-module/_eve/__init__.c
+++ b/shared-module/_eve/__init__.c
@@ -70,8 +70,8 @@ void common_hal__eve_Vertex2f(common_hal__eve_t *eve, mp_float_t x, mp_float_t y
void common_hal__eve_VertexFormat(common_hal__eve_t *eve, uint32_t frac)
{
- C4(eve, ((27 << 24) | ((frac & 7))));
- eve->vscale = 1 << eve->vscale;
+ C4(eve, ((39 << 24) | ((frac & 7))));
+ eve->vscale = 1 << frac;
}