Merge branch 'main' of https://github.com/adafruit/circuitpython into main
This commit is contained in:
commit
9e559ac3ec
|
@ -43,6 +43,32 @@ jobs:
|
|||
run: |
|
||||
gcc --version
|
||||
python3 --version
|
||||
- name: Translations
|
||||
run: make check-translate
|
||||
- name: New boards check
|
||||
run: python3 -u ci_new_boards_check.py
|
||||
working-directory: tools
|
||||
- name: Duplicate USB VID/PID Check
|
||||
run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
|
||||
- name: Build and Validate Stubs
|
||||
run: make check-stubs -j2
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: stubs
|
||||
path: circuitpython-stubs*
|
||||
- name: Test Documentation Build (HTML)
|
||||
run: sphinx-build -E -W -b html -D version=${{ env.CP_VERSION }} -D release=${{ env.CP_VERSION }} . _build/html
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: docs
|
||||
path: _build/html
|
||||
- name: Test Documentation Build (LaTeX/PDF)
|
||||
run: |
|
||||
make latexpdf
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: docs
|
||||
path: _build/latex
|
||||
- name: Build mpy-cross
|
||||
run: make -C mpy-cross -j2
|
||||
- name: Build unix port
|
||||
|
@ -68,32 +94,6 @@ jobs:
|
|||
- name: mpy Tests
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --via-mpy -d basics float
|
||||
working-directory: tests
|
||||
- name: Build and Validate Stubs
|
||||
run: make check-stubs -j2
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: stubs
|
||||
path: circuitpython-stubs*
|
||||
- name: Test Documentation Build (HTML)
|
||||
run: sphinx-build -E -W -b html -D version=${{ env.CP_VERSION }} -D release=${{ env.CP_VERSION }} . _build/html
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: docs
|
||||
path: _build/html
|
||||
- name: Test Documentation Build (LaTeX/PDF)
|
||||
run: |
|
||||
make latexpdf
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: docs
|
||||
path: _build/latex
|
||||
- name: Translations
|
||||
run: make check-translate
|
||||
- name: New boards check
|
||||
run: python3 -u ci_new_boards_check.py
|
||||
working-directory: tools
|
||||
- name: Duplicate USB VID/PID Check
|
||||
run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
|
||||
- name: Build mpy-cross.static-raspbian
|
||||
run: make -C mpy-cross -j2 -f Makefile.static-raspbian
|
||||
- uses: actions/upload-artifact@v2
|
||||
|
|
|
@ -152,7 +152,7 @@
|
|||
url = https://github.com/adafruit/Adafruit_CircuitPython_RFM69.git
|
||||
[submodule "ports/esp32s2/esp-idf"]
|
||||
path = ports/esp32s2/esp-idf
|
||||
url = https://github.com/jepler/esp-idf.git
|
||||
url = https://github.com/adafruit/esp-idf.git
|
||||
[submodule "ports/esp32s2/certificates/nina-fw"]
|
||||
path = ports/esp32s2/certificates/nina-fw
|
||||
url = https://github.com/adafruit/nina-fw.git
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 41f7a3530d4cacdbf668399d3a015ea29c7e169b
|
||||
Subproject commit 8bb1210eebed4846dae7e76ff1db86a010b132bc
|
|
@ -1 +1 @@
|
|||
Subproject commit 209edd164eb640a8ced561a54505792fc99a67b9
|
||||
Subproject commit ce30b04a3c8e557d48a0607ddcb25272b196a433
|
|
@ -1 +1 @@
|
|||
Subproject commit 5d81a9ea822a85e46be4a512ac44abf21e77d816
|
||||
Subproject commit 4f5dc66d50e43ca8d413ab0d86c125a7a13d394f
|
|
@ -1 +1 @@
|
|||
Subproject commit 01f3f6674b4493ba29b857e0f43deb69975736ec
|
||||
Subproject commit fce466bd2bb70ca86b79e5cb36bbaca00afacfd1
|
|
@ -1 +1 @@
|
|||
Subproject commit 9fe8f314c032cee89b9ad7697d61e9cba76431ff
|
||||
Subproject commit bea5d4a347aeece71a421ee292551264e3bf7ae2
|
|
@ -1 +1 @@
|
|||
Subproject commit f1cc47f024b27e670b9bf2a51c89e32f93c1b957
|
||||
Subproject commit fee951908cc5f1ba7db5edd2537fade09d626730
|
|
@ -1 +1 @@
|
|||
Subproject commit 434e5b5346cb0a1a9eb15989b00278be87cb2ff1
|
||||
Subproject commit 608291801ce7112b280d32518de79993cc80963a
|
|
@ -1 +1 @@
|
|||
Subproject commit cfffc233784961929d722ea4e9acfe5786790609
|
||||
Subproject commit 4696e07638eff28392b57162d2a70e20473e97b7
|
|
@ -1 +1 @@
|
|||
Subproject commit 6143ec2a96a6d218041e9cab5968de26702d7bbf
|
||||
Subproject commit dd7cc167c528a94a9feed81f9c52b5d372f68258
|
|
@ -1 +1 @@
|
|||
Subproject commit 53902152c674b0ba31536b50291f7ddd28960f47
|
||||
Subproject commit c070f6e8dbc37757cbcb444269c6cd6a4b676647
|
|
@ -1 +1 @@
|
|||
Subproject commit 88738da275a83acabb14b7140d1c79b33cdc7b02
|
||||
Subproject commit 9d91ec849efb5fbc3d26d350a75a61f15d19bc48
|
80
locale/ID.po
80
locale/ID.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-10-10 23:51+0000\n"
|
||||
"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -19,10 +19,14 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Kode selesai berjalan. Menunggu memuat ulang.\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -540,6 +544,18 @@ msgstr "Blok CBC harus merupakan kelipatan 16 byte"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr "Panggil super().__init__() sebelum mengakses objek asli."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Tidak dapat mengatur CCCD pada Karakteristik lokal"
|
||||
|
@ -576,6 +592,10 @@ msgstr ""
|
|||
"Tidak dapat menggunakan output di kedua channel dengan menggunakan pin yang "
|
||||
"sama"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Tidak dapat membaca tanpa pin MISO."
|
||||
|
@ -623,6 +643,10 @@ msgstr ""
|
|||
"Tidak dapat membuat variasi frekuensi pada penghitung waktu yang sudah "
|
||||
"digunakan"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Tidak dapat menulis tanpa pin MOSI."
|
||||
|
@ -954,6 +978,10 @@ msgstr "File sudah ada"
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr ""
|
||||
|
@ -963,11 +991,6 @@ msgstr ""
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
"Frekuensi yang ditangkap berada di atas kemampuan. Penangkapan Ditunda."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr "Frekuensi harus cocok dengan PWMOut yang ada menggunakan timer ini"
|
||||
|
@ -1485,7 +1508,7 @@ msgstr ""
|
|||
"Hanya monokrom, 4bpp atau 8bpp yang diindeks, dan 16bpp atau lebih yang "
|
||||
"didukung: %d bpp diberikan"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1549,10 +1572,6 @@ msgstr "Pin harus mendukung interupsi perangkat keras"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "Nomor pin sudah dipesan oleh EXTI"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1596,7 +1615,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -2021,6 +2040,10 @@ msgstr ""
|
|||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3046,7 +3069,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3184,6 +3207,14 @@ msgstr "non-keyword arg setelah */**"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "non-keyword arg setelah keyword arg"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3256,6 +3287,10 @@ msgstr "panjang data string memiliki keganjilan (odd-length)"
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
#, fuzzy
|
||||
msgid "offset out of bounds"
|
||||
|
@ -3602,6 +3637,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
#, fuzzy
|
||||
msgid "timeout must be >= 0.0"
|
||||
|
@ -3862,6 +3901,17 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Kode selesai berjalan. Menunggu memuat ulang.\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr ""
|
||||
#~ "Frekuensi yang ditangkap berada di atas kemampuan. Penangkapan Ditunda."
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr ""
|
||||
#~ "Tekan tombol apa saja untuk masuk ke dalam REPL. Gunakan CTRL+D untuk "
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-22 22:54+0530\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -20,7 +20,13 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
|
@ -534,6 +540,18 @@ msgstr ""
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
|
@ -566,6 +584,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr ""
|
||||
|
@ -609,6 +631,10 @@ msgstr ""
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr ""
|
||||
|
@ -949,10 +975,6 @@ msgstr ""
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1148,6 +1170,7 @@ msgstr ""
|
|||
|
||||
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
|
||||
#: ports/atmel-samd/common-hal/touchio/TouchIn.c
|
||||
#: ports/esp32s2/common-hal/alarm/touch/TouchAlarm.c
|
||||
#: ports/esp32s2/common-hal/touchio/TouchIn.c shared-bindings/pwmio/PWMOut.c
|
||||
#: shared-module/rgbmatrix/RGBMatrix.c
|
||||
msgid "Invalid pin"
|
||||
|
@ -1462,10 +1485,14 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/touch/TouchAlarm.c
|
||||
msgid "Only one alarm.touch alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/ColorConverter.c
|
||||
msgid "Only one color can be transparent at a time"
|
||||
msgstr ""
|
||||
|
@ -1524,10 +1551,6 @@ msgstr ""
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1568,7 +1591,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -1840,6 +1863,10 @@ msgstr ""
|
|||
msgid "Total data to write is larger than outgoing_packet_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/touch/TouchAlarm.c
|
||||
msgid "TouchAlarm not available in light sleep"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c
|
||||
msgid "Traceback (most recent call last):\n"
|
||||
msgstr ""
|
||||
|
@ -3009,7 +3036,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3147,6 +3174,14 @@ msgstr ""
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3568,6 +3603,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr ""
|
||||
|
|
75
locale/cs.po
75
locale/cs.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-12-04 18:33+0000\n"
|
||||
"Last-Translator: vkuthan <vit.kuthan@seznam.cz>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -19,10 +19,14 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Kód byl dokončen. Čekám na opětovné nahrání.\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -538,6 +542,18 @@ msgstr ""
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
|
@ -570,6 +586,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr ""
|
||||
|
@ -613,6 +633,10 @@ msgstr ""
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr ""
|
||||
|
@ -940,6 +964,10 @@ msgstr ""
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr ""
|
||||
|
@ -949,10 +977,6 @@ msgstr ""
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1462,7 +1486,7 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1524,10 +1548,6 @@ msgstr ""
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1568,7 +1588,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -1987,6 +2007,10 @@ msgstr ""
|
|||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3005,7 +3029,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3143,6 +3167,14 @@ msgstr ""
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3215,6 +3247,10 @@ msgstr ""
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr ""
|
||||
|
@ -3560,6 +3596,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr ""
|
||||
|
@ -3819,6 +3859,13 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Kód byl dokončen. Čekám na opětovné nahrání.\n"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "To exit, please reset the board without "
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-11-26 03:11+0000\n"
|
||||
"Last-Translator: Daniel Bravo Darriba <bravodarriba@gmail.com>\n"
|
||||
"Language: de_DE\n"
|
||||
|
@ -18,10 +18,14 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Der Code wurde ausgeführt. Warte auf reload.\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -541,6 +545,18 @@ msgstr "CBC-Blöcke müssen ein Vielfaches von 16 Bytes sein"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr "Rufe super().__init__() vor dem Zugriff auf ein natives Objekt auf."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "CCCD kann nicht auf lokales Merkmal eingestellt werden"
|
||||
|
@ -574,6 +590,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Kann nicht beite Kanäle auf dem gleichen Pin ausgeben"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Kann ohne MISO-Pin nicht lesen."
|
||||
|
@ -618,6 +638,10 @@ msgid "Cannot vary frequency on a timer that is already in use"
|
|||
msgstr ""
|
||||
"Die Frequenz eines bereits verwendeten Timers kann nicht variiert werden"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Kann nicht ohne MOSI-Pin schreiben."
|
||||
|
@ -951,6 +975,10 @@ msgstr "Datei existiert"
|
|||
msgid "Filters too complex"
|
||||
msgstr "Filter zu komplex"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "Format nicht unterstützt"
|
||||
|
@ -960,12 +988,6 @@ msgstr "Format nicht unterstützt"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr "Framepuffer benötigt %d bytes"
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
"Die aufgezeichnete Frequenz liegt über der Leistungsgrenze. Aufnahme "
|
||||
"angehalten."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1487,7 +1509,7 @@ msgstr ""
|
|||
"Nur monochrome, indizierte 4bpp oder 8bpp, und 16bpp oder größere BMPs "
|
||||
"unterstützt: %d bpp wurden gegeben"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1549,10 +1571,6 @@ msgstr "Pin muss Hardware-Interrupts unterstützen"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "PIN-Nummer bereits von EXTI reserviert"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1596,7 +1614,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -2033,6 +2051,10 @@ msgstr "Nicht unterstützte Operation"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "Nicht unterstützter Pull-Wert."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3081,7 +3103,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr "max_length muss 0-%d sein, wenn fixed_length %s ist"
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3219,6 +3241,14 @@ msgstr "Nicht-Schlüsselwort arg nach * / **"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "Nicht-Schlüsselwort Argument nach Schlüsselwort Argument"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3292,6 +3322,10 @@ msgstr "String mit ungerader Länge"
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr "offset außerhalb der Grenzen"
|
||||
|
@ -3643,6 +3677,10 @@ msgstr "Das Zeitlimit hat den maximal zulässigen Wert überschritten"
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr "Das Zeitlimit muss 0,0-100,0 Sekunden betragen"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "timeout muss >= 0.0 sein"
|
||||
|
@ -3906,6 +3944,18 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Der Code wurde ausgeführt. Warte auf reload.\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr ""
|
||||
#~ "Die aufgezeichnete Frequenz liegt über der Leistungsgrenze. Aufnahme "
|
||||
#~ "angehalten."
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr ""
|
||||
#~ "Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum "
|
||||
|
|
68
locale/el.po
68
locale/el.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -19,7 +19,13 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
|
@ -533,6 +539,18 @@ msgstr ""
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
|
@ -565,6 +583,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr ""
|
||||
|
@ -608,6 +630,10 @@ msgstr ""
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr ""
|
||||
|
@ -935,6 +961,10 @@ msgstr ""
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr ""
|
||||
|
@ -944,10 +974,6 @@ msgstr ""
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1457,7 +1483,7 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1519,10 +1545,6 @@ msgstr ""
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1563,7 +1585,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -1982,6 +2004,10 @@ msgstr ""
|
|||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3000,7 +3026,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3138,6 +3164,14 @@ msgstr ""
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3210,6 +3244,10 @@ msgstr ""
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr ""
|
||||
|
@ -3555,6 +3593,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr ""
|
||||
|
|
83
locale/es.po
83
locale/es.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-11-27 18:34+0000\n"
|
||||
"Last-Translator: Iván Montiel Cardona <ivan_montiel2013@hotmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
|
@ -21,10 +21,14 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"El código terminó su ejecución. Esperando para recargar.\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -547,6 +551,18 @@ msgstr "Los bloques CBC deben ser múltiplos de 16 bytes"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr "Llame a super().__ init __() antes de acceder al objeto nativo."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "No se puede configurar CCCD en la característica local"
|
||||
|
@ -581,6 +597,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "No se puede tener ambos canales en el mismo pin"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "No se puede leer sin pin MISO."
|
||||
|
@ -624,6 +644,10 @@ msgstr "No se puede obtener inequívocamente sizeof escalar"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr "No puede variar la frecuencia en un temporizador que ya está en uso"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "No se puede escribir sin pin MOSI."
|
||||
|
@ -955,6 +979,10 @@ msgstr "El archivo ya existe"
|
|||
msgid "Filters too complex"
|
||||
msgstr "Filtros muy complejos"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "Sin capacidades para el formato"
|
||||
|
@ -964,10 +992,6 @@ msgstr "Sin capacidades para el formato"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr "Framebuffer requiere %d bytes"
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr "Frecuencia capturada por encima de la capacidad. Captura en pausa."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1486,7 +1510,7 @@ msgstr ""
|
|||
"Solo se admiten BMP monocromáticos, indexados de 4 bpp u 8 bpp y 16 bpp o "
|
||||
"más: %d bpp proporcionados"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1550,10 +1574,6 @@ msgstr "El pin debe admitir interrupciones de hardware"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "Número de pin ya reservado por EXTI"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1601,7 +1621,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -2036,6 +2056,10 @@ msgstr "Operación no soportada"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "valor pull no soportado."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3073,8 +3097,8 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr "max_length debe ser 0-%d cuando fixed_length es %s"
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgstr "max_lenght debe ser > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "maximum number of dimensions is 4"
|
||||
|
@ -3213,6 +3237,14 @@ msgstr ""
|
|||
"no deberia estar/tener agumento por palabra clave despues de argumento por "
|
||||
"palabra clave"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr "norma está definida para arrays 1D y 2D"
|
||||
|
@ -3286,6 +3318,10 @@ msgstr "string de longitud impar"
|
|||
msgid "offset is too large"
|
||||
msgstr "offset es demasiado grande"
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr "offset fuera de límites"
|
||||
|
@ -3634,6 +3670,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr "el tiempo de espera debe ser 0.0-100.0 segundos"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "tiempo muerto debe ser >= 0.0"
|
||||
|
@ -3893,6 +3933,19 @@ 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 ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "El código terminó su ejecución. Esperando para recargar.\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr "Frecuencia capturada por encima de la capacidad. Captura en pausa."
|
||||
|
||||
#~ msgid "max_length must be > 0"
|
||||
#~ msgstr "max_lenght debe ser > 0"
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr ""
|
||||
#~ "Presiona cualquier tecla para entrar al REPL. Usa CTRL-D para recargar."
|
||||
|
|
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
|
||||
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
|
||||
"Language-Team: fil\n"
|
||||
|
@ -18,7 +18,13 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
|
@ -539,6 +545,18 @@ msgstr ""
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
|
@ -572,6 +590,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Hindi maaaring output ang mga parehong channel sa parehong pin"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Hindi maaring mabasa kapag walang MISO pin."
|
||||
|
@ -615,6 +637,10 @@ msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Hindi maaring isulat kapag walang MOSI pin."
|
||||
|
@ -948,6 +974,10 @@ msgstr "Mayroong file"
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr ""
|
||||
|
@ -957,10 +987,6 @@ msgstr ""
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1475,7 +1501,7 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1538,10 +1564,6 @@ msgstr ""
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1582,7 +1604,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -2004,6 +2026,10 @@ msgstr "Hindi sinusuportahang operasyon"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "Hindi suportado ang pull value."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3047,7 +3073,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3185,6 +3211,14 @@ msgstr "non-keyword arg sa huli ng */**"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "non-keyword arg sa huli ng keyword arg"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3257,6 +3291,10 @@ msgstr "odd-length string"
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
#, fuzzy
|
||||
msgid "offset out of bounds"
|
||||
|
@ -3607,6 +3645,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
#, fuzzy
|
||||
msgid "timeout must be >= 0.0"
|
||||
|
|
175
locale/fr.po
175
locale/fr.po
|
@ -7,23 +7,31 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"PO-Revision-Date: 2020-12-08 19:21+0000\n"
|
||||
"Last-Translator: Antonin ENFRUN <antonin.e@me.com>\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-12-29 20:38+0000\n"
|
||||
"Last-Translator: Hugo Dahl <hugo@code-jedi.com>\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.4-dev\n"
|
||||
"X-Generator: Weblate 4.4.1-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Fin d'exécution du code. En attente de rechargement.\n"
|
||||
"Exécution du code complété.\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Exécution du code arrêté par l'auto-rechargement.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -51,7 +59,7 @@ msgstr " sortie :\n"
|
|||
#: py/objstr.c
|
||||
#, c-format
|
||||
msgid "%%c requires int or char"
|
||||
msgstr "%%c nécessite un entier 'int' ou un caractère 'char'"
|
||||
msgstr "%%c nécessite un chiffre entier 'int' ou un caractère 'char'"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
|
@ -66,7 +74,7 @@ msgstr "Échec de %q : %d"
|
|||
|
||||
#: shared-bindings/microcontroller/Pin.c
|
||||
msgid "%q in use"
|
||||
msgstr "%q utilisé"
|
||||
msgstr "%q en cours d'utilisation"
|
||||
|
||||
#: extmod/moductypes.c ports/atmel-samd/common-hal/pulseio/PulseIn.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseIn.c
|
||||
|
@ -106,19 +114,19 @@ msgstr "%q est hors de porté"
|
|||
|
||||
#: ports/atmel-samd/common-hal/microcontroller/Pin.c
|
||||
msgid "%q pin invalid"
|
||||
msgstr "PIN %q invalide"
|
||||
msgstr "broche %q invalide"
|
||||
|
||||
#: shared-bindings/fontio/BuiltinFont.c
|
||||
msgid "%q should be an int"
|
||||
msgstr "%q doit être un entier (int)"
|
||||
msgstr "%q doit être un chiffre entier (int)"
|
||||
|
||||
#: py/bc.c py/objnamedtuple.c
|
||||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() prend %d arguments positionnels mais %d ont été donnés"
|
||||
msgstr "%q() prend %d paramêtres positionnels mais %d ont été donnés"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "'%q' argument required"
|
||||
msgstr "'%q' argument requis"
|
||||
msgstr "paramêtre '%q' requis"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "'%q' object cannot assign attribute '%q'"
|
||||
|
@ -189,7 +197,7 @@ msgstr "'%s' attend un entier"
|
|||
#: py/emitinlinethumb.c
|
||||
#, c-format
|
||||
msgid "'%s' expects at most r%d"
|
||||
msgstr "'%s' s'attend au plus à r%d"
|
||||
msgstr "'%s' attend au plus à r%d"
|
||||
|
||||
#: py/emitinlinethumb.c
|
||||
#, c-format
|
||||
|
@ -429,8 +437,8 @@ msgid ""
|
|||
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
|
||||
"disable.\n"
|
||||
msgstr ""
|
||||
"Auto-chargement activé. Copiez simplement les fichiers en USB pour les "
|
||||
"lancer ou entrez sur REPL pour le désactiver.\n"
|
||||
"Auto-chargement activé. Copiez ou sauvegardez les fichiers via USB pour les "
|
||||
"lancer ou démarrez le REPL pour le désactiver.\n"
|
||||
|
||||
#: ports/esp32s2/common-hal/canio/CAN.c
|
||||
msgid "Baudrate not supported by peripheral"
|
||||
|
@ -547,6 +555,22 @@ msgstr "Les blocs CBC doivent être des multiples de 16 octets"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr "Appelez super () .__ init __ () avant d'accéder à l'objet natif."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr "L'alarme peut seulement être depuis TRC IO depuis le someil profond."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
"L'alarme peut seulement être sur une broche basse tandis que d'autres "
|
||||
"alarment sont sur des broches hautes depuis le someil profond."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
"L'alarme peut seulement être sur deux broches basses depuis le someil "
|
||||
"profond."
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Impossible de définir CCCD sur une caractéristique locale"
|
||||
|
@ -582,6 +606,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Les 2 canaux de sortie ne peuvent être sur la même broche"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr "Ne peut tirer sur une broche d'entrée seule."
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Impossible de lire sans broche MISO."
|
||||
|
@ -627,6 +655,10 @@ msgid "Cannot vary frequency on a timer that is already in use"
|
|||
msgstr ""
|
||||
"Impossible de faire varier la fréquence sur une minuterie déjà utilisée"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr "Ne peut reveillé sur le board de broche. Seuleument à niveau."
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Impossible d'écrire sans broche MOSI."
|
||||
|
@ -870,7 +902,7 @@ msgstr "Attendu une adresse"
|
|||
|
||||
#: shared-bindings/alarm/__init__.c
|
||||
msgid "Expected an alarm"
|
||||
msgstr ""
|
||||
msgstr "Une alarme était prévue"
|
||||
|
||||
#: shared-module/_pixelbuf/PixelBuf.c
|
||||
#, c-format
|
||||
|
@ -960,6 +992,10 @@ msgstr "Le fichier existe"
|
|||
msgid "Filters too complex"
|
||||
msgstr "Filtre trop complexe"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr "Image du microprogramme est invalide"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "Format non supporté"
|
||||
|
@ -969,10 +1005,6 @@ msgstr "Format non supporté"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr "Le framebuffer nécessite %d octets"
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr "La fréquence capturée est au delà des capacités. Capture en pause."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1021,7 +1053,7 @@ msgstr "I2SOut n'est pas disponible"
|
|||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
msgstr "IOs 0, 2 & 4 ne supportent pas l'éleveuse interne en mode someil"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
|
@ -1109,7 +1141,7 @@ msgstr "Fréquence de PWM invalide"
|
|||
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
msgid "Invalid Pin"
|
||||
msgstr ""
|
||||
msgstr "Broche invalide"
|
||||
|
||||
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
|
||||
msgid "Invalid argument"
|
||||
|
@ -1491,9 +1523,9 @@ msgstr ""
|
|||
"Prise en charge uniquement des monochromes, 4 bpp ou 8 bpp indexés et 16 bpp "
|
||||
"ou plus : %d bpp fournis"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
msgstr "Seulement une alarme alarm.time peut être réglée."
|
||||
|
||||
#: shared-module/displayio/ColorConverter.c
|
||||
msgid "Only one color can be transparent at a time"
|
||||
|
@ -1557,10 +1589,6 @@ msgstr "La broche doit prendre en charge les interruptions matérielles"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "Numéro de broche déjà réservé par EXTI"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr "PinAlarm pas encore implémenté"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1574,7 +1602,7 @@ msgstr ""
|
|||
|
||||
#: py/builtinhelp.c
|
||||
msgid "Plus any modules on the filesystem\n"
|
||||
msgstr "Ainsi que tout autre module présent sur le système de fichiers\n"
|
||||
msgstr "Ainsi que tout autres modules présents sur le système de fichiers\n"
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "Polygon needs at least 3 points"
|
||||
|
@ -1606,10 +1634,13 @@ msgstr "Le tampon de préfixe doit être sur le tas"
|
|||
#: main.c
|
||||
msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
||||
msgstr ""
|
||||
"Appuyez sur n'importe quelle touche pour utiliser le REPL. Utilisez CTRL-D "
|
||||
"pour relancer.\n"
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
"Feinte de someil profond jusqu'à l'alarme, Ctrl-C ou écriture au fichier.\n"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
|
@ -1857,7 +1888,7 @@ msgstr "La largeur de la tuile doit diviser exactement la largeur de l'image"
|
|||
|
||||
#: shared-bindings/alarm/time/TimeAlarm.c
|
||||
msgid "Time is in the past."
|
||||
msgstr ""
|
||||
msgstr "L'heure est dans le passé."
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
#, c-format
|
||||
|
@ -1976,7 +2007,7 @@ msgstr "Impossible d'écrire sur la mémoire non-volatile."
|
|||
|
||||
#: shared-bindings/alarm/SleepMemory.c
|
||||
msgid "Unable to write to sleep_memory."
|
||||
msgstr ""
|
||||
msgstr "Impossibilitée d'écriture à sleep_memory."
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/UUID.c
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
|
@ -2045,6 +2076,10 @@ msgstr "Opération non supportée"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "Valeur de tirage 'pull' non supportée."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr "Mise-à-jour échouée"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -2113,7 +2148,7 @@ msgstr "Le mot de passe WiFi doit faire entre 8 et 63 caractères"
|
|||
|
||||
#: main.c
|
||||
msgid "Woken up by alarm.\n"
|
||||
msgstr ""
|
||||
msgstr "Réveil par alarme.\n"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
msgid "Writes not supported on Characteristic"
|
||||
|
@ -2438,7 +2473,7 @@ msgstr ""
|
|||
|
||||
#: extmod/ulab/code/ndarray_operators.c
|
||||
msgid "cannot cast output with casting rule"
|
||||
msgstr ""
|
||||
msgstr "output ne peut être projeté sans règle de projection"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "cannot create '%q' instances"
|
||||
|
@ -2616,7 +2651,7 @@ msgstr "end_x doit être un entier 'int'"
|
|||
|
||||
#: shared-bindings/alarm/time/TimeAlarm.c
|
||||
msgid "epoch_time not supported on this board"
|
||||
msgstr ""
|
||||
msgstr "epoch_time n'est pas supporté sur ce panneau"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
#, c-format
|
||||
|
@ -2898,11 +2933,11 @@ msgstr "l'entrée doit être un tenseur de rang 2"
|
|||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/user/user.c
|
||||
msgid "input must be an ndarray"
|
||||
msgstr ""
|
||||
msgstr "l'entrée doit être un ndarray"
|
||||
|
||||
#: extmod/ulab/code/filter/filter.c
|
||||
msgid "input must be one-dimensional"
|
||||
msgstr ""
|
||||
msgstr "l'entrée doit être uni-dimensionelle"
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "input must be square matrix"
|
||||
|
@ -2918,7 +2953,7 @@ msgstr "les vecteurs d'entrée doivent être de longueur égale"
|
|||
|
||||
#: extmod/ulab/code/poly/poly.c
|
||||
msgid "inputs are not iterable"
|
||||
msgstr ""
|
||||
msgstr "les entrées ne sont pas itérables"
|
||||
|
||||
#: py/parsenum.c
|
||||
msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
|
@ -2992,7 +3027,7 @@ msgstr "syntaxe invalide pour un nombre"
|
|||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
msgstr "io doit être rtc io"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
|
@ -3093,12 +3128,12 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr "max_length doit être 0-%d lorsque fixed_length est %s"
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgstr "max_length doit être > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr "max_length doit être >= 0"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "maximum number of dimensions is 4"
|
||||
msgstr ""
|
||||
msgstr "nombre maximal de dimensions est 4"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "maximum recursion depth exceeded"
|
||||
|
@ -3232,9 +3267,17 @@ msgstr "argument non-nommé après */**"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "argument non-nommé après argument nommé"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr "le délai non-zéro doit être > 0.01"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr "le délai non-zéro doit être >= interval"
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
msgstr "norm est défini pour des tableaux 1D et 2D"
|
||||
|
||||
#: shared-bindings/_bleio/UUID.c
|
||||
msgid "not a 128-bit UUID"
|
||||
|
@ -3303,7 +3346,11 @@ msgstr "chaîne de longueur impaire"
|
|||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
msgstr "offset est trop large"
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr "offset doit être >= 0"
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
|
@ -3329,11 +3376,11 @@ msgstr "les opérandes ne pouvaient pas être diffusés ensemble"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "operation is implemented for 1D Boolean arrays only"
|
||||
msgstr ""
|
||||
msgstr "opération implémentée que pour des tableaux 1D booléennes"
|
||||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "operation is not implemented for flattened array"
|
||||
msgstr ""
|
||||
msgstr "l'opération n'est pas implémentée pour un tableau applatit"
|
||||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "operation is not implemented on ndarrays"
|
||||
|
@ -3474,7 +3521,7 @@ msgstr "la longueur requise est %d mais l'objet est long de %d"
|
|||
|
||||
#: extmod/ulab/code/ndarray_operators.c
|
||||
msgid "results cannot be cast to specified type"
|
||||
msgstr ""
|
||||
msgstr "résultats ne peuvent être transformé au type spécifié"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "return annotation must be an identifier"
|
||||
|
@ -3496,7 +3543,7 @@ msgstr "rgb_pins[%d] n'est pas sur le même port que l'horloge"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "roll argument must be an ndarray"
|
||||
msgstr ""
|
||||
msgstr "paramêtre roll doit être un ndarray"
|
||||
|
||||
#: py/objstr.c
|
||||
msgid "rsplit(None,n)"
|
||||
|
@ -3524,7 +3571,7 @@ msgstr "compilation de script non supportée"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "shape must be a tuple"
|
||||
msgstr ""
|
||||
msgstr "forme doit être un tuple"
|
||||
|
||||
#: py/objstr.c
|
||||
msgid "sign not allowed in string format specifier"
|
||||
|
@ -3656,6 +3703,10 @@ msgstr "le délai d'expiration a dépassé la valeur maximale prise en charge"
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr "le délai doit être compris entre 0.0 et 100.0 secondes"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr "le délai (timeout) doit être < 655.35 secondes"
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "'timeout' doit être >= 0.0"
|
||||
|
@ -3674,7 +3725,7 @@ msgstr "'timestamp' hors bornes pour 'time_t' de la plateforme"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "tobytes can be invoked for dense arrays only"
|
||||
msgstr ""
|
||||
msgstr "tobytes ne peut être appelé que pour des tableaux dense"
|
||||
|
||||
#: shared-module/struct/__init__.c
|
||||
msgid "too many arguments provided with the given format"
|
||||
|
@ -3695,7 +3746,7 @@ msgstr "trapz n'est défini que pour des tableaux 1D de longueur égale"
|
|||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
msgstr "niveau du déclencheur doit être 0 ou 1"
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "tuple index out of range"
|
||||
|
@ -3841,7 +3892,7 @@ msgstr "les vecteurs doivent avoir la même longueur"
|
|||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
msgstr "conflit au réveil"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
|
@ -3861,11 +3912,11 @@ msgstr "la fenêtre doit être <= intervalle"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "wrong axis index"
|
||||
msgstr ""
|
||||
msgstr "index d'axe incorrecte"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "wrong axis specified"
|
||||
msgstr ""
|
||||
msgstr "axe incorrecte spécifiée"
|
||||
|
||||
#: extmod/ulab/code/vector/vectorise.c
|
||||
msgid "wrong input type"
|
||||
|
@ -3915,6 +3966,22 @@ 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 ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Fin d'exécution du code. En attente de rechargement.\n"
|
||||
|
||||
#~ msgid "PinAlarm not yet implemented"
|
||||
#~ msgstr "PinAlarm pas encore implémenté"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr "La fréquence capturée est au delà des capacités. Capture en pause."
|
||||
|
||||
#~ msgid "max_length must be > 0"
|
||||
#~ msgstr "max_length doit être > 0"
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr ""
|
||||
#~ "Appuyez sur une touche pour entrer sur REPL ou CTRL-D pour recharger."
|
||||
|
|
68
locale/hi.po
68
locale/hi.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -19,7 +19,13 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
|
@ -533,6 +539,18 @@ msgstr ""
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
|
@ -565,6 +583,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr ""
|
||||
|
@ -608,6 +630,10 @@ msgstr ""
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr ""
|
||||
|
@ -935,6 +961,10 @@ msgstr ""
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr ""
|
||||
|
@ -944,10 +974,6 @@ msgstr ""
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1457,7 +1483,7 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1519,10 +1545,6 @@ msgstr ""
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1563,7 +1585,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -1982,6 +2004,10 @@ msgstr ""
|
|||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3000,7 +3026,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3138,6 +3164,14 @@ msgstr ""
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3210,6 +3244,10 @@ msgstr ""
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr ""
|
||||
|
@ -3555,6 +3593,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr ""
|
||||
|
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
|
||||
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
|
||||
"Language-Team: \n"
|
||||
|
@ -18,7 +18,13 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
|
@ -539,6 +545,18 @@ msgstr ""
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
|
@ -572,6 +590,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Impossibile dare in output entrambi i canal sullo stesso pin"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Impossibile leggere senza pin MISO."
|
||||
|
@ -616,6 +638,10 @@ msgstr "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Impossibile scrivere senza pin MOSI."
|
||||
|
@ -948,6 +974,10 @@ msgstr "File esistente"
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr ""
|
||||
|
@ -957,10 +987,6 @@ msgstr ""
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1480,7 +1506,7 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1547,10 +1573,6 @@ msgstr ""
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1592,7 +1614,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -2016,6 +2038,10 @@ msgstr "Operazione non supportata"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "Valore di pull non supportato."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3050,7 +3076,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3189,6 +3215,14 @@ msgstr "argomento non nominato dopo */**"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "argomento non nominato seguito da argomento nominato"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3263,6 +3297,10 @@ msgstr "stringa di lunghezza dispari"
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
#, fuzzy
|
||||
msgid "offset out of bounds"
|
||||
|
@ -3615,6 +3653,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
#, fuzzy
|
||||
msgid "timeout must be >= 0.0"
|
||||
|
|
83
locale/ja.po
83
locale/ja.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-11-27 18:34+0000\n"
|
||||
"Last-Translator: sporeball <sporeballdev@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -21,10 +21,14 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"コードの実行が完了しました。リロードを待っています。\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -544,6 +548,18 @@ msgstr ""
|
|||
"ネイティブオブジェクトにアクセスする前にsuper().__init__()を呼び出してくださ"
|
||||
"い"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "ローカルのCharacteristicにはCCCDを設定できません"
|
||||
|
@ -576,6 +592,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "同じピン上の両チャネルに出力できません"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "MISOピンなしで読み込めません"
|
||||
|
@ -619,6 +639,10 @@ msgstr "スカラのサイズを曖昧さなしに取得できません"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr "使用中のタイマー上では周波数を変えられません"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "MOSIピンなしで書き込みできません"
|
||||
|
@ -948,6 +972,10 @@ msgstr "ファイルが存在します"
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "非対応の形式"
|
||||
|
@ -957,10 +985,6 @@ msgstr "非対応の形式"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr "キャプチャした周波数は能力を超えています。キャプチャ停止"
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr "このタイマーを使う既存のPWMOutと周波数を一致させる必要があります"
|
||||
|
@ -1474,7 +1498,7 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1537,10 +1561,6 @@ msgstr "ピンはハードウェア割り込みに対応していなければな
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "ピン番号はすでにEXTIによって予約されています"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1581,7 +1601,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -2007,6 +2027,10 @@ msgstr "非対応の操作"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "非対応のpull値"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3030,8 +3054,8 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgstr "max_lengthは0より大きくなければなりません"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "maximum number of dimensions is 4"
|
||||
|
@ -3168,6 +3192,14 @@ msgstr "*/** の後に非キーワード引数は置けません"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "キーワード引数の後に非キーワード引数は置けません"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3240,6 +3272,10 @@ msgstr "奇数長の文字列"
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr ""
|
||||
|
@ -3588,6 +3624,10 @@ msgstr "タイムアウト長は対応する最大値を超えています"
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr "timeoutは0.0〜100.0秒でなければなりません"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "timeoutは0.0以上でなければなりません"
|
||||
|
@ -3847,6 +3887,19 @@ msgstr "ziはfloat値でなければなりません"
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "コードの実行が完了しました。リロードを待っています。\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr "キャプチャした周波数は能力を超えています。キャプチャ停止"
|
||||
|
||||
#~ msgid "max_length must be > 0"
|
||||
#~ msgstr "max_lengthは0より大きくなければなりません"
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr "何らかのキーを押すとREPLに入ります。CTRL-Dでリロード。"
|
||||
|
||||
|
|
75
locale/ko.po
75
locale/ko.po
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-10-05 12:12+0000\n"
|
||||
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -20,10 +20,14 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"실행 완료 코드. 재장전 을 기다리는 중입니다\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -538,6 +542,18 @@ msgstr ""
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
|
@ -570,6 +586,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "MISO핀이 없으면 읽을 수 없습니다"
|
||||
|
@ -613,6 +633,10 @@ msgstr ""
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr ""
|
||||
|
@ -940,6 +964,10 @@ msgstr ""
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr ""
|
||||
|
@ -949,10 +977,6 @@ msgstr ""
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1462,7 +1486,7 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1524,10 +1548,6 @@ msgstr ""
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1568,7 +1588,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -1988,6 +2008,10 @@ msgstr ""
|
|||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3006,7 +3030,7 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
|
@ -3144,6 +3168,14 @@ msgstr ""
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3216,6 +3248,10 @@ msgstr ""
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr ""
|
||||
|
@ -3561,6 +3597,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr ""
|
||||
|
@ -3820,6 +3860,13 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "실행 완료 코드. 재장전 을 기다리는 중입니다\n"
|
||||
|
||||
#~ msgid "%q indices must be integers, not %s"
|
||||
#~ msgstr "%q 인덱스는 %s 가 아닌 정수 여야합니다"
|
||||
|
||||
|
|
213
locale/nl.po
213
locale/nl.po
|
@ -5,24 +5,28 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"PO-Revision-Date: 2020-10-27 16:47+0000\n"
|
||||
"Last-Translator: Jelle Jager <jell@jjc.id.au>\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-12-23 20:14+0000\n"
|
||||
"Last-Translator: _fonzlate <vooralfred@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: nl\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.3.2-dev\n"
|
||||
"X-Generator: Weblate 4.4.1-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code is uitgevoerd. Wachten op herladen.\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -294,7 +298,7 @@ msgstr "Adres type buiten bereik"
|
|||
|
||||
#: ports/esp32s2/common-hal/canio/CAN.c
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
msgstr "Alle CAN-peripherals zijn in gebruik"
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
|
@ -304,7 +308,7 @@ msgstr "Alle I2C peripherals zijn in gebruik"
|
|||
#: ports/esp32s2/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/esp32s2/common-hal/rotaryio/IncrementalEncoder.c
|
||||
msgid "All PCNT units in use"
|
||||
msgstr ""
|
||||
msgstr "Alle PCNT-eenheden zijn in gebruik"
|
||||
|
||||
#: ports/atmel-samd/common-hal/canio/Listener.c
|
||||
#: ports/esp32s2/common-hal/canio/Listener.c
|
||||
|
@ -427,7 +431,7 @@ msgstr ""
|
|||
|
||||
#: ports/esp32s2/common-hal/canio/CAN.c
|
||||
msgid "Baudrate not supported by peripheral"
|
||||
msgstr ""
|
||||
msgstr "Baudrate wordt niet ondersteund door randapparatuur"
|
||||
|
||||
#: shared-module/displayio/Display.c
|
||||
#: shared-module/framebufferio/FramebufferDisplay.c
|
||||
|
@ -441,7 +445,7 @@ msgstr "Bit clock en word select moeten een clock eenheid delen"
|
|||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid "Bit depth must be from 1 to 6 inclusive, not %d"
|
||||
msgstr ""
|
||||
msgstr "Bitdiepte moet tussen 1 en 6 liggen, niet %d"
|
||||
|
||||
#: shared-bindings/audiobusio/PDMIn.c
|
||||
msgid "Bit depth must be multiple of 8."
|
||||
|
@ -540,6 +544,18 @@ msgstr "CBC blocks moeten meervouden van 16 bytes zijn"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr "Roep super().__init__() aan voor toegang native object."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Kan CCCD niet toewijzen aan lokaal Characteristic"
|
||||
|
@ -573,6 +589,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Output van beide kanalen kan niet op dezelfde pin"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Kan niet lezen zonder MISO pin."
|
||||
|
@ -617,6 +637,10 @@ msgstr "Kan niet ondubbelzinning sizeof scalar verkrijgen"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr "Kan de frequentie van een timer die al in gebruik is niet variëren"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Kan niet schrijven zonder MOSI pin."
|
||||
|
@ -859,7 +883,7 @@ msgstr "Verwachtte een adres"
|
|||
|
||||
#: shared-bindings/alarm/__init__.c
|
||||
msgid "Expected an alarm"
|
||||
msgstr ""
|
||||
msgstr "Verwachtte een alarm"
|
||||
|
||||
#: shared-module/_pixelbuf/PixelBuf.c
|
||||
#, c-format
|
||||
|
@ -876,7 +900,7 @@ msgstr "FFT alleen voor ndarrays gedefineerd"
|
|||
|
||||
#: extmod/ulab/code/fft/fft.c
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
msgstr "FFT is alleen geïmplementeerd voor lineaire arrays"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Failed SSL handshake"
|
||||
|
@ -948,6 +972,10 @@ msgstr "Bestand bestaat"
|
|||
msgid "Filters too complex"
|
||||
msgstr "Filters zijn te complex"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr "Firmware image is ongeldig"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "Formaat wordt niet ondersteund"
|
||||
|
@ -957,11 +985,6 @@ msgstr "Formaat wordt niet ondersteund"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr "Framebuffer benodigd %d bytes"
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
"De vastgelegde frequentie is boven de capaciteit. Vastleggen gepauzeerd."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1010,7 +1033,7 @@ msgstr "I2SOut is niet beschikbaar"
|
|||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "IOs 0, 2 & 4 do not support internal pullup in sleep"
|
||||
msgstr ""
|
||||
msgstr "IO's 0, 2 en 4 ondersteunen geen interne pullup in slaapstand"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
#, c-format
|
||||
|
@ -1031,7 +1054,7 @@ msgstr "Incorrecte buffer grootte"
|
|||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
msgstr "De initialisatie is mislukt vanwege een gebrek aan geheugen"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
|
||||
msgid "Input taking too long"
|
||||
|
@ -1098,7 +1121,7 @@ msgstr "Ongeldige PWM frequentie"
|
|||
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
msgid "Invalid Pin"
|
||||
msgstr ""
|
||||
msgstr "Ongeldige Pin"
|
||||
|
||||
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
|
||||
msgid "Invalid argument"
|
||||
|
@ -1296,7 +1319,7 @@ msgstr "Een meervoud van 6 rgb pinnen moet worden gebruikt, niet %d"
|
|||
|
||||
#: ports/esp32s2/common-hal/nvm/ByteArray.c
|
||||
msgid "NVS Error"
|
||||
msgstr ""
|
||||
msgstr "NVS-fout"
|
||||
|
||||
#: py/parse.c
|
||||
msgid "Name too long"
|
||||
|
@ -1319,7 +1342,7 @@ msgstr "Geen DMA kanaal gevonden"
|
|||
#: shared-module/adafruit_bus_device/I2CDevice.c
|
||||
#, c-format
|
||||
msgid "No I2C device at address: %x"
|
||||
msgstr ""
|
||||
msgstr "Geen I2C-apparaat op adres: %x"
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/SPI.c ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/stm/common-hal/busio/SPI.c
|
||||
|
@ -1461,7 +1484,7 @@ msgstr "Alleen IPv4 adressen worden ondersteund"
|
|||
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Only IPv4 sockets supported"
|
||||
msgstr ""
|
||||
msgstr "Alleen IPv4-sockets ondersteund"
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c
|
||||
#, c-format
|
||||
|
@ -1480,9 +1503,9 @@ msgstr ""
|
|||
"Alleen monochrome en 4bpp of 8bpp, en 16bpp of grotere geïndiceerde BMP's "
|
||||
"zijn ondersteund: %d bpp is gegeven"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
msgstr "Slechts één alarm.time alarm kan worden ingesteld."
|
||||
|
||||
#: shared-module/displayio/ColorConverter.c
|
||||
msgid "Only one color can be transparent at a time"
|
||||
|
@ -1545,10 +1568,6 @@ msgstr "Pin moet hardware interrupts ondersteunen"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "Pin nummer al gereserveerd door EXTI"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1594,9 +1613,11 @@ msgstr "Prefix buffer moet op de heap zijn"
|
|||
#: main.c
|
||||
msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
||||
msgstr ""
|
||||
"Druk een willekeurige toets om de REPL te starten. Gebruik CTRL+D om te "
|
||||
"herstarten.\n"
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -1769,7 +1790,7 @@ msgstr "Geef op zijn minst 1 UART pin op"
|
|||
|
||||
#: shared-bindings/alarm/time/TimeAlarm.c
|
||||
msgid "Supply one of monotonic_time or epoch_time"
|
||||
msgstr ""
|
||||
msgstr "Geef monotonic_time of epoch_time"
|
||||
|
||||
#: shared-bindings/gnss/GNSS.c
|
||||
msgid "System entry must be gnss.SatelliteSystem"
|
||||
|
@ -1844,7 +1865,7 @@ msgstr "Tile breedte moet exact de bitmap breedte verdelen"
|
|||
|
||||
#: shared-bindings/alarm/time/TimeAlarm.c
|
||||
msgid "Time is in the past."
|
||||
msgstr ""
|
||||
msgstr "Tijdstip ligt in het verleden."
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
#, c-format
|
||||
|
@ -1959,7 +1980,7 @@ msgstr "Niet in staat om naar nvm te schrijven."
|
|||
|
||||
#: shared-bindings/alarm/SleepMemory.c
|
||||
msgid "Unable to write to sleep_memory."
|
||||
msgstr ""
|
||||
msgstr "Kan niet naar sleep_memory schrijven."
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/UUID.c
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
|
@ -2027,6 +2048,10 @@ msgstr "Niet-ondersteunde operatie"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "Niet-ondersteunde pull-waarde."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr "Update Mislukt"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -2094,7 +2119,7 @@ msgstr "WiFi wachtwoord moet tussen 8 en 63 karakters bevatten"
|
|||
|
||||
#: main.c
|
||||
msgid "Woken up by alarm.\n"
|
||||
msgstr ""
|
||||
msgstr "Gewekt door alarm.\n"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
msgid "Writes not supported on Characteristic"
|
||||
|
@ -2151,7 +2176,7 @@ msgstr "argsort argument moet een ndarray zijn"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "argsort is not implemented for flattened arrays"
|
||||
msgstr ""
|
||||
msgstr "argsort wordt niet geïmplementeerd voor vlakke arrays"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "argument has wrong type"
|
||||
|
@ -2176,7 +2201,7 @@ msgstr "argumenten moeten ndarrays zijn"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "array and index length must be equal"
|
||||
msgstr ""
|
||||
msgstr "array en indexlengte moeten gelijk zijn"
|
||||
|
||||
#: py/objarray.c shared-bindings/alarm/SleepMemory.c
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
|
@ -2185,7 +2210,7 @@ msgstr "array/bytes vereist aan de rechterkant"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "attempt to get (arg)min/(arg)max of empty sequence"
|
||||
msgstr ""
|
||||
msgstr "verzoek om (arg)min.(arg)max te krijgen van lege reeks"
|
||||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "attempt to get argmin/argmax of an empty sequence"
|
||||
|
@ -2197,15 +2222,15 @@ msgstr "attributen nog niet ondersteund"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "axis is out of bounds"
|
||||
msgstr ""
|
||||
msgstr "as is buiten bereik"
|
||||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "axis must be None, or an integer"
|
||||
msgstr ""
|
||||
msgstr "as moet None of een integer zijn"
|
||||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "axis too long"
|
||||
msgstr ""
|
||||
msgstr "as te lang"
|
||||
|
||||
#: py/builtinevex.c
|
||||
msgid "bad compile mode"
|
||||
|
@ -2411,7 +2436,7 @@ msgstr "kan niet schakelen tussen handmatige en automatische veld specificatie"
|
|||
|
||||
#: extmod/ulab/code/ndarray_operators.c
|
||||
msgid "cannot cast output with casting rule"
|
||||
msgstr ""
|
||||
msgstr "kan uitvoer niet converteren zonder conversieregel"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "cannot create '%q' instances"
|
||||
|
@ -2512,7 +2537,7 @@ msgstr "kon SD kaart versie niet bepalen"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "cross is defined for 1D arrays of length 3"
|
||||
msgstr ""
|
||||
msgstr "kruis wordt gedefinieerd voor 1D-arrays van lengte 3"
|
||||
|
||||
#: extmod/ulab/code/approx/approx.c
|
||||
msgid "data must be iterable"
|
||||
|
@ -2555,7 +2580,7 @@ msgstr "diff argument moet een ndarray zijn"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "differentiation order out of range"
|
||||
msgstr ""
|
||||
msgstr "differentiatievolgorde buiten bereik"
|
||||
|
||||
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
|
||||
#: shared-bindings/math/__init__.c
|
||||
|
@ -2588,7 +2613,7 @@ msgstr "end_x moet een int zijn"
|
|||
|
||||
#: shared-bindings/alarm/time/TimeAlarm.c
|
||||
msgid "epoch_time not supported on this board"
|
||||
msgstr ""
|
||||
msgstr "epoch_time niet ondersteund op dit bord"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
#, c-format
|
||||
|
@ -2678,7 +2703,7 @@ msgstr "eerste argument moet een functie zijn"
|
|||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "first argument must be a tuple of ndarrays"
|
||||
msgstr ""
|
||||
msgstr "eerste argument moet een tupel van ndarrays zijn"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "first argument must be an iterable"
|
||||
|
@ -2735,7 +2760,7 @@ msgstr "functie heeft hetzelfde teken aan beide uiteinden van het interval"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "function is defined for ndarrays only"
|
||||
msgstr ""
|
||||
msgstr "functie is alleen gedefinieerd voor ndarrays"
|
||||
|
||||
#: py/argcheck.c
|
||||
#, c-format
|
||||
|
@ -2832,7 +2857,7 @@ msgstr "inline assembler moet een functie zijn"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "input and output shapes are not compatible"
|
||||
msgstr ""
|
||||
msgstr "in- en uitvoervormen zijn niet compatibel"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "input argument must be an integer or a 2-tuple"
|
||||
|
@ -2844,7 +2869,7 @@ msgstr "invoer array lengte moet een macht van 2 zijn"
|
|||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "input arrays are not compatible"
|
||||
msgstr ""
|
||||
msgstr "input arrays zijn niet compatibel"
|
||||
|
||||
#: extmod/ulab/code/poly/poly.c
|
||||
msgid "input data must be an iterable"
|
||||
|
@ -2860,19 +2885,19 @@ msgstr "invoermatrix is singulier"
|
|||
|
||||
#: extmod/ulab/code/user/user.c
|
||||
msgid "input must be a dense ndarray"
|
||||
msgstr ""
|
||||
msgstr "invoer moet een gesloten ndarray zijn"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "input must be a tensor of rank 2"
|
||||
msgstr ""
|
||||
msgstr "invoer moet een tensor van rang 2 zijn"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/user/user.c
|
||||
msgid "input must be an ndarray"
|
||||
msgstr ""
|
||||
msgstr "invoer moet een ndarray zijn"
|
||||
|
||||
#: extmod/ulab/code/filter/filter.c
|
||||
msgid "input must be one-dimensional"
|
||||
msgstr ""
|
||||
msgstr "invoer moet eendimensionaal zijn"
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "input must be square matrix"
|
||||
|
@ -2888,7 +2913,7 @@ msgstr "invoervectors moeten van gelijke lengte zijn"
|
|||
|
||||
#: extmod/ulab/code/poly/poly.c
|
||||
msgid "inputs are not iterable"
|
||||
msgstr ""
|
||||
msgstr "invoer is niet itereerbaar"
|
||||
|
||||
#: py/parsenum.c
|
||||
msgid "int() arg 2 must be >= 2 and <= 36"
|
||||
|
@ -2962,7 +2987,7 @@ msgstr "ongeldige syntax voor nummer"
|
|||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "io must be rtc io"
|
||||
msgstr ""
|
||||
msgstr "io moet rtc io zijn"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
|
@ -3033,7 +3058,7 @@ msgstr "long int wordt niet ondersteund in deze build"
|
|||
|
||||
#: ports/esp32s2/common-hal/canio/CAN.c
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
msgstr "loopback + silent mode wordt niet ondersteund door randapparaat"
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
|
@ -3062,12 +3087,12 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr "max_length moet 0-%d zijn als fixed_length %s is"
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgstr "max_length moet >0 zijn"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "maximum number of dimensions is 4"
|
||||
msgstr ""
|
||||
msgstr "maximaal aantal dimensies is 4"
|
||||
|
||||
#: py/runtime.c
|
||||
msgid "maximum recursion depth exceeded"
|
||||
|
@ -3075,11 +3100,11 @@ msgstr "maximale recursiediepte overschreden"
|
|||
|
||||
#: extmod/ulab/code/approx/approx.c
|
||||
msgid "maxiter must be > 0"
|
||||
msgstr ""
|
||||
msgstr "maxiter moet groter dan 0 zijn"
|
||||
|
||||
#: extmod/ulab/code/approx/approx.c
|
||||
msgid "maxiter should be > 0"
|
||||
msgstr ""
|
||||
msgstr "maxiter moet groter dan 0 zijn"
|
||||
|
||||
#: py/runtime.c
|
||||
#, c-format
|
||||
|
@ -3200,9 +3225,17 @@ msgstr "niet-trefwoord argument na */**"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "niet-trefwoord argument na trefwoord argument"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
msgstr "norm is gedefinieerd voor 1D en 2D arrays"
|
||||
|
||||
#: shared-bindings/_bleio/UUID.c
|
||||
msgid "not a 128-bit UUID"
|
||||
|
@ -3270,7 +3303,11 @@ msgstr "string met oneven lengte"
|
|||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
msgstr "compensatie is te groot"
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr "compensatie moet groter of gelijk 0 zijn"
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
|
@ -3296,11 +3333,11 @@ msgstr "operands konden niet samen verzonden worden"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "operation is implemented for 1D Boolean arrays only"
|
||||
msgstr ""
|
||||
msgstr "operatie is alleen geïmplementeerd voor 1D Booleaanse arrays"
|
||||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "operation is not implemented for flattened array"
|
||||
msgstr ""
|
||||
msgstr "operatie is niet geïmplementeerd voor vlakke array"
|
||||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "operation is not implemented on ndarrays"
|
||||
|
@ -3439,7 +3476,7 @@ msgstr "gevraagde lengte is %d maar object heeft lengte %d"
|
|||
|
||||
#: extmod/ulab/code/ndarray_operators.c
|
||||
msgid "results cannot be cast to specified type"
|
||||
msgstr ""
|
||||
msgstr "resultaat kan niet naar gespecificeerd type geconverteerd worden"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "return annotation must be an identifier"
|
||||
|
@ -3461,7 +3498,7 @@ msgstr "rgb_pins[%d] bevindt zich niet op dezelfde poort als klok"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "roll argument must be an ndarray"
|
||||
msgstr ""
|
||||
msgstr "roll argument moet een ndarray zijn"
|
||||
|
||||
#: py/objstr.c
|
||||
msgid "rsplit(None,n)"
|
||||
|
@ -3489,7 +3526,7 @@ msgstr "scriptcompilatie wordt niet ondersteund"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "shape must be a tuple"
|
||||
msgstr ""
|
||||
msgstr "vorm moet een tupel zijn"
|
||||
|
||||
#: py/objstr.c
|
||||
msgid "sign not allowed in string format specifier"
|
||||
|
@ -3620,6 +3657,10 @@ msgstr "time-outduur is groter dan de ondersteunde maximale waarde"
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr "timeout moet tussen 0.0 en 100.0 seconden zijn"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "timeout moet groter dan 0.0 zijn"
|
||||
|
@ -3638,7 +3679,7 @@ msgstr "timestamp buiten bereik voor platform time_t"
|
|||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "tobytes can be invoked for dense arrays only"
|
||||
msgstr ""
|
||||
msgstr "tobytes kunnen alleen ingeroepen worden voor gesloten arrays"
|
||||
|
||||
#: shared-module/struct/__init__.c
|
||||
msgid "too many arguments provided with the given format"
|
||||
|
@ -3659,7 +3700,7 @@ msgstr "trapz is gedefinieerd voor eendimensionale arrays van gelijke lengte"
|
|||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "trigger level must be 0 or 1"
|
||||
msgstr ""
|
||||
msgstr "triggerniveau moet 0 of 1 zijn"
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "tuple index out of range"
|
||||
|
@ -3672,12 +3713,12 @@ msgstr "tuple of lijst heeft onjuiste lengte"
|
|||
#: ports/esp32s2/common-hal/canio/CAN.c
|
||||
#, c-format
|
||||
msgid "twai_driver_install returned esp-idf error #%d"
|
||||
msgstr ""
|
||||
msgstr "twai_driver_install geeft esp-idf fout #%d"
|
||||
|
||||
#: ports/esp32s2/common-hal/canio/CAN.c
|
||||
#, c-format
|
||||
msgid "twai_start returned esp-idf error #%d"
|
||||
msgstr ""
|
||||
msgstr "twai_start geeft esp-idf error #%d"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
|
@ -3805,11 +3846,11 @@ msgstr "vectoren moeten van gelijke lengte zijn"
|
|||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||
msgid "wakeup conflict"
|
||||
msgstr ""
|
||||
msgstr "conflict bij ontwaken"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog not initialized"
|
||||
msgstr ""
|
||||
msgstr "watchdog niet geïnitialiseerd"
|
||||
|
||||
#: shared-bindings/watchdog/WatchDogTimer.c
|
||||
msgid "watchdog timeout must be greater than 0"
|
||||
|
@ -3825,11 +3866,11 @@ msgstr "window moet <= interval zijn"
|
|||
|
||||
#: extmod/ulab/code/numerical/numerical.c
|
||||
msgid "wrong axis index"
|
||||
msgstr ""
|
||||
msgstr "foute index voor as"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c
|
||||
msgid "wrong axis specified"
|
||||
msgstr ""
|
||||
msgstr "onjuiste as gespecificeerd"
|
||||
|
||||
#: extmod/ulab/code/vector/vectorise.c
|
||||
msgid "wrong input type"
|
||||
|
@ -3879,6 +3920,28 @@ 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 ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Code is uitgevoerd. Wachten op herladen.\n"
|
||||
|
||||
#~ msgid "PinAlarm not yet implemented"
|
||||
#~ msgstr "PinAlarm nog niet geïmplementeerd"
|
||||
|
||||
#~ msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Simuleert diepe slaapstand tot alarm, een willekeurige toets of schrijven "
|
||||
#~ "naar bestand.\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr ""
|
||||
#~ "De vastgelegde frequentie is boven de capaciteit. Vastleggen gepauzeerd."
|
||||
|
||||
#~ msgid "max_length must be > 0"
|
||||
#~ msgstr "max_length moet >0 zijn"
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr ""
|
||||
#~ "Druk een willekeurige toets om de REPL te starten. Gebruik CTRL+D om te "
|
||||
|
|
83
locale/pl.po
83
locale/pl.po
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-12-02 20:29+0000\n"
|
||||
"Last-Translator: Maciej Stankiewicz <tawezik@gmail.com>\n"
|
||||
"Language-Team: pl\n"
|
||||
|
@ -21,10 +21,14 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Kod wykonany. Czekam na przeładowanie.\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -542,6 +546,18 @@ msgstr "Bloki CBC muszą być wielokrotnościami 16 bajtów"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
|
@ -574,6 +590,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Nie można mieć obu kanałów na tej samej nóżce"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Nie można czytać bez nóżki MISO."
|
||||
|
@ -617,6 +637,10 @@ msgstr "Wielkość skalara jest niejednoznaczna"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr "Nie można zmieniać częstotliwości timera, który jest już używany"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Nie można pisać bez nóżki MOSI."
|
||||
|
@ -948,6 +972,10 @@ msgstr "Plik istnieje"
|
|||
msgid "Filters too complex"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "Nie wspierany format"
|
||||
|
@ -957,10 +985,6 @@ msgstr "Nie wspierany format"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr "Bufor ramki wymaga %d bajtów"
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr "Uzyskana częstotliwość jest niemożliwa. Spauzowano."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1473,7 +1497,7 @@ msgid ""
|
|||
"%d bpp given"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1535,10 +1559,6 @@ msgstr "Pin musi obsługiwać przerwania sprzętowe"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1579,7 +1599,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -1998,6 +2018,10 @@ msgstr "Zła operacja"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "Zła wartość podciągnięcia."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3023,8 +3047,8 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgstr "max_length musi być > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "maximum number of dimensions is 4"
|
||||
|
@ -3161,6 +3185,14 @@ msgstr "argument nienazwany po */**"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "argument nienazwany po nazwanym"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3233,6 +3265,10 @@ msgstr "łańcuch o nieparzystej długości"
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr "offset poza zakresem"
|
||||
|
@ -3580,6 +3616,10 @@ msgstr ""
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "timeout musi być >= 0.0"
|
||||
|
@ -3839,6 +3879,19 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Kod wykonany. Czekam na przeładowanie.\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr "Uzyskana częstotliwość jest niemożliwa. Spauzowano."
|
||||
|
||||
#~ msgid "max_length must be > 0"
|
||||
#~ msgstr "max_length musi być > 0"
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr "Dowolny klawisz aby uruchomić konsolę. CTRL-D aby przeładować."
|
||||
|
||||
|
|
110
locale/pt_BR.po
110
locale/pt_BR.po
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"PO-Revision-Date: 2020-12-16 17:00+0000\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-12-29 16:08+0000\n"
|
||||
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt_BR\n"
|
||||
|
@ -14,15 +14,23 @@ msgstr ""
|
|||
"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.4-dev\n"
|
||||
"X-Generator: Weblate 4.4.1-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"O código concluiu a execução. Esperando pela recarga.\n"
|
||||
"O código concluiu a sua execução.\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"O código parou através do auto-reload.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -548,6 +556,21 @@ msgstr "Os blocos CBC devem ter múltiplos de 16 bytes"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr "Chame super().__init__() antes de acessar o objeto nativo."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr "O alarme só pode acontecer no RTC IO a partir do deep sleep."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
"O alarme só pode acontecer em um pino com nível baixo enquanto os outros "
|
||||
"alarmes só com nível alto a partir do deep sleep."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
"O alarme só é possível nos dois pinos com sinal baixo a partir do deep sleep."
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Não é possível definir o CCCD com a característica local"
|
||||
|
@ -566,7 +589,7 @@ msgstr "Não é possível excluir valores"
|
|||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Não é possível obter pull enquanto está modo de saída"
|
||||
msgstr "Não é possível obter (pull) enquanto estiver no modo saída"
|
||||
|
||||
#: ports/nrf/common-hal/microcontroller/Processor.c
|
||||
msgid "Cannot get temperature"
|
||||
|
@ -582,6 +605,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Não é possível emitir os dois canais no mesmo pino"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr "Não é possível obter (pull) nos pinos somente de entrada."
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Não é possível ler sem o pino MISO."
|
||||
|
@ -626,6 +653,10 @@ msgstr "Não é possível obter inequivocamente o tamanho do escalar"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr "Não é possível variar a frequência em um timer que já esteja em uso"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr "Não é possível acordar (wake) no pino edge. Nível apenas."
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Não é possível fazer a escrita sem um pino MOSI."
|
||||
|
@ -957,6 +988,10 @@ msgstr "Arquivo já existe"
|
|||
msgid "Filters too complex"
|
||||
msgstr "Os filtros são muito complexos"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr "A imagem do firmware é invalida"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "O formato não é suportado"
|
||||
|
@ -966,11 +1001,6 @@ msgstr "O formato não é suportado"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr "O Framebuffer requer %d bytes"
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr ""
|
||||
"A frequência capturada está acima da capacidade. A captura está em pausa."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr ""
|
||||
|
@ -1323,7 +1353,7 @@ msgstr "Nenhum DAC no chip"
|
|||
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
|
||||
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
|
||||
msgid "No DMA channel found"
|
||||
msgstr "Nenhum canal DMA encontrado"
|
||||
msgstr "Nenhum canal DMA foi encontrado"
|
||||
|
||||
#: shared-module/adafruit_bus_device/I2CDevice.c
|
||||
#, c-format
|
||||
|
@ -1488,7 +1518,7 @@ msgstr ""
|
|||
"São compatíveis apenas os BMPs monocromáticos, indexados em 4bpp ou 8bpp e "
|
||||
"16bpp ou superior: determinado %d bpp"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr "Apenas um alarme alarm.time pode ser definido."
|
||||
|
||||
|
@ -1554,10 +1584,6 @@ msgstr "O pino deve ser compatível com as interrupções do hardware"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "Número do PIN já está reservado através da EXTI"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr "PinAlarm ainda não foi implementado"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1608,9 +1634,9 @@ msgstr ""
|
|||
"Pressione qualquer tecla para entrar no REPL. Use CTRL-D para recarregar.\n"
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
"Simular o deep sleep até o alarme, até qualquer chave ou até a escrita do "
|
||||
"Tentando entrar no deep sleep até o alarme, pressione CTRL-C ou grave o "
|
||||
"arquivo.\n"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -2045,6 +2071,10 @@ msgstr "Operação não suportada"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "O valor pull não é compatível."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr "A atualização falou"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3085,8 +3115,8 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr "o max_length deve ser 0-%d quando Fixed_length for %s"
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgstr "max_length deve ser > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr "max_length deve ser >= 0"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "maximum number of dimensions is 4"
|
||||
|
@ -3225,6 +3255,14 @@ msgstr "um arg sem palavra-chave após */ **"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "um arg não-palavra-chave após a palavra-chave arg"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr "o tempo limite não zero deve ser > 0.01"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr "o tempo limite não zero deve ser >= intervalo"
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr "a norma é definida para matrizes 1D e 2D"
|
||||
|
@ -3297,6 +3335,10 @@ msgstr "sequência com comprimento ímpar"
|
|||
msgid "offset is too large"
|
||||
msgstr "o offset é muito grande"
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr "o offset deve ser >= 0"
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr "desvio fora dos limites"
|
||||
|
@ -3649,6 +3691,10 @@ msgstr "a duração do tempo limite excedeu o valor máximo suportado"
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr "o tempo limite deve ser entre 0.0 a 100.0 segundos"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr "o tempo limite deve ser < 655.35 seg"
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "o tempo limite deve ser >= 0,0"
|
||||
|
@ -3908,6 +3954,28 @@ 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 ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "O código concluiu a execução. Esperando pela recarga.\n"
|
||||
|
||||
#~ msgid "PinAlarm not yet implemented"
|
||||
#~ msgstr "PinAlarm ainda não foi implementado"
|
||||
|
||||
#~ msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
#~ msgstr ""
|
||||
#~ "Simular o deep sleep até o alarme, até qualquer chave ou até a escrita do "
|
||||
#~ "arquivo.\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr ""
|
||||
#~ "A frequência capturada está acima da capacidade. A captura está em pausa."
|
||||
|
||||
#~ msgid "max_length must be > 0"
|
||||
#~ msgstr "max_length deve ser > 0"
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr ""
|
||||
#~ "Pressione qualquer tecla para entrar no REPL. Use CTRL-D para recarregar."
|
||||
|
|
101
locale/sv.po
101
locale/sv.po
|
@ -5,8 +5,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"PO-Revision-Date: 2020-12-07 20:26+0000\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-12-28 17:59+0000\n"
|
||||
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: sv\n"
|
||||
|
@ -14,15 +14,19 @@ msgstr ""
|
|||
"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.4-dev\n"
|
||||
"X-Generator: Weblate 4.4.1-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Koden har kört klart. Väntar på omladdning.\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -540,6 +544,18 @@ msgstr "CBC-block måste vara multiplar om 16 byte"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr "Anropa super().__init__() innan du använder det ursprungliga objektet."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Kan inte ställa in CCCD på lokal karaktäristik"
|
||||
|
@ -573,6 +589,10 @@ msgstr ""
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Det går inte att mata ut båda kanalerna på samma pinne"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Kan inte läsa utan MISO-pinne."
|
||||
|
@ -617,6 +637,10 @@ msgstr "Kan inte entydigt få sizeof scalar"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr "Det går inte att ändra frekvensen på en timer som redan används"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Kan inte skriva utan MOSI-pinne."
|
||||
|
@ -948,6 +972,10 @@ msgstr "Filen finns redan"
|
|||
msgid "Filters too complex"
|
||||
msgstr "Filter för komplexa"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr "Firmware-avbilden är ogiltig"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "Formatet stöds inte"
|
||||
|
@ -957,10 +985,6 @@ msgstr "Formatet stöds inte"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr "Framebuffer kräver %d byte"
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr "Infångningsfrekvens är för hög. Infångning pausad."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr "Frekvensen måste matcha befintlig PWMOut med denna timer"
|
||||
|
@ -1096,7 +1120,7 @@ msgstr "Ogiltig PWM-frekvens"
|
|||
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
msgid "Invalid Pin"
|
||||
msgstr ""
|
||||
msgstr "Ogiltig pinne"
|
||||
|
||||
#: py/moduerrno.c shared-module/rgbmatrix/RGBMatrix.c
|
||||
msgid "Invalid argument"
|
||||
|
@ -1478,7 +1502,7 @@ msgstr ""
|
|||
"Endast monokrom, indexerad 4 bpp eller 8 bpp och 16 bpp eller högre BMP: er "
|
||||
"stöds: %d bpp angiven"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr "Endast ett alarm.time kan ställas in."
|
||||
|
||||
|
@ -1542,10 +1566,6 @@ msgstr "Pinnen måste stödja hårdvaruavbrott"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "PInn-nummer redan reserverat av EXTI"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr "PinAlarm är inte implementerat ännu"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1591,9 +1611,11 @@ msgstr "Prefixbufferten måste finnas på heap"
|
|||
#: main.c
|
||||
msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
||||
msgstr ""
|
||||
"Tryck på valfri tangent för att gå in i REPL. Använd CTRL-D för att ladda "
|
||||
"om.\n"
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -1956,7 +1978,7 @@ msgstr "Det gick inte att skriva till nvm."
|
|||
|
||||
#: shared-bindings/alarm/SleepMemory.c
|
||||
msgid "Unable to write to sleep_memory."
|
||||
msgstr ""
|
||||
msgstr "Det gick inte att skriva till sleep_memory."
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/UUID.c
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
|
@ -2024,6 +2046,10 @@ msgstr "Åtgärd som inte stöds"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "Ogiltigt Pull-värde."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr "Uppdateringen misslyckades"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -2088,7 +2114,7 @@ msgstr "WiFi-lösenord måste vara mellan 8 och 63 tecken"
|
|||
|
||||
#: main.c
|
||||
msgid "Woken up by alarm.\n"
|
||||
msgstr ""
|
||||
msgstr "Vaknade av larm.\n"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
|
||||
msgid "Writes not supported on Characteristic"
|
||||
|
@ -3056,8 +3082,8 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr "max_length måste vara 0-%d när fixed_length är %s"
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgstr "max_length måste vara > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr "max_length måste vara >= 0"
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "maximum number of dimensions is 4"
|
||||
|
@ -3194,6 +3220,14 @@ msgstr "icke nyckelord arg efter * / **"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "icke nyckelord arg efter nyckelord arg"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr "Icke-noll timeout måste vara > 0.01"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr "Icke-noll timeout måste vara >= intervall"
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr "norm är definierad för 1D- och 2D-matriser"
|
||||
|
@ -3266,6 +3300,10 @@ msgstr "sträng har udda längd"
|
|||
msgid "offset is too large"
|
||||
msgstr "offset är för stor"
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr "offset måste vara >= 0"
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr "offset utanför gränserna"
|
||||
|
@ -3614,6 +3652,10 @@ msgstr "timeout-längd överskred det maximala värde som stöds"
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr "timeout måste vara 0.0-100.0 sekunder"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr "timeout måste vara < 655,35 sekunder"
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "timeout måste vara >= 0.0"
|
||||
|
@ -3873,6 +3915,25 @@ 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 ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Koden har kört klart. Väntar på omladdning.\n"
|
||||
|
||||
#~ msgid "PinAlarm not yet implemented"
|
||||
#~ msgstr "PinAlarm är inte implementerat ännu"
|
||||
|
||||
#~ msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
#~ msgstr "Fingerar djup sömn tills larm, valfri tangent eller filskrivning.\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr "Infångningsfrekvens är för hög. Infångning pausad."
|
||||
|
||||
#~ msgid "max_length must be > 0"
|
||||
#~ msgstr "max_length måste vara > 0"
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr ""
|
||||
#~ "Tryck på valfri knapp för att gå in i REPL. Använd CTRL-D för att ladda "
|
||||
|
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: circuitpython-cn\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-12-14 12:59-0500\n"
|
||||
"POT-Creation-Date: 2020-12-23 23:04-0500\n"
|
||||
"PO-Revision-Date: 2020-11-19 01:28+0000\n"
|
||||
"Last-Translator: hexthat <hexthat@gmail.com>\n"
|
||||
"Language-Team: Chinese Hanyu Pinyin\n"
|
||||
|
@ -20,10 +20,14 @@ msgstr ""
|
|||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Dàimǎ yǐ wánchéng yùnxíng. Zhèngzài děngdài chóngxīn jiāzài.\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
|
@ -542,6 +546,18 @@ msgstr "CBC kuài bì xū shì 16 zì jié de bèi shù"
|
|||
msgid "Call super().__init__() before accessing native object."
|
||||
msgstr "Zài fǎngwèn běn jī wùjiàn zhīqián diàoyòng super().__init__()."
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on RTC IO from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Wúfǎ jiāng CCCD shèzhì wéi běndì tèzhēng"
|
||||
|
@ -574,6 +590,10 @@ msgstr "Nín wúfǎ sǎomiáo kuòzhǎn de, kě liánjiē de guǎnggào."
|
|||
msgid "Cannot output both channels on the same pin"
|
||||
msgstr "Wúfǎ shūchū tóng yīgè yǐn jiǎo shàng de liǎng gè píndào"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot pull on input-only pin."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot read without MISO pin."
|
||||
msgstr "Wúfǎ dòu qǔ méiyǒu MISO de yǐn jiǎo."
|
||||
|
@ -617,6 +637,10 @@ msgstr "Wúfǎ míngquè de huòdé biāoliàng de dàxiǎo"
|
|||
msgid "Cannot vary frequency on a timer that is already in use"
|
||||
msgstr "Wúfǎ gēnggǎi yǐ zài shǐyòng de jìshí qì shàng de pínlǜ"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
|
||||
msgid "Cannot wake on pin edge. Only level."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Cannot write without MOSI pin."
|
||||
msgstr "Wúfǎ xiě rù MOSI de yǐn jiǎo."
|
||||
|
@ -946,6 +970,10 @@ msgstr "Wénjiàn cúnzài"
|
|||
msgid "Filters too complex"
|
||||
msgstr "guò lǜ qì tài fù zá"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
msgstr "Bù zhīyuán géshì"
|
||||
|
@ -955,10 +983,6 @@ msgstr "Bù zhīyuán géshì"
|
|||
msgid "Framebuffer requires %d bytes"
|
||||
msgstr "zhēn huǎn chōng qū xū yào %d zì jié"
|
||||
|
||||
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
|
||||
msgid "Frequency captured is above capability. Capture Paused."
|
||||
msgstr "Pínlǜ bǔhuò gāo yú nénglì. Bǔhuò zàntíng."
|
||||
|
||||
#: ports/stm/common-hal/pwmio/PWMOut.c
|
||||
msgid "Frequency must match existing PWMOut using this timer"
|
||||
msgstr "Pínlǜ bìxū yǔ shǐyòng cǐ jìshí qì de xiàn yǒu PWMOut xiāng pǐpèi"
|
||||
|
@ -1475,7 +1499,7 @@ msgstr ""
|
|||
"Jǐn zhīchí dān sè, suǒyǐn wéi 4bpp huò 8bpp yǐjí 16bpp huò gèng gāo de BMP: "
|
||||
"Gěi chū %d bpp"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
#: ports/esp32s2/common-hal/alarm/time/TimeAlarm.c
|
||||
msgid "Only one alarm.time alarm can be set."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1538,10 +1562,6 @@ msgstr "Yǐn jiǎo bìxū zhīchí yìngjiàn zhōngduàn"
|
|||
msgid "Pin number already reserved by EXTI"
|
||||
msgstr "Zhēn hào yǐ bèi EXTI bǎoliú"
|
||||
|
||||
#: ports/esp32s2/common-hal/alarm/__init__.c
|
||||
msgid "PinAlarm not yet implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
#, c-format
|
||||
msgid ""
|
||||
|
@ -1586,7 +1606,7 @@ msgid "Press any key to enter the REPL. Use CTRL-D to reload.\n"
|
|||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Pretending to deep sleep until alarm, any key or file write.\n"
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
|
@ -2016,6 +2036,10 @@ msgstr "Bù zhīchí de cāozuò"
|
|||
msgid "Unsupported pull value."
|
||||
msgstr "Bù zhīchí de lādòng zhí."
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Update Failed"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Descriptor.c
|
||||
msgid "Value length != required fixed length"
|
||||
|
@ -3047,8 +3071,8 @@ msgid "max_length must be 0-%d when fixed_length is %s"
|
|||
msgstr "Dāng gùdìng chángdù wèi %s shí, zuìdà chángdù bìxū wèi 0-%d"
|
||||
|
||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||
msgid "max_length must be > 0"
|
||||
msgstr "Max_length bìxū > 0"
|
||||
msgid "max_length must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/ndarray.c
|
||||
msgid "maximum number of dimensions is 4"
|
||||
|
@ -3185,6 +3209,14 @@ msgstr "zài */** zhīhòu fēi guānjiàn cí cānshù"
|
|||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "guānjiàn zì cānshù zhīhòu de fēi guānjiàn zì cānshù"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be > 0.01"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "non-zero timeout must be >= interval"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/ulab/code/linalg/linalg.c
|
||||
msgid "norm is defined for 1D and 2D arrays"
|
||||
msgstr ""
|
||||
|
@ -3257,6 +3289,10 @@ msgstr "jīshù zìfú chuàn"
|
|||
msgid "offset is too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/dualbank/__init__.c
|
||||
msgid "offset must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objstr.c py/objstrunicode.c
|
||||
msgid "offset out of bounds"
|
||||
msgstr "piānlí biānjiè"
|
||||
|
@ -3604,6 +3640,10 @@ msgstr "chāoshí shíjiān chāoguò zuìdà zhīchí zhí"
|
|||
msgid "timeout must be 0.0-100.0 seconds"
|
||||
msgstr "Chāo shí shíjiān bìxū wèi 0.0 Dào 100.0 Miǎo"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "timeout must be < 655.35 secs"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||
msgid "timeout must be >= 0.0"
|
||||
msgstr "chāoshí bìxū shì >= 0.0"
|
||||
|
@ -3863,6 +3903,19 @@ 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 ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Dàimǎ yǐ wánchéng yùnxíng. Zhèngzài děngdài chóngxīn jiāzài.\n"
|
||||
|
||||
#~ msgid "Frequency captured is above capability. Capture Paused."
|
||||
#~ msgstr "Pínlǜ bǔhuò gāo yú nénglì. Bǔhuò zàntíng."
|
||||
|
||||
#~ msgid "max_length must be > 0"
|
||||
#~ msgstr "Max_length bìxū > 0"
|
||||
|
||||
#~ msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
#~ msgstr "Àn xià rènhé jiàn jìnrù REPL. Shǐyòng CTRL-D chóngxīn jiāzài."
|
||||
|
||||
|
|
29
main.c
29
main.c
|
@ -157,7 +157,7 @@ STATIC void start_mp(supervisor_allocation* heap) {
|
|||
|
||||
#if CIRCUITPY_ALARM
|
||||
// Record which alarm woke us up, if any. An object may be created so the heap must be functional.
|
||||
alarm_save_wakeup_alarm();
|
||||
alarm_save_wake_alarm();
|
||||
// Reset alarm module only after we retrieved the wakeup alarm.
|
||||
alarm_reset();
|
||||
#endif
|
||||
|
@ -260,10 +260,10 @@ STATIC void print_code_py_status_message(safe_mode_t safe_mode) {
|
|||
STATIC bool run_code_py(safe_mode_t safe_mode) {
|
||||
bool serial_connected_at_start = serial_connected();
|
||||
#if CIRCUITPY_AUTORELOAD_DELAY_MS > 0
|
||||
if (serial_connected_at_start) {
|
||||
serial_write("\n");
|
||||
print_code_py_status_message(safe_mode);
|
||||
}
|
||||
serial_write("\n");
|
||||
print_code_py_status_message(safe_mode);
|
||||
print_safe_mode_message(safe_mode);
|
||||
serial_write("\n");
|
||||
#endif
|
||||
|
||||
pyexec_result_t result;
|
||||
|
@ -307,16 +307,17 @@ STATIC bool run_code_py(safe_mode_t safe_mode) {
|
|||
if (result.return_code & PYEXEC_FORCED_EXIT) {
|
||||
return reload_requested;
|
||||
}
|
||||
|
||||
if (reload_requested && result.return_code == PYEXEC_EXCEPTION) {
|
||||
serial_write_compressed(translate("\nCode stopped by auto-reload.\n"));
|
||||
} else {
|
||||
serial_write_compressed(translate("\nCode done running.\n"));
|
||||
}
|
||||
}
|
||||
|
||||
// Program has finished running.
|
||||
|
||||
// Display a different completion message if the user has no USB attached (cannot save files)
|
||||
if (!serial_connected_at_start) {
|
||||
serial_write_compressed(translate("\nCode done running. Waiting for reload.\n"));
|
||||
}
|
||||
|
||||
bool serial_connected_before_animation = false;
|
||||
bool serial_connected_before_animation = serial_connected();
|
||||
#if CIRCUITPY_DISPLAYIO
|
||||
bool refreshed_epaper_display = false;
|
||||
#endif
|
||||
|
@ -409,7 +410,7 @@ STATIC bool run_code_py(safe_mode_t safe_mode) {
|
|||
alarm_enter_deep_sleep();
|
||||
// Does not return.
|
||||
} else {
|
||||
serial_write_compressed(translate("Pretending to deep sleep until alarm, any key or file write.\n"));
|
||||
serial_write_compressed(translate("Pretending to deep sleep until alarm, CTRL-C or file write.\n"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -615,6 +616,10 @@ void gc_collect(void) {
|
|||
|
||||
background_callback_gc_collect();
|
||||
|
||||
#if CIRCUITPY_ALARM
|
||||
common_hal_alarm_gc_collect();
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_DISPLAYIO
|
||||
displayio_gc_collect();
|
||||
#endif
|
||||
|
|
|
@ -22,6 +22,7 @@ CIRCUITPY_GAMEPAD = 1
|
|||
CIRCUITPY_BUSDEVICE = 1
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
||||
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ADXL34x
|
||||
|
|
|
@ -20,6 +20,7 @@ CIRCUITPY_GAMEPAD = 0
|
|||
CFLAGS_INLINE_LIMIT = 50
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Crickit
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Motor
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
|
|
|
@ -28,4 +28,5 @@ CFLAGS_INLINE_LIMIT = 35
|
|||
SUPEROPT_GC = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM69
|
||||
|
|
|
@ -29,4 +29,5 @@ CFLAGS_INLINE_LIMIT = 35
|
|||
SUPEROPT_GC = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM9x
|
||||
|
|
|
@ -27,6 +27,7 @@ CFLAGS_INLINE_LIMIT = 55
|
|||
SUPEROPT_GC = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ CIRCUITPY_GAMEPAD = 0
|
|||
CIRCUITPY_RGBMATRIX = 0
|
||||
CIRCUITPY_PS2IO = 0
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
||||
|
|
|
@ -21,6 +21,7 @@ CIRCUITPY_GAMEPAD = 0
|
|||
CIRCUITPY_RGBMATRIX = 0
|
||||
CIRCUITPY_PS2IO = 0
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
||||
|
|
|
@ -13,4 +13,5 @@ LONGINT_IMPL = MPZ
|
|||
CIRCUITPY_AUDIOBUSIO = 0
|
||||
CIRCUITPY_USTACK = 1
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
|
|
|
@ -24,3 +24,4 @@ CIRCUITPY_TOUCHIO=0
|
|||
CIRCUITPY_BUSDEVICE=1
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
|
|
|
@ -27,4 +27,5 @@ CIRCUITPY_COUNTIO=0
|
|||
CIRCUITPY_BUSDEVICE=1
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
||||
|
|
|
@ -197,7 +197,7 @@ void common_hal_audioio_audioout_construct(audioio_audioout_obj_t* self,
|
|||
#endif
|
||||
#ifdef SAM_D5X_E5X
|
||||
DAC->EVCTRL.reg |= DAC_EVCTRL_STARTEI0;
|
||||
DAC->DACCTRL[0].reg = DAC_DACCTRL_CCTRL_CC100K |
|
||||
DAC->DACCTRL[0].reg = DAC_DACCTRL_CCTRL_CC12M |
|
||||
DAC_DACCTRL_ENABLE |
|
||||
DAC_DACCTRL_LEFTADJ;
|
||||
DAC->CTRLB.reg = DAC_CTRLB_REFSEL_VREFPU;
|
||||
|
@ -206,7 +206,7 @@ void common_hal_audioio_audioout_construct(audioio_audioout_obj_t* self,
|
|||
#ifdef SAM_D5X_E5X
|
||||
if (channel1_enabled) {
|
||||
DAC->EVCTRL.reg |= DAC_EVCTRL_STARTEI1;
|
||||
DAC->DACCTRL[1].reg = DAC_DACCTRL_CCTRL_CC100K |
|
||||
DAC->DACCTRL[1].reg = DAC_DACCTRL_CCTRL_CC12M |
|
||||
DAC_DACCTRL_ENABLE |
|
||||
DAC_DACCTRL_LEFTADJ;
|
||||
DAC->CTRLB.reg = DAC_CTRLB_REFSEL_VREFPU;
|
||||
|
|
|
@ -82,7 +82,8 @@ void frequencyin_emergency_cancel_capture(uint8_t index) {
|
|||
#ifdef SAM_D5X_E5X
|
||||
NVIC_EnableIRQ(EIC_0_IRQn + self->channel);
|
||||
#endif
|
||||
mp_raise_RuntimeError(translate("Frequency captured is above capability. Capture Paused."));
|
||||
// Frequency captured is above capability. Capture paused.
|
||||
// We can't raise an error here; we're in an interrupt handler.
|
||||
}
|
||||
|
||||
void frequencyin_interrupt_handler(uint8_t index) {
|
||||
|
|
|
@ -169,6 +169,9 @@ void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
|
|||
}
|
||||
|
||||
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
|
||||
if (pin == NULL) {
|
||||
return;
|
||||
}
|
||||
reset_pin_number(pin->number);
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,6 @@ LDFLAGS += -L$(BUILD)/esp-idf/esp-idf/esp32s2 \
|
|||
-Tesp32s2.peripherals.ld \
|
||||
-Lesp-idf/components/esp_rom/esp32s2/ld \
|
||||
-Tesp32s2.rom.ld \
|
||||
-Tesp32s2.rom.api.ld \
|
||||
-Tesp32s2.rom.libgcc.ld \
|
||||
-Tesp32s2.rom.newlib-data.ld \
|
||||
-Tesp32s2.rom.newlib-funcs.ld \
|
||||
|
@ -194,6 +193,7 @@ SRC_C += \
|
|||
lib/utils/sys_stdio_mphal.c \
|
||||
lib/netutils/netutils.c \
|
||||
peripherals/timer.c \
|
||||
peripherals/touch.c \
|
||||
peripherals/pcnt.c \
|
||||
peripherals/pins.c \
|
||||
peripherals/rmt.c \
|
||||
|
@ -278,7 +278,7 @@ menuconfig: $(BUILD)/esp-idf/config
|
|||
# qstr builds include headers so we need to make sure they are up to date
|
||||
$(HEADER_BUILD)/qstr.split: | $(BUILD)/esp-idf/config/sdkconfig.h
|
||||
|
||||
ESP_IDF_COMPONENTS_LINK = freertos log hal esp_system esp_adc_cal esp32s2 bootloader_support pthread esp_timer vfs spi_flash app_update esp_common esp32s2 heap newlib driver xtensa soc esp_ringbuf esp_wifi esp_event wpa_supplicant mbedtls efuse nvs_flash esp_netif lwip esp_rom esp-tls
|
||||
ESP_IDF_COMPONENTS_LINK = freertos log esp_system esp_adc_cal esp32s2 bootloader_support pthread esp_timer vfs spi_flash app_update esp_common esp32s2 heap newlib driver xtensa soc esp_ringbuf esp_wifi esp_event wpa_supplicant mbedtls efuse nvs_flash esp_netif lwip esp-tls
|
||||
|
||||
ESP_IDF_COMPONENTS_INCLUDE = driver freertos log soc
|
||||
|
||||
|
@ -290,11 +290,11 @@ ESP_IDF_WIFI_COMPONENTS_EXPANDED = $(foreach component, $(ESP_IDF_WIFI_COMPONENT
|
|||
MBEDTLS_COMPONENTS_LINK = crypto tls x509
|
||||
MBEDTLS_COMPONENTS_LINK_EXPANDED = $(foreach component, $(MBEDTLS_COMPONENTS_LINK), $(BUILD)/esp-idf/esp-idf/mbedtls/mbedtls/library/libmbed$(component).a)
|
||||
|
||||
BINARY_BLOBS = esp-idf/components/xtensa/esp32s2/libxt_hal.a
|
||||
BINARY_BLOBS = esp-idf/components/xtensa/esp32s2/libhal.a
|
||||
BINARY_WIFI_BLOBS = libcoexist.a libcore.a libespnow.a libmesh.a libnet80211.a libpp.a librtc.a libsmartconfig.a libphy.a
|
||||
BINARY_BLOBS += $(addprefix esp-idf/components/esp_wifi/lib/esp32s2/, $(BINARY_WIFI_BLOBS))
|
||||
|
||||
ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/soc/soc/esp32s2/libsoc_esp32s2.a esp-idf/components/xtensa/esp32s2/libxt_hal.a
|
||||
ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/soc/soc/esp32s2/libsoc_esp32s2.a
|
||||
ESP_AUTOGEN_LD = $(BUILD)/esp-idf/esp-idf/esp32s2/esp32s2_out.ld $(BUILD)/esp-idf/esp-idf/esp32s2/ld/esp32s2.project.ld
|
||||
|
||||
FLASH_FLAGS = --flash_mode $(CIRCUITPY_ESP_FLASH_MODE) --flash_freq $(CIRCUITPY_ESP_FLASH_FREQ) --flash_size $(CIRCUITPY_ESP_FLASH_SIZE)
|
||||
|
@ -310,7 +310,6 @@ esp-idf-stamp: $(BUILD)/esp-idf/config/sdkconfig.h
|
|||
esp-idf/esp32s2/ld/esp32s2.project.ld \
|
||||
esp-idf/esp_event/libesp_event.a \
|
||||
esp-idf/esp_netif/libesp_netif.a \
|
||||
esp-idf/esp_rom/libesp_rom.a \
|
||||
esp-idf/esp_system/libesp_system.a \
|
||||
esp-idf/esp_wifi/libesp_wifi.a \
|
||||
esp-idf/lwip/liblwip.a \
|
||||
|
@ -338,10 +337,10 @@ $(BUILD)/firmware.uf2: $(BUILD)/circuitpython-firmware.bin
|
|||
$(Q)$(PYTHON3) $(TOP)/tools/uf2/utils/uf2conv.py -f 0xbfdd4eee -b 0x0000 -c -o $@ $^
|
||||
|
||||
flash: $(BUILD)/firmware.bin
|
||||
esptool.py --chip esp32s2 -p $(PORT) --no-stub -b 460800 --before=default_reset --after=no_reset write_flash $(FLASH_FLAGS) 0x0000 $^
|
||||
esptool.py --chip esp32s2 -p $(PORT) -b 460800 --before=default_reset --after=no_reset write_flash $(FLASH_FLAGS) 0x0000 $^
|
||||
|
||||
flash-circuitpython-only: $(BUILD)/circuitpython-firmware.bin
|
||||
esptool.py --chip esp32s2 -p $(PORT) --no-stub -b 460800 --before=default_reset --after=no_reset write_flash $(FLASH_FLAGS) 0x10000 $^
|
||||
esptool.py --chip esp32s2 -p $(PORT) -b 460800 --before=default_reset --after=no_reset write_flash $(FLASH_FLAGS) 0x10000 $^
|
||||
|
||||
include $(TOP)/py/mkrules.mk
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ This port adds the ESP32-S2 line of modules from Espressif to Circuitpython. ESP
|
|||
- **bindings/** contains some required bindings to the ESP-IDF for exceptions and memory.
|
||||
- **boards/** contains the configuration files for each development board and breakout available on the port.
|
||||
- **common-hal/** contains the port-specific module implementations, used by shared-module and shared-bindings.
|
||||
- **esp-idf/** contains the Espressif IoT development framework installation, includign all the drivers for the port.
|
||||
- **esp-idf/** contains the Espressif IoT development framework installation, including all the drivers for the port.
|
||||
- **modules/** contains information specific to certain ESP32-S2 hardware modules, such as the pins used for flash and RAM on the WROVER and WROOM.
|
||||
- **peripherals/** contains peripheral setup files and peripheral mapping information, sorted by family and sub-variant. Most files in this directory can be generated with the python scripts in **tools/**.
|
||||
- **supervisor/** contains port-specific implementations of internal flash, serial and USB, as well as the **port.c** file, which initializes the port at startup.
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
//Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "MagTag"
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit MagTag"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO1)
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
//Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "Metro ESP32S2"
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit Metro ESP32S2"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO45)
|
||||
|
|
|
@ -25,23 +25,28 @@
|
|||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "py/gc.h"
|
||||
#include "py/obj.h"
|
||||
#include "py/objtuple.h"
|
||||
#include "py/runtime.h"
|
||||
|
||||
#include "shared-bindings/alarm/pin/PinAlarm.h"
|
||||
#include "shared-bindings/alarm/__init__.h"
|
||||
#include "shared-bindings/alarm/SleepMemory.h"
|
||||
#include "shared-bindings/alarm/pin/PinAlarm.h"
|
||||
#include "shared-bindings/alarm/time/TimeAlarm.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
#include "shared-bindings/alarm/touch/TouchAlarm.h"
|
||||
|
||||
#include "shared-bindings/wifi/__init__.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
|
||||
#include "supervisor/port.h"
|
||||
#include "supervisor/shared/workflow.h"
|
||||
|
||||
#include "common-hal/alarm/__init__.h"
|
||||
|
||||
#include "esp_sleep.h"
|
||||
|
||||
#include "components/soc/soc/esp32s2/include/soc/rtc_cntl_reg.h"
|
||||
#include "components/driver/include/driver/uart.h"
|
||||
|
||||
// Singleton instance of SleepMemory.
|
||||
const alarm_sleep_memory_obj_t alarm_sleep_memory_obj = {
|
||||
.base = {
|
||||
|
@ -49,18 +54,24 @@ const alarm_sleep_memory_obj_t alarm_sleep_memory_obj = {
|
|||
},
|
||||
};
|
||||
|
||||
|
||||
void alarm_reset(void) {
|
||||
alarm_time_timealarm_reset();
|
||||
alarm_sleep_memory_reset();
|
||||
alarm_pin_pinalarm_reset();
|
||||
alarm_time_timealarm_reset();
|
||||
alarm_touch_touchalarm_reset();
|
||||
esp_sleep_disable_wakeup_source(ESP_SLEEP_WAKEUP_ALL);
|
||||
}
|
||||
|
||||
STATIC esp_sleep_wakeup_cause_t _get_wakeup_cause(void) {
|
||||
if (alarm_pin_pinalarm_woke_us_up()) {
|
||||
return ESP_SLEEP_WAKEUP_GPIO;
|
||||
}
|
||||
if (alarm_time_timealarm_woke_us_up()) {
|
||||
return ESP_SLEEP_WAKEUP_TIMER;
|
||||
}
|
||||
|
||||
if (alarm_touch_touchalarm_woke_us_up()) {
|
||||
return ESP_SLEEP_WAKEUP_TOUCHPAD;
|
||||
}
|
||||
return esp_sleep_get_wakeup_cause();
|
||||
}
|
||||
|
||||
|
@ -69,19 +80,20 @@ bool alarm_woken_from_sleep(void) {
|
|||
}
|
||||
|
||||
STATIC mp_obj_t _get_wake_alarm(size_t n_alarms, const mp_obj_t *alarms) {
|
||||
switch (_get_wakeup_cause()) {
|
||||
esp_sleep_wakeup_cause_t cause = _get_wakeup_cause();
|
||||
switch (cause) {
|
||||
case ESP_SLEEP_WAKEUP_TIMER: {
|
||||
return alarm_time_timealarm_get_wakeup_alarm(n_alarms, alarms);
|
||||
}
|
||||
|
||||
case ESP_SLEEP_WAKEUP_EXT0: {
|
||||
// TODO: implement pin alarm wake.
|
||||
break;
|
||||
case ESP_SLEEP_WAKEUP_GPIO:
|
||||
case ESP_SLEEP_WAKEUP_EXT0:
|
||||
case ESP_SLEEP_WAKEUP_EXT1: {
|
||||
return alarm_pin_pinalarm_get_wakeup_alarm(n_alarms, alarms);
|
||||
}
|
||||
|
||||
case ESP_SLEEP_WAKEUP_TOUCHPAD:
|
||||
// TODO: implement TouchIO
|
||||
// Wake up from touch on pad, esp_sleep_get_touchpad_wakeup_status()
|
||||
return alarm_touch_touchalarm_get_wakeup_alarm(n_alarms, alarms);
|
||||
break;
|
||||
|
||||
case ESP_SLEEP_WAKEUP_UNDEFINED:
|
||||
|
@ -98,24 +110,9 @@ mp_obj_t common_hal_alarm_get_wake_alarm(void) {
|
|||
|
||||
// Set up light sleep or deep sleep alarms.
|
||||
STATIC void _setup_sleep_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms) {
|
||||
bool time_alarm_set = false;
|
||||
alarm_time_time_alarm_obj_t *time_alarm = MP_OBJ_NULL;
|
||||
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
if (MP_OBJ_IS_TYPE(alarms[i], &alarm_pin_pin_alarm_type)) {
|
||||
mp_raise_NotImplementedError(translate("PinAlarm not yet implemented"));
|
||||
} else if (MP_OBJ_IS_TYPE(alarms[i], &alarm_time_time_alarm_type)) {
|
||||
if (time_alarm_set) {
|
||||
mp_raise_ValueError(translate("Only one alarm.time alarm can be set."));
|
||||
}
|
||||
time_alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
time_alarm_set = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (time_alarm_set) {
|
||||
alarm_time_timealarm_set_alarm(time_alarm);
|
||||
}
|
||||
alarm_pin_pinalarm_set_alarms(deep_sleep, n_alarms, alarms);
|
||||
alarm_time_timealarm_set_alarms(deep_sleep, n_alarms, alarms);
|
||||
alarm_touch_touchalarm_set_alarm(deep_sleep, n_alarms, alarms);
|
||||
}
|
||||
|
||||
STATIC void _idle_until_alarm(void) {
|
||||
|
@ -124,28 +121,23 @@ STATIC void _idle_until_alarm(void) {
|
|||
RUN_BACKGROUND_TASKS;
|
||||
// Allow ctrl-C interrupt.
|
||||
if (alarm_woken_from_sleep()) {
|
||||
alarm_save_wake_alarm();
|
||||
return;
|
||||
}
|
||||
|
||||
port_idle_until_interrupt();
|
||||
}
|
||||
}
|
||||
|
||||
// Is it safe to do a light sleep? Check whether WiFi is on or there are
|
||||
// other ongoing tasks that should not be shut down.
|
||||
STATIC bool _light_sleep_ok(void) {
|
||||
return !common_hal_wifi_radio_get_enabled(&common_hal_wifi_radio_obj) && !supervisor_workflow_active();
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_alarm_light_sleep_until_alarms(size_t n_alarms, const mp_obj_t *alarms) {
|
||||
_setup_sleep_alarms(false, n_alarms, alarms);
|
||||
|
||||
// Light sleep can break some functionality so only do it when possible. Otherwise we idle.
|
||||
if (_light_sleep_ok()) {
|
||||
esp_light_sleep_start();
|
||||
} else {
|
||||
_idle_until_alarm();
|
||||
// We cannot esp_light_sleep_start() here because it shuts down all non-RTC peripherals.
|
||||
_idle_until_alarm();
|
||||
|
||||
if (mp_hal_is_interrupted()) {
|
||||
return mp_const_none; // Shouldn't be given to python code because exception handling should kick in.
|
||||
}
|
||||
|
||||
mp_obj_t wake_alarm = _get_wake_alarm(n_alarms, alarms);
|
||||
alarm_reset();
|
||||
return wake_alarm;
|
||||
|
@ -156,7 +148,13 @@ void common_hal_alarm_set_deep_sleep_alarms(size_t n_alarms, const mp_obj_t *ala
|
|||
}
|
||||
|
||||
void NORETURN alarm_enter_deep_sleep(void) {
|
||||
alarm_pin_pinalarm_prepare_for_deep_sleep();
|
||||
alarm_touch_touchalarm_prepare_for_deep_sleep();
|
||||
// The ESP-IDF caches the deep sleep settings and applies them before sleep.
|
||||
// We don't need to worry about resetting them in the interim.
|
||||
esp_deep_sleep_start();
|
||||
}
|
||||
|
||||
void common_hal_alarm_gc_collect(void) {
|
||||
gc_collect_ptr(alarm_get_wake_alarm());
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Dan Halbert for Adafruit Industries
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -24,30 +25,283 @@
|
|||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "esp_sleep.h"
|
||||
#include "py/runtime.h"
|
||||
|
||||
#include "shared-bindings/alarm/pin/PinAlarm.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "supervisor/esp_port.h"
|
||||
|
||||
void common_hal_alarm_pin_pin_alarm_construct(alarm_pin_pin_alarm_obj_t *self, mcu_pin_obj_t *pin, bool value, bool edge, bool pull) {
|
||||
#include "components/driver/include/driver/rtc_io.h"
|
||||
#include "components/esp32s2/include/esp_sleep.h"
|
||||
#include "components/freertos/include/freertos/FreeRTOS.h"
|
||||
#include "components/soc/src/esp32s2/include/hal/gpio_ll.h"
|
||||
#include "components/xtensa/include/esp_debug_helpers.h"
|
||||
|
||||
void common_hal_alarm_pin_pinalarm_construct(alarm_pin_pinalarm_obj_t *self, mcu_pin_obj_t *pin, bool value, bool edge, bool pull) {
|
||||
if (edge) {
|
||||
mp_raise_ValueError(translate("Cannot wake on pin edge. Only level."));
|
||||
}
|
||||
|
||||
if (pull && !GPIO_IS_VALID_OUTPUT_GPIO(pin->number)) {
|
||||
mp_raise_ValueError(translate("Cannot pull on input-only pin."));
|
||||
}
|
||||
self->pin = pin;
|
||||
self->value = value;
|
||||
self->edge = edge;
|
||||
self->pull = pull;
|
||||
}
|
||||
|
||||
mcu_pin_obj_t *common_hal_alarm_pin_pin_alarm_get_pin(alarm_pin_pin_alarm_obj_t *self) {
|
||||
mcu_pin_obj_t *common_hal_alarm_pin_pinalarm_get_pin(alarm_pin_pinalarm_obj_t *self) {
|
||||
return self->pin;
|
||||
}
|
||||
|
||||
bool common_hal_alarm_pin_pin_alarm_get_value(alarm_pin_pin_alarm_obj_t *self) {
|
||||
bool common_hal_alarm_pin_pinalarm_get_value(alarm_pin_pinalarm_obj_t *self) {
|
||||
return self->value;
|
||||
}
|
||||
|
||||
bool common_hal_alarm_pin_pin_alarm_get_edge(alarm_pin_pin_alarm_obj_t *self) {
|
||||
return self->edge;
|
||||
bool common_hal_alarm_pin_pinalarm_get_edge(alarm_pin_pinalarm_obj_t *self) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool common_hal_alarm_pin_pin_alarm_get_pull(alarm_pin_pin_alarm_obj_t *self) {
|
||||
bool common_hal_alarm_pin_pinalarm_get_pull(alarm_pin_pinalarm_obj_t *self) {
|
||||
return self->pull;
|
||||
}
|
||||
|
||||
gpio_isr_handle_t gpio_interrupt_handle;
|
||||
// Low and high are relative to pin number. 32+ is high. <32 is low.
|
||||
static volatile uint32_t pin_31_0_status = 0;
|
||||
static volatile uint32_t pin_63_32_status = 0;
|
||||
void gpio_interrupt(void *arg) {
|
||||
(void) arg;
|
||||
|
||||
gpio_ll_get_intr_status(&GPIO, xPortGetCoreID(), (uint32_t*) &pin_31_0_status);
|
||||
gpio_ll_clear_intr_status(&GPIO, pin_31_0_status);
|
||||
gpio_ll_get_intr_status_high(&GPIO, xPortGetCoreID(), (uint32_t*) &pin_63_32_status);
|
||||
gpio_ll_clear_intr_status_high(&GPIO, pin_63_32_status);
|
||||
|
||||
// disable the interrupts that fired, maybe all of them
|
||||
for (size_t i = 0; i < 32; i++) {
|
||||
uint32_t mask = 1 << i;
|
||||
if ((pin_31_0_status & mask) != 0) {
|
||||
gpio_ll_intr_disable(&GPIO, i);
|
||||
}
|
||||
if ((pin_63_32_status & mask) != 0) {
|
||||
gpio_ll_intr_disable(&GPIO, 32 + i);
|
||||
}
|
||||
}
|
||||
BaseType_t high_task_wakeup;
|
||||
vTaskNotifyGiveFromISR(circuitpython_task, &high_task_wakeup);
|
||||
if (high_task_wakeup) {
|
||||
portYIELD_FROM_ISR();
|
||||
}
|
||||
}
|
||||
|
||||
bool alarm_pin_pinalarm_woke_us_up(void) {
|
||||
return pin_31_0_status != 0 || pin_63_32_status != 0;
|
||||
}
|
||||
|
||||
mp_obj_t alarm_pin_pinalarm_get_wakeup_alarm(size_t n_alarms, const mp_obj_t *alarms) {
|
||||
// First, check to see if we match any given alarms.
|
||||
uint64_t pin_status = ((uint64_t) pin_63_32_status) << 32 | pin_31_0_status;
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
if (!MP_OBJ_IS_TYPE(alarms[i], &alarm_pin_pinalarm_type)) {
|
||||
continue;
|
||||
}
|
||||
alarm_pin_pinalarm_obj_t *alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
if ((pin_status & (1ull << alarm->pin->number)) != 0) {
|
||||
return alarms[i];
|
||||
}
|
||||
}
|
||||
esp_sleep_wakeup_cause_t cause = esp_sleep_get_wakeup_cause();
|
||||
size_t pin_number = 64;
|
||||
if (cause == ESP_SLEEP_WAKEUP_EXT0) {
|
||||
pin_number = REG_GET_FIELD(RTC_IO_EXT_WAKEUP0_REG, RTC_IO_EXT_WAKEUP0_SEL);
|
||||
} else {
|
||||
if (cause == ESP_SLEEP_WAKEUP_EXT1) {
|
||||
pin_status = esp_sleep_get_ext1_wakeup_status();
|
||||
}
|
||||
// If the cause is GPIO, we've already snagged pin_status in the interrupt.
|
||||
// We'll only get here if we pretended to deep sleep. Light sleep will
|
||||
// pass in existing objects.
|
||||
for (size_t i = 0; i < 64; i++) {
|
||||
if ((pin_status & (1ull << i)) != 0) {
|
||||
pin_number = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
alarm_pin_pinalarm_obj_t *alarm = m_new_obj(alarm_pin_pinalarm_obj_t);
|
||||
alarm->base.type = &alarm_pin_pinalarm_type;
|
||||
alarm->pin = NULL;
|
||||
// Map the pin number back to a pin object.
|
||||
for (size_t i = 0; i < mcu_pin_globals.map.used; i++) {
|
||||
const mcu_pin_obj_t* pin_obj = MP_OBJ_TO_PTR(mcu_pin_globals.map.table[i].value);
|
||||
if ((size_t) pin_obj->number == pin_number) {
|
||||
alarm->pin = mcu_pin_globals.map.table[i].value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return alarm;
|
||||
}
|
||||
|
||||
// These must be static because we need to configure pulls later, right before
|
||||
// deep sleep.
|
||||
static uint64_t high_alarms = 0;
|
||||
static uint64_t low_alarms = 0;
|
||||
static uint64_t pull_pins = 0;
|
||||
|
||||
void alarm_pin_pinalarm_reset(void) {
|
||||
if (gpio_interrupt_handle != NULL) {
|
||||
esp_intr_free(gpio_interrupt_handle);
|
||||
gpio_interrupt_handle = NULL;
|
||||
}
|
||||
for (size_t i = 0; i < 64; i++) {
|
||||
uint64_t mask = 1ull << i;
|
||||
bool high = (high_alarms & mask) != 0;
|
||||
bool low = (low_alarms & mask) != 0;
|
||||
if (!(high || low)) {
|
||||
continue;
|
||||
}
|
||||
reset_pin_number(i);
|
||||
}
|
||||
high_alarms = 0;
|
||||
low_alarms = 0;
|
||||
pull_pins = 0;
|
||||
pin_63_32_status = 0;
|
||||
pin_31_0_status = 0;
|
||||
}
|
||||
|
||||
void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms) {
|
||||
// Bitmask of wake up settings.
|
||||
size_t high_count = 0;
|
||||
size_t low_count = 0;
|
||||
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
// TODO: Check for ULP or touch alarms because they can't coexist with GPIO alarms.
|
||||
if (!MP_OBJ_IS_TYPE(alarms[i], &alarm_pin_pinalarm_type)) {
|
||||
continue;
|
||||
}
|
||||
alarm_pin_pinalarm_obj_t *alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
|
||||
gpio_num_t pin_number = alarm->pin->number;
|
||||
if (alarm->value) {
|
||||
high_alarms |= 1ull << pin_number;
|
||||
high_count++;
|
||||
} else {
|
||||
low_alarms |= 1ull << pin_number;
|
||||
low_count++;
|
||||
}
|
||||
if (alarm->pull) {
|
||||
pull_pins |= 1ull << pin_number;
|
||||
}
|
||||
}
|
||||
if (high_count == 0 && low_count == 0) {
|
||||
return;
|
||||
}
|
||||
if (deep_sleep && low_count > 2 && high_count == 0) {
|
||||
mp_raise_ValueError(translate("Can only alarm on two low pins from deep sleep."));
|
||||
}
|
||||
if (deep_sleep && low_count > 1 && high_count > 0) {
|
||||
mp_raise_ValueError(translate("Can only alarm on one low pin while others alarm high from deep sleep."));
|
||||
}
|
||||
// Only use ext0 and ext1 during deep sleep.
|
||||
if (deep_sleep) {
|
||||
if (high_count > 0) {
|
||||
if (esp_sleep_enable_ext1_wakeup(high_alarms, ESP_EXT1_WAKEUP_ANY_HIGH) != ESP_OK) {
|
||||
mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep."));
|
||||
}
|
||||
}
|
||||
size_t low_pins[2];
|
||||
size_t j = 0;
|
||||
for (size_t i = 0; i < 64; i++) {
|
||||
uint64_t mask = 1ull << i;
|
||||
if ((low_alarms & mask) != 0) {
|
||||
low_pins[j++] = i;
|
||||
}
|
||||
if (j == 2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (low_count > 1) {
|
||||
if (esp_sleep_enable_ext1_wakeup(1ull << low_pins[1], ESP_EXT1_WAKEUP_ALL_LOW) != ESP_OK) {
|
||||
mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep."));
|
||||
}
|
||||
}
|
||||
if (low_count > 0) {
|
||||
if (esp_sleep_enable_ext0_wakeup(low_pins[0], 0) != ESP_OK) {
|
||||
mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep."));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Enable GPIO wake up if we're sleeping.
|
||||
esp_sleep_enable_gpio_wakeup();
|
||||
}
|
||||
// Set GPIO interrupts so they wake us from light sleep or from idle via the
|
||||
// interrupt handler above.
|
||||
pin_31_0_status = 0;
|
||||
pin_63_32_status = 0;
|
||||
if (gpio_isr_register(gpio_interrupt, NULL, 0, &gpio_interrupt_handle) != ESP_OK) {
|
||||
mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep."));
|
||||
}
|
||||
for (size_t i = 0; i < 64; i++) {
|
||||
uint64_t mask = 1ull << i;
|
||||
bool high = (high_alarms & mask) != 0;
|
||||
bool low = (low_alarms & mask) != 0;
|
||||
bool pull = (pull_pins & mask) != 0;
|
||||
if (!(high || low)) {
|
||||
continue;
|
||||
}
|
||||
if (rtc_gpio_is_valid_gpio(i)) {
|
||||
rtc_gpio_deinit(i);
|
||||
}
|
||||
gpio_int_type_t interrupt_mode = GPIO_INTR_DISABLE;
|
||||
gpio_pull_mode_t pull_mode = GPIO_FLOATING;
|
||||
if (high) {
|
||||
interrupt_mode = GPIO_INTR_HIGH_LEVEL;
|
||||
pull_mode = GPIO_PULLDOWN_ONLY;
|
||||
}
|
||||
if (low) {
|
||||
interrupt_mode = GPIO_INTR_LOW_LEVEL;
|
||||
pull_mode = GPIO_PULLUP_ONLY;
|
||||
}
|
||||
gpio_set_direction(i, GPIO_MODE_DEF_INPUT);
|
||||
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[i], PIN_FUNC_GPIO);
|
||||
if (pull) {
|
||||
gpio_set_pull_mode(i, pull_mode);
|
||||
size_t j = 0;
|
||||
while (gpio_get_level(i) == false) {
|
||||
j++;
|
||||
}
|
||||
}
|
||||
never_reset_pin_number(i);
|
||||
// Sets interrupt type and wakeup bits.
|
||||
gpio_wakeup_enable(i, interrupt_mode);
|
||||
gpio_intr_enable(i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void alarm_pin_pinalarm_prepare_for_deep_sleep(void) {
|
||||
if (pull_pins == 0) {
|
||||
return;
|
||||
}
|
||||
for (size_t i = 0; i < 64; i++) {
|
||||
uint64_t mask = 1ull << i;
|
||||
bool pull = (pull_pins & mask) != 0;
|
||||
if (!pull) {
|
||||
continue;
|
||||
}
|
||||
bool high = (high_alarms & mask) != 0;
|
||||
bool low = (low_alarms & mask) != 0;
|
||||
// The pull direction is opposite from alarm value.
|
||||
if (high) {
|
||||
rtc_gpio_pullup_dis(i);
|
||||
rtc_gpio_pulldown_en(i);
|
||||
}
|
||||
if (low) {
|
||||
rtc_gpio_pullup_en(i);
|
||||
rtc_gpio_pulldown_dis(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,11 @@ typedef struct {
|
|||
mp_obj_base_t base;
|
||||
mcu_pin_obj_t *pin;
|
||||
bool value;
|
||||
bool all_same_value;
|
||||
bool edge;
|
||||
bool pull;
|
||||
} alarm_pin_pin_alarm_obj_t;
|
||||
} alarm_pin_pinalarm_obj_t;
|
||||
|
||||
void alarm_pin_pinalarm_reset(void);
|
||||
void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms);
|
||||
void alarm_pin_pinalarm_prepare_for_deep_sleep(void);
|
||||
mp_obj_t alarm_pin_pinalarm_get_wakeup_alarm(size_t n_alarms, const mp_obj_t *alarms);
|
||||
bool alarm_pin_pinalarm_woke_us_up(void);
|
||||
|
|
|
@ -34,23 +34,23 @@
|
|||
#include "shared-bindings/alarm/time/TimeAlarm.h"
|
||||
#include "shared-bindings/time/__init__.h"
|
||||
|
||||
void common_hal_alarm_time_time_alarm_construct(alarm_time_time_alarm_obj_t *self, mp_float_t monotonic_time) {
|
||||
void common_hal_alarm_time_timealarm_construct(alarm_time_timealarm_obj_t *self, mp_float_t monotonic_time) {
|
||||
self->monotonic_time = monotonic_time;
|
||||
}
|
||||
|
||||
mp_float_t common_hal_alarm_time_time_alarm_get_monotonic_time(alarm_time_time_alarm_obj_t *self) {
|
||||
mp_float_t common_hal_alarm_time_timealarm_get_monotonic_time(alarm_time_timealarm_obj_t *self) {
|
||||
return self->monotonic_time;
|
||||
}
|
||||
|
||||
mp_obj_t alarm_time_timealarm_get_wakeup_alarm(size_t n_alarms, const mp_obj_t *alarms) {
|
||||
// First, check to see if we match
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
if (MP_OBJ_IS_TYPE(alarms[i], &alarm_time_time_alarm_type)) {
|
||||
if (MP_OBJ_IS_TYPE(alarms[i], &alarm_time_timealarm_type)) {
|
||||
return alarms[i];
|
||||
}
|
||||
}
|
||||
alarm_time_time_alarm_obj_t *timer = m_new_obj(alarm_time_time_alarm_obj_t);
|
||||
timer->base.type = &alarm_time_time_alarm_type;
|
||||
alarm_time_timealarm_obj_t *timer = m_new_obj(alarm_time_timealarm_obj_t);
|
||||
timer->base.type = &alarm_time_timealarm_type;
|
||||
// TODO: Set monotonic_time based on the RTC state.
|
||||
timer->monotonic_time = 0.0f;
|
||||
return timer;
|
||||
|
@ -63,9 +63,7 @@ STATIC bool woke_up = false;
|
|||
void timer_callback(void *arg) {
|
||||
(void) arg;
|
||||
woke_up = true;
|
||||
if (sleeping_circuitpython_task) {
|
||||
xTaskNotifyGive(sleeping_circuitpython_task);
|
||||
}
|
||||
xTaskNotifyGive(circuitpython_task);
|
||||
}
|
||||
|
||||
bool alarm_time_timealarm_woke_us_up(void) {
|
||||
|
@ -79,7 +77,24 @@ void alarm_time_timealarm_reset(void) {
|
|||
woke_up = false;
|
||||
}
|
||||
|
||||
void alarm_time_timealarm_set_alarm(alarm_time_time_alarm_obj_t *self) {
|
||||
void alarm_time_timealarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms) {
|
||||
bool timealarm_set = false;
|
||||
alarm_time_timealarm_obj_t *timealarm = MP_OBJ_NULL;
|
||||
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
if (!MP_OBJ_IS_TYPE(alarms[i], &alarm_time_timealarm_type)) {
|
||||
continue;
|
||||
}
|
||||
if (timealarm_set) {
|
||||
mp_raise_ValueError(translate("Only one alarm.time alarm can be set."));
|
||||
}
|
||||
timealarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
timealarm_set = true;
|
||||
}
|
||||
if (!timealarm_set) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (pretend_sleep_timer != NULL) {
|
||||
esp_timer_stop(pretend_sleep_timer);
|
||||
} else {
|
||||
|
@ -94,7 +109,7 @@ void alarm_time_timealarm_set_alarm(alarm_time_time_alarm_obj_t *self) {
|
|||
|
||||
// Compute how long to actually sleep, considering the time now.
|
||||
mp_float_t now_secs = uint64_to_float(common_hal_time_monotonic_ms()) / 1000.0f;
|
||||
mp_float_t wakeup_in_secs = MAX(0.0f, self->monotonic_time - now_secs);
|
||||
mp_float_t wakeup_in_secs = MAX(0.0f, timealarm->monotonic_time - now_secs);
|
||||
const uint64_t sleep_for_us = (uint64_t) (wakeup_in_secs * 1000000);
|
||||
esp_sleep_enable_timer_wakeup(sleep_for_us);
|
||||
|
||||
|
|
|
@ -30,11 +30,11 @@
|
|||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
mp_float_t monotonic_time; // values compatible with time.monotonic_time()
|
||||
} alarm_time_time_alarm_obj_t;
|
||||
} alarm_time_timealarm_obj_t;
|
||||
|
||||
// Find the alarm object that caused us to wake up or create an equivalent one.
|
||||
mp_obj_t alarm_time_timealarm_get_wakeup_alarm(size_t n_alarms, const mp_obj_t *alarms);
|
||||
// Check for the wake up alarm from pretend deep sleep.
|
||||
bool alarm_time_timealarm_woke_us_up(void);
|
||||
void alarm_time_timealarm_set_alarm(alarm_time_time_alarm_obj_t *self);
|
||||
void alarm_time_timealarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms);
|
||||
void alarm_time_timealarm_reset(void);
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 microDev
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/alarm/touch/TouchAlarm.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
|
||||
#include "esp_sleep.h"
|
||||
#include "peripherals/touch.h"
|
||||
#include "supervisor/esp_port.h"
|
||||
|
||||
static volatile bool woke_up = false;
|
||||
static touch_pad_t touch_channel = TOUCH_PAD_MAX;
|
||||
|
||||
void common_hal_alarm_touch_touchalarm_construct(alarm_touch_touchalarm_obj_t *self, const mcu_pin_obj_t *pin) {
|
||||
if (pin->touch_channel == TOUCH_PAD_MAX) {
|
||||
mp_raise_ValueError(translate("Invalid pin"));
|
||||
}
|
||||
claim_pin(pin);
|
||||
self->pin = pin;
|
||||
}
|
||||
|
||||
mp_obj_t alarm_touch_touchalarm_get_wakeup_alarm(const size_t n_alarms, const mp_obj_t *alarms) {
|
||||
// First, check to see if we match any given alarms.
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
if (MP_OBJ_IS_TYPE(alarms[i], &alarm_touch_touchalarm_type)) {
|
||||
return alarms[i];
|
||||
}
|
||||
}
|
||||
|
||||
alarm_touch_touchalarm_obj_t *alarm = m_new_obj(alarm_touch_touchalarm_obj_t);
|
||||
alarm->base.type = &alarm_touch_touchalarm_type;
|
||||
alarm->pin = NULL;
|
||||
|
||||
// Map the pin number back to a pin object.
|
||||
for (size_t i = 0; i < mcu_pin_globals.map.used; i++) {
|
||||
const mcu_pin_obj_t* pin_obj = MP_OBJ_TO_PTR(mcu_pin_globals.map.table[i].value);
|
||||
if (pin_obj->touch_channel == touch_channel) {
|
||||
alarm->pin = mcu_pin_globals.map.table[i].value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return alarm;
|
||||
}
|
||||
|
||||
// This is used to wake the main CircuitPython task.
|
||||
void touch_interrupt(void *arg) {
|
||||
(void) arg;
|
||||
woke_up = true;
|
||||
BaseType_t task_wakeup;
|
||||
vTaskNotifyGiveFromISR(circuitpython_task, &task_wakeup);
|
||||
if (task_wakeup) {
|
||||
portYIELD_FROM_ISR();
|
||||
}
|
||||
}
|
||||
|
||||
void alarm_touch_touchalarm_set_alarm(const bool deep_sleep, const size_t n_alarms, const mp_obj_t *alarms) {
|
||||
bool touch_alarm_set = false;
|
||||
alarm_touch_touchalarm_obj_t *touch_alarm = MP_OBJ_NULL;
|
||||
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
if (MP_OBJ_IS_TYPE(alarms[i], &alarm_touch_touchalarm_type)) {
|
||||
if (!touch_alarm_set) {
|
||||
touch_alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
touch_alarm_set = true;
|
||||
} else {
|
||||
mp_raise_ValueError(translate("Only one alarm.touch alarm can be set."));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!touch_alarm_set) {
|
||||
return;
|
||||
}
|
||||
|
||||
touch_channel = touch_alarm->pin->touch_channel;
|
||||
|
||||
// configure interrupt for pretend to deep sleep
|
||||
// this will be disabled if we actually deep sleep
|
||||
|
||||
// intialize touchpad
|
||||
peripherals_touch_reset();
|
||||
peripherals_touch_never_reset(true);
|
||||
peripherals_touch_init(touch_channel);
|
||||
|
||||
// wait for touch data to reset
|
||||
mp_hal_delay_ms(10);
|
||||
|
||||
// configure trigger threshold
|
||||
uint32_t touch_value;
|
||||
touch_pad_read_benchmark(touch_channel, &touch_value);
|
||||
touch_pad_set_thresh(touch_channel, touch_value * 0.1); //10%
|
||||
|
||||
// configure touch interrupt
|
||||
touch_pad_timeout_set(true, SOC_TOUCH_PAD_THRESHOLD_MAX);
|
||||
touch_pad_isr_register(touch_interrupt, NULL, TOUCH_PAD_INTR_MASK_ALL);
|
||||
touch_pad_intr_enable(TOUCH_PAD_INTR_MASK_ACTIVE | TOUCH_PAD_INTR_MASK_INACTIVE | TOUCH_PAD_INTR_MASK_TIMEOUT);
|
||||
}
|
||||
|
||||
void alarm_touch_touchalarm_prepare_for_deep_sleep(void) {
|
||||
// intialize touchpad
|
||||
peripherals_touch_never_reset(false);
|
||||
peripherals_touch_reset();
|
||||
peripherals_touch_init(touch_channel);
|
||||
|
||||
// configure touchpad for sleep
|
||||
touch_pad_sleep_channel_enable(touch_channel, true);
|
||||
touch_pad_sleep_channel_enable_proximity(touch_channel, false);
|
||||
|
||||
// wait for touch data to reset
|
||||
mp_hal_delay_ms(10);
|
||||
|
||||
// configure trigger threshold
|
||||
uint32_t touch_value;
|
||||
touch_pad_sleep_channel_read_smooth(touch_channel, &touch_value);
|
||||
touch_pad_sleep_set_threshold(touch_channel, touch_value * 0.1); //10%
|
||||
|
||||
// enable touchpad wakeup
|
||||
esp_sleep_enable_touchpad_wakeup();
|
||||
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
|
||||
}
|
||||
|
||||
bool alarm_touch_touchalarm_woke_us_up(void) {
|
||||
return woke_up;
|
||||
}
|
||||
|
||||
void alarm_touch_touchalarm_reset(void) {
|
||||
woke_up = false;
|
||||
touch_channel = TOUCH_PAD_MAX;
|
||||
peripherals_touch_never_reset(false);
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 microDev
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_COMMON_HAL_ALARM_TOUCH_TOUCHALARM_H
|
||||
#define MICROPY_INCLUDED_COMMON_HAL_ALARM_TOUCH_TOUCHALARM_H
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
const mcu_pin_obj_t *pin;
|
||||
} alarm_touch_touchalarm_obj_t;
|
||||
|
||||
// Find the alarm object that caused us to wake up or create an equivalent one.
|
||||
mp_obj_t alarm_touch_touchalarm_get_wakeup_alarm(const size_t n_alarms, const mp_obj_t *alarms);
|
||||
// Check for the wake up alarm from pretend deep sleep.
|
||||
void alarm_touch_touchalarm_set_alarm(const bool deep_sleep, const size_t n_alarms, const mp_obj_t *alarms);
|
||||
void alarm_touch_touchalarm_prepare_for_deep_sleep(void);
|
||||
bool alarm_touch_touchalarm_woke_us_up(void);
|
||||
void alarm_touch_touchalarm_reset(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_COMMON_HAL_ALARM_TOUCH_TOUCHALARM_H
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
#include "components/hal/include/hal/adc_types.h"
|
||||
#include "components/soc/include/hal/adc_types.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "py/obj.h"
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
#include "components/hal/include/hal/i2c_types.h"
|
||||
#include "components/soc/include/hal/i2c_types.h"
|
||||
#include "FreeRTOS.h"
|
||||
#include "freertos/semphr.h"
|
||||
#include "py/obj.h"
|
||||
|
|
|
@ -248,12 +248,8 @@ void common_hal_busio_spi_deinit(busio_spi_obj_t *self) {
|
|||
spi_bus_free(self->host_id);
|
||||
|
||||
common_hal_reset_pin(self->clock_pin);
|
||||
if (self->MOSI_pin != NULL) {
|
||||
common_hal_reset_pin(self->MOSI_pin);
|
||||
}
|
||||
if (self->MISO_pin != NULL) {
|
||||
common_hal_reset_pin(self->MISO_pin);
|
||||
}
|
||||
common_hal_reset_pin(self->MOSI_pin);
|
||||
common_hal_reset_pin(self->MISO_pin);
|
||||
self->clock_pin = NULL;
|
||||
self->MISO_pin = NULL;
|
||||
self->MOSI_pin = NULL;
|
||||
|
@ -273,7 +269,7 @@ bool common_hal_busio_spi_configure(busio_spi_obj_t *self,
|
|||
self->bits = bits;
|
||||
self->target_frequency = baudrate;
|
||||
self->hal_context.timing_conf = &self->timing_conf;
|
||||
esp_err_t result = spi_hal_cal_clock_conf(&self->hal_context,
|
||||
esp_err_t result = spi_hal_get_clock_conf(&self->hal_context,
|
||||
self->target_frequency,
|
||||
128 /* duty_cycle */,
|
||||
self->connected_through_gpio,
|
||||
|
@ -366,7 +362,8 @@ bool common_hal_busio_spi_transfer(busio_spi_obj_t *self, const uint8_t *data_ou
|
|||
burst_length = sizeof(hal->hw->data_buf);
|
||||
// When switching to non-DMA, we need to make sure DMA is off. Otherwise,
|
||||
// the S2 will transmit zeroes instead of our data.
|
||||
spi_ll_txdma_disable(hal->hw);
|
||||
hal->hw->dma_out_link.dma_tx_ena = 0;
|
||||
hal->hw->dma_out_link.stop = 1;
|
||||
}
|
||||
|
||||
// This rounds up.
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
#include "components/driver/include/driver/spi_common_internal.h"
|
||||
#include "components/hal/include/hal/spi_hal.h"
|
||||
#include "components/hal/include/hal/spi_types.h"
|
||||
#include "components/soc/include/hal/spi_hal.h"
|
||||
#include "components/soc/include/hal/spi_types.h"
|
||||
#include "py/obj.h"
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
#include "components/hal/include/hal/uart_types.h"
|
||||
#include "components/soc/include/hal/uart_types.h"
|
||||
#include "py/obj.h"
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
#include "components/driver/include/driver/gpio.h"
|
||||
|
||||
#include "components/hal/include/hal/gpio_hal.h"
|
||||
#include "components/soc/include/hal/gpio_hal.h"
|
||||
|
||||
void common_hal_digitalio_digitalinout_never_reset(
|
||||
digitalio_digitalinout_obj_t *self) {
|
||||
|
|
|
@ -100,7 +100,7 @@ void common_hal_dualbank_flash(const void *buf, const size_t len, const size_t o
|
|||
}
|
||||
}
|
||||
|
||||
err = esp_ota_begin(update_partition, OTA_WITH_SEQUENTIAL_WRITES, &update_handle);
|
||||
err = esp_ota_begin(update_partition, OTA_SIZE_UNKNOWN, &update_handle);
|
||||
if (err != ESP_OK) {
|
||||
ESP_LOGE(TAG, "esp_ota_begin failed (%s)", esp_err_to_name(err));
|
||||
task_fatal_error();
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#include "py/mphal.h"
|
||||
|
||||
#include "components/driver/include/driver/gpio.h"
|
||||
#include "components/hal/include/hal/gpio_hal.h"
|
||||
#include "components/soc/include/hal/gpio_hal.h"
|
||||
|
||||
#ifdef MICROPY_HW_NEOPIXEL
|
||||
bool neopixel_in_use;
|
||||
|
@ -89,6 +89,9 @@ void reset_pin_number(gpio_num_t pin_number) {
|
|||
}
|
||||
|
||||
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
|
||||
if (pin == NULL) {
|
||||
return;
|
||||
}
|
||||
reset_pin_number(pin->number);
|
||||
}
|
||||
|
||||
|
|
|
@ -27,20 +27,11 @@
|
|||
#include "shared-bindings/touchio/TouchIn.h"
|
||||
|
||||
#include "py/runtime.h"
|
||||
#include "driver/touch_pad.h"
|
||||
|
||||
bool touch_inited = false;
|
||||
|
||||
void touchin_reset(void) {
|
||||
if (touch_inited) {
|
||||
touch_pad_deinit();
|
||||
touch_inited = false;
|
||||
}
|
||||
}
|
||||
#include "peripherals/touch.h"
|
||||
|
||||
static uint16_t get_raw_reading(touchio_touchin_obj_t *self) {
|
||||
uint32_t touch_value;
|
||||
touch_pad_read_raw_data((touch_pad_t)self->pin->touch_channel, &touch_value);
|
||||
touch_pad_read_raw_data(self->pin->touch_channel, &touch_value);
|
||||
if (touch_value > UINT16_MAX) {
|
||||
return UINT16_MAX;
|
||||
}
|
||||
|
@ -54,21 +45,12 @@ void common_hal_touchio_touchin_construct(touchio_touchin_obj_t* self,
|
|||
}
|
||||
claim_pin(pin);
|
||||
|
||||
if (!touch_inited) {
|
||||
touch_pad_init();
|
||||
touch_pad_set_fsm_mode(TOUCH_FSM_MODE_TIMER);
|
||||
touch_pad_fsm_start();
|
||||
touch_inited = true;
|
||||
}
|
||||
// initialize touchpad
|
||||
peripherals_touch_init(pin->touch_channel);
|
||||
|
||||
touch_pad_config((touch_pad_t)pin->touch_channel);
|
||||
|
||||
// wait for "raw data" to reset
|
||||
// wait for touch data to reset
|
||||
mp_hal_delay_ms(10);
|
||||
|
||||
// Initial values for pins will vary, depending on what peripherals the pins
|
||||
// share on-chip.
|
||||
|
||||
// Set a "touched" threshold not too far above the initial value.
|
||||
// For simple finger touch, the values may vary as much as a factor of two,
|
||||
// but for touches using fruit or other objects, the difference is much less.
|
||||
|
|
|
@ -27,9 +27,8 @@
|
|||
#ifndef MICROPY_INCLUDED_ESP32S2_COMMON_HAL_TOUCHIO_TOUCHIN_H
|
||||
#define MICROPY_INCLUDED_ESP32S2_COMMON_HAL_TOUCHIO_TOUCHIN_H
|
||||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
|
@ -37,6 +36,4 @@ typedef struct {
|
|||
uint16_t threshold;
|
||||
} touchio_touchin_obj_t;
|
||||
|
||||
void touchin_reset(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_ESP32S2_COMMON_HAL_TOUCHIO_TOUCHIN_H
|
||||
|
|
|
@ -48,3 +48,9 @@ mp_obj_t common_hal_wifi_network_get_rssi(wifi_network_obj_t *self) {
|
|||
mp_obj_t common_hal_wifi_network_get_channel(wifi_network_obj_t *self) {
|
||||
return mp_obj_new_int(self->record.primary);
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_wifi_network_get_country(wifi_network_obj_t *self) {
|
||||
const char* cstr = (const char*) self->record.country.cc;
|
||||
// 2 instead of strlen(cstr) as this gives us only the country-code
|
||||
return mp_obj_new_str(cstr, 2);
|
||||
}
|
||||
|
|
|
@ -198,6 +198,17 @@ mp_obj_t common_hal_wifi_radio_get_ap_info(wifi_radio_obj_t *self) {
|
|||
if (esp_wifi_sta_get_ap_info(&self->ap_info.record) != ESP_OK){
|
||||
return mp_const_none;
|
||||
} else {
|
||||
if (strlen(self->ap_info.record.country.cc) == 0) {
|
||||
// Workaround to fill country related information in ap_info until ESP-IDF carries a fix
|
||||
// esp_wifi_sta_get_ap_info does not appear to fill wifi_country_t (e.g. country.cc) details
|
||||
// (IDFGH-4437) #6267
|
||||
// Note: It is possible that Wi-Fi APs don't have a CC set, then even after this workaround
|
||||
// the element would remain empty.
|
||||
memset(&self->ap_info.record.country, 0, sizeof(wifi_country_t));
|
||||
if (esp_wifi_get_country(&self->ap_info.record.country) != ESP_OK) {
|
||||
return mp_const_none;
|
||||
}
|
||||
}
|
||||
memcpy(&ap_info->record, &self->ap_info.record, sizeof(wifi_ap_record_t));
|
||||
return MP_OBJ_FROM_PTR(ap_info);
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit d06744f5efc382c61cbad8758107cec308feef09
|
||||
Subproject commit ebe7784258d8c10e9cc334ccc00c3fd270746c8b
|
|
@ -35,16 +35,16 @@
|
|||
#include "esp32s2_peripherals_config.h"
|
||||
#include "esp-idf/config/sdkconfig.h"
|
||||
|
||||
#include "components/hal/include/hal/gpio_types.h"
|
||||
#include "components/hal/include/hal/adc_types.h"
|
||||
#include "components/hal/include/hal/touch_sensor_types.h"
|
||||
#include "components/soc/include/hal/gpio_types.h"
|
||||
#include "components/soc/include/hal/adc_types.h"
|
||||
#include "components/soc/include/hal/touch_sensor_types.h"
|
||||
|
||||
typedef struct {
|
||||
PIN_PREFIX_FIELDS
|
||||
gpio_num_t number;
|
||||
uint8_t adc_index:2;
|
||||
uint8_t adc_channel:6;
|
||||
uint8_t touch_channel;
|
||||
touch_pad_t touch_channel;
|
||||
} mcu_pin_obj_t;
|
||||
|
||||
extern const mcu_pin_obj_t pin_GPIO0;
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 microDev
|
||||
*
|
||||
* 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 "components/soc/include/hal/gpio_types.h"
|
||||
// above include fixes build error in idf@v4.2
|
||||
#include "peripherals/touch.h"
|
||||
|
||||
static bool touch_inited = false;
|
||||
static bool touch_never_reset = false;
|
||||
|
||||
void peripherals_touch_reset(void) {
|
||||
if (touch_inited && !touch_never_reset) {
|
||||
touch_pad_deinit();
|
||||
touch_inited = false;
|
||||
}
|
||||
}
|
||||
|
||||
void peripherals_touch_never_reset(const bool enable) {
|
||||
touch_never_reset = enable;
|
||||
}
|
||||
|
||||
void peripherals_touch_init(const touch_pad_t touchpad) {
|
||||
if (!touch_inited) {
|
||||
touch_pad_init();
|
||||
touch_pad_set_fsm_mode(TOUCH_FSM_MODE_TIMER);
|
||||
touch_pad_fsm_start();
|
||||
touch_inited = true;
|
||||
}
|
||||
touch_pad_config(touchpad);
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 microDev
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_ESP32S2_PERIPHERALS_TOUCH_HANDLER_H
|
||||
#define MICROPY_INCLUDED_ESP32S2_PERIPHERALS_TOUCH_HANDLER_H
|
||||
|
||||
#include "driver/touch_pad.h"
|
||||
|
||||
extern void peripherals_touch_reset(void);
|
||||
extern void peripherals_touch_never_reset(const bool enable);
|
||||
extern void peripherals_touch_init(const touch_pad_t touchpad);
|
||||
|
||||
#endif // MICROPY_INCLUDED_ESP32S2_PERIPHERALS_TOUCH_HANDLER_H
|
|
@ -30,6 +30,6 @@
|
|||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
|
||||
extern TaskHandle_t sleeping_circuitpython_task;
|
||||
extern TaskHandle_t circuitpython_task;
|
||||
|
||||
#endif // MICROPY_INCLUDED_ESP32S2_SUPERVISOR_PORT_H
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
#include "common-hal/ps2io/Ps2.h"
|
||||
#include "common-hal/pulseio/PulseIn.h"
|
||||
#include "common-hal/pwmio/PWMOut.h"
|
||||
#include "common-hal/touchio/TouchIn.h"
|
||||
#include "common-hal/watchdog/WatchDogTimer.h"
|
||||
#include "common-hal/wifi/__init__.h"
|
||||
#include "supervisor/memory.h"
|
||||
|
@ -55,7 +54,8 @@
|
|||
#include "peripherals/rmt.h"
|
||||
#include "peripherals/pcnt.h"
|
||||
#include "peripherals/timer.h"
|
||||
#include "components/esp_rom/include/esp_rom_uart.h"
|
||||
#include "peripherals/touch.h"
|
||||
#include "components/esp_rom/include/esp32s2/rom/ets_sys.h"
|
||||
#include "components/heap/include/esp_heap_caps.h"
|
||||
#include "components/xtensa/include/esp_debug_helpers.h"
|
||||
#include "components/soc/soc/esp32s2/include/soc/cache_memory.h"
|
||||
|
@ -67,13 +67,22 @@ uint32_t* heap;
|
|||
uint32_t heap_size;
|
||||
|
||||
STATIC esp_timer_handle_t _tick_timer;
|
||||
STATIC esp_timer_handle_t _sleep_timer;
|
||||
|
||||
TaskHandle_t circuitpython_task = NULL;
|
||||
|
||||
extern void esp_restart(void) NORETURN;
|
||||
|
||||
void tick_timer_cb(void* arg) {
|
||||
supervisor_tick();
|
||||
|
||||
// CircuitPython's VM is run in a separate FreeRTOS task from timer callbacks. So, we have to
|
||||
// notify the main task every time in case it's waiting for us.
|
||||
xTaskNotifyGive(circuitpython_task);
|
||||
}
|
||||
|
||||
void sleep_timer_cb(void* arg);
|
||||
|
||||
safe_mode_t port_init(void) {
|
||||
esp_timer_create_args_t args;
|
||||
args.callback = &tick_timer_cb;
|
||||
|
@ -82,9 +91,17 @@ safe_mode_t port_init(void) {
|
|||
args.name = "CircuitPython Tick";
|
||||
esp_timer_create(&args, &_tick_timer);
|
||||
|
||||
#ifdef DEBUG
|
||||
args.callback = &sleep_timer_cb;
|
||||
args.arg = NULL;
|
||||
args.dispatch_method = ESP_TIMER_TASK;
|
||||
args.name = "CircuitPython Sleep";
|
||||
esp_timer_create(&args, &_sleep_timer);
|
||||
|
||||
circuitpython_task = xTaskGetCurrentTaskHandle();
|
||||
|
||||
// Send the ROM output out of the UART. This includes early logs.
|
||||
esp_rom_install_channel_putc(1, esp_rom_uart_putc);
|
||||
#ifdef DEBUG
|
||||
ets_install_uart_printf();
|
||||
#endif
|
||||
|
||||
heap = NULL;
|
||||
|
@ -104,11 +121,15 @@ safe_mode_t port_init(void) {
|
|||
}
|
||||
|
||||
esp_reset_reason_t reason = esp_reset_reason();
|
||||
if (reason == ESP_RST_BROWNOUT) {
|
||||
return BROWNOUT;
|
||||
}
|
||||
if (reason == ESP_RST_PANIC) {
|
||||
return HARD_CRASH;
|
||||
switch (reason) {
|
||||
case ESP_RST_BROWNOUT:
|
||||
return BROWNOUT;
|
||||
case ESP_RST_PANIC:
|
||||
case ESP_RST_INT_WDT:
|
||||
case ESP_RST_WDT:
|
||||
return HARD_CRASH;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return NO_SAFE_MODE;
|
||||
|
@ -169,7 +190,7 @@ void reset_port(void) {
|
|||
#endif
|
||||
|
||||
#if CIRCUITPY_TOUCHIO_USE_NATIVE
|
||||
touchin_reset();
|
||||
peripherals_touch_reset();
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_WATCHDOG
|
||||
|
@ -252,32 +273,24 @@ void port_enable_tick(void) {
|
|||
// Disable 1/1024 second tick.
|
||||
void port_disable_tick(void) {
|
||||
esp_timer_stop(_tick_timer);
|
||||
|
||||
// CircuitPython's VM is run in a separate FreeRTOS task from TinyUSB.
|
||||
// Tick disable can happen via auto-reload so poke the main task here.
|
||||
if (sleeping_circuitpython_task != NULL) {
|
||||
xTaskNotifyGive(sleeping_circuitpython_task);
|
||||
}
|
||||
}
|
||||
|
||||
TickType_t sleep_time_duration;
|
||||
void sleep_timer_cb(void* arg) {
|
||||
xTaskNotifyGive(circuitpython_task);
|
||||
}
|
||||
|
||||
void port_interrupt_after_ticks(uint32_t ticks) {
|
||||
sleep_time_duration = (ticks * 100)/1024;
|
||||
uint64_t timeout_us = ticks * 1000000ull / 1024;
|
||||
if (esp_timer_start_once(_sleep_timer, timeout_us) != ESP_OK) {
|
||||
esp_timer_stop(_sleep_timer);
|
||||
esp_timer_start_once(_sleep_timer, timeout_us);
|
||||
}
|
||||
}
|
||||
|
||||
// On the ESP we use FreeRTOS notifications instead of interrupts so this is a
|
||||
// bit of a misnomer.
|
||||
void port_idle_until_interrupt(void) {
|
||||
uint32_t notify_value = 0;
|
||||
|
||||
if (sleep_time_duration == 0) {
|
||||
return;
|
||||
}
|
||||
sleeping_circuitpython_task = xTaskGetCurrentTaskHandle();
|
||||
xTaskNotifyWait(0x01, 0x01, ¬ify_value, sleep_time_duration );
|
||||
sleeping_circuitpython_task = NULL;
|
||||
if (notify_value == 1) {
|
||||
mp_handle_pending();
|
||||
}
|
||||
xTaskNotifyWait(0x01, 0x01, NULL, portMAX_DELAY);
|
||||
}
|
||||
|
||||
// Wrap main in app_main that the IDF expects.
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
*/
|
||||
|
||||
#include "supervisor/usb.h"
|
||||
#include "supervisor/esp_port.h"
|
||||
#include "lib/utils/interrupt_char.h"
|
||||
#include "lib/mp-readline/readline.h"
|
||||
|
||||
|
@ -33,8 +34,7 @@
|
|||
#include "components/driver/include/driver/periph_ctrl.h"
|
||||
#include "components/driver/include/driver/gpio.h"
|
||||
#include "components/esp_rom/include/esp32s2/rom/gpio.h"
|
||||
#include "components/esp_rom/include/esp_rom_gpio.h"
|
||||
#include "components/hal/esp32s2/include/hal/gpio_ll.h"
|
||||
#include "components/soc/src/esp32s2/include/hal/gpio_ll.h"
|
||||
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
|
@ -52,8 +52,6 @@
|
|||
StackType_t usb_device_stack[USBD_STACK_SIZE];
|
||||
StaticTask_t usb_device_taskdef;
|
||||
|
||||
TaskHandle_t sleeping_circuitpython_task = NULL;
|
||||
|
||||
// USB Device Driver task
|
||||
// This top level thread process all usb events and invoke callbacks
|
||||
void usb_device_task(void* param)
|
||||
|
@ -78,23 +76,20 @@ static void configure_pins (usb_hal_context_t *usb)
|
|||
* Introduce additional parameters in usb_hal_context_t when adding support
|
||||
* for USB Host.
|
||||
*/
|
||||
for ( const usb_iopin_dsc_t *iopin = usb_periph_iopins; iopin->pin != -1; ++iopin ) {
|
||||
if ( (usb->use_external_phy) || (iopin->ext_phy_only == 0) ) {
|
||||
esp_rom_gpio_pad_select_gpio(iopin->pin);
|
||||
if ( iopin->is_output ) {
|
||||
esp_rom_gpio_connect_out_signal(iopin->pin, iopin->func, false, false);
|
||||
for (const usb_iopin_dsc_t* iopin = usb_periph_iopins; iopin->pin != -1; ++iopin) {
|
||||
if ((usb->use_external_phy) || (iopin->ext_phy_only == 0)) {
|
||||
gpio_pad_select_gpio(iopin->pin);
|
||||
if (iopin->is_output) {
|
||||
gpio_matrix_out(iopin->pin, iopin->func, false, false);
|
||||
} else {
|
||||
gpio_matrix_in(iopin->pin, iopin->func, false);
|
||||
gpio_pad_input_enable(iopin->pin);
|
||||
}
|
||||
else {
|
||||
esp_rom_gpio_connect_in_signal(iopin->pin, iopin->func, false);
|
||||
if ( (iopin->pin != GPIO_FUNC_IN_LOW) && (iopin->pin != GPIO_FUNC_IN_HIGH) ) {
|
||||
gpio_ll_input_enable(&GPIO, iopin->pin);
|
||||
}
|
||||
}
|
||||
esp_rom_gpio_pad_unhold(iopin->pin);
|
||||
gpio_pad_unhold(iopin->pin);
|
||||
}
|
||||
}
|
||||
if ( !usb->use_external_phy ) {
|
||||
gpio_set_drive_capability(USBPHY_DM_NUM, GPIO_DRIVE_CAP_3);
|
||||
if (!usb->use_external_phy) {
|
||||
gpio_set_drive_capability(USBPHY_DP_NUM, GPIO_DRIVE_CAP_3);
|
||||
gpio_set_drive_capability(USBPHY_DP_NUM, GPIO_DRIVE_CAP_3);
|
||||
}
|
||||
}
|
||||
|
@ -131,8 +126,6 @@ void tud_cdc_rx_wanted_cb(uint8_t itf, char wanted_char)
|
|||
mp_keyboard_interrupt();
|
||||
// CircuitPython's VM is run in a separate FreeRTOS task from TinyUSB.
|
||||
// So, we must notify the other task when a CTRL-C is received.
|
||||
if (sleeping_circuitpython_task != NULL) {
|
||||
xTaskNotifyGive(sleeping_circuitpython_task);
|
||||
}
|
||||
xTaskNotifyGive(circuitpython_task);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,6 +51,11 @@ SECTIONS
|
|||
*(.text.tu_edpt_dir)
|
||||
*(.text.tu_fifo_empty)
|
||||
*(.text.usbd_edpt_busy)
|
||||
*(.text.usb_irq_handler)
|
||||
*(.text.supervisor_tick)
|
||||
*(.text.port_get_raw_ticks)
|
||||
*(.text.__modsi3)
|
||||
*(.text.__udivsi3)
|
||||
*(.text.irq_getmask)
|
||||
*(.text.irq_setmask)
|
||||
*(.text.irq_pending)
|
||||
|
|
|
@ -42,6 +42,9 @@ void reset_pin_number(uint8_t pin_port, uint8_t pin_number) {
|
|||
}
|
||||
|
||||
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
|
||||
if (pin == NULL) {
|
||||
return;
|
||||
}
|
||||
reset_pin_number(0, pin->number);
|
||||
}
|
||||
|
||||
|
|
|
@ -59,12 +59,15 @@ void common_hal_mcu_delay_us(uint32_t delay) {
|
|||
|
||||
volatile uint32_t nesting_count = 0;
|
||||
|
||||
__attribute__((section(".ramtext")))
|
||||
void common_hal_mcu_disable_interrupts(void) {
|
||||
irq_setie(0);
|
||||
// __DMB();
|
||||
if (nesting_count == 0) {
|
||||
irq_setie(0);
|
||||
}
|
||||
nesting_count++;
|
||||
}
|
||||
|
||||
__attribute__((section(".ramtext")))
|
||||
void common_hal_mcu_enable_interrupts(void) {
|
||||
if (nesting_count == 0) {
|
||||
// This is very very bad because it means there was mismatched disable/enables so we
|
||||
|
|
|
@ -44,16 +44,31 @@ void mp_hal_delay_us(mp_uint_t delay) {
|
|||
|
||||
extern void SysTick_Handler(void);
|
||||
|
||||
// This value contains the number of times "common_hal_mcu_disable_interrupts()"
|
||||
// has been called without calling "common_hal_mcu_enable_interrupts()". Since
|
||||
// this is the interrupt handler, that means we're handling an interrupt, so
|
||||
// this value should be `0`.
|
||||
//
|
||||
// Interrupts should already be disabled when this handler is running, which means
|
||||
// this value is logically already `1`. If we didn't do this, then interrupts would
|
||||
// be prematurely enabled by interrupt handlers that enable and disable interrupts.
|
||||
extern volatile uint32_t nesting_count;
|
||||
|
||||
__attribute__((section(".ramtext")))
|
||||
void isr(void) {
|
||||
uint8_t irqs = irq_pending() & irq_getmask();
|
||||
|
||||
// Increase the "nesting count". Note: This should be going from 0 -> 1.
|
||||
nesting_count += 1;
|
||||
#ifdef CFG_TUSB_MCU
|
||||
if (irqs & (1 << USB_INTERRUPT))
|
||||
usb_irq_handler();
|
||||
#endif
|
||||
if (irqs & (1 << TIMER0_INTERRUPT))
|
||||
SysTick_Handler();
|
||||
|
||||
// Decrease the "nesting count". Note: This should be going from 1 -> 0.
|
||||
nesting_count -= 1;
|
||||
}
|
||||
|
||||
mp_uint_t cpu_get_regs_and_sp(mp_uint_t *regs) {
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#include "irq.h"
|
||||
#include "csr.h"
|
||||
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
|
||||
// Global millisecond tick count. 1024 per second because most RTCs are clocked with 32.768khz
|
||||
// crystals.
|
||||
volatile uint64_t raw_ticks = 0;
|
||||
|
@ -129,9 +131,9 @@ uint32_t port_get_saved_word(void) {
|
|||
|
||||
uint64_t port_get_raw_ticks(uint8_t* subticks) {
|
||||
// Reading 64 bits may take two loads, so turn of interrupts while we do it.
|
||||
irq_setie(false);
|
||||
common_hal_mcu_disable_interrupts();
|
||||
uint64_t raw_tick_snapshot = raw_ticks;
|
||||
irq_setie(true);
|
||||
common_hal_mcu_enable_interrupts();
|
||||
return raw_tick_snapshot;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#define MICROPY_HW_BOARD_NAME "Feather MIMXRT1011"
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit Feather MIMXRT1011"
|
||||
#define MICROPY_HW_MCU_NAME "IMXRT1011DAE5A"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO_00)
|
||||
|
|
|
@ -220,12 +220,9 @@ void common_hal_busio_spi_deinit(busio_spi_obj_t *self) {
|
|||
never_reset_spi[self->clock->bank_idx - 1] = false;
|
||||
|
||||
common_hal_reset_pin(self->clock->pin);
|
||||
if (self->mosi != NULL) {
|
||||
common_hal_reset_pin(self->mosi->pin);
|
||||
}
|
||||
if (self->miso != NULL) {
|
||||
common_hal_reset_pin(self->miso->pin);
|
||||
}
|
||||
common_hal_reset_pin(self->mosi->pin);
|
||||
common_hal_reset_pin(self->miso->pin);
|
||||
|
||||
self->clock = NULL;
|
||||
self->mosi = NULL;
|
||||
self->miso = NULL;
|
||||
|
|
|
@ -295,12 +295,10 @@ void common_hal_busio_uart_deinit(busio_uart_obj_t *self) {
|
|||
LPUART_Deinit(self->uart);
|
||||
gc_free(self->ringbuf);
|
||||
|
||||
if (self->rx) {
|
||||
common_hal_reset_pin(self->rx->pin);
|
||||
}
|
||||
if (self->tx) {
|
||||
common_hal_reset_pin(self->tx->pin);
|
||||
}
|
||||
|
||||
common_hal_reset_pin(self->rx->pin);
|
||||
common_hal_reset_pin(self->tx->pin);
|
||||
|
||||
|
||||
self->rx = NULL;
|
||||
self->tx = NULL;
|
||||
|
|
|
@ -67,6 +67,9 @@ void reset_all_pins(void) {
|
|||
// Since i.MX pins need extra register and reset information to reset properly,
|
||||
// resetting pins by number alone has been removed.
|
||||
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
|
||||
if (pin == NULL) {
|
||||
return;
|
||||
}
|
||||
never_reset_pins[pin->mux_idx] = false;
|
||||
claimed_pins[pin->mux_idx] = false;
|
||||
*(uint32_t*)pin->mux_reg = pin->mux_reset;
|
||||
|
|
|
@ -470,7 +470,16 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t*
|
|||
ble_drv_add_event_handler(scan_on_ble_evt, self->scan_results);
|
||||
|
||||
uint32_t nrf_timeout = SEC_TO_UNITS(timeout, UNIT_10_MS);
|
||||
if (timeout <= 0.0001) {
|
||||
if (nrf_timeout > UINT16_MAX) {
|
||||
// 0xffff / 100
|
||||
mp_raise_ValueError(translate("timeout must be < 655.35 secs"));
|
||||
}
|
||||
if (nrf_timeout == 0 && timeout > 0.0f) {
|
||||
// Make sure converted timeout is > 0 if original timeout is > 0.
|
||||
mp_raise_ValueError(translate("non-zero timeout must be > 0.01"));
|
||||
}
|
||||
|
||||
if (nrf_timeout) {
|
||||
nrf_timeout = BLE_GAP_SCAN_TIMEOUT_UNLIMITED;
|
||||
}
|
||||
|
||||
|
|
|
@ -134,6 +134,9 @@ void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
|
|||
}
|
||||
|
||||
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
|
||||
if (pin == NULL) {
|
||||
return;
|
||||
}
|
||||
reset_pin_number(pin->number);
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
//Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "Feather STM32F405 Express"
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit Feather STM32F405 Express"
|
||||
#define MICROPY_HW_MCU_NAME "STM32F405RG"
|
||||
|
||||
#define FLASH_SIZE (0x100000)
|
||||
|
|
|
@ -42,6 +42,9 @@
|
|||
// #define SPI_FLASH_SCK_PIN (&pin_PA05)
|
||||
// #define SPI_FLASH_CS_PIN (&pin_PA04)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_PB06)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_PB07)
|
||||
|
||||
#define CIRCUITPY_AUTORELOAD_DELAY_MS (500)
|
||||
|
||||
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x2000 - 0xC000)
|
||||
|
|
|
@ -35,5 +35,10 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
|||
{ MP_ROM_QSTR(MP_QSTR_C14), MP_ROM_PTR(&pin_PC14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_C13), MP_ROM_PTR(&pin_PC13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PC13) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PB07) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PB06) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
||||
|
|
|
@ -125,6 +125,9 @@ void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
|
|||
}
|
||||
|
||||
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
|
||||
if (pin == NULL) {
|
||||
return;
|
||||
}
|
||||
reset_pin_number(pin->port, pin->number);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,12 +24,14 @@
|
|||
* THE SOFTWARE.
|
||||
*/
|
||||
#include <unistd.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifndef CHAR_CTRL_C
|
||||
#define CHAR_CTRL_C (3)
|
||||
#endif
|
||||
|
||||
void mp_hal_set_interrupt_char(char c);
|
||||
bool mp_hal_is_interrupted(void);
|
||||
|
||||
void mp_hal_stdio_mode_raw(void);
|
||||
void mp_hal_stdio_mode_orig(void);
|
||||
|
|
|
@ -81,6 +81,10 @@ void mp_hal_set_interrupt_char(char c) {
|
|||
}
|
||||
}
|
||||
|
||||
bool mp_hal_is_interrupted(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
#if MICROPY_USE_READLINE == 1
|
||||
|
||||
#include <termios.h>
|
||||
|
|
|
@ -311,6 +311,7 @@ SRC_COMMON_HAL_ALL = \
|
|||
alarm/__init__.c \
|
||||
alarm/pin/PinAlarm.c \
|
||||
alarm/time/TimeAlarm.c \
|
||||
alarm/touch/TouchAlarm.c \
|
||||
analogio/AnalogIn.c \
|
||||
analogio/AnalogOut.c \
|
||||
analogio/__init__.c \
|
||||
|
|
|
@ -96,7 +96,7 @@ CFLAGS += -DCIRCUITPY_BLEIO=$(CIRCUITPY_BLEIO)
|
|||
CIRCUITPY_BOARD ?= 1
|
||||
CFLAGS += -DCIRCUITPY_BOARD=$(CIRCUITPY_BOARD)
|
||||
|
||||
CIRCUITPY_BUSDEVICE ?= $(CIRCUITPY_FULL_BUILD)
|
||||
CIRCUITPY_BUSDEVICE = 0
|
||||
CFLAGS += -DCIRCUITPY_BUSDEVICE=$(CIRCUITPY_BUSDEVICE)
|
||||
|
||||
CIRCUITPY_BUILTINS_POW3 ?= $(CIRCUITPY_FULL_BUILD)
|
||||
|
|
8
py/obj.c
8
py/obj.c
|
@ -29,6 +29,7 @@
|
|||
#include <stdarg.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "lib/utils/interrupt_char.h"
|
||||
#include "py/obj.h"
|
||||
#include "py/objtype.h"
|
||||
#include "py/objint.h"
|
||||
|
@ -67,7 +68,12 @@ void mp_obj_print_helper(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t
|
|||
#ifdef RUN_BACKGROUND_TASKS
|
||||
RUN_BACKGROUND_TASKS;
|
||||
#endif
|
||||
mp_handle_pending();
|
||||
#if MICROPY_KBD_EXCEPTION
|
||||
// Stop printing if we've been interrupted.
|
||||
if (mp_hal_is_interrupted()) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef NDEBUG
|
||||
if (o_in == MP_OBJ_NULL) {
|
||||
|
|
2
py/vm.c
2
py/vm.c
|
@ -1015,7 +1015,7 @@ unwind_jump:;
|
|||
}
|
||||
#endif
|
||||
SET_TOP(mp_call_method_n_kw(unum & 0xff, (unum >> 8) & 0xff, sp));
|
||||
DISPATCH();
|
||||
DISPATCH_WITH_PEND_EXC_CHECK();
|
||||
}
|
||||
|
||||
ENTRY(MP_BC_CALL_METHOD_VAR_KW): {
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
#include "shared-bindings/_bleio/Address.h"
|
||||
#include "shared-bindings/_bleio/Adapter.h"
|
||||
|
||||
#define ADV_INTERVAL_MIN (0.0020f)
|
||||
#define ADV_INTERVAL_MIN_STRING "0.0020"
|
||||
#define ADV_INTERVAL_MIN (0.02001f)
|
||||
#define ADV_INTERVAL_MIN_STRING "0.02001"
|
||||
#define ADV_INTERVAL_MAX (10.24f)
|
||||
#define ADV_INTERVAL_MAX_STRING "10.24"
|
||||
// 20ms is recommended by Apple
|
||||
|
@ -307,7 +307,7 @@ STATIC mp_obj_t bleio_adapter_start_scan(size_t n_args, const mp_obj_t *pos_args
|
|||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
mp_float_t timeout = 0;
|
||||
mp_float_t timeout = 0.0f;
|
||||
if (args[ARG_timeout].u_obj != mp_const_none) {
|
||||
timeout = mp_obj_get_float(args[ARG_timeout].u_obj);
|
||||
}
|
||||
|
@ -325,6 +325,13 @@ STATIC mp_obj_t bleio_adapter_start_scan(size_t n_args, const mp_obj_t *pos_args
|
|||
mp_raise_ValueError_varg(translate("interval must be in range %s-%s"), INTERVAL_MIN_STRING, INTERVAL_MAX_STRING);
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wfloat-equal"
|
||||
if (timeout != 0.0f && timeout < interval) {
|
||||
mp_raise_ValueError(translate("non-zero timeout must be >= interval"));
|
||||
}
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
const mp_float_t window = mp_obj_float_get(args[ARG_window].u_obj);
|
||||
if (window > interval) {
|
||||
mp_raise_ValueError(translate("window must be <= interval"));
|
||||
|
|
|
@ -110,8 +110,8 @@ STATIC mp_obj_t bleio_characteristic_add_to_service(size_t n_args, const mp_obj_
|
|||
common_hal_bleio_attribute_security_mode_check_valid(write_perm);
|
||||
|
||||
const mp_int_t max_length_int = args[ARG_max_length].u_int;
|
||||
if (max_length_int <= 0) {
|
||||
mp_raise_ValueError(translate("max_length must be > 0"));
|
||||
if (max_length_int < 0) {
|
||||
mp_raise_ValueError(translate("max_length must be >= 0"));
|
||||
}
|
||||
const size_t max_length = (size_t) max_length_int;
|
||||
const bool fixed_length = args[ARG_fixed_length].u_bool;
|
||||
|
|
|
@ -101,8 +101,8 @@ STATIC mp_obj_t bleio_descriptor_add_to_characteristic(size_t n_args, const mp_o
|
|||
common_hal_bleio_attribute_security_mode_check_valid(write_perm);
|
||||
|
||||
const mp_int_t max_length_int = args[ARG_max_length].u_int;
|
||||
if (max_length_int <= 0) {
|
||||
mp_raise_ValueError(translate("max_length must be > 0"));
|
||||
if (max_length_int < 0) {
|
||||
mp_raise_ValueError(translate("max_length must be >= 0"));
|
||||
}
|
||||
const size_t max_length = (size_t) max_length_int;
|
||||
const bool fixed_length = args[ARG_fixed_length].u_bool;
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "shared-bindings/alarm/SleepMemory.h"
|
||||
#include "shared-bindings/alarm/pin/PinAlarm.h"
|
||||
#include "shared-bindings/alarm/time/TimeAlarm.h"
|
||||
#include "shared-bindings/alarm/touch/TouchAlarm.h"
|
||||
#include "shared-bindings/supervisor/Runtime.h"
|
||||
#include "shared-bindings/time/__init__.h"
|
||||
#include "supervisor/shared/autoreload.h"
|
||||
|
@ -71,8 +72,9 @@
|
|||
|
||||
void validate_objs_are_alarms(size_t n_args, const mp_obj_t *objs) {
|
||||
for (size_t i = 0; i < n_args; i++) {
|
||||
if (MP_OBJ_IS_TYPE(objs[i], &alarm_pin_pin_alarm_type) ||
|
||||
MP_OBJ_IS_TYPE(objs[i], &alarm_time_time_alarm_type)) {
|
||||
if (MP_OBJ_IS_TYPE(objs[i], &alarm_pin_pinalarm_type) ||
|
||||
MP_OBJ_IS_TYPE(objs[i], &alarm_time_timealarm_type) ||
|
||||
MP_OBJ_IS_TYPE(objs[i], &alarm_touch_touchalarm_type)) {
|
||||
continue;
|
||||
}
|
||||
mp_raise_TypeError_varg(translate("Expected an alarm"));
|
||||
|
@ -159,7 +161,7 @@ MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(alarm_exit_and_deep_sleep_until_alarms_obj,
|
|||
STATIC const mp_map_elem_t alarm_pin_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_pin) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_PinAlarm), MP_OBJ_FROM_PTR(&alarm_pin_pin_alarm_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PinAlarm), MP_OBJ_FROM_PTR(&alarm_pin_pinalarm_type) },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(alarm_pin_globals, alarm_pin_globals_table);
|
||||
|
@ -172,7 +174,7 @@ STATIC const mp_obj_module_t alarm_pin_module = {
|
|||
STATIC const mp_map_elem_t alarm_time_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_time) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TimeAlarm), MP_OBJ_FROM_PTR(&alarm_time_time_alarm_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TimeAlarm), MP_OBJ_FROM_PTR(&alarm_time_timealarm_type) },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(alarm_time_globals, alarm_time_globals_table);
|
||||
|
@ -182,6 +184,18 @@ STATIC const mp_obj_module_t alarm_time_module = {
|
|||
.globals = (mp_obj_dict_t*)&alarm_time_globals,
|
||||
};
|
||||
|
||||
STATIC const mp_map_elem_t alarm_touch_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_touch) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TouchAlarm), MP_OBJ_FROM_PTR(&alarm_touch_touchalarm_type) },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(alarm_touch_globals, alarm_touch_globals_table);
|
||||
|
||||
STATIC const mp_obj_module_t alarm_touch_module = {
|
||||
.base = { &mp_type_module },
|
||||
.globals = (mp_obj_dict_t*)&alarm_touch_globals,
|
||||
};
|
||||
|
||||
// The module table is mutable because .wake_alarm is a mutable attribute.
|
||||
STATIC mp_map_elem_t alarm_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_alarm) },
|
||||
|
@ -195,27 +209,35 @@ STATIC mp_map_elem_t alarm_module_globals_table[] = {
|
|||
|
||||
{ MP_ROM_QSTR(MP_QSTR_pin), MP_OBJ_FROM_PTR(&alarm_pin_module) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_time), MP_OBJ_FROM_PTR(&alarm_time_module) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_touch), MP_OBJ_FROM_PTR(&alarm_touch_module) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SleepMemory), MP_OBJ_FROM_PTR(&alarm_sleep_memory_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_sleep_memory), MP_OBJ_FROM_PTR(&alarm_sleep_memory_obj) },
|
||||
};
|
||||
STATIC MP_DEFINE_MUTABLE_DICT(alarm_module_globals, alarm_module_globals_table);
|
||||
|
||||
STATIC void alarm_set_wake_alarm(mp_obj_t alarm) {
|
||||
// Fetch value from module dict.
|
||||
mp_obj_t alarm_get_wake_alarm(void) {
|
||||
mp_map_elem_t *elem =
|
||||
mp_map_lookup(&alarm_module_globals.map, MP_ROM_QSTR(MP_QSTR_wake_alarm), MP_MAP_LOOKUP);
|
||||
if (elem) {
|
||||
return elem->value;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize .wake_alarm value.
|
||||
void alarm_save_wake_alarm(void) {
|
||||
// Equivalent of:
|
||||
// alarm.wake_alarm = alarm
|
||||
mp_map_elem_t *elem =
|
||||
mp_map_lookup(&alarm_module_globals.map, MP_ROM_QSTR(MP_QSTR_wake_alarm), MP_MAP_LOOKUP);
|
||||
if (elem) {
|
||||
elem->value = alarm;
|
||||
elem->value = common_hal_alarm_get_wake_alarm();
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize .wake_alarm value.
|
||||
void alarm_save_wakeup_alarm(void) {
|
||||
alarm_set_wake_alarm(common_hal_alarm_get_wake_alarm());
|
||||
}
|
||||
|
||||
const mp_obj_module_t alarm_module = {
|
||||
.base = { &mp_type_module },
|
||||
.globals = (mp_obj_dict_t*)&alarm_module_globals,
|
||||
|
|
|
@ -43,13 +43,18 @@ extern void common_hal_alarm_set_deep_sleep_alarms(size_t n_alarms, const mp_obj
|
|||
// Deep sleep is entered outside of the VM so we omit the `common_hal_` prefix.
|
||||
extern NORETURN void alarm_enter_deep_sleep(void);
|
||||
|
||||
// Fetches value from module dict.
|
||||
extern mp_obj_t alarm_get_wake_alarm(void);
|
||||
|
||||
extern void common_hal_alarm_gc_collect(void);
|
||||
extern mp_obj_t common_hal_alarm_get_wake_alarm(void);
|
||||
|
||||
// Used by wake-up code.
|
||||
void alarm_save_wakeup_alarm(void);
|
||||
void alarm_save_wake_alarm(void);
|
||||
|
||||
|
||||
// True if an alarm is alerting. This is most useful for pretend deep sleep.
|
||||
extern bool alarm_woken_from_sleep(void);
|
||||
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_ALARM___INIT___H
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue