Merge branch 'adafruit:main' into main
This commit is contained in:
commit
14417a21d1
1
.gitmodules
vendored
1
.gitmodules
vendored
@ -310,6 +310,7 @@
|
||||
[submodule "ports/espressif/esp32-camera"]
|
||||
path = ports/espressif/esp32-camera
|
||||
url = https://github.com/adafruit/esp32-camera/
|
||||
branch = circuitpython
|
||||
[submodule "ports/raspberrypi/lib/cyw43-driver"]
|
||||
path = ports/raspberrypi/lib/cyw43-driver
|
||||
url = https://github.com/adafruit/cyw43-driver.git
|
||||
|
2
Makefile
2
Makefile
@ -90,7 +90,7 @@ clean:
|
||||
rm -rf autoapi
|
||||
rm -rf $(STUBDIR) $(DISTDIR) *.egg-info
|
||||
|
||||
html: stubs
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
41
locale/ID.po
41
locale/ID.po
@ -70,6 +70,11 @@ msgstr "%%c harus int atau char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -125,6 +130,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -299,7 +308,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "Objek '%s' tidak memiliki atribut '%q'"
|
||||
|
||||
@ -494,6 +503,11 @@ msgstr ""
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1408,6 +1422,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Nama terlalu panjang"
|
||||
@ -1779,10 +1797,6 @@ msgstr ""
|
||||
"ideal. Jika ini tidak dapat dihindari, berikan allow_inefficient=True ke "
|
||||
"konstruktor"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "Pin harus berurutan"
|
||||
@ -1873,7 +1887,7 @@ msgid "Random number generation error"
|
||||
msgstr "Kesalahan pembuatan nomor acak"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Baca-saja"
|
||||
|
||||
@ -1881,10 +1895,6 @@ msgstr "Baca-saja"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "sistem file (filesystem) bersifat Read-only"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Objek Read-only"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2731,6 +2741,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3092,10 +3106,6 @@ msgstr ""
|
||||
msgid "format requires a dict"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr ""
|
||||
@ -4368,6 +4378,9 @@ msgstr "zi harus berjenis float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "Zi harus berbentuk (n_section, 2)"
|
||||
|
||||
#~ msgid "Read-only object"
|
||||
#~ msgstr "Objek Read-only"
|
||||
|
||||
#~ msgid "%q length must be >= 1"
|
||||
#~ msgstr "%q panjang harus >= 1"
|
||||
|
||||
|
@ -65,6 +65,11 @@ msgstr ""
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -119,6 +124,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -293,7 +302,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
@ -488,6 +497,11 @@ msgstr ""
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1393,6 +1407,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr ""
|
||||
@ -1754,10 +1772,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1846,7 +1860,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -1854,10 +1868,6 @@ msgstr ""
|
||||
msgid "Read-only filesystem"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2700,6 +2710,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3061,10 +3075,6 @@ msgstr ""
|
||||
msgid "format requires a dict"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr ""
|
||||
|
38
locale/cs.po
38
locale/cs.po
@ -72,6 +72,11 @@ msgstr "%%c vyžaduje int nebo char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -126,6 +131,10 @@ msgstr "Inicializace %q selhala"
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "Délka %q musí být %d"
|
||||
@ -300,7 +309,7 @@ msgstr "'%s' objekt nepodporuje přiřazení položky"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "'%s' objekt nepodporuje smazání položky"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' objekt nemá žádný atribut '%q'"
|
||||
|
||||
@ -495,6 +504,11 @@ msgstr "Již běží"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Již skenuje wifi sítě"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Jiný PWMAudioOut je již aktivní"
|
||||
@ -1408,6 +1422,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr "Chyba NVS"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Jméno je příliš dlouhé"
|
||||
@ -1770,10 +1788,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1864,7 +1878,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -1872,10 +1886,6 @@ msgstr ""
|
||||
msgid "Read-only filesystem"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2718,6 +2728,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3079,10 +3093,6 @@ msgstr ""
|
||||
msgid "format requires a dict"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr ""
|
||||
|
@ -71,6 +71,11 @@ msgstr "%%c erwartet Int oder Char"
|
||||
msgid "%02X"
|
||||
msgstr "%02X"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -127,6 +132,10 @@ msgstr "%q Initialisierung ist gescheitert"
|
||||
msgid "%q is %q"
|
||||
msgstr "%q ist %q"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "%q länge muss %d betragen"
|
||||
@ -303,7 +312,7 @@ msgstr "'%s' Objekt unterstützt keine Element-Zuordnung"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "'%s' Objekt unterstützt keine Löschung von Elementen"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' Objekt hat kein Attribut '%q'"
|
||||
|
||||
@ -498,6 +507,11 @@ msgstr "Läuft bereits"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Sucht bereits nach Wifi-Netzwerken"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Ein anderer PWMAudioOut ist bereits aktiv"
|
||||
@ -1424,6 +1438,10 @@ msgstr "NLR-Sprung fehlgeschlagen. Mögliche Speicher-Beschädigung."
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS-Fehler"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Name zu lang"
|
||||
@ -1794,10 +1812,6 @@ msgstr ""
|
||||
"Bytes verbraucht. Wenn dies nicht vermieden werden kann, übergib "
|
||||
"allow_inefficient=True an den Konstruktor"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "Pins müssen geordnet sein"
|
||||
@ -1889,7 +1903,7 @@ msgid "Random number generation error"
|
||||
msgstr "Fehler bei der Erzeugung von Zufallszahlen"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Nur lesen möglich, da Schreibgeschützt"
|
||||
|
||||
@ -1897,10 +1911,6 @@ msgstr "Nur lesen möglich, da Schreibgeschützt"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Schreibgeschützte Dateisystem"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Schreibgeschützte Objekt"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Erhaltene Antwort ist ungültig"
|
||||
@ -2777,6 +2787,10 @@ msgstr "Kann Blockgröße von 512 nicht setzen"
|
||||
msgid "can't set attribute"
|
||||
msgstr "kann Attribut nicht setzen"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "Speichern von '%q' nicht möglich"
|
||||
@ -3148,10 +3162,6 @@ msgstr "Die Schriftart (font) muss 2048 Byte lang sein"
|
||||
msgid "format requires a dict"
|
||||
msgstr "Format erfordert ein Wörterbuch (dict)"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr "Frequenz ist für dieses Board schreibgeschützt"
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "voll"
|
||||
@ -4438,6 +4448,12 @@ msgstr "zi muss eine Gleitkommazahl sein"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi muss die Form (n_section, 2) haben"
|
||||
|
||||
#~ msgid "Read-only object"
|
||||
#~ msgstr "Schreibgeschützte Objekt"
|
||||
|
||||
#~ msgid "frequency is read-only for this board"
|
||||
#~ msgstr "Frequenz ist für dieses Board schreibgeschützt"
|
||||
|
||||
#~ msgid "Unable to write"
|
||||
#~ msgstr "Schreiben nicht möglich"
|
||||
|
||||
|
38
locale/el.po
38
locale/el.po
@ -76,6 +76,11 @@ msgstr "%%c απαιτεί int ή char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -131,6 +136,10 @@ msgstr "%q εκκίνηση απέτυχε"
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "%q μήκος πρέπει να είναι %d"
|
||||
@ -305,7 +314,7 @@ msgstr "'%s' αντικείμενο δεν υποστηρίζει ορισμό
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "'%s' αντικείμενο δεν υποστηρίζει διαγραφή πράγματος"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' αντικείμενο δεν έχει γνώρισμα '%q'"
|
||||
|
||||
@ -501,6 +510,11 @@ msgstr "Τρέχει ήδη"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Ήδη γίνεται σάρωση για δίκτυα wifi"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Και άλλο PWMAudioOut είναι σε χρήση"
|
||||
@ -1418,6 +1432,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr ""
|
||||
@ -1779,10 +1797,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1873,7 +1887,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -1881,10 +1895,6 @@ msgstr ""
|
||||
msgid "Read-only filesystem"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2727,6 +2737,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3088,10 +3102,6 @@ msgstr ""
|
||||
msgid "format requires a dict"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr ""
|
||||
|
@ -74,6 +74,11 @@ msgstr "%%c requires int or char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -129,6 +134,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -303,7 +312,7 @@ msgstr "'%s' object doesn't support item assignment"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "'%s' object doesn't support item deletion"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' object has no attribute '%q'"
|
||||
|
||||
@ -498,6 +507,11 @@ msgstr "Already running"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Already scanning for WiFi networks"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Another PWMAudioOut is already active"
|
||||
@ -1409,6 +1423,10 @@ msgstr "NLR jump failed. Likely memory corruption."
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS Error"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Name too long"
|
||||
@ -1778,10 +1796,6 @@ msgstr ""
|
||||
"bytes. If this cannot be avoided, pass allow_inefficient=True to the "
|
||||
"constructor"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "Pins must be sequential"
|
||||
@ -1870,7 +1884,7 @@ msgid "Random number generation error"
|
||||
msgstr "Random number generation error"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Read-only"
|
||||
|
||||
@ -1878,10 +1892,6 @@ msgstr "Read-only"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Read-only filesystem"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Read-only object"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Received response was invalid"
|
||||
@ -2734,6 +2744,10 @@ msgstr "can't set 512 block size"
|
||||
msgid "can't set attribute"
|
||||
msgstr "can't set attribute"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "can't store '%q'"
|
||||
@ -3098,10 +3112,6 @@ msgstr "font must be 2048 bytes long"
|
||||
msgid "format requires a dict"
|
||||
msgstr "format requires a dict"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "full"
|
||||
@ -4373,6 +4383,9 @@ msgstr "zi must be of float type"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi must be of shape (n_section, 2)"
|
||||
|
||||
#~ msgid "Read-only object"
|
||||
#~ msgstr "Read-only object"
|
||||
|
||||
#~ msgid "%q length must be >= 1"
|
||||
#~ msgstr "%q length must be >= 1"
|
||||
|
||||
|
116
locale/es.po
116
locale/es.po
@ -8,15 +8,15 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-09-23 17:20+0000\n"
|
||||
"Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n"
|
||||
"PO-Revision-Date: 2022-12-31 17:50+0000\n"
|
||||
"Last-Translator: Orlando Caro <ocaro@users.noreply.github.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: es\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.14.1\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -74,6 +74,11 @@ msgstr "%%c requiere int o char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -92,9 +97,8 @@ msgstr ""
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c ports/stm/common-hal/alarm/__init__.c
|
||||
#: ports/stm/common-hal/rtc/RTC.c
|
||||
#, fuzzy
|
||||
msgid "%q"
|
||||
msgstr "%q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Pin.c
|
||||
msgid "%q and %q contain duplicate pins"
|
||||
@ -129,6 +133,10 @@ msgstr "%q inicializado fallido"
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "%q is %q"
|
||||
msgstr "%q es %q"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
@ -169,27 +177,27 @@ msgstr "%q debe ser >= %d"
|
||||
|
||||
#: shared-bindings/analogbufio/BufferedIn.c
|
||||
msgid "%q must be a bytearray or array of type 'H' or 'B'"
|
||||
msgstr ""
|
||||
msgstr "%q debe ser un byte-matriz o matriz de tipo 'H' o 'B'"
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "%q must be a bytearray or array of type 'h', 'H', 'b', or 'B'"
|
||||
msgstr ""
|
||||
msgstr "%q debe ser un byte-matriz o matriz de tipo 'h', 'H', 'b', o 'B'"
|
||||
|
||||
#: py/argcheck.c py/obj.c py/objstrunicode.c
|
||||
msgid "%q must be of type %q"
|
||||
msgstr ""
|
||||
msgstr "%q debe ser de typo %q"
|
||||
|
||||
#: py/objexcept.c shared-bindings/digitalio/Pull.c
|
||||
msgid "%q must be of type %q or None"
|
||||
msgstr ""
|
||||
msgstr "%q debe ser de tipo %q o None"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
msgid "%q must be power of 2"
|
||||
msgstr ""
|
||||
msgstr "%q debe ser potencia de 2"
|
||||
|
||||
#: shared-bindings/wifi/Monitor.c
|
||||
msgid "%q out of bounds"
|
||||
msgstr ""
|
||||
msgstr "%q fuera de limites"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseIn.c
|
||||
@ -206,7 +214,7 @@ msgstr "pin inválido %q"
|
||||
|
||||
#: py/objrange.c py/objslice.c shared-bindings/random/__init__.c
|
||||
msgid "%q step cannot be zero"
|
||||
msgstr ""
|
||||
msgstr "%q paso no puede ser cero"
|
||||
|
||||
#: py/bc.c py/objnamedtuple.c
|
||||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
@ -214,11 +222,11 @@ msgstr "%q() toma %d argumentos posicionales pero %d fueron dados"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
msgstr "%q, %q, y %q deben tener el mismo largo"
|
||||
|
||||
#: py/objint.c shared-bindings/storage/__init__.c
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
msgstr "%q=%q"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
@ -305,7 +313,7 @@ msgstr "'%s' el objeto no tiene capacidad de asignación de item"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "'%s' el objeto no tiene capacidad de borrado de item"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "objeto '%s' no tiene atributo '%q'"
|
||||
|
||||
@ -407,7 +415,7 @@ msgstr "La dirección debe tener %d bytes de largo"
|
||||
|
||||
#: ports/espressif/common-hal/memorymap/AddressRange.c
|
||||
msgid "Address range not allowed"
|
||||
msgstr ""
|
||||
msgstr "Rango de dirección no permitido"
|
||||
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
msgid "All CAN peripherals are in use"
|
||||
@ -502,6 +510,11 @@ msgstr "Ya está en ejecución"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Ya se están buscando redes wifi"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr "Un error ocurrió mientras recuperaba '%s':\n"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Otra salida PWMAudioOut esta ya activada"
|
||||
@ -531,7 +544,7 @@ msgstr "Asignación del montículo mientras la VM no esta ejecutándose."
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
msgstr "Conversión de audio no esta implementada"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
@ -576,11 +589,12 @@ msgstr "Bits depth debe ser múltiplo de 8."
|
||||
|
||||
#: shared-bindings/bitmaptools/__init__.c
|
||||
msgid "Bitmap size and bits per value must match"
|
||||
msgstr ""
|
||||
msgstr "El tamaño del mapa de bits y los bits por valor deben cotejar"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Boot device must be first device (interface #0)."
|
||||
msgstr ""
|
||||
"El dispositivo de arranque debe de ser el primer dispositivo (interfase #0)."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "Both RX and TX required for flow control"
|
||||
@ -591,7 +605,7 @@ msgstr "Ambos RX y TX requeridos para control de flujo"
|
||||
#: ports/atmel-samd/boards/circuitplayground_express_displayio/mpconfigboard.h
|
||||
#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
|
||||
msgid "Both buttons were pressed at start up.\n"
|
||||
msgstr ""
|
||||
msgstr "Ambos botones fueron prensados al inicio\n"
|
||||
|
||||
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
|
||||
msgid "Both pins must support hardware interrupts"
|
||||
@ -621,17 +635,17 @@ msgstr ""
|
||||
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Buffer is not a bytearray."
|
||||
msgstr "Buffer no es un bytearray."
|
||||
msgstr "Búfer no es un bytearray."
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Buffer is too small"
|
||||
msgstr "El buffer es muy pequeño"
|
||||
msgstr "Búfer es muy pequeño"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
#, c-format
|
||||
msgid "Buffer length %d too big. It must be less than %d"
|
||||
msgstr "Longitud del buffer %d es demasiado grande. Tiene que ser menor a %d"
|
||||
msgstr "Longitud del búfer %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
|
||||
@ -645,11 +659,11 @@ msgstr "Búfer deber ser un múltiplo de 512 bytes"
|
||||
#: shared-bindings/_bleio/PacketBuffer.c
|
||||
#, c-format
|
||||
msgid "Buffer too short by %d bytes"
|
||||
msgstr "Búffer muy corto por %d bytes"
|
||||
msgstr "Búfer muy corto por %d bytes"
|
||||
|
||||
#: ports/espressif/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Buffers must be same size"
|
||||
msgstr ""
|
||||
msgstr "Búferes deben ser del mismo tamaño"
|
||||
|
||||
#: ports/atmel-samd/common-hal/paralleldisplay/ParallelBus.c
|
||||
#: ports/espressif/common-hal/paralleldisplay/ParallelBus.c
|
||||
@ -662,7 +676,7 @@ msgstr "Bus pin %d ya está siendo utilizado"
|
||||
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
|
||||
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
|
||||
msgid "Button A was pressed at start up.\n"
|
||||
msgstr ""
|
||||
msgstr "Botón A fue presionado al inicio.\n"
|
||||
|
||||
#: shared-bindings/_bleio/UUID.c
|
||||
msgid "Byte buffer must be 16 bytes."
|
||||
@ -673,8 +687,9 @@ msgid "CBC blocks must be multiples of 16 bytes"
|
||||
msgstr "Los bloques CBC deben ser múltiplos de 16 bytes"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
#, fuzzy
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
msgstr "CIRCUITPY dispositivo de guardo no pudo ser encontrado o creado."
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
@ -686,7 +701,7 @@ msgstr "Llame a super().__init__() antes de acceder al objeto nativo."
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Camera init"
|
||||
msgstr ""
|
||||
msgstr "Inicialización de cámara"
|
||||
|
||||
#: ports/espressif/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
@ -1431,6 +1446,10 @@ msgstr "Salto NLR falló. Probablemente corrupción de memoria."
|
||||
msgid "NVS Error"
|
||||
msgstr "Error NVS"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Nombre muy largo"
|
||||
@ -1803,10 +1822,6 @@ msgstr ""
|
||||
"ideales. Si esto no se puede evitar, pase allow_inefficient=True al "
|
||||
"constructor"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "Los pines deben estar en orden secuencial"
|
||||
@ -1898,7 +1913,7 @@ msgid "Random number generation error"
|
||||
msgstr "Error de generación de números aleatorios"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Solo-lectura"
|
||||
|
||||
@ -1906,10 +1921,6 @@ msgstr "Solo-lectura"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Sistema de archivos de solo-Lectura"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Objeto de solo-lectura"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "La respuesta recibida es invalida"
|
||||
@ -2771,6 +2782,10 @@ msgstr "no se puede definir un tamaño de bloque de 512"
|
||||
msgid "can't set attribute"
|
||||
msgstr "no se puede asignar el atributo"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "no se puede almacenar '%q'"
|
||||
@ -3138,10 +3153,6 @@ msgstr "font debe ser 2048 bytes de largo"
|
||||
msgid "format requires a dict"
|
||||
msgstr "format requiere un dict"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "lleno"
|
||||
@ -4246,7 +4257,7 @@ msgstr "nombre en unicode escapa"
|
||||
|
||||
#: py/parse.c
|
||||
msgid "unindent doesn't match any outer indent level"
|
||||
msgstr ""
|
||||
msgstr "unindent no coteja ningún nivel de espacio exterior"
|
||||
|
||||
#: py/objstr.c
|
||||
#, c-format
|
||||
@ -4268,7 +4279,7 @@ msgstr "tipo desconocido '%q'"
|
||||
#: py/objstr.c
|
||||
#, c-format
|
||||
msgid "unmatched '%c' in format"
|
||||
msgstr ""
|
||||
msgstr "no coteja '%c' en formato"
|
||||
|
||||
#: py/objtype.c py/runtime.c
|
||||
msgid "unreadable attribute"
|
||||
@ -4290,11 +4301,11 @@ msgstr "instrucción Xtensa '%s' con %d argumentos no soportada"
|
||||
|
||||
#: shared-module/gifio/GifWriter.c
|
||||
msgid "unsupported colorspace for GifWriter"
|
||||
msgstr ""
|
||||
msgstr "espacio de color no soportado para GifWriter"
|
||||
|
||||
#: shared-bindings/bitmaptools/__init__.c
|
||||
msgid "unsupported colorspace for dither"
|
||||
msgstr ""
|
||||
msgstr "espacio de color no soportado para tramado"
|
||||
|
||||
#: py/objstr.c
|
||||
#, c-format
|
||||
@ -4315,11 +4326,11 @@ msgstr "tipos no soportados para %q: '%q', '%q'"
|
||||
|
||||
#: extmod/ulab/code/numpy/io/io.c
|
||||
msgid "usecols is too high"
|
||||
msgstr ""
|
||||
msgstr "usecols es muy alto"
|
||||
|
||||
#: extmod/ulab/code/numpy/io/io.c
|
||||
msgid "usecols keyword must be specified"
|
||||
msgstr ""
|
||||
msgstr "usecols palabra clave debe de ser especificada"
|
||||
|
||||
#: py/objint.c
|
||||
#, c-format
|
||||
@ -4328,7 +4339,7 @@ msgstr "el valor debe caber en %d byte(s)"
|
||||
|
||||
#: shared-bindings/bitmaptools/__init__.c
|
||||
msgid "value out of range of target"
|
||||
msgstr ""
|
||||
msgstr "valor fuera de alcance al blanco"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c
|
||||
msgid "value_count must be > 0"
|
||||
@ -4349,7 +4360,7 @@ msgstr "wifi no esta habilitado"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Monitor.c
|
||||
msgid "wifi.Monitor not available"
|
||||
msgstr ""
|
||||
msgstr "wifi.Monitor no esta disponible"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "window must be <= interval"
|
||||
@ -4365,7 +4376,7 @@ msgstr "eje especificado erróneo"
|
||||
|
||||
#: extmod/ulab/code/numpy/io/io.c
|
||||
msgid "wrong dtype"
|
||||
msgstr ""
|
||||
msgstr "erroneo dtype"
|
||||
|
||||
#: extmod/ulab/code/numpy/transform.c
|
||||
msgid "wrong index type"
|
||||
@ -4379,11 +4390,11 @@ msgstr "tipo de entrada incorrecta"
|
||||
|
||||
#: extmod/ulab/code/numpy/transform.c
|
||||
msgid "wrong length of condition array"
|
||||
msgstr ""
|
||||
msgstr "largo erroneo en el arreglo de condiciones"
|
||||
|
||||
#: extmod/ulab/code/numpy/transform.c
|
||||
msgid "wrong length of index array"
|
||||
msgstr ""
|
||||
msgstr "largo erroneo en el arreglo de índices"
|
||||
|
||||
#: extmod/ulab/code/numpy/create.c py/objarray.c py/objstr.c
|
||||
msgid "wrong number of arguments"
|
||||
@ -4421,6 +4432,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 "Read-only object"
|
||||
#~ msgstr "Objeto de solo-lectura"
|
||||
|
||||
#~ msgid "%q length must be >= 1"
|
||||
#~ msgstr "%q tamaño debe ser >= 1"
|
||||
|
||||
|
@ -6,8 +6,8 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-08-23 14:19+0000\n"
|
||||
"Last-Translator: Jeff Epler <jepler@gmail.com>\n"
|
||||
"PO-Revision-Date: 2022-12-27 18:02+0000\n"
|
||||
"Last-Translator: Blinka CircuitPython <limor@ladyada.net>\n"
|
||||
"Language-Team: fil\n"
|
||||
"Language: fil\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -15,7 +15,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 "
|
||||
"|| n % 10 == 6 || n % 10 == 9);\n"
|
||||
"X-Generator: Weblate 4.8.1-dev\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -66,6 +66,11 @@ msgstr "%%c nangangailangan ng int o char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr "%S"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -120,6 +125,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -295,7 +304,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' object ay walang attribute '%q'"
|
||||
|
||||
@ -491,6 +500,11 @@ msgstr ""
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1405,6 +1419,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr ""
|
||||
@ -1770,10 +1788,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1862,7 +1876,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Basahin-lamang"
|
||||
|
||||
@ -1870,11 +1884,6 @@ msgstr "Basahin-lamang"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Basahin-lamang mode"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "Basahin-lamang"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2722,6 +2731,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr "hindi ma i-set ang attribute"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "hindi ma i-store ang '%q'"
|
||||
@ -3091,10 +3104,6 @@ msgstr "font ay dapat 2048 bytes ang haba"
|
||||
msgid "format requires a dict"
|
||||
msgstr "kailangan ng format ng dict"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "puno"
|
||||
@ -4375,6 +4384,10 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Read-only object"
|
||||
#~ msgstr "Basahin-lamang"
|
||||
|
||||
#~ msgid "Invalid pins"
|
||||
#~ msgstr "Mali ang pins"
|
||||
|
||||
|
50
locale/fr.po
50
locale/fr.po
@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: 0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-11-09 19:20+0000\n"
|
||||
"Last-Translator: Deleted User <noreply+52049@weblate.org>\n"
|
||||
"PO-Revision-Date: 2022-12-27 18:02+0000\n"
|
||||
"Last-Translator: Blinka CircuitPython <limor@ladyada.net>\n"
|
||||
"Language: fr\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.15-dev\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -75,6 +75,11 @@ msgstr "%%c nécessite un chiffre entier 'int' ou un caractère 'char'"
|
||||
msgid "%02X"
|
||||
msgstr "%02X"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr "%S"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -131,6 +136,10 @@ msgstr "échec de l'initialisation %q"
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "La longeur de %q doit être %d"
|
||||
@ -305,7 +314,7 @@ msgstr "l'objet %s ne supporte pas l'assignation d'éléments"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "L'objet '%s' ne prend pas en charge la suppression d'éléments"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "l'objet '%s' n'a pas d'attribut '%q'"
|
||||
|
||||
@ -500,6 +509,11 @@ msgstr "Déjà en cours d'exécution"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Déjà à la recherche des réseaux wifi"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Un autre PWMAudioOut est déjà actif"
|
||||
@ -1450,6 +1464,10 @@ msgstr "Saut NLR échoué. Corruption de mémoire probable."
|
||||
msgid "NVS Error"
|
||||
msgstr "Erreur NVS"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Nom trop long"
|
||||
@ -1823,10 +1841,6 @@ msgstr ""
|
||||
"octets idéal. Si cela ne peut pas être évité, transmettez allow_inefficient "
|
||||
"= True au constructeur"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "Les broches doivent être séquentielles"
|
||||
@ -1919,7 +1933,7 @@ msgid "Random number generation error"
|
||||
msgstr "Erreur de génération de chiffres aléatoires"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Lecture seule"
|
||||
|
||||
@ -1927,10 +1941,6 @@ msgstr "Lecture seule"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Système de fichier en lecture seule"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Objet en lecture seule"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Réponse reçue invalide"
|
||||
@ -2805,6 +2815,10 @@ msgstr "impossible de définir une taille de bloc de 512"
|
||||
msgid "can't set attribute"
|
||||
msgstr "attribut non modifiable"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "impossible de stocker '%q'"
|
||||
@ -3178,10 +3192,6 @@ msgstr "la police doit être longue de 2048 octets"
|
||||
msgid "format requires a dict"
|
||||
msgstr "le format nécessite un dict"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr "la fréquence est en lecture seule pour cette carte"
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "plein"
|
||||
@ -4466,6 +4476,12 @@ 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 "Read-only object"
|
||||
#~ msgstr "Objet en lecture seule"
|
||||
|
||||
#~ msgid "frequency is read-only for this board"
|
||||
#~ msgstr "la fréquence est en lecture seule pour cette carte"
|
||||
|
||||
#~ msgid "Unable to write"
|
||||
#~ msgstr "Écriture impossible"
|
||||
|
||||
|
38
locale/hi.po
38
locale/hi.po
@ -65,6 +65,11 @@ msgstr ""
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -119,6 +124,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -293,7 +302,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
@ -488,6 +497,11 @@ msgstr ""
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1393,6 +1407,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr ""
|
||||
@ -1754,10 +1772,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1846,7 +1860,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -1854,10 +1868,6 @@ msgstr ""
|
||||
msgid "Read-only filesystem"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2700,6 +2710,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3061,10 +3075,6 @@ msgstr ""
|
||||
msgid "format requires a dict"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr ""
|
||||
|
@ -71,6 +71,11 @@ msgstr "%%c necessita di int o char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -126,6 +131,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -300,7 +309,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "l'oggetto '%s' non ha l'attributo '%q'"
|
||||
|
||||
@ -497,6 +506,11 @@ msgstr "Già in funzione"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Già in ricerca di collegamenti WiFi"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1411,6 +1425,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr ""
|
||||
@ -1779,10 +1797,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1872,7 +1886,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Sola lettura"
|
||||
|
||||
@ -1880,11 +1894,6 @@ msgstr "Sola lettura"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Filesystem in sola lettura"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "Sola lettura"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2733,6 +2742,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr "impossibile impostare attributo"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "impossibile memorizzare '%q'"
|
||||
@ -3099,10 +3112,6 @@ msgstr "il font deve essere lungo 2048 byte"
|
||||
msgid "format requires a dict"
|
||||
msgstr "la formattazione richiede un dict"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "pieno"
|
||||
@ -4388,6 +4397,10 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Read-only object"
|
||||
#~ msgstr "Sola lettura"
|
||||
|
||||
#~ msgid "At most %d %q may be specified (not %d)"
|
||||
#~ msgstr "Almeno %d %q devono essere specificati (non %d)"
|
||||
|
||||
|
41
locale/ja.po
41
locale/ja.po
@ -70,6 +70,11 @@ msgstr "%%c にはintまたはcharが必要"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -124,6 +129,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -298,7 +307,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
@ -493,6 +502,11 @@ msgstr "すでに実行中"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1404,6 +1418,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "名前が長すぎます"
|
||||
@ -1767,10 +1785,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1859,7 +1873,7 @@ msgid "Random number generation error"
|
||||
msgstr "乱数生成エラー"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "読み込み専用"
|
||||
|
||||
@ -1867,10 +1881,6 @@ msgstr "読み込み専用"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "読み込み専用のファイルシステム"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "読み込み専用のオブジェクト"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2714,6 +2724,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3079,10 +3093,6 @@ msgstr "fontは2048バイト長でなければなりません"
|
||||
msgid "format requires a dict"
|
||||
msgstr "formatにはdictが必要"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr ""
|
||||
@ -4357,6 +4367,9 @@ msgstr "ziはfloat値でなければなりません"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Read-only object"
|
||||
#~ msgstr "読み込み専用のオブジェクト"
|
||||
|
||||
#~ msgid "At most %d %q may be specified (not %d)"
|
||||
#~ msgstr "最大で %d個の %q が指定できます(%d個でなく)"
|
||||
|
||||
|
38
locale/ko.po
38
locale/ko.po
@ -66,6 +66,11 @@ msgstr "%%c 전수(int)또는 캐릭터(char)필요합니다"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -120,6 +125,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -294,7 +303,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
@ -489,6 +498,11 @@ msgstr ""
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1396,6 +1410,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr ""
|
||||
@ -1757,10 +1775,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1849,7 +1863,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -1857,10 +1871,6 @@ msgstr ""
|
||||
msgid "Read-only filesystem"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2704,6 +2714,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3065,10 +3079,6 @@ msgstr ""
|
||||
msgid "format requires a dict"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "완전한(full)"
|
||||
|
41
locale/nl.po
41
locale/nl.po
@ -68,6 +68,11 @@ msgstr "%%c vereist een int of char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -122,6 +127,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -296,7 +305,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' object heeft geen attribuut '%q'"
|
||||
|
||||
@ -491,6 +500,11 @@ msgstr "Wordt al uitgevoerd"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Zoekt al naar WiFi netwerken"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1404,6 +1418,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS-fout"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Naam te lang"
|
||||
@ -1776,10 +1794,6 @@ msgstr ""
|
||||
"gebruikt. Als dit niet kan worden vermeden, geef dan het argument "
|
||||
"allow_inefficient=True aan de constructor"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1870,7 +1884,7 @@ msgid "Random number generation error"
|
||||
msgstr "Random number generatie fout"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Alleen-lezen"
|
||||
|
||||
@ -1878,10 +1892,6 @@ msgstr "Alleen-lezen"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Alleen-lezen bestandssysteem"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Alleen-lezen object"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2731,6 +2741,10 @@ msgstr "kan geen 512 blokgrootte instellen"
|
||||
msgid "can't set attribute"
|
||||
msgstr "kan attribute niet instellen"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "kan '%q' niet opslaan"
|
||||
@ -3094,10 +3108,6 @@ msgstr "lettertype moet 2048 bytes lang zijn"
|
||||
msgid "format requires a dict"
|
||||
msgstr "format vereist een dict"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "vol"
|
||||
@ -4373,6 +4383,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 "Read-only object"
|
||||
#~ msgstr "Alleen-lezen object"
|
||||
|
||||
#~ msgid "At most %d %q may be specified (not %d)"
|
||||
#~ msgstr "Op zijn meest %d %q mogen worden gespecificeerd (niet %d)"
|
||||
|
||||
|
41
locale/pl.po
41
locale/pl.po
@ -70,6 +70,11 @@ msgstr "%%c wymaga int lub char"
|
||||
msgid "%02X"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -124,6 +129,10 @@ msgstr ""
|
||||
msgid "%q is %q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr ""
|
||||
@ -298,7 +307,7 @@ msgstr ""
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' obiekt nie ma atrybutu '%q'"
|
||||
|
||||
@ -493,6 +502,11 @@ msgstr ""
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr ""
|
||||
@ -1404,6 +1418,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Za długa nazwa"
|
||||
@ -1765,10 +1783,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1857,7 +1871,7 @@ msgid "Random number generation error"
|
||||
msgstr "Błąd generowania liczb losowych"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Tylko do odczytu"
|
||||
|
||||
@ -1865,10 +1879,6 @@ msgstr "Tylko do odczytu"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "System plików tylko do odczytu"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Obiekt tylko do odczytu"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Otrzymana odpowiedź była nieprawidłowa"
|
||||
@ -2711,6 +2721,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr "nie można ustawić atrybutu"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "nie można zapisać '%q'"
|
||||
@ -3073,10 +3087,6 @@ msgstr "font musi mieć 2048 bajtów długości"
|
||||
msgid "format requires a dict"
|
||||
msgstr "format wymaga słownika"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "pełny"
|
||||
@ -4349,6 +4359,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Read-only object"
|
||||
#~ msgstr "Obiekt tylko do odczytu"
|
||||
|
||||
#~ msgid "Invalid pins"
|
||||
#~ msgstr "Złe nóżki"
|
||||
|
||||
|
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-12-22 15:49+0000\n"
|
||||
"PO-Revision-Date: 2022-12-28 03:47+0000\n"
|
||||
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt_BR\n"
|
||||
@ -72,6 +72,11 @@ msgstr "%%c requer int ou char"
|
||||
msgid "%02X"
|
||||
msgstr "%02X"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -128,6 +133,10 @@ msgstr "a inicialização do %q falhou"
|
||||
msgid "%q is %q"
|
||||
msgstr "%q é %q"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "O comprimento de %q deve ser %d"
|
||||
@ -302,7 +311,7 @@ msgstr "O objeto '%s' não suporta a atribuição dos itens"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "O objeto '%s' não é compatível com exclusão do item"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "O objeto '%s' não possui o atributo '%q'"
|
||||
|
||||
@ -501,6 +510,11 @@ msgstr "Já está em execução"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Já está em busca das redes de wifi"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr "Ocorreu um erro ao recuperar '%s':\n"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Um outro PWMAudioOut já está ativo"
|
||||
@ -1432,6 +1446,10 @@ msgstr "O salto NLR falhou. Possível corrupção da memória."
|
||||
msgid "NVS Error"
|
||||
msgstr "Erro NVS"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr "Nome ou serviço desconhecido"
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Nome muito longo"
|
||||
@ -1805,10 +1823,6 @@ msgstr ""
|
||||
"ideal. Caso isso não possa ser evitado, passe allow_inefficient=True ao "
|
||||
"construtor"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr "Os pinos 21+ não são suportados pelo ULP"
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "Os pinos devem ser sequenciais"
|
||||
@ -1902,7 +1916,7 @@ msgid "Random number generation error"
|
||||
msgstr "Houve um erro na geração do número aleatório"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Somente leitura"
|
||||
|
||||
@ -1910,10 +1924,6 @@ msgstr "Somente leitura"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Sistema de arquivos somente leitura"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Objeto de leitura apenas"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "A resposta recebida foi inválida"
|
||||
@ -2785,6 +2795,10 @@ msgstr "não é possível definir o tamanho de 512 blocos"
|
||||
msgid "can't set attribute"
|
||||
msgstr "não é possível definir o atributo"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "não é possível armazenar '%q'"
|
||||
@ -3155,10 +3169,6 @@ msgstr "a fonte deve ter 2048 bytes de comprimento"
|
||||
msgid "format requires a dict"
|
||||
msgstr "formato requer um dict"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr "nesta placa, a frequência é de apenas leitura"
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "cheio"
|
||||
@ -4441,6 +4451,15 @@ 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 "Read-only object"
|
||||
#~ msgstr "Objeto de leitura apenas"
|
||||
|
||||
#~ msgid "frequency is read-only for this board"
|
||||
#~ msgstr "nesta placa, a frequência é de apenas leitura"
|
||||
|
||||
#~ msgid "Pins 21+ not supported from ULP"
|
||||
#~ msgstr "Os pinos 21+ não são suportados pelo ULP"
|
||||
|
||||
#~ msgid "Unable to write"
|
||||
#~ msgstr "Não é possível escrever"
|
||||
|
||||
|
66
locale/ru.po
66
locale/ru.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2022-11-29 01:02+0000\n"
|
||||
"PO-Revision-Date: 2022-12-27 17:42+0000\n"
|
||||
"Last-Translator: Clay <code.clayt@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ru\n"
|
||||
@ -16,7 +16,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 4.15-dev\n"
|
||||
"X-Generator: Weblate 4.15.1-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -75,6 +75,11 @@ msgstr "%%c требует int или char"
|
||||
msgid "%02X"
|
||||
msgstr "%02X"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -130,6 +135,10 @@ msgstr "Инициализация %q не удалась"
|
||||
msgid "%q is %q"
|
||||
msgstr "%q является %q"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "Длинна %q должна быть %d"
|
||||
@ -168,7 +177,7 @@ msgstr "%q должно быть >= %d"
|
||||
|
||||
#: shared-bindings/analogbufio/BufferedIn.c
|
||||
msgid "%q must be a bytearray or array of type 'H' or 'B'"
|
||||
msgstr ""
|
||||
msgstr "%q должно быть bytearray или array типа 'H' или 'B'"
|
||||
|
||||
#: shared-bindings/audiocore/RawSample.c
|
||||
msgid "%q must be a bytearray or array of type 'h', 'H', 'b', or 'B'"
|
||||
@ -205,7 +214,7 @@ msgstr "Пин %q не допустим"
|
||||
|
||||
#: py/objrange.c py/objslice.c shared-bindings/random/__init__.c
|
||||
msgid "%q step cannot be zero"
|
||||
msgstr ""
|
||||
msgstr "Шаг %q не может быть нулём"
|
||||
|
||||
#: py/bc.c py/objnamedtuple.c
|
||||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
@ -304,7 +313,7 @@ msgstr "Объект '%s' не поддерживает присвоение э
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "Объект '%s' не поддерживает удаление элементов"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "Объект '%s' не имеет атрибута '%q'"
|
||||
|
||||
@ -406,7 +415,7 @@ msgstr "Адрес должен быть длиной %d байт"
|
||||
|
||||
#: ports/espressif/common-hal/memorymap/AddressRange.c
|
||||
msgid "Address range not allowed"
|
||||
msgstr ""
|
||||
msgstr "Диапазон адресов не разрешен"
|
||||
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
msgid "All CAN peripherals are in use"
|
||||
@ -499,6 +508,11 @@ msgstr "Уже запущен"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Поиск сетей wifi уже происходит"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Другой PWMAudioOut уже активен"
|
||||
@ -917,8 +931,10 @@ msgid "Drive mode not used when direction is input."
|
||||
msgstr "Drive mode не используется, когда направление является входным."
|
||||
|
||||
#: py/obj.c
|
||||
#, fuzzy
|
||||
msgid "During handling of the above exception, another exception occurred:"
|
||||
msgstr ""
|
||||
"Во время обработки вышеупомянутого исключения произошло другое исключение:"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "ECB only operates on 16 bytes at a time"
|
||||
@ -1040,7 +1056,7 @@ msgstr "Файл существует"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
msgid "File not found"
|
||||
msgstr ""
|
||||
msgstr "Файл не найден"
|
||||
|
||||
#: ports/atmel-samd/common-hal/canio/Listener.c
|
||||
#: ports/espressif/common-hal/canio/Listener.c
|
||||
@ -1291,7 +1307,7 @@ msgstr "Недопустимое бит-на-значение"
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "Invalid byte %.*s"
|
||||
msgstr ""
|
||||
msgstr "Неверный байт %.*s"
|
||||
|
||||
#: ports/atmel-samd/common-hal/imagecapture/ParallelImageCapture.c
|
||||
#, c-format
|
||||
@ -1333,7 +1349,7 @@ msgstr "Ключ должен быть длинной 16, 24 или 32 байт
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
msgid "Key not found"
|
||||
msgstr ""
|
||||
msgstr "Ключ не найден"
|
||||
|
||||
#: shared-module/is31fl3741/FrameBuffer.c
|
||||
msgid "LED mappings must match display size"
|
||||
@ -1377,7 +1393,7 @@ msgstr "Размер данных различается"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Mismatched swap flag"
|
||||
msgstr ""
|
||||
msgstr "Несоответствие флага swap"
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
@ -1444,6 +1460,10 @@ msgstr "Не удалось выполнить NLR jump. Вероятно, по
|
||||
msgid "NVS Error"
|
||||
msgstr "Ошибка NVS"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Имя слишком длинное"
|
||||
@ -1694,7 +1714,7 @@ msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/alarm/touch/TouchAlarm.c
|
||||
msgid "Only one %q can be set in deep sleep."
|
||||
msgstr ""
|
||||
msgstr "Только один %q может быть погружен в глубокий сон."
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULPAlarm.c
|
||||
msgid "Only one %q can be set."
|
||||
@ -1818,10 +1838,6 @@ msgstr ""
|
||||
"%d байт. Если этого нельзя избежать, передайте allow_inefficient=True в "
|
||||
"конструктор"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "Пины должны быть последовательными"
|
||||
@ -1912,7 +1928,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -1920,10 +1936,6 @@ msgstr ""
|
||||
msgid "Read-only filesystem"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2768,6 +2780,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3129,10 +3145,6 @@ msgstr ""
|
||||
msgid "format requires a dict"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr ""
|
||||
@ -4378,7 +4390,7 @@ msgstr ""
|
||||
|
||||
#: extmod/ulab/code/numpy/vector.c
|
||||
msgid "wrong output type"
|
||||
msgstr ""
|
||||
msgstr "неверный тип вывода"
|
||||
|
||||
#: shared-module/displayio/Shape.c
|
||||
msgid "x value out of bounds"
|
||||
@ -4386,7 +4398,7 @@ msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/audiobusio/__init__.c
|
||||
msgid "xTaskCreate failed"
|
||||
msgstr ""
|
||||
msgstr "xTaskCreate провалился"
|
||||
|
||||
#: shared-module/displayio/Shape.c
|
||||
msgid "y value out of bounds"
|
||||
@ -4394,7 +4406,7 @@ msgstr ""
|
||||
|
||||
#: extmod/ulab/code/scipy/signal/signal.c
|
||||
msgid "zi must be an ndarray"
|
||||
msgstr ""
|
||||
msgstr "zi должен быть bytearray"
|
||||
|
||||
#: extmod/ulab/code/scipy/signal/signal.c
|
||||
msgid "zi must be of float type"
|
||||
|
49
locale/sv.po
49
locale/sv.po
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-12-22 15:49+0000\n"
|
||||
"PO-Revision-Date: 2022-12-28 03:47+0000\n"
|
||||
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: sv\n"
|
||||
@ -72,6 +72,11 @@ msgstr "%%c kräver int eller char"
|
||||
msgid "%02X"
|
||||
msgstr "%02X"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr "%S"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -127,6 +132,10 @@ msgstr "%q init misslyckades"
|
||||
msgid "%q is %q"
|
||||
msgstr "%q är %q"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "längden på %q måste vara %d"
|
||||
@ -303,7 +312,7 @@ msgstr "Objektet '%s' stöder inte tilldelning"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "Objektet '%s' stöder inte borttagning"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "Objektet '%s' har inget attribut '%q'"
|
||||
|
||||
@ -498,6 +507,11 @@ msgstr "Kör redan"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Skannar redan efter WiFi-nätverk"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr "Ett fel uppstod vid hämtning av '%s':\n"
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "En annan PWMAudioOut är redan aktiv"
|
||||
@ -1417,6 +1431,10 @@ msgstr "NLR jump misslyckades. Troligen korrupt minne."
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS-fel"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr "Namn eller tjänst inte känd"
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Name är för långt"
|
||||
@ -1788,10 +1806,6 @@ msgstr ""
|
||||
"%d byte. Om detta inte kan undvikas, skicka allow_inefficient=True till "
|
||||
"konstruktorn"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr "Pins 21+ stöds inte av ULP"
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "Pinnarna måste vara i sekvens"
|
||||
@ -1882,7 +1896,7 @@ msgid "Random number generation error"
|
||||
msgstr "Fel vid generering av slumptal"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Skrivskyddad"
|
||||
|
||||
@ -1890,10 +1904,6 @@ msgstr "Skrivskyddad"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Skrivskyddat filsystem"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Skrivskyddat objekt"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Mottaget svar var ogiltigt"
|
||||
@ -2756,6 +2766,10 @@ msgstr "kan inte sätta blockstorlek 512"
|
||||
msgid "can't set attribute"
|
||||
msgstr "kan inte att ange attribut"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "kan inte lagra '%q'"
|
||||
@ -3124,10 +3138,6 @@ msgstr "typsnitt måste vara 2048 bytes långt"
|
||||
msgid "format requires a dict"
|
||||
msgstr "formatet kräver en dict"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr "frekvens är skrivskyddad för detta kort"
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "full"
|
||||
@ -4403,6 +4413,15 @@ 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 "Read-only object"
|
||||
#~ msgstr "Skrivskyddat objekt"
|
||||
|
||||
#~ msgid "frequency is read-only for this board"
|
||||
#~ msgstr "frekvens är skrivskyddad för detta kort"
|
||||
|
||||
#~ msgid "Pins 21+ not supported from ULP"
|
||||
#~ msgstr "Pins 21+ stöds inte av ULP"
|
||||
|
||||
#~ msgid "Unable to write"
|
||||
#~ msgstr "Kan inte skriva"
|
||||
|
||||
|
38
locale/tr.po
38
locale/tr.po
@ -75,6 +75,11 @@ msgstr "%%c int veya char tipine ihtiyaç duyar"
|
||||
msgid "%02X"
|
||||
msgstr "%02X"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -131,6 +136,10 @@ msgstr "%q init başarısız oldu"
|
||||
msgid "%q is %q"
|
||||
msgstr "%q %q dir"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "%q boyutu %d olmalıdır"
|
||||
@ -305,7 +314,7 @@ msgstr "'%s' nesnesi, öğe atamasını desteklemiyor"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "'%s' nesnesi, öğe silmeyi desteklemiyor"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' nesnesinin '%q' özelliği yok"
|
||||
|
||||
@ -501,6 +510,11 @@ msgstr "Halihazırda çalışıyor"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "Halihazırda wifi ağları için tarama yapılıyor"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "Başka bir PWMAudioOut zaten aktif durumda"
|
||||
@ -1416,6 +1430,10 @@ msgstr ""
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS hatası"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "İsim çok uzun"
|
||||
@ -1777,10 +1795,6 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr ""
|
||||
@ -1872,7 +1886,7 @@ msgid "Random number generation error"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -1880,10 +1894,6 @@ msgstr ""
|
||||
msgid "Read-only filesystem"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
@ -2726,6 +2736,10 @@ msgstr ""
|
||||
msgid "can't set attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr ""
|
||||
@ -3087,10 +3101,6 @@ msgstr ""
|
||||
msgid "format requires a dict"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr ""
|
||||
|
@ -74,6 +74,11 @@ msgstr "%%c xūyào zhěngshù huòzhě zìfú"
|
||||
msgid "%02X"
|
||||
msgstr "%02X"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "%S"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
@ -130,6 +135,10 @@ msgstr "%q chūshǐhuà shībài"
|
||||
msgid "%q is %q"
|
||||
msgstr "%q shì %q"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c
|
||||
msgid "%q is read-only for this board"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be %d"
|
||||
msgstr "%q de chángdù bìxū shì %d"
|
||||
@ -305,7 +314,7 @@ msgstr "'%s' duìxiàng bù zhīchí yuánsù fùzhí"
|
||||
msgid "'%s' object doesn't support item deletion"
|
||||
msgstr "'%s' duìxiàng bù zhīchí yuánsù shānchú"
|
||||
|
||||
#: ports/raspberrypi/common-hal/wifi/Radio.c py/runtime.c
|
||||
#: py/runtime.c
|
||||
msgid "'%s' object has no attribute '%q'"
|
||||
msgstr "'%s' duìxiàng méiyǒu shǔxìng '%q'"
|
||||
|
||||
@ -500,6 +509,11 @@ msgstr "yǐjīng zài yùnxíng"
|
||||
msgid "Already scanning for wifi networks"
|
||||
msgstr "yǐjīng zài sǎomiáo WIFI wǎngluò"
|
||||
|
||||
#: shared-module/os/getenv.c
|
||||
#, c-format
|
||||
msgid "An error occurred while retrieving '%s':\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Another PWMAudioOut is already active"
|
||||
msgstr "lìng yí gè PWMAudioOut yǐ jīng zài gōngzuò"
|
||||
@ -1423,6 +1437,10 @@ msgstr "NLR tiào zhuǎn shī bài. kě néng shì nèi cún sǔn huài."
|
||||
msgid "NVS Error"
|
||||
msgstr "NVS cuò wù"
|
||||
|
||||
#: shared-bindings/socketpool/SocketPool.c
|
||||
msgid "Name or service not known"
|
||||
msgstr ""
|
||||
|
||||
#: py/qstr.c
|
||||
msgid "Name too long"
|
||||
msgstr "Míngchēng tài zhǎng"
|
||||
@ -1792,10 +1810,6 @@ msgstr ""
|
||||
"duōzì jié. Rúguǒ wúfǎ bìmiǎn, qǐng jiāng allow_inefficient = True chuándì "
|
||||
"gěigòuzào hánshù"
|
||||
|
||||
#: ports/espressif/common-hal/espulp/ULP.c
|
||||
msgid "Pins 21+ not supported from ULP"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/imagecapture/ParallelImageCapture.c
|
||||
msgid "Pins must be sequential"
|
||||
msgstr "yǐn jiǎo bì xū shì lián xù de"
|
||||
@ -1886,7 +1900,7 @@ msgid "Random number generation error"
|
||||
msgstr "Suíjī shù shēngchéng cuòwù"
|
||||
|
||||
#: shared-bindings/memorymonitor/AllocationSize.c
|
||||
#: shared-bindings/pulseio/PulseIn.c
|
||||
#: shared-bindings/pulseio/PulseIn.c shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only"
|
||||
msgstr "Zhǐ dú"
|
||||
|
||||
@ -1894,10 +1908,6 @@ msgstr "Zhǐ dú"
|
||||
msgid "Read-only filesystem"
|
||||
msgstr "Zhǐ dú wénjiàn xìtǒng"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c
|
||||
msgid "Read-only object"
|
||||
msgstr "Zhǐ dú duìxiàng"
|
||||
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "shōu dào de xiǎng yìng wú xiào"
|
||||
@ -2761,6 +2771,10 @@ msgstr "wúfǎ shèzhì 512 kuài dàxiǎo"
|
||||
msgid "can't set attribute"
|
||||
msgstr "wúfǎ shèzhì shǔxìng"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "can't set attribute '%q'"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c
|
||||
msgid "can't store '%q'"
|
||||
msgstr "wúfǎ cúnchú '%q'"
|
||||
@ -3130,10 +3144,6 @@ msgstr "zìtǐ bìxū wèi 2048 zì jié"
|
||||
msgid "format requires a dict"
|
||||
msgstr "géshì yāoqiú yīgè yǔjù"
|
||||
|
||||
#: shared-bindings/microcontroller/Processor.c
|
||||
msgid "frequency is read-only for this board"
|
||||
msgstr "cǐ zhǔ bǎn de pín lǜ wéi zhǐ dú"
|
||||
|
||||
#: py/objdeque.c
|
||||
msgid "full"
|
||||
msgstr "chōngfèn"
|
||||
@ -4409,6 +4419,12 @@ 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 "Read-only object"
|
||||
#~ msgstr "Zhǐ dú duìxiàng"
|
||||
|
||||
#~ msgid "frequency is read-only for this board"
|
||||
#~ msgstr "cǐ zhǔ bǎn de pín lǜ wéi zhǐ dú"
|
||||
|
||||
#~ msgid "Unable to write"
|
||||
#~ msgstr "wú fǎ xiě rù"
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 57133eefeb077f73b5ac17ee044d9feaf566da8e
|
||||
Subproject commit baca4c084334aa8625f525a4032d66a397199ea6
|
@ -46,6 +46,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
29
ports/espressif/boards/m5stack_atom_echo/board.c
Normal file
29
ports/espressif/boards/m5stack_atom_echo/board.c
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 CDarius
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
|
||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
45
ports/espressif/boards/m5stack_atom_echo/mpconfigboard.h
Normal file
45
ports/espressif/boards/m5stack_atom_echo/mpconfigboard.h
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 CDarius
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "M5Stack Atom Echo"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO27)
|
||||
|
||||
#define CIRCUITPY_BOARD_I2C (1)
|
||||
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO32, .sda = &pin_GPIO26}}
|
||||
|
||||
// For entering safe mode
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO39)
|
||||
|
||||
// Explanation of how a user got into safe mode
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("The central button was pressed at start up.\n")
|
||||
|
||||
// UART pins attached to the USB-serial converter chip
|
||||
#define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1)
|
||||
#define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3)
|
10
ports/espressif/boards/m5stack_atom_echo/mpconfigboard.mk
Normal file
10
ports/espressif/boards/m5stack_atom_echo/mpconfigboard.mk
Normal file
@ -0,0 +1,10 @@
|
||||
CIRCUITPY_CREATOR_ID = 0x10151015
|
||||
CIRCUITPY_CREATION_ID = 0x00320005
|
||||
|
||||
IDF_TARGET = esp32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
43
ports/espressif/boards/m5stack_atom_echo/pins.c
Normal file
43
ports/espressif/boards/m5stack_atom_echo/pins.c
Normal file
@ -0,0 +1,43 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
// External pins are in silkscreen order, from top to bottom, left side, then right side
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPK_I2S_SDO), MP_ROM_PTR(&pin_GPIO22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPK_I2S_SCK), MP_ROM_PTR(&pin_GPIO19) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPK_I2S_LRC), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PDM_MIC_CLK), MP_ROM_PTR(&pin_GPIO33) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PDM_MIC_DATA), MP_ROM_PTR(&pin_GPIO23) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC1), MP_ROM_PTR(&pin_GPIO25) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_SDA), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC2), MP_ROM_PTR(&pin_GPIO25) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_SCL), MP_ROM_PTR(&pin_GPIO32) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A32), MP_ROM_PTR(&pin_GPIO32) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D32), MP_ROM_PTR(&pin_GPIO32) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO27) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BTN), MP_ROM_PTR(&pin_GPIO39) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IR_LED), MP_ROM_PTR(&pin_GPIO12) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
26
ports/espressif/boards/m5stack_atom_echo/sdkconfig
Normal file
26
ports/espressif/boards/m5stack_atom_echo/sdkconfig
Normal file
@ -0,0 +1,26 @@
|
||||
CONFIG_ESP32_SPIRAM_SUPPORT=n
|
||||
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="M5StaskAtomEcho"
|
||||
# end of LWIP
|
||||
|
||||
# Uncomment (remove ###) to send ESP_LOG output to TX/RX pins
|
||||
### #
|
||||
### # ESP System Settings
|
||||
### #
|
||||
### CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
### # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
|
||||
### CONFIG_ESP_CONSOLE_UART_CUSTOM=y
|
||||
### CONFIG_ESP_CONSOLE_NONE is not set
|
||||
### CONFIG_ESP_CONSOLE_UART=y
|
||||
### CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_0=y
|
||||
### # CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_1 is not set
|
||||
### CONFIG_ESP_CONSOLE_UART_NUM=0
|
||||
### CONFIG_ESP_CONSOLE_UART_TX_GPIO=17
|
||||
### CONFIG_ESP_CONSOLE_UART_RX_GPIO=16
|
||||
### CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
|
||||
### # CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
|
||||
### # end of ESP System Settings
|
29
ports/espressif/boards/m5stack_atom_matrix/board.c
Normal file
29
ports/espressif/boards/m5stack_atom_matrix/board.c
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 CDarius
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
|
||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
49
ports/espressif/boards/m5stack_atom_matrix/mpconfigboard.h
Normal file
49
ports/espressif/boards/m5stack_atom_matrix/mpconfigboard.h
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 CDarius
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "M5Stack Atom Matrix"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO27)
|
||||
|
||||
#define CIRCUITPY_BOARD_I2C (2)
|
||||
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO21, .sda = &pin_GPIO25}, \
|
||||
{.scl = &pin_GPIO32, .sda = &pin_GPIO26}}
|
||||
|
||||
#define CIRCUITPY_BOARD_SPI (1)
|
||||
#define CIRCUITPY_BOARD_SPI_PIN {{.clock = &pin_GPIO23, .mosi = &pin_GPIO19, .miso = &pin_GPIO33}}
|
||||
|
||||
// For entering safe mode
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO39)
|
||||
|
||||
// Explanation of how a user got into safe mode
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("The central button was pressed at start up.\n")
|
||||
|
||||
// UART pins attached to the USB-serial converter chip
|
||||
#define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1)
|
||||
#define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3)
|
10
ports/espressif/boards/m5stack_atom_matrix/mpconfigboard.mk
Normal file
10
ports/espressif/boards/m5stack_atom_matrix/mpconfigboard.mk
Normal file
@ -0,0 +1,10 @@
|
||||
CIRCUITPY_CREATOR_ID = 0x10151015
|
||||
CIRCUITPY_CREATION_ID = 0x00320004
|
||||
|
||||
IDF_TARGET = esp32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
51
ports/espressif/boards/m5stack_atom_matrix/pins.c
Normal file
51
ports/espressif/boards/m5stack_atom_matrix/pins.c
Normal file
@ -0,0 +1,51 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
|
||||
CIRCUITPY_BOARD_BUS_SINGLETON(porta_i2c, i2c, 1)
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
// External pins are in silkscreen order, from top to bottom, left side, then right side
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D22), MP_ROM_PTR(&pin_GPIO22) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D23), MP_ROM_PTR(&pin_GPIO23) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC1), MP_ROM_PTR(&pin_GPIO25) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_SDA), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC2), MP_ROM_PTR(&pin_GPIO25) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_SCL), MP_ROM_PTR(&pin_GPIO32) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A32), MP_ROM_PTR(&pin_GPIO32) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D32), MP_ROM_PTR(&pin_GPIO32) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO27) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BTN), MP_ROM_PTR(&pin_GPIO39) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IR_LED), MP_ROM_PTR(&pin_GPIO12) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
26
ports/espressif/boards/m5stack_atom_matrix/sdkconfig
Normal file
26
ports/espressif/boards/m5stack_atom_matrix/sdkconfig
Normal file
@ -0,0 +1,26 @@
|
||||
CONFIG_ESP32_SPIRAM_SUPPORT=n
|
||||
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="M5StaskAtomMatrix"
|
||||
# end of LWIP
|
||||
|
||||
# Uncomment (remove ###) to send ESP_LOG output to TX/RX pins
|
||||
### #
|
||||
### # ESP System Settings
|
||||
### #
|
||||
### CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
### # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
|
||||
### CONFIG_ESP_CONSOLE_UART_CUSTOM=y
|
||||
### CONFIG_ESP_CONSOLE_NONE is not set
|
||||
### CONFIG_ESP_CONSOLE_UART=y
|
||||
### CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_0=y
|
||||
### # CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_1 is not set
|
||||
### CONFIG_ESP_CONSOLE_UART_NUM=0
|
||||
### CONFIG_ESP_CONSOLE_UART_TX_GPIO=17
|
||||
### CONFIG_ESP_CONSOLE_UART_RX_GPIO=16
|
||||
### CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
|
||||
### # CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
|
||||
### # end of ESP System Settings
|
29
ports/espressif/boards/m5stack_atom_u/board.c
Normal file
29
ports/espressif/boards/m5stack_atom_u/board.c
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 CDarius
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
|
||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
48
ports/espressif/boards/m5stack_atom_u/mpconfigboard.h
Normal file
48
ports/espressif/boards/m5stack_atom_u/mpconfigboard.h
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 CDarius
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "M5Stack Atom U"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO27)
|
||||
|
||||
#define CIRCUITPY_BOARD_I2C (1)
|
||||
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO32, .sda = &pin_GPIO26}}
|
||||
|
||||
#define CIRCUITPY_BOARD_SPI (1)
|
||||
#define CIRCUITPY_BOARD_SPI_PIN {{.clock = &pin_GPIO23, .mosi = &pin_GPIO19, .miso = &pin_GPIO33}}
|
||||
|
||||
// For entering safe mode
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO39)
|
||||
|
||||
// Explanation of how a user got into safe mode
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("The central button was pressed at start up.\n")
|
||||
|
||||
// UART pins attached to the USB-serial converter chip
|
||||
#define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1)
|
||||
#define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3)
|
10
ports/espressif/boards/m5stack_atom_u/mpconfigboard.mk
Normal file
10
ports/espressif/boards/m5stack_atom_u/mpconfigboard.mk
Normal file
@ -0,0 +1,10 @@
|
||||
CIRCUITPY_CREATOR_ID = 0x10151015
|
||||
CIRCUITPY_CREATION_ID = 0x00320006
|
||||
|
||||
IDF_TARGET = esp32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
42
ports/espressif/boards/m5stack_atom_u/pins.c
Normal file
42
ports/espressif/boards/m5stack_atom_u/pins.c
Normal file
@ -0,0 +1,42 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
// External pins are in silkscreen order, from top to bottom, left side, then right side
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC1), MP_ROM_PTR(&pin_GPIO25) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D22), MP_ROM_PTR(&pin_GPIO22) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_SDA), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC2), MP_ROM_PTR(&pin_GPIO25) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_SCL), MP_ROM_PTR(&pin_GPIO32) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A32), MP_ROM_PTR(&pin_GPIO32) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D32), MP_ROM_PTR(&pin_GPIO32) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO27) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BTN), MP_ROM_PTR(&pin_GPIO39) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IR_LED), MP_ROM_PTR(&pin_GPIO12) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PDM_MIC_CLK), MP_ROM_PTR(&pin_GPIO5) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PDM_MIC_DATA), MP_ROM_PTR(&pin_GPIO19) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
26
ports/espressif/boards/m5stack_atom_u/sdkconfig
Normal file
26
ports/espressif/boards/m5stack_atom_u/sdkconfig
Normal file
@ -0,0 +1,26 @@
|
||||
CONFIG_ESP32_SPIRAM_SUPPORT=n
|
||||
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="M5StaskAtomU"
|
||||
# end of LWIP
|
||||
|
||||
# Uncomment (remove ###) to send ESP_LOG output to TX/RX pins
|
||||
### #
|
||||
### # ESP System Settings
|
||||
### #
|
||||
### CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
### # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
|
||||
### CONFIG_ESP_CONSOLE_UART_CUSTOM=y
|
||||
### CONFIG_ESP_CONSOLE_NONE is not set
|
||||
### CONFIG_ESP_CONSOLE_UART=y
|
||||
### CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_0=y
|
||||
### # CONFIG_ESP_CONSOLE_UART_CUSTOM_NUM_1 is not set
|
||||
### CONFIG_ESP_CONSOLE_UART_NUM=0
|
||||
### CONFIG_ESP_CONSOLE_UART_TX_GPIO=17
|
||||
### CONFIG_ESP_CONSOLE_UART_RX_GPIO=16
|
||||
### CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
|
||||
### # CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
|
||||
### # end of ESP System Settings
|
@ -369,7 +369,7 @@ void common_hal_socketpool_socket_connect(socketpool_socket_obj_t *self,
|
||||
struct addrinfo *result_i;
|
||||
int error = lwip_getaddrinfo(host, NULL, &hints, &result_i);
|
||||
if (error != 0 || result_i == NULL) {
|
||||
common_hal_socketpool_socketpool_raise_gaierror(SOCKETPOOL_EAI_NONAME, MP_QSTR_Name_space_or_space_service_space_not_space_known);
|
||||
common_hal_socketpool_socketpool_raise_gaierror_noname();
|
||||
}
|
||||
|
||||
// Set parameters
|
||||
@ -550,7 +550,7 @@ mp_uint_t common_hal_socketpool_socket_sendto(socketpool_socket_obj_t *self,
|
||||
struct addrinfo *result_i;
|
||||
int error = lwip_getaddrinfo(host, NULL, &hints, &result_i);
|
||||
if (error != 0 || result_i == NULL) {
|
||||
common_hal_socketpool_socketpool_raise_gaierror(SOCKETPOOL_EAI_NONAME, MP_QSTR_Name_space_or_space_service_space_not_space_known);
|
||||
common_hal_socketpool_socketpool_raise_gaierror_noname();
|
||||
}
|
||||
|
||||
// Set parameters
|
||||
|
@ -113,7 +113,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
|
||||
bool sigint_enabled) {
|
||||
|
||||
self->baudrate = baudrate;
|
||||
self->character_bits = (uint8_t)mp_arg_validate_int_range(self->character_bits, 7, 8, MP_QSTR_bits);
|
||||
self->character_bits = (uint8_t)mp_arg_validate_int_range(bits, 7, 8, MP_QSTR_bits);
|
||||
self->timeout_ms = timeout * 1000;
|
||||
|
||||
|
||||
|
@ -29,8 +29,18 @@
|
||||
|
||||
// Turn off cache and invalidate all data in it.
|
||||
void nrf_peripherals_disable_and_clear_cache(void) {
|
||||
// Memory fence for hardware and compiler reasons. If this routine is inlined, the compiler
|
||||
// needs to know that everything written out be stored before this is called.
|
||||
// -O2 optimization needed this on SAMD51. Assuming nRF may have the same issue.
|
||||
// __sync_synchronize() includes volatile asm(), which tells the compiler not to assume
|
||||
// state across this call.
|
||||
__sync_synchronize();
|
||||
|
||||
// Disabling cache also invalidates all cache entries.
|
||||
NRF_NVMC->ICACHECNF &= ~(1 << NVMC_ICACHECNF_CACHEEN_Pos);
|
||||
|
||||
// Memory fence for hardware and compiler reasons.
|
||||
__sync_synchronize();
|
||||
}
|
||||
|
||||
// Enable cache
|
||||
|
29
ports/raspberrypi/boards/nullbits_bit_c_pro/board.c
Normal file
29
ports/raspberrypi/boards/nullbits_bit_c_pro/board.c
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
|
||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
17
ports/raspberrypi/boards/nullbits_bit_c_pro/mpconfigboard.h
Normal file
17
ports/raspberrypi/boards/nullbits_bit_c_pro/mpconfigboard.h
Normal file
@ -0,0 +1,17 @@
|
||||
#define MICROPY_HW_BOARD_NAME "nullbits Bit-C PRO"
|
||||
#define MICROPY_HW_MCU_NAME "rp2040"
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO3)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO2)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO22)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO23)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO20)
|
||||
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO1)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO0)
|
||||
|
||||
#define CIRCUITPY_RGB_STATUS_INVERTED_PWM
|
||||
#define CIRCUITPY_RGB_STATUS_R (&pin_GPIO16)
|
||||
#define CIRCUITPY_RGB_STATUS_G (&pin_GPIO17)
|
||||
#define CIRCUITPY_RGB_STATUS_B (&pin_GPIO18)
|
@ -0,0 +1,9 @@
|
||||
USB_VID = 0x2E8A
|
||||
USB_PID = 0x1048
|
||||
USB_PRODUCT = "Bit-C PRO"
|
||||
USB_MANUFACTURER = "nullbits"
|
||||
|
||||
CHIP_VARIANT = RP2040
|
||||
CHIP_FAMILY = rp2
|
||||
|
||||
EXTERNAL_FLASH_DEVICES = "GD25Q32C"
|
@ -0,0 +1,4 @@
|
||||
// Put board-specific pico-sdk definitions here. This file must exist.
|
||||
|
||||
// Allow extra time for xosc to start.
|
||||
#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64
|
49
ports/raspberrypi/boards/nullbits_bit_c_pro/pins.c
Normal file
49
ports/raspberrypi/boards/nullbits_bit_c_pro/pins.c
Normal file
@ -0,0 +1,49 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D27), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D28), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO29) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D29), MP_ROM_PTR(&pin_GPIO29) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D22), MP_ROM_PTR(&pin_GPIO22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D23), MP_ROM_PTR(&pin_GPIO23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO0) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO3) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_RED), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_GREEN), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_BLUE), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
@ -98,7 +98,7 @@ void socketpool_resolve_host_raise(socketpool_socketpool_obj_t *self, const char
|
||||
int result = socketpool_resolve_host(self, host, addr);
|
||||
if (result < 0) {
|
||||
printf("socket_resolve_host() returned %d\n", result);
|
||||
common_hal_socketpool_socketpool_raise_gaierror(SOCKETPOOL_EAI_NONAME, MP_QSTR_Name_space_or_space_service_space_not_space_known);
|
||||
common_hal_socketpool_socketpool_raise_gaierror_noname();
|
||||
mp_raise_OSError(-result);
|
||||
}
|
||||
}
|
||||
|
@ -64,8 +64,8 @@ static inline void nw_put_le32(uint8_t *buf, uint32_t x) {
|
||||
buf[3] = x >> 24;
|
||||
}
|
||||
|
||||
NORETURN static void ro_attribute(int attr) {
|
||||
mp_raise_msg_varg(&mp_type_AttributeError, MP_ERROR_TEXT("'%s' object has no attribute '%q'"), "Radio", attr);
|
||||
NORETURN static void ro_attribute(qstr attr) {
|
||||
mp_raise_NotImplementedError_varg(translate("%q is read-only for this board"), attr);
|
||||
}
|
||||
|
||||
bool common_hal_wifi_radio_get_enabled(wifi_radio_obj_t *self) {
|
||||
|
@ -2,6 +2,9 @@
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY_OPTIMIZE_PROPERTY_FLASH_SIZE ?= 1
|
||||
# CYW43 support does not provide settable MAC addresses for station or AP.
|
||||
CIRCUITPY_WIFI_RADIO_SETTABLE_MAC_ADDRESS = 0
|
||||
|
||||
CIRCUITPY_ALARM ?= 1
|
||||
|
||||
CIRCUITPY_RP2PIO ?= 1
|
||||
|
@ -57,7 +57,11 @@
|
||||
#endif
|
||||
|
||||
#if defined(MICROPY_UNIX_COVERAGE)
|
||||
#include "py/objstr.h"
|
||||
typedef int os_getenv_err_t;
|
||||
mp_obj_t common_hal_os_getenv(const char *key, mp_obj_t default_);
|
||||
os_getenv_err_t common_hal_os_getenv_str(const char *key, char *value, size_t value_len);
|
||||
os_getenv_err_t common_hal_os_getenv_int(const char *key, mp_int_t *value);
|
||||
#endif
|
||||
|
||||
STATIC mp_obj_t mod_os_urandom(mp_obj_t num) {
|
||||
@ -212,6 +216,28 @@ STATIC mp_obj_t mod_os_getenv(mp_obj_t var_in) {
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(mod_os_getenv_obj, mod_os_getenv);
|
||||
|
||||
#if defined(MICROPY_UNIX_COVERAGE)
|
||||
STATIC mp_obj_t mod_os_getenv_int(mp_obj_t var_in) {
|
||||
mp_int_t value;
|
||||
os_getenv_err_t result = common_hal_os_getenv_int(mp_obj_str_get_str(var_in), &value);
|
||||
if (result == 0) {
|
||||
return mp_obj_new_int(value);
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(mod_os_getenv_int_obj, mod_os_getenv_int);
|
||||
|
||||
STATIC mp_obj_t mod_os_getenv_str(mp_obj_t var_in) {
|
||||
char buf[4096];
|
||||
os_getenv_err_t result = common_hal_os_getenv_str(mp_obj_str_get_str(var_in), buf, sizeof(buf));
|
||||
if (result == 0) {
|
||||
return mp_obj_new_str_copy(&mp_type_str, (byte *)buf, strlen(buf));
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(mod_os_getenv_str_obj, mod_os_getenv_str);
|
||||
#endif
|
||||
|
||||
STATIC mp_obj_t mod_os_putenv(mp_obj_t key_in, mp_obj_t value_in) {
|
||||
const char *key = mp_obj_str_get_str(key_in);
|
||||
const char *value = mp_obj_str_get_str(value_in);
|
||||
@ -351,6 +377,10 @@ STATIC const mp_rom_map_elem_t mp_module_os_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_rename), MP_ROM_PTR(&mod_os_rename_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_rmdir), MP_ROM_PTR(&mod_os_rmdir_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_getenv), MP_ROM_PTR(&mod_os_getenv_obj) },
|
||||
#if defined(MICROPY_UNIX_COVERAGE)
|
||||
{ MP_ROM_QSTR(MP_QSTR_getenv_int), MP_ROM_PTR(&mod_os_getenv_int_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_getenv_str), MP_ROM_PTR(&mod_os_getenv_str_obj) },
|
||||
#endif
|
||||
{ MP_ROM_QSTR(MP_QSTR_putenv), MP_ROM_PTR(&mod_os_putenv_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_unsetenv), MP_ROM_PTR(&mod_os_unsetenv_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_mkdir), MP_ROM_PTR(&mod_os_mkdir_obj) },
|
||||
|
@ -37,6 +37,10 @@
|
||||
// These are defined in modos.c
|
||||
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(mod_os_errno_obj);
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(mod_os_getenv_obj);
|
||||
#if defined(MICROPY_UNIX_COVERAGE)
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(mod_os_getenv_int_obj);
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(mod_os_getenv_str_obj);
|
||||
#endif
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(mod_os_putenv_obj);
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(mod_os_unsetenv_obj);
|
||||
MP_DECLARE_CONST_FUN_OBJ_1(mod_os_system_obj);
|
||||
@ -47,6 +51,10 @@ STATIC const mp_rom_map_elem_t uos_vfs_module_globals_table[] = {
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_errno), MP_ROM_PTR(&mod_os_errno_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_getenv), MP_ROM_PTR(&mod_os_getenv_obj) },
|
||||
#if defined(MICROPY_UNIX_COVERAGE)
|
||||
{ MP_ROM_QSTR(MP_QSTR_getenv_int), MP_ROM_PTR(&mod_os_getenv_int_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_getenv_str), MP_ROM_PTR(&mod_os_getenv_str_obj) },
|
||||
#endif
|
||||
{ MP_ROM_QSTR(MP_QSTR_putenv), MP_ROM_PTR(&mod_os_putenv_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_unsetenv), MP_ROM_PTR(&mod_os_unsetenv_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_system), MP_ROM_PTR(&mod_os_system_obj) },
|
||||
|
@ -538,6 +538,9 @@ CFLAGS += -DCIRCUITPY_WIFI=$(CIRCUITPY_WIFI)
|
||||
CIRCUITPY_WEB_WORKFLOW ?= $(CIRCUITPY_WIFI)
|
||||
CFLAGS += -DCIRCUITPY_WEB_WORKFLOW=$(CIRCUITPY_WEB_WORKFLOW)
|
||||
|
||||
CIRCUITPY_WIFI_RADIO_SETTABLE_MAC_ADDRESS?= 1
|
||||
CFLAGS += -DCIRCUITPY_WIFI_RADIO_SETTABLE_MAC_ADDRESS=$(CIRCUITPY_WIFI_RADIO_SETTABLE_MAC_ADDRESS)
|
||||
|
||||
# tinyusb port tailored configuration
|
||||
CIRCUITPY_TUSB_MEM_ALIGN ?= 4
|
||||
CFLAGS += -DCIRCUITPY_TUSB_MEM_ALIGN=$(CIRCUITPY_TUSB_MEM_ALIGN)
|
||||
|
@ -106,7 +106,9 @@ STATIC mp_obj_t native_base_init_wrapper(size_t n_args, const mp_obj_t *pos_args
|
||||
// copy in args
|
||||
memcpy(args2, pos_args, n_args * sizeof(mp_obj_t));
|
||||
// copy in kwargs
|
||||
if (n_kw) {
|
||||
memcpy(args2 + n_args, kw_args->table, 2 * n_kw * sizeof(mp_obj_t));
|
||||
}
|
||||
self->subobj[0] = native_base->make_new(native_base, n_args, n_kw, args2);
|
||||
m_del(mp_obj_t, args2, n_args + 2 * n_kw);
|
||||
|
||||
|
@ -1247,8 +1247,8 @@ void mp_store_attr(mp_obj_t base, qstr attr, mp_obj_t value) {
|
||||
mp_raise_AttributeError(MP_ERROR_TEXT("no such attribute"));
|
||||
#else
|
||||
mp_raise_msg_varg(&mp_type_AttributeError,
|
||||
MP_ERROR_TEXT("'%s' object has no attribute '%q'"),
|
||||
mp_obj_get_type_str(base), attr);
|
||||
MP_ERROR_TEXT("can't set attribute '%q'"),
|
||||
attr);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -65,19 +65,21 @@
|
||||
//| ...
|
||||
|
||||
//| frequency: int
|
||||
//| """The CPU operating frequency in Hertz. (read-only)"""
|
||||
//| """The CPU operating frequency in Hertz.
|
||||
//|
|
||||
//| **Limitations:** Setting the ``frequency`` is possible only on some i.MX boards.
|
||||
//| On most boards, ``frequency`` is read-only.
|
||||
//| """
|
||||
|
||||
#if CIRCUITPY_SETTABLE_PROCESSOR_FREQUENCY
|
||||
STATIC mp_obj_t mcu_processor_set_frequency(mp_obj_t self, mp_obj_t freq) {
|
||||
#if CIRCUITPY_SETTABLE_PROCESSOR_FREQUENCY
|
||||
uint32_t value_of_freq = (uint32_t)mp_arg_validate_int_min(mp_obj_get_int(freq), 0, MP_QSTR_frequency);
|
||||
common_hal_mcu_processor_set_frequency(self, value_of_freq);
|
||||
#else
|
||||
mp_raise_msg(&mp_type_NotImplementedError,translate("frequency is read-only for this board"));
|
||||
#endif
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
MP_DEFINE_CONST_FUN_OBJ_2(mcu_processor_set_frequency_obj, mcu_processor_set_frequency);
|
||||
#endif
|
||||
|
||||
|
||||
STATIC mp_obj_t mcu_processor_get_frequency(mp_obj_t self) {
|
||||
@ -86,9 +88,14 @@ STATIC mp_obj_t mcu_processor_get_frequency(mp_obj_t self) {
|
||||
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(mcu_processor_get_frequency_obj, mcu_processor_get_frequency);
|
||||
|
||||
#if CIRCUITPY_SETTABLE_PROCESSOR_FREQUENCY
|
||||
MP_PROPERTY_GETSET(mcu_processor_frequency_obj,
|
||||
(mp_obj_t)&mcu_processor_get_frequency_obj,
|
||||
(mp_obj_t)&mcu_processor_set_frequency_obj);
|
||||
#else
|
||||
MP_PROPERTY_GETTER(mcu_processor_frequency_obj,
|
||||
(mp_obj_t)&mcu_processor_get_frequency_obj);
|
||||
#endif
|
||||
|
||||
//| reset_reason: microcontroller.ResetReason
|
||||
//| """The reason the microcontroller started up from reset state."""
|
||||
|
@ -198,16 +198,21 @@ MP_WEAK
|
||||
mp_obj_t common_hal_socketpool_socketpool_gethostbyname_raise(socketpool_socketpool_obj_t *self, const char *host) {
|
||||
mp_obj_t ip_str = common_hal_socketpool_socketpool_gethostbyname(self, host);
|
||||
if (ip_str == mp_const_none) {
|
||||
common_hal_socketpool_socketpool_raise_gaierror(SOCKETPOOL_EAI_NONAME, MP_QSTR_Name_space_or_space_service_space_not_space_known);
|
||||
common_hal_socketpool_socketpool_raise_gaierror_noname();
|
||||
}
|
||||
return ip_str;
|
||||
}
|
||||
|
||||
MP_WEAK NORETURN
|
||||
void common_hal_socketpool_socketpool_raise_gaierror(int value, qstr name) {
|
||||
mp_obj_t exc_args[2] = {
|
||||
MP_OBJ_NEW_SMALL_INT(value),
|
||||
MP_OBJ_NEW_QSTR(name),
|
||||
void common_hal_socketpool_socketpool_raise_gaierror_noname(void) {
|
||||
vstr_t vstr;
|
||||
mp_print_t print;
|
||||
vstr_init_print(&vstr, 64, &print);
|
||||
mp_printf(&print, "%S", translate("Name or service not known"));
|
||||
|
||||
mp_obj_t exc_args[] = {
|
||||
MP_OBJ_NEW_SMALL_INT(SOCKETPOOL_EAI_NONAME),
|
||||
mp_obj_new_str_from_vstr(&mp_type_str, &vstr),
|
||||
};
|
||||
nlr_raise(mp_obj_new_exception_args(&mp_type_gaierror, 2, exc_args));
|
||||
nlr_raise(mp_obj_new_exception_args(&mp_type_gaierror, MP_ARRAY_SIZE(exc_args), exc_args));
|
||||
}
|
||||
|
@ -73,6 +73,6 @@ bool socketpool_socket(socketpool_socketpool_obj_t *self,
|
||||
socketpool_socketpool_addressfamily_t family, socketpool_socketpool_sock_t type,
|
||||
socketpool_socket_obj_t *sock);
|
||||
|
||||
NORETURN void common_hal_socketpool_socketpool_raise_gaierror(int value, qstr name);
|
||||
NORETURN void common_hal_socketpool_socketpool_raise_gaierror_noname(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_SOCKETPOOL_SOCKETPOOL_H
|
||||
|
@ -139,13 +139,19 @@ MP_PROPERTY_GETSET(wifi_radio_hostname_obj,
|
||||
|
||||
//| mac_address: ReadableBuffer
|
||||
//| """MAC address for the station. When the address is altered after interface is connected
|
||||
//| the changes would only be reflected once the interface reconnects."""
|
||||
//| the changes would only be reflected once the interface reconnects.
|
||||
//|
|
||||
//| **Limitations:** Not settable on RP2040 CYW43 boards, such as Pi Pico W.
|
||||
//| """
|
||||
|
||||
|
||||
STATIC mp_obj_t _wifi_radio_get_mac_address(mp_obj_t self_in) {
|
||||
wifi_radio_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
return MP_OBJ_FROM_PTR(common_hal_wifi_radio_get_mac_address(self));
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_mac_address_obj, _wifi_radio_get_mac_address);
|
||||
|
||||
#if CIRCUITPY_WIFI_RADIO_SETTABLE_MAC_ADDRESS
|
||||
STATIC mp_obj_t wifi_radio_set_mac_address(mp_obj_t self_in, mp_obj_t mac_address_in) {
|
||||
mp_buffer_info_t mac_address;
|
||||
mp_get_buffer_raise(mac_address_in, &mac_address, MP_BUFFER_READ);
|
||||
@ -160,10 +166,16 @@ STATIC mp_obj_t wifi_radio_set_mac_address(mp_obj_t self_in, mp_obj_t mac_addres
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_2(wifi_radio_set_mac_address_obj, wifi_radio_set_mac_address);
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_WIFI_RADIO_SETTABLE_MAC_ADDRESS
|
||||
MP_PROPERTY_GETSET(wifi_radio_mac_address_obj,
|
||||
(mp_obj_t)&wifi_radio_get_mac_address_obj,
|
||||
(mp_obj_t)&wifi_radio_set_mac_address_obj);
|
||||
#else
|
||||
MP_PROPERTY_GETTER(wifi_radio_mac_address_obj,
|
||||
(mp_obj_t)&wifi_radio_get_mac_address_obj);
|
||||
#endif
|
||||
|
||||
//| tx_power: float
|
||||
//| """Wifi transmission power, in dBm."""
|
||||
@ -187,13 +199,17 @@ MP_PROPERTY_GETSET(wifi_radio_tx_power_obj,
|
||||
|
||||
//| mac_address_ap: ReadableBuffer
|
||||
//| """MAC address for the AP. When the address is altered after interface is started
|
||||
//| the changes would only be reflected once the interface restarts."""
|
||||
//| the changes would only be reflected once the interface restarts.
|
||||
//|
|
||||
//| **Limitations:** Not settable on RP2040 CYW43 boards, such as Pi Pico W.
|
||||
//| """
|
||||
STATIC mp_obj_t wifi_radio_get_mac_address_ap(mp_obj_t self_in) {
|
||||
wifi_radio_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
return MP_OBJ_FROM_PTR(common_hal_wifi_radio_get_mac_address_ap(self));
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(wifi_radio_get_mac_address_ap_obj, wifi_radio_get_mac_address_ap);
|
||||
|
||||
#if CIRCUITPY_WIFI_RADIO_SETTABLE_MAC_ADDRESS
|
||||
STATIC mp_obj_t wifi_radio_set_mac_address_ap(mp_obj_t self_in, mp_obj_t mac_address_in) {
|
||||
mp_buffer_info_t mac_address;
|
||||
mp_get_buffer_raise(mac_address_in, &mac_address, MP_BUFFER_READ);
|
||||
@ -208,10 +224,16 @@ STATIC mp_obj_t wifi_radio_set_mac_address_ap(mp_obj_t self_in, mp_obj_t mac_add
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_2(wifi_radio_set_mac_address_ap_obj, wifi_radio_set_mac_address_ap);
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_WIFI_RADIO_SETTABLE_MAC_ADDRESS
|
||||
MP_PROPERTY_GETSET(wifi_radio_mac_address_ap_obj,
|
||||
(mp_obj_t)&wifi_radio_get_mac_address_ap_obj,
|
||||
(mp_obj_t)&wifi_radio_set_mac_address_ap_obj);
|
||||
#else
|
||||
MP_PROPERTY_GETTER(wifi_radio_mac_address_ap_obj,
|
||||
(mp_obj_t)&wifi_radio_get_mac_address_ap_obj);
|
||||
#endif
|
||||
|
||||
//| def start_scanning_networks(
|
||||
//| self, *, start_channel: int = 1, stop_channel: int = 11
|
||||
|
@ -689,7 +689,7 @@ STATIC void fill_row(displayio_bitmap_t *bitmap, int swap, int16_t *luminance_da
|
||||
static void write_pixels(displayio_bitmap_t *bitmap, int y, bool *data) {
|
||||
if (bitmap->bits_per_value == 1) {
|
||||
uint32_t *pixel_data = (uint32_t *)(bitmap->data + bitmap->stride * y);
|
||||
for (int i = 0; i < bitmap->stride; i++) {
|
||||
for (int i = 0; i < bitmap->width; i++) {
|
||||
uint32_t p = 0;
|
||||
for (int j = 0; j < 32; j++) {
|
||||
p = (p << 1);
|
||||
|
@ -30,12 +30,12 @@
|
||||
|
||||
#include "py/runtime.h"
|
||||
|
||||
enum { align_bits = 8 * sizeof(uint32_t) };
|
||||
enum { ALIGN_BITS = 8 * sizeof(uint32_t) };
|
||||
|
||||
static int stride(uint32_t width, uint32_t bits_per_value) {
|
||||
uint32_t row_width = width * bits_per_value;
|
||||
// align to uint32_t
|
||||
return (row_width + align_bits - 1) / align_bits;
|
||||
return (row_width + ALIGN_BITS - 1) / ALIGN_BITS;
|
||||
}
|
||||
|
||||
void common_hal_displayio_bitmap_construct(displayio_bitmap_t *self, uint32_t width,
|
||||
@ -66,12 +66,12 @@ void common_hal_displayio_bitmap_construct_from_buffer(displayio_bitmap_t *self,
|
||||
self->x_shift = 0; // Used to divide the index by the number of pixels per word. Its used in a
|
||||
// shift which effectively divides by 2 ** x_shift.
|
||||
uint32_t power_of_two = 1;
|
||||
while (power_of_two < align_bits / bits_per_value) {
|
||||
while (power_of_two < ALIGN_BITS / bits_per_value) {
|
||||
self->x_shift++;
|
||||
power_of_two <<= 1;
|
||||
}
|
||||
self->x_mask = (1 << self->x_shift) - 1; // Used as a modulus on the x value
|
||||
self->bitmask = (1 << bits_per_value) - 1;
|
||||
self->x_mask = (1u << self->x_shift) - 1u; // Used as a modulus on the x value
|
||||
self->bitmask = (1u << bits_per_value) - 1u;
|
||||
|
||||
self->dirty_area.x1 = 0;
|
||||
self->dirty_area.x2 = width;
|
||||
@ -117,7 +117,7 @@ uint32_t common_hal_displayio_bitmap_get_pixel(displayio_bitmap_t *self, int16_t
|
||||
|
||||
void displayio_bitmap_set_dirty_area(displayio_bitmap_t *self, const displayio_area_t *dirty_area) {
|
||||
if (self->read_only) {
|
||||
mp_raise_RuntimeError(translate("Read-only object"));
|
||||
mp_raise_RuntimeError(translate("Read-only"));
|
||||
}
|
||||
|
||||
displayio_area_t area = *dirty_area;
|
||||
|
@ -38,9 +38,11 @@ typedef enum {
|
||||
// Allocation free version that returns the full length of the value.
|
||||
// If it fits, the return value is 0-terminated. The passed in buffer
|
||||
// may be modified even if an error is returned. Allocation free.
|
||||
// An error that is not 'open' or 'not found' is printed on the repl.
|
||||
os_getenv_err_t common_hal_os_getenv_str(const char *key, char *value, size_t value_len);
|
||||
|
||||
// Returns GETENV_OK and sets value to the read value. Returns
|
||||
// GETENV_ERR_... if the value was not numeric. allocation-free.
|
||||
// If any error code is returned, value is guaranteed not modified
|
||||
// An error that is not 'open' or 'not found' is printed on the repl.
|
||||
os_getenv_err_t common_hal_os_getenv_int(const char *key, mp_int_t *value);
|
||||
|
@ -28,6 +28,7 @@
|
||||
// tested in the unix "coverage" build, without bringing in "our" os module
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "shared-bindings/os/__init__.h"
|
||||
@ -36,6 +37,7 @@
|
||||
#include "py/gc.h"
|
||||
#include "py/misc.h"
|
||||
#include "py/mpstate.h"
|
||||
#include "py/mpprint.h"
|
||||
#include "py/objstr.h"
|
||||
#include "py/parsenum.h"
|
||||
#include "py/runtime.h"
|
||||
@ -199,6 +201,7 @@ STATIC os_getenv_err_t read_string_value(file_arg *active_file, vstr_t *buf) {
|
||||
case '#':
|
||||
next_line(active_file);
|
||||
MP_FALLTHROUGH;
|
||||
case 0:
|
||||
case '\n':
|
||||
return GETENV_OK;
|
||||
default:
|
||||
@ -255,7 +258,6 @@ STATIC os_getenv_err_t read_bare_value(file_arg *active_file, vstr_t *buf, int f
|
||||
while (true) {
|
||||
switch (character) {
|
||||
case 0:
|
||||
return GETENV_ERR_UNEXPECTED | character;
|
||||
case '\n':
|
||||
return GETENV_OK;
|
||||
case '#':
|
||||
@ -290,6 +292,7 @@ STATIC os_getenv_err_t os_getenv_vstr(const char *path, const char *key, vstr_t
|
||||
while (!is_eof(&active_file)) {
|
||||
if (key_matches(&active_file, key)) {
|
||||
result = read_value(&active_file, buf, quoted);
|
||||
break;
|
||||
}
|
||||
}
|
||||
close_file(&active_file);
|
||||
@ -311,7 +314,58 @@ STATIC os_getenv_err_t os_getenv_buf_terminated(const char *key, char *value, si
|
||||
return result;
|
||||
}
|
||||
|
||||
os_getenv_err_t common_hal_os_getenv_str(const char *key, char *value, size_t value_len) {
|
||||
STATIC void print_dont_raise(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, ...) {
|
||||
va_list argptr;
|
||||
va_start(argptr,fmt);
|
||||
mp_vcprintf(&mp_plat_print, fmt, argptr);
|
||||
mp_printf(&mp_plat_print, "\n");
|
||||
va_end(argptr);
|
||||
}
|
||||
|
||||
STATIC void handle_getenv_error(os_getenv_err_t error, void (*handle)(const mp_obj_type_t *exc_type, const compressed_string_t *fmt, ...)) {
|
||||
if (error == GETENV_OK) {
|
||||
return;
|
||||
}
|
||||
if (error & GETENV_ERR_UNEXPECTED) {
|
||||
byte character = (error & 0xff);
|
||||
char buf[8];
|
||||
vstr_t vstr;
|
||||
vstr_init_fixed_buf(&vstr, sizeof(buf), buf);
|
||||
mp_print_t print = { .data = &vstr, .print_strn = (mp_print_strn_t)vstr_add_strn };
|
||||
|
||||
if (character) {
|
||||
mp_str_print_quoted(&print, &character, 1, true);
|
||||
} else {
|
||||
mp_str_print_quoted(&print, (byte *)"EOF", 3, true);
|
||||
}
|
||||
handle(&mp_type_ValueError, translate("Invalid byte %.*s"), vstr.len, vstr.buf);
|
||||
} else {
|
||||
switch (error) {
|
||||
case GETENV_ERR_OPEN:
|
||||
handle(&mp_type_ValueError, translate("%S"), translate("File not found"));
|
||||
break;
|
||||
case GETENV_ERR_UNICODE:
|
||||
handle(&mp_type_ValueError, translate("%S"), translate("Invalid unicode escape"));
|
||||
break;
|
||||
case GETENV_ERR_NOT_FOUND:
|
||||
handle(&mp_type_ValueError, translate("%S"), translate("Key not found"));
|
||||
break;
|
||||
default:
|
||||
handle(&mp_type_RuntimeError, translate("%S"), translate("Internal error"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
STATIC void common_hal_os_getenv_showerr(const char *key, os_getenv_err_t result) {
|
||||
if (result != GETENV_OK && result != GETENV_ERR_OPEN && result != GETENV_ERR_NOT_FOUND) {
|
||||
mp_cprintf(&mp_plat_print, translate("An error occurred while retrieving '%s':\n"), key);
|
||||
handle_getenv_error(result, print_dont_raise);
|
||||
}
|
||||
}
|
||||
|
||||
STATIC
|
||||
os_getenv_err_t common_hal_os_getenv_str_inner(const char *key, char *value, size_t value_len) {
|
||||
bool quoted;
|
||||
os_getenv_err_t result = os_getenv_buf_terminated(key, value, value_len, "ed);
|
||||
if (result == GETENV_OK && !quoted) {
|
||||
@ -320,33 +374,10 @@ os_getenv_err_t common_hal_os_getenv_str(const char *key, char *value, size_t va
|
||||
return result;
|
||||
}
|
||||
|
||||
STATIC void throw_getenv_error(os_getenv_err_t error) {
|
||||
if (error == GETENV_OK) {
|
||||
return;
|
||||
}
|
||||
if (error & GETENV_ERR_UNEXPECTED) {
|
||||
byte character = (error & 0xff);
|
||||
mp_print_t print;
|
||||
vstr_t vstr;
|
||||
vstr_init_print(&vstr, 8 + 4 + 1, &print);
|
||||
if (character) {
|
||||
mp_str_print_quoted(&print, &character, 1, true);
|
||||
} else {
|
||||
mp_str_print_quoted(&print, (byte *)"EOF", 3, true);
|
||||
}
|
||||
mp_raise_ValueError_varg(translate("Invalid byte %.*s"),
|
||||
vstr.len, vstr.buf);
|
||||
}
|
||||
switch (error) {
|
||||
case GETENV_ERR_OPEN:
|
||||
mp_raise_ValueError(translate("File not found"));
|
||||
case GETENV_ERR_UNICODE:
|
||||
mp_raise_ValueError(translate("Invalid unicode escape"));
|
||||
case GETENV_ERR_NOT_FOUND:
|
||||
mp_raise_ValueError(translate("Key not found"));
|
||||
default:
|
||||
mp_raise_RuntimeError(translate("Internal error"));
|
||||
}
|
||||
os_getenv_err_t common_hal_os_getenv_str(const char *key, char *value, size_t value_len) {
|
||||
os_getenv_err_t result = common_hal_os_getenv_str_inner(key, value, value_len);
|
||||
common_hal_os_getenv_showerr(key, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_os_getenv_path(const char *path, const char *key, mp_obj_t default_) {
|
||||
@ -358,7 +389,7 @@ mp_obj_t common_hal_os_getenv_path(const char *path, const char *key, mp_obj_t d
|
||||
if (result == GETENV_ERR_NOT_FOUND || result == GETENV_ERR_OPEN) {
|
||||
return default_;
|
||||
}
|
||||
throw_getenv_error(result);
|
||||
handle_getenv_error(result, mp_raise_msg_varg);
|
||||
|
||||
if (quoted) {
|
||||
return mp_obj_new_str_from_vstr(&mp_type_str, &buf);
|
||||
@ -371,7 +402,7 @@ mp_obj_t common_hal_os_getenv(const char *key, mp_obj_t default_) {
|
||||
return common_hal_os_getenv_path(GETENV_PATH, key, default_);
|
||||
}
|
||||
|
||||
os_getenv_err_t common_hal_os_getenv_int(const char *key, mp_int_t *value) {
|
||||
STATIC os_getenv_err_t common_hal_os_getenv_int_inner(const char *key, mp_int_t *value) {
|
||||
char buf[16];
|
||||
bool quoted;
|
||||
os_getenv_err_t result = os_getenv_buf_terminated(key, buf, sizeof(buf), "ed);
|
||||
@ -383,9 +414,18 @@ os_getenv_err_t common_hal_os_getenv_int(const char *key, mp_int_t *value) {
|
||||
}
|
||||
char *end;
|
||||
long num = strtol(buf, &end, 0);
|
||||
while (unichar_isspace(*end)) {
|
||||
end++;
|
||||
}
|
||||
if (end == buf || *end) { // If the whole buffer was not consumed it's an error
|
||||
return GETENV_ERR_UNEXPECTED | *end;
|
||||
}
|
||||
*value = (mp_int_t)num;
|
||||
return GETENV_OK;
|
||||
}
|
||||
|
||||
os_getenv_err_t common_hal_os_getenv_int(const char *key, mp_int_t *value) {
|
||||
os_getenv_err_t result = common_hal_os_getenv_int_inner(key, value);
|
||||
common_hal_os_getenv_showerr(key, result);
|
||||
return result;
|
||||
}
|
||||
|
@ -58,6 +58,9 @@ static supervisor_allocation *supervisor_cache = NULL;
|
||||
|
||||
// Wait until both the write enable and write in progress bits have cleared.
|
||||
static bool wait_for_flash_ready(void) {
|
||||
if (flash_device == NULL) {
|
||||
return false;
|
||||
}
|
||||
bool ok = true;
|
||||
// Both the write enable and write in progress bits should be low.
|
||||
if (flash_device->no_ready_bit) {
|
||||
@ -192,6 +195,9 @@ static bool copy_block(uint32_t src_address, uint32_t dest_address) {
|
||||
return true;
|
||||
}
|
||||
|
||||
#define READ_JEDEC_ID_RETRY_COUNT (100)
|
||||
|
||||
// If this fails, flash_device will remain NULL.
|
||||
void supervisor_flash_init(void) {
|
||||
if (flash_device != NULL) {
|
||||
return;
|
||||
@ -220,7 +226,11 @@ void supervisor_flash_init(void) {
|
||||
#else
|
||||
// The response will be 0xff if the flash needs more time to start up.
|
||||
uint8_t jedec_id_response[3] = {0xff, 0xff, 0xff};
|
||||
while (jedec_id_response[0] == 0xff) {
|
||||
// Response can also be 0x00 if reading before ready. When compiled with `-O2`, typically
|
||||
// takes three tries to read on Grand Central M4.
|
||||
|
||||
size_t count = READ_JEDEC_ID_RETRY_COUNT;
|
||||
while ((count-- > 0) && (jedec_id_response[0] == 0xff || jedec_id_response[2] == 0x00)) {
|
||||
spi_flash_read_command(CMD_READ_JEDEC_ID, jedec_id_response, 3);
|
||||
}
|
||||
for (uint8_t i = 0; i < EXTERNAL_FLASH_DEVICE_COUNT; i++) {
|
||||
@ -234,6 +244,7 @@ void supervisor_flash_init(void) {
|
||||
}
|
||||
#endif
|
||||
if (flash_device == NULL) {
|
||||
// Flash did not respond. Give up.
|
||||
return;
|
||||
}
|
||||
|
||||
@ -293,6 +304,9 @@ uint32_t supervisor_flash_get_block_size(void) {
|
||||
|
||||
// The total number of available blocks.
|
||||
uint32_t supervisor_flash_get_block_count(void) {
|
||||
if (flash_device == NULL) {
|
||||
return 0;
|
||||
}
|
||||
// We subtract one erase sector size because we may use it as a staging area
|
||||
// for writes.
|
||||
return (flash_device->total_size - SPI_FLASH_ERASE_SIZE) / FILESYSTEM_BLOCK_SIZE;
|
||||
|
@ -35,15 +35,15 @@ bdev = RAMBlockDevice(64)
|
||||
uos.VfsFat.mkfs(bdev)
|
||||
uos.mount(uos.VfsFat(bdev), "/")
|
||||
|
||||
content_good = """
|
||||
content_good = b"""
|
||||
# comment
|
||||
key0 = "hello world"
|
||||
key1 = 7
|
||||
key2= "\n"
|
||||
key3 ="\u00c1x"
|
||||
key4 = "\U000000c1x"
|
||||
key5 = "\f\"\\"
|
||||
key6 = "\t\r\b"
|
||||
key2= "\\n"
|
||||
key3 ="\\u00c1x"
|
||||
key4 = "\\U000000c1x"
|
||||
key5 = "\\f\\"\\\\"
|
||||
key6 = "\\t\\r\\b"
|
||||
key7 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
key8 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
key9 = "hello comment" # comment
|
||||
@ -54,15 +54,15 @@ subvalue = "hi"
|
||||
"""
|
||||
|
||||
content_bad = [
|
||||
'key = "\n',
|
||||
'key = """\n',
|
||||
"key =\n",
|
||||
'key="',
|
||||
b'key = "\n',
|
||||
b'key = """\n',
|
||||
b"key =\n",
|
||||
b'key="',
|
||||
]
|
||||
|
||||
|
||||
def run_test(key, content):
|
||||
with open("/settings.toml", "w") as f:
|
||||
with open("/settings.toml", "wb") as f:
|
||||
f.write(content)
|
||||
|
||||
try:
|
||||
@ -75,5 +75,15 @@ def run_test(key, content):
|
||||
for i in range(13):
|
||||
run_test(f"key{i}", content_good)
|
||||
|
||||
content_good = content_good.replace(b"\n", b"\r\n")
|
||||
for i in range(13):
|
||||
run_test(f"key{i}", content_good)
|
||||
|
||||
run_test(f"K", b"K = 7\r\n")
|
||||
print(uos.getenv_int("K"))
|
||||
|
||||
# Test value without trailing newline
|
||||
run_test(f"noeol", b"noeol=3")
|
||||
|
||||
for content in content_bad:
|
||||
run_test("key", content)
|
||||
|
@ -1,9 +1,9 @@
|
||||
key0 'hello world'
|
||||
key1 7
|
||||
key2 Invalid byte '\n'
|
||||
key2 '\n'
|
||||
key3 'Áx'
|
||||
key4 'Áx'
|
||||
key5 Invalid byte '\\'
|
||||
key5 '\x0c"\\'
|
||||
key6 '\t\r\x08'
|
||||
key7 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
key8 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
@ -11,6 +11,22 @@ key9 'hello comment'
|
||||
key10 127
|
||||
key11 0
|
||||
key12 None
|
||||
key0 'hello world'
|
||||
key1 7
|
||||
key2 '\n'
|
||||
key3 'Áx'
|
||||
key4 'Áx'
|
||||
key5 '\x0c"\\'
|
||||
key6 '\t\r\x08'
|
||||
key7 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
key8 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
key9 'hello comment'
|
||||
key10 127
|
||||
key11 0
|
||||
key12 None
|
||||
K 7
|
||||
7
|
||||
noeol 3
|
||||
key Invalid byte '\n'
|
||||
key Invalid byte '"'
|
||||
key invalid syntax for integer with base 10: ''
|
||||
|
Loading…
Reference in New Issue
Block a user