Merge branch 'adafruit:main' into adcdma
This commit is contained in:
commit
e778112710
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -307,3 +307,6 @@
|
||||
[submodule "frozen/circuitpython_picoed"]
|
||||
path = frozen/circuitpython_picoed
|
||||
url = https://github.com/elecfreaks/circuitpython_picoed.git
|
||||
[submodule "ports/espressif/esp32-camera"]
|
||||
path = ports/espressif/esp32-camera
|
||||
url = https://github.com/adafruit/esp32-camera/
|
||||
|
1
conf.py
1
conf.py
@ -199,6 +199,7 @@ exclude_patterns = ["**/build*",
|
||||
"ports/cxd56/spresense-exported-sdk",
|
||||
"ports/espressif/certificates",
|
||||
"ports/espressif/esp-idf",
|
||||
"ports/espressif/esp32-camera",
|
||||
"ports/espressif/.idf_tools",
|
||||
"ports/espressif/peripherals",
|
||||
"ports/litex/hw",
|
||||
|
@ -71,7 +71,7 @@ as a natural "TODO" list. An example minimal build list is shown below:
|
||||
CIRCUITPY_SDCARDIO = 0
|
||||
CIRCUITPY_FRAMEBUFFERIO = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
# Requires SPI, PulseIO (stub ok):
|
||||
CIRCUITPY_DISPLAYIO = 0
|
||||
|
||||
|
64
locale/ID.po
64
locale/ID.po
@ -215,7 +215,7 @@ msgstr "%q, %q, dan %q semuanya harus memiliki panjang yang sama"
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s kesalahan 0x%x"
|
||||
@ -404,12 +404,14 @@ msgstr "Alamat harus sepanjang %d byte"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Semua perangkat I2C sedang digunakan"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -653,7 +655,7 @@ msgstr "Blok CBC harus merupakan kelipatan 16 byte"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -876,6 +878,10 @@ msgstr "Tampilan harus memiliki ruang warna 16 bit."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Rotasi tampilan harus dalam kelipatan 90 derajat"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Mode kendara tidak digunakan saat arah input."
|
||||
@ -1032,7 +1038,7 @@ msgstr "Fungsinya membutuhkan kunci"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1203,7 +1209,7 @@ msgstr ""
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Argumen tidak valid"
|
||||
@ -1233,7 +1239,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "Pin-pin tidak valid"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1241,7 +1247,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1265,7 +1271,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1551,6 +1557,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Parity ganjil tidak didukung"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1597,7 +1611,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1620,15 +1634,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr "Waktu habis"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "Kehabisan memori"
|
||||
|
||||
@ -1810,10 +1824,14 @@ msgstr "sistem file (filesystem) bersifat Read-only"
|
||||
msgid "Read-only object"
|
||||
msgstr "Objek Read-only"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Segarkan terlalu cepat"
|
||||
@ -1826,7 +1844,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "Mode AES yang diminta tidak didukung"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2252,7 +2270,7 @@ msgstr "Panjang nilai != Panjang tetap yang dibutuhkan"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "Panjang nilai > max_length"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2334,11 +2352,11 @@ msgstr "__new__ arg harus berupa user-type"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "sebuah objek menyerupai byte (bytes-like) dibutuhkan"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "alamat di luar batas"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "alamatnya kosong"
|
||||
|
||||
@ -2530,7 +2548,7 @@ msgstr "tidak dapat menetapkan ke ekspresi"
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3267,6 +3285,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "micropython decorator tidak valid"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr ""
|
||||
@ -3522,7 +3544,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
|
@ -398,12 +398,14 @@ msgstr ""
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -1589,7 +1591,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -2319,11 +2321,11 @@ msgstr ""
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr ""
|
||||
|
||||
@ -2515,7 +2517,7 @@ msgstr ""
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3252,6 +3254,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr ""
|
||||
@ -3507,7 +3513,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
|
64
locale/cs.po
64
locale/cs.po
@ -216,7 +216,7 @@ msgstr "%q, %q, a %q musí mít všechny shodnou délku"
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s chyba 0x%x"
|
||||
@ -405,12 +405,14 @@ msgstr "Adresa musí být %d bajtů dlouhá"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Všechny CAN periferie jsou používány"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Všechny I2C periferie jsou používány"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -654,7 +656,7 @@ msgstr "Bloky CBC musí být násobky 16 bajtů"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr "Disk CIRCUITPY nelze nalézt nebo vytvořit."
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -874,6 +876,10 @@ msgstr "Displej musí mít 16bitový barevný prostor."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Otočení displeje musí být po 90 stupních"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr ""
|
||||
@ -1032,7 +1038,7 @@ msgstr "Funkce vyžaduje zámek"
|
||||
msgid "GNSS init"
|
||||
msgstr "Inicializace GNSS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "Základní chyba"
|
||||
|
||||
@ -1203,7 +1209,7 @@ msgstr "Chybné BSSID"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr "Chybná MAC adresa"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Neplatný argument"
|
||||
@ -1233,7 +1239,7 @@ msgstr "Chybná multicastová MAC adresa"
|
||||
msgid "Invalid pins"
|
||||
msgstr "Neplatné piny"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Chybná velikost"
|
||||
|
||||
@ -1241,7 +1247,7 @@ msgstr "Chybná velikost"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Chybný soket pro TLS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "Chybný stav"
|
||||
|
||||
@ -1265,7 +1271,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "MAC adresa byla chybná"
|
||||
|
||||
@ -1551,6 +1557,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1593,7 +1607,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1616,15 +1630,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1801,10 +1815,14 @@ msgstr ""
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr ""
|
||||
@ -1817,7 +1835,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2239,7 +2257,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2321,11 +2339,11 @@ msgstr ""
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr ""
|
||||
|
||||
@ -2517,7 +2535,7 @@ msgstr ""
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3254,6 +3272,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr ""
|
||||
@ -3509,7 +3531,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
|
@ -218,7 +218,7 @@ msgstr "%q, %q und %q müssen alle die gleiche Länge haben"
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s Fehler 0x%x"
|
||||
@ -407,12 +407,14 @@ msgstr "Die Adresse muss %d Bytes lang sein"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Alle CAN-Schnittstellen sind in Benutzung"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Alle I2C-Peripheriegeräte sind in Benutzung"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -656,7 +658,7 @@ msgstr "CBC-Blöcke müssen ein Vielfaches von 16 Bytes sein"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr "CIRCUITPY-Laufwerk konnte nicht gefunden oder erzeugt werden."
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC oder Checksumme ungültig"
|
||||
|
||||
@ -880,6 +882,10 @@ msgstr "Display muss einen 16 Bit Farbraum haben."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Die Rotation der Anzeige muss in 90-Grad-Schritten erfolgen"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Drive mode wird nicht verwendet, wenn die Richtung input ist."
|
||||
@ -1041,7 +1047,7 @@ msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "Generischer Fehler"
|
||||
|
||||
@ -1216,7 +1222,7 @@ msgstr "Ungültige BSSID"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr "Ungültige MAC-Adresse"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Ungültiges Argument"
|
||||
@ -1246,7 +1252,7 @@ msgstr "Ungültige Multicast-MAC-Adresse"
|
||||
msgid "Invalid pins"
|
||||
msgstr "Ungültige Pins"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Ungültige Größe"
|
||||
|
||||
@ -1254,7 +1260,7 @@ msgstr "Ungültige Größe"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Ungültiges Socket für TLS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "Ungültiger Zustand"
|
||||
|
||||
@ -1278,7 +1284,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "MAC Adresse war ungültig"
|
||||
|
||||
@ -1566,6 +1572,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Eine ungerade Parität wird nicht unterstützt"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1612,7 +1626,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr "Nur ein TouchAlarm kann in Deep Sleep gesetzt werden."
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr "Nur eine Adresse ist erlaubt"
|
||||
|
||||
@ -1635,15 +1649,15 @@ msgstr "Nur eine Farbe kann transparent sein zu einer Zeit"
|
||||
msgid "Operation not permitted"
|
||||
msgstr "Operation nicht erlaubt"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr "Vorgang oder Funktion wird nicht unterstützt"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr "Zeit für Vorgang abgelaufen"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "Kein Speicher mehr verfügbar"
|
||||
|
||||
@ -1824,10 +1838,14 @@ msgstr "Schreibgeschützte Dateisystem"
|
||||
msgid "Read-only object"
|
||||
msgstr "Schreibgeschützte Objekt"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Erhaltene Antwort ist ungültig"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Zu früh neu geladen"
|
||||
@ -1840,7 +1858,7 @@ msgstr "RemoteTransmissionRequests limitiert auf 8 Bytes"
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "Der angeforderte AES-Modus wird nicht unterstützt"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr "Angefragte Ressource nicht gefunden"
|
||||
|
||||
@ -2279,7 +2297,7 @@ msgstr "Wert Länge != Erforderliche feste Länge"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "Länge des Wertes > max_length"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr "Version ist ungültig"
|
||||
|
||||
@ -2373,11 +2391,11 @@ msgstr "__new__ arg muss user-type sein"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "ein Byte-ähnliches Objekt ist erforderlich"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "Adresse außerhalb der Grenzen"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "addresses ist leer"
|
||||
|
||||
@ -2571,7 +2589,7 @@ msgstr "kann keinem Ausdruck zuweisen"
|
||||
msgid "can't cancel self"
|
||||
msgstr "kann self nicht abbrechen"
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "kann %q nicht zu %q konvertieren"
|
||||
@ -3320,6 +3338,10 @@ msgstr "ungültiger Hostname"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "ungültiger micropython decorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "ungültiger Schritt (step)"
|
||||
@ -3581,7 +3603,7 @@ msgstr "kein Reset Pin verfügbar"
|
||||
msgid "no response from SD card"
|
||||
msgstr "keine Antwort von der SD-Karte"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "kein solches Attribut"
|
||||
|
||||
|
64
locale/el.po
64
locale/el.po
@ -209,7 +209,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr ""
|
||||
@ -398,12 +398,14 @@ msgstr ""
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -645,7 +647,7 @@ msgstr ""
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -863,6 +865,10 @@ msgstr ""
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr ""
|
||||
@ -1019,7 +1025,7 @@ msgstr ""
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1188,7 +1194,7 @@ msgstr ""
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr ""
|
||||
@ -1218,7 +1224,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1226,7 +1232,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1250,7 +1256,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1535,6 +1541,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1577,7 +1591,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1600,15 +1614,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1783,10 +1797,14 @@ msgstr ""
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr ""
|
||||
@ -1799,7 +1817,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2221,7 +2239,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2303,11 +2321,11 @@ msgstr ""
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr ""
|
||||
|
||||
@ -2499,7 +2517,7 @@ msgstr ""
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3236,6 +3254,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr ""
|
||||
@ -3491,7 +3513,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
|
@ -219,7 +219,7 @@ msgstr "%q, %q, and %q must all be the same length"
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s error 0x%x"
|
||||
@ -408,12 +408,14 @@ msgstr "Address must be %d bytes long"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "All CAN peripherals are in use"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "All I2C peripherals are in use"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -657,7 +659,7 @@ msgstr "CBC blocks must be multiples of 16 bytes"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC or checksum was invalid"
|
||||
|
||||
@ -877,6 +879,10 @@ msgstr "Display must have a 16 bit colourspace."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Display rotation must be in 90 degree increments"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Drive mode not used when direction is input."
|
||||
@ -1033,7 +1039,7 @@ msgstr "Function requires lock"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "Generic Failure"
|
||||
|
||||
@ -1204,7 +1210,7 @@ msgstr "Invalid BSSID"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Invalid argument"
|
||||
@ -1234,7 +1240,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "Invalid pins"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Invalid size"
|
||||
|
||||
@ -1242,7 +1248,7 @@ msgstr "Invalid size"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Invalid socket for TLS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "Invalid state"
|
||||
|
||||
@ -1266,7 +1272,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "MAC address was invalid"
|
||||
|
||||
@ -1552,6 +1558,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Odd parity is not supported"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1597,7 +1611,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr "Only one TouchAlarm can be set in deep sleep."
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1620,15 +1634,15 @@ msgstr "Only one colour can be transparent at a time"
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr "Operation or feature not supported"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr "Operation timed out"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "Out of memory"
|
||||
|
||||
@ -1807,10 +1821,14 @@ msgstr "Read-only filesystem"
|
||||
msgid "Read-only object"
|
||||
msgstr "Read-only object"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Received response was invalid"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Refresh too soon"
|
||||
@ -1823,7 +1841,7 @@ msgstr "RemoteTransmissionRequests limited to 8 bytes"
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "Requested AES mode is unsupported"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr "Requested resource not found"
|
||||
|
||||
@ -2254,7 +2272,7 @@ msgstr "Value length != required fixed length"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "Value length > max_length"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr "Version was invalid"
|
||||
|
||||
@ -2337,11 +2355,11 @@ msgstr "__new__ arg must be a user-type"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "a bytes-like object is required"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "address out of bounds"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "addresses is empty"
|
||||
|
||||
@ -2533,7 +2551,7 @@ msgstr "Can't assign to expression"
|
||||
msgid "can't cancel self"
|
||||
msgstr "can't cancel self"
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "Can't convert %q to %q"
|
||||
@ -3273,6 +3291,10 @@ msgstr "invalid hostname"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "invalid micropython decorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "invalid step"
|
||||
@ -3528,7 +3550,7 @@ msgstr "no reset pin available"
|
||||
msgid "no response from SD card"
|
||||
msgstr "no response from SD card"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "no such attribute"
|
||||
|
||||
|
64
locale/es.po
64
locale/es.po
@ -218,7 +218,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s error 0x%x"
|
||||
@ -407,12 +407,14 @@ msgstr "La dirección debe tener %d bytes de largo"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Todos los periféricos CAN están en uso"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Todos los periféricos I2C están siendo usados"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -659,7 +661,7 @@ msgstr "Los bloques CBC deben ser múltiplos de 16 bytes"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC o suma de comprobación inválida"
|
||||
|
||||
@ -884,6 +886,10 @@ msgstr "La pantalla debe tener un espacio de color de 16 bits."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Rotación de display debe ser en incrementos de 90 grados"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Modo Drive no se usa cuando la dirección es input."
|
||||
@ -1041,7 +1047,7 @@ msgstr "La función requiere lock"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "Fallo Genérico"
|
||||
|
||||
@ -1219,7 +1225,7 @@ msgstr "BSSID inválido"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Argumento inválido"
|
||||
@ -1249,7 +1255,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "pines inválidos"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Tamaño incorrecto"
|
||||
|
||||
@ -1257,7 +1263,7 @@ msgstr "Tamaño incorrecto"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "socket invalido para TLS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "Estado invalido"
|
||||
|
||||
@ -1281,7 +1287,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "La dirección MAC es incorrecta"
|
||||
|
||||
@ -1572,6 +1578,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Paridad impar no soportada"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1618,7 +1632,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr "Solamente una TouchAlarm puede ser configurada durante deep sleep."
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1641,15 +1655,15 @@ msgstr "Solo un color puede ser transparente a la vez"
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr "Operación no característica no soportada"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr "Tiempo de espera agotado"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "Memoria agotada"
|
||||
|
||||
@ -1832,10 +1846,14 @@ msgstr "Sistema de archivos de solo-Lectura"
|
||||
msgid "Read-only object"
|
||||
msgstr "Objeto de solo-lectura"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "La respuesta recibida es invalida"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Refresco demasiado pronto"
|
||||
@ -1848,7 +1866,7 @@ msgstr "RemoteTransmissionRequests limitado a 8 bytes"
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "El modo AES solicitado no es compatible"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr "Recurso solicitado no encontrado"
|
||||
|
||||
@ -2283,7 +2301,7 @@ msgstr "Tamaño del valor != del tamaño fijo requerido"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "Tamaño de valor > max_length"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr "La versión era invalida"
|
||||
|
||||
@ -2370,11 +2388,11 @@ msgstr "__new__ arg debe ser un user-type"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "se requiere un objeto bytes-like"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "address fuera de límites"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "addresses esta vacío"
|
||||
|
||||
@ -2566,7 +2584,7 @@ msgstr "no se puede asignar a la expresión"
|
||||
msgid "can't cancel self"
|
||||
msgstr "no se puede cancelar a si mismo"
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "no puede convertir %q a %q"
|
||||
@ -3310,6 +3328,10 @@ msgstr "hostname inválido"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "decorador de micropython inválido"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "paso inválido"
|
||||
@ -3569,7 +3591,7 @@ msgstr "no hay pin de reinicio disponible"
|
||||
msgid "no response from SD card"
|
||||
msgstr "no hay respuesta de la tarjeta SD"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "no hay tal atributo"
|
||||
|
||||
|
@ -212,7 +212,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr ""
|
||||
@ -401,12 +401,14 @@ msgstr "ang palette ay dapat 32 bytes ang haba"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Lahat ng I2C peripherals ginagamit"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -652,7 +654,7 @@ msgstr ""
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -874,6 +876,10 @@ msgstr ""
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input."
|
||||
@ -1030,7 +1036,7 @@ msgstr "Function nangangailangan ng lock"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1201,7 +1207,7 @@ msgstr ""
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Maling argumento"
|
||||
@ -1231,7 +1237,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "Mali ang pins"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1239,7 +1245,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1263,7 +1269,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1551,6 +1557,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Odd na parity ay hindi supportado"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1593,7 +1607,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1616,15 +1630,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1801,10 +1815,14 @@ msgstr "Basahin-lamang mode"
|
||||
msgid "Read-only object"
|
||||
msgstr "Basahin-lamang"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr ""
|
||||
@ -1817,7 +1835,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2241,7 +2259,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2323,11 +2341,11 @@ msgstr "__new__ arg ay dapat na user-type"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "a bytes-like object ay kailangan"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "wala sa sakop ang address"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "walang laman ang address"
|
||||
|
||||
@ -2521,7 +2539,7 @@ msgstr "hindi ma i-assign sa expression"
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3269,6 +3287,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "mali ang micropython decorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "mali ang step"
|
||||
@ -3528,7 +3550,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "walang ganoon na attribute"
|
||||
|
||||
|
72
locale/fr.po
72
locale/fr.po
@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: 0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-07-19 23:15+0000\n"
|
||||
"PO-Revision-Date: 2022-08-09 04:22+0000\n"
|
||||
"Last-Translator: Maxime Leroy <lisacintosh@gmail.com>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -219,9 +219,9 @@ msgstr "%q, %q, et %q doivent tous être de la même longueur"
|
||||
|
||||
#: py/objint.c
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
msgstr "%q=%q"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s erreur 0x%x"
|
||||
@ -410,12 +410,14 @@ msgstr "L'adresse doit être longue de %d octets"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Tous les périphériques CAN sont utilisés"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Tous les périphériques I2C sont utilisés"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -663,7 +665,7 @@ msgstr "Les blocs CBC doivent être des multiples de 16 octets"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr "L’appareil CIRCUITPY ne peut pas être trouvé ou créé."
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC ou somme de contrôle invalide"
|
||||
|
||||
@ -896,6 +898,10 @@ msgstr "L'affichage doit avoir un espace colorimétrique de 16 bits."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "La rotation d'affichage doit se faire par incréments de 90 degrés"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr "OK"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr ""
|
||||
@ -1060,7 +1066,7 @@ msgstr "La fonction nécessite un verrou ('lock')"
|
||||
msgid "GNSS init"
|
||||
msgstr "Initialisation GNSS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "Échec génerique"
|
||||
|
||||
@ -1242,7 +1248,7 @@ msgstr "BSSID invalide"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr "Adresse MAC invalide"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Paramètre invalide"
|
||||
@ -1272,7 +1278,7 @@ msgstr "Adresse MAC multicast invalide"
|
||||
msgid "Invalid pins"
|
||||
msgstr "Broches invalides"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Taille invalide"
|
||||
|
||||
@ -1280,7 +1286,7 @@ msgstr "Taille invalide"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Socket non valide pour TLS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "État invalide"
|
||||
|
||||
@ -1304,7 +1310,7 @@ msgstr "Ce calque est déjà dans un groupe"
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr "Le calque doit être une sous-classe de Group ou TileGrid"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "Adresse physique (MAC) invalide"
|
||||
|
||||
@ -1595,6 +1601,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Parité impaire non supportée"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr "Inactif"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr "OK"
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1641,7 +1655,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr "Seulement une TouchAlarm peu être réglée en sommeil profond."
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr "Seulement une adresse est autorisée"
|
||||
|
||||
@ -1664,15 +1678,15 @@ msgstr "Une seule couleur peut être transparente à la fois"
|
||||
msgid "Operation not permitted"
|
||||
msgstr "Cette opération n'est pas permise"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr "Opération ou fonction non supportée"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr "Timeout de l'opération"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "Hors de mémoire"
|
||||
|
||||
@ -1856,10 +1870,14 @@ msgstr "Système de fichier en lecture seule"
|
||||
msgid "Read-only object"
|
||||
msgstr "Objet en lecture seule"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Réponse reçue invalide"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr "Reconnexion"
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Rafraîchissement trop tôt"
|
||||
@ -1872,7 +1890,7 @@ msgstr "RemoteTransmissionRequests limité à 8 octets"
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "Le mode AES demandé n'est pas supporté"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr "Resource demandée non trouvée"
|
||||
|
||||
@ -2311,7 +2329,7 @@ msgstr "Longueur de valeur != Longueur fixe requise"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "Longueur de la valeur > max_length"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr "Version est invalide"
|
||||
|
||||
@ -2404,11 +2422,11 @@ msgstr "l'argument __new__ doit être d'un type défini par l'utilisateur"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "un objet 'bytes-like' est requis"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "adresse hors limites"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "adresses vides"
|
||||
|
||||
@ -2601,7 +2619,7 @@ msgstr "ne peut pas assigner à une expression"
|
||||
msgid "can't cancel self"
|
||||
msgstr "ne peut pas s'annuler soi-même"
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "impossible de convertir %q en %q"
|
||||
@ -3352,6 +3370,10 @@ msgstr "hostname incorrect"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "décorateur micropython invalide"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "pas invalide"
|
||||
@ -3612,7 +3634,7 @@ msgstr "pas de broche de réinitialisation disponible"
|
||||
msgid "no response from SD card"
|
||||
msgstr "pas de réponse de la carte SD"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "pas de tel attribut"
|
||||
|
||||
@ -3883,7 +3905,7 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
|
||||
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32_pico/mpconfigboard.h
|
||||
msgid "pressing BOOT button at start up.\n"
|
||||
msgstr ""
|
||||
msgstr "presser le bouton BOOT au démarrage.\n"
|
||||
|
||||
#: ports/espressif/boards/adafruit_feather_esp32_v2/mpconfigboard.h
|
||||
msgid "pressing SW38 button at start up.\n"
|
||||
@ -3891,7 +3913,7 @@ msgstr "presser le bouton SW38 au démarrage.\n"
|
||||
|
||||
#: ports/espressif/boards/hardkernel_odroid_go/mpconfigboard.h
|
||||
msgid "pressing VOLUME button at start up.\n"
|
||||
msgstr ""
|
||||
msgstr "presser le bouton VOLUME au démarrage.\n"
|
||||
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32c3/mpconfigboard.h
|
||||
#: ports/espressif/boards/beetle-esp32-c3/mpconfigboard.h
|
||||
|
64
locale/hi.po
64
locale/hi.po
@ -209,7 +209,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr ""
|
||||
@ -398,12 +398,14 @@ msgstr ""
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -645,7 +647,7 @@ msgstr ""
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -863,6 +865,10 @@ msgstr ""
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr ""
|
||||
@ -1019,7 +1025,7 @@ msgstr ""
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1188,7 +1194,7 @@ msgstr ""
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr ""
|
||||
@ -1218,7 +1224,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1226,7 +1232,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1250,7 +1256,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1535,6 +1541,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1577,7 +1591,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1600,15 +1614,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1783,10 +1797,14 @@ msgstr ""
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr ""
|
||||
@ -1799,7 +1817,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2221,7 +2239,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2303,11 +2321,11 @@ msgstr ""
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr ""
|
||||
|
||||
@ -2499,7 +2517,7 @@ msgstr ""
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3236,6 +3254,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr ""
|
||||
@ -3491,7 +3513,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
|
@ -217,7 +217,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s errore 0x%x"
|
||||
@ -407,12 +407,14 @@ msgstr "L'indirizzo deve essere lungo %d byte"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Tutte le periferiche CAN sono in uso"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Tutte le periferiche I2C sono in uso"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -658,7 +660,7 @@ msgstr "I blocchi CBC devono essere multipli di 16 bytes"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC o controllo totale è risultato non valido"
|
||||
|
||||
@ -879,6 +881,10 @@ msgstr ""
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr ""
|
||||
@ -1035,7 +1041,7 @@ msgstr ""
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1206,7 +1212,7 @@ msgstr ""
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Argomento non valido"
|
||||
@ -1236,7 +1242,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "Pin non validi"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1244,7 +1250,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1268,7 +1274,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1558,6 +1564,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "operazione I2C non supportata"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1600,7 +1614,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1623,15 +1637,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1811,10 +1825,14 @@ msgstr "Filesystem in sola lettura"
|
||||
msgid "Read-only object"
|
||||
msgstr "Sola lettura"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr ""
|
||||
@ -1827,7 +1845,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2251,7 +2269,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2333,11 +2351,11 @@ msgstr ""
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "un oggetto byte-like è richiesto"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "indirizzo fuori limite"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "gli indirizzi sono vuoti"
|
||||
|
||||
@ -2533,7 +2551,7 @@ msgstr "impossibile assegnare all'espressione"
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3277,6 +3295,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "decoratore non valido in micropython"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "step non valida"
|
||||
@ -3537,7 +3559,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "attributo inesistente"
|
||||
|
||||
|
64
locale/ja.po
64
locale/ja.po
@ -214,7 +214,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr ""
|
||||
@ -403,12 +403,14 @@ msgstr "アドレスは、%dバイト長でなければなりません"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "全てのCAN周辺機器が使用中"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "全てのI2C周辺機器が使用中"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -652,7 +654,7 @@ msgstr "CBCブロックは16バイトの整数倍でなければなりません"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -872,6 +874,10 @@ msgstr "ディスプレイは16ビット色空間を持たなければなりま
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "ディスプレイの回転は90度の倍数でなければなりません"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "方向がinputのときドライブモードは使われません"
|
||||
@ -1028,7 +1034,7 @@ msgstr ""
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1199,7 +1205,7 @@ msgstr "不正なBSSID"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "不正な引数"
|
||||
@ -1229,7 +1235,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "ピンが不正"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1237,7 +1243,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1261,7 +1267,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1548,6 +1554,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "奇数パリティには対応していません"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1590,7 +1604,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1613,15 +1627,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1796,10 +1810,14 @@ msgstr "読み込み専用のファイルシステム"
|
||||
msgid "Read-only object"
|
||||
msgstr "読み込み専用のオブジェクト"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "リフレッシュが早すぎます"
|
||||
@ -1812,7 +1830,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "要求のAESモードは非対応"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2235,7 +2253,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2317,11 +2335,11 @@ msgstr "__new__の引数はユーザ型でなければなりません"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "bytes-likeオブジェクトが必要"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "アドレスが範囲外"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr ""
|
||||
|
||||
@ -2513,7 +2531,7 @@ msgstr "式には代入できません"
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "%qを%qに変換できません"
|
||||
@ -3255,6 +3273,10 @@ msgstr "不正なホスト名"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "不正なmicropythonデコレータ"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "不正なステップ"
|
||||
@ -3510,7 +3532,7 @@ msgstr "利用可能なリセットピンがありません"
|
||||
msgid "no response from SD card"
|
||||
msgstr "SDカードからの応答がありません"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "指定の属性はありません"
|
||||
|
||||
|
64
locale/ko.po
64
locale/ko.po
@ -210,7 +210,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr ""
|
||||
@ -399,12 +399,14 @@ msgstr ""
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "사용중인 모든 I2C주변 기기"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -648,7 +650,7 @@ msgstr ""
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -866,6 +868,10 @@ msgstr ""
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr ""
|
||||
@ -1022,7 +1028,7 @@ msgstr ""
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1191,7 +1197,7 @@ msgstr ""
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr ""
|
||||
@ -1221,7 +1227,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "핀이 유효하지 않습니다"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1229,7 +1235,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1253,7 +1259,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1538,6 +1544,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1580,7 +1594,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1603,15 +1617,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1786,10 +1800,14 @@ msgstr ""
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr ""
|
||||
@ -1802,7 +1820,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2225,7 +2243,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2307,11 +2325,11 @@ msgstr ""
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr ""
|
||||
|
||||
@ -2503,7 +2521,7 @@ msgstr ""
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3240,6 +3258,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "단계(step)가 유효하지 않습니다"
|
||||
@ -3495,7 +3517,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
|
64
locale/nl.po
64
locale/nl.po
@ -212,7 +212,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr ""
|
||||
@ -401,12 +401,14 @@ msgstr "Adres moet %d bytes lang zijn"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Alle CAN-peripherals zijn in gebruik"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Alle I2C peripherals zijn in gebruik"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -650,7 +652,7 @@ msgstr "CBC blocks moeten meervouden van 16 bytes zijn"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -871,6 +873,10 @@ msgstr "Beeldscherm moet een 16bit kleurruimte hebben."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Beeldscherm rotatie moet in stappen van 90 graden"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Drive modus niet gebruikt als de richting input is."
|
||||
@ -1028,7 +1034,7 @@ msgstr "Functie vereist lock"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1199,7 +1205,7 @@ msgstr "Ongeldig BSSID"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Ongeldig argument"
|
||||
@ -1229,7 +1235,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "Ongeldige pinnen"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1237,7 +1243,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1261,7 +1267,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1548,6 +1554,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Oneven pariteit is niet ondersteund"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1594,7 +1608,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1617,15 +1631,15 @@ msgstr "Er kan maar één kleur per keer transparant zijn"
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1807,10 +1821,14 @@ msgstr "Alleen-lezen bestandssysteem"
|
||||
msgid "Read-only object"
|
||||
msgstr "Alleen-lezen object"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Verversing te snel"
|
||||
@ -1823,7 +1841,7 @@ msgstr "RemoteTransmissionRequests is beperkt tot 8 bytes"
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "Gevraagde AES modus is niet ondersteund"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2247,7 +2265,7 @@ msgstr "Waarde lengte != vereist vaste lengte"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "Waarde length > max_length"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2333,11 +2351,11 @@ msgstr "__new__ arg moet een user-type zijn"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "een bytes-achtig object is vereist"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "adres buiten bereik"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "adressen zijn leeg"
|
||||
|
||||
@ -2530,7 +2548,7 @@ msgstr "kan niet toewijzen aan expressie"
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "kan %q niet naar %q converteren"
|
||||
@ -3270,6 +3288,10 @@ msgstr "onjuiste hostnaam"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "ongeldige micropython decorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "ongeldige stap"
|
||||
@ -3528,7 +3550,7 @@ msgstr "geen reset pin beschikbaar"
|
||||
msgid "no response from SD card"
|
||||
msgstr "geen antwoord van SD kaart"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "niet zo'n attribuut"
|
||||
|
||||
|
64
locale/pl.po
64
locale/pl.po
@ -214,7 +214,7 @@ msgstr ""
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr ""
|
||||
@ -403,12 +403,14 @@ msgstr "Adres musi mieć %d bajtów"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Wszystkie peryferia I2C w użyciu"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -652,7 +654,7 @@ msgstr "Bloki CBC muszą być wielokrotnościami 16 bajtów"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -872,6 +874,10 @@ msgstr "Wyświetlacz musi mieć 16-bitową przestrzeń kolorów."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Wyświetlacz można obracać co 90 stopni"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Tryb sterowania nieużywany w trybie wejścia."
|
||||
@ -1028,7 +1034,7 @@ msgstr "Funkcja wymaga blokady"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1199,7 +1205,7 @@ msgstr ""
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Zły argument"
|
||||
@ -1229,7 +1235,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr "Złe nóżki"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Nieprawidłowy rozmiar"
|
||||
|
||||
@ -1237,7 +1243,7 @@ msgstr "Nieprawidłowy rozmiar"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "Nieprawidłowy stan"
|
||||
|
||||
@ -1261,7 +1267,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1546,6 +1552,14 @@ msgstr "Obiekt został zwolniony i nie można go już używać. Utwórz nowy obi
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Nieparzysta parzystość nie jest wspierana"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1588,7 +1602,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1611,15 +1625,15 @@ msgstr "W danym momencie przezroczysty może być tylko jeden kolor"
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "Brak pamięci"
|
||||
|
||||
@ -1794,10 +1808,14 @@ msgstr "System plików tylko do odczytu"
|
||||
msgid "Read-only object"
|
||||
msgstr "Obiekt tylko do odczytu"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Otrzymana odpowiedź była nieprawidłowa"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Zbyt wczesne odświeżenie"
|
||||
@ -1810,7 +1828,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "Żądany tryb AES nie jest obsługiwany"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr "Nie znaleziono żądanego zasobu"
|
||||
|
||||
@ -2232,7 +2250,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2314,11 +2332,11 @@ msgstr "Argument __new__ musi być typu użytkownika"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "wymagany obiekt typu bytes"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "adres poza zakresem"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "adres jest pusty"
|
||||
|
||||
@ -2510,7 +2528,7 @@ msgstr "przypisanie do wyrażenia"
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "nie można dokonać konwersji %q na %q"
|
||||
@ -3248,6 +3266,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "zły dekorator micropythona"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "zły krok"
|
||||
@ -3503,7 +3525,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "nie ma takiego atrybutu"
|
||||
|
||||
|
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-08-05 14:18+0000\n"
|
||||
"PO-Revision-Date: 2022-08-10 07:18+0000\n"
|
||||
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt_BR\n"
|
||||
@ -218,7 +218,7 @@ msgstr "todos os %q, %q, e %q devem ter mesmo comprimento"
|
||||
msgid "%q=%q"
|
||||
msgstr "%q=%q"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s erro 0x%x"
|
||||
@ -411,12 +411,14 @@ msgstr "O endereço deve ter %d bytes de comprimento"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Todos os periféricos CAN estão em uso"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Todos os periféricos I2C estão em uso"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr "Todos os alvos I2C já estão em uso"
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -665,7 +667,7 @@ msgstr "Os blocos CBC devem ter múltiplos de 16 bytes"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr "A unidade CIRCUITPY não pôde ser encontrada nem criada."
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC ou checksum inválido"
|
||||
|
||||
@ -890,6 +892,10 @@ msgstr "O monitor deve ter um espaço de cores com 16 bits."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "A rotação da tela deve estar em incrementos de 90 graus"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr "Feito"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "O modo do controlador não é usado quando a direção for inserida."
|
||||
@ -1050,7 +1056,7 @@ msgstr "A função requer bloqueio"
|
||||
msgid "GNSS init"
|
||||
msgstr "Inicialização do GNSS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "Falha Genérica"
|
||||
|
||||
@ -1227,7 +1233,7 @@ msgstr "BSSID Inválido"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr "Endereço MAC inválido"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Argumento inválido"
|
||||
@ -1257,7 +1263,7 @@ msgstr "Endereço MAC multicast inválido"
|
||||
msgid "Invalid pins"
|
||||
msgstr "Pinos inválidos"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Tamanho inválido"
|
||||
|
||||
@ -1265,7 +1271,7 @@ msgstr "Tamanho inválido"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Soquete inválido para o TLS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "Estado inválido"
|
||||
|
||||
@ -1289,7 +1295,7 @@ msgstr "Camada já está num grupo"
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr "A camada deve ser uma subclasse Group ou TileGrid"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "Endereço MAC inválido"
|
||||
|
||||
@ -1577,6 +1583,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "A paridade ímpar não é compatível"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr "Desligado"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1623,7 +1637,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr "Apenas um TouchAlarm pode ser colocado em deep sleep."
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr "Apenas um endereço é permitido"
|
||||
|
||||
@ -1646,15 +1660,15 @@ msgstr "Apenas uma cor pode ser transparente de cada vez"
|
||||
msgid "Operation not permitted"
|
||||
msgstr "A operação não é permitida"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr "A operação ou o recurso não é suportado"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr "A operação expirou"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "Sem memória"
|
||||
|
||||
@ -1839,10 +1853,14 @@ msgstr "Sistema de arquivos somente leitura"
|
||||
msgid "Read-only object"
|
||||
msgstr "Objeto de leitura apenas"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "A resposta recebida foi inválida"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr "Reconectando"
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "A recarga foi cedo demais"
|
||||
@ -1855,7 +1873,7 @@ msgstr "As requisições de transmissões remotas é limitada a 8 bytes"
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "O modo AES solicitado não é compatível"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr "O recurso solicitado não foi encontrado"
|
||||
|
||||
@ -2293,7 +2311,7 @@ msgstr "Comprimento do valor != comprimento fixo necessário"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "O comprimento do valor é > max_length"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr "A versão era inválida"
|
||||
|
||||
@ -2386,11 +2404,11 @@ msgstr "O argumento __new__ deve ser um tipo usuário"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "é necessário objetos tipo bytes"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "endereço fora dos limites"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "os endereços estão vazios"
|
||||
|
||||
@ -2582,7 +2600,7 @@ msgstr "a expressão não pode ser atribuída"
|
||||
msgid "can't cancel self"
|
||||
msgstr "não é possível cancelar a si mesmo"
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "não é possível converter %q para %q"
|
||||
@ -3329,6 +3347,10 @@ msgstr "o nome do host é inválido"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "o decorador micropython é inválido"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr "configuração inválida"
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "passo inválido"
|
||||
@ -3589,7 +3611,7 @@ msgstr "nenhum pino de redefinição está disponível"
|
||||
msgid "no response from SD card"
|
||||
msgstr "não houve resposta do cartão SD"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "não há tal atributo"
|
||||
|
||||
|
64
locale/ru.po
64
locale/ru.po
@ -217,7 +217,7 @@ msgstr "%q, %q, и %q должны быть одной длинны"
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s ошибка 0x%x"
|
||||
@ -406,12 +406,14 @@ msgstr "Адрес должен быть длиной %d байт"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Все периферийные устройства CAN уже используются"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Все периферийные устройства I2C уже используются"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -659,7 +661,7 @@ msgstr "Блоки CBC должны быть кратны 16 байтам"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC или контрольная сумма неправильная"
|
||||
|
||||
@ -888,6 +890,10 @@ msgstr "Дисплей должен иметь 16-битное цветовое
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Поворот дисплея должен осуществляться с шагом 90 градусов"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Drive mode не используется, когда направление является входным."
|
||||
@ -1048,7 +1054,7 @@ msgstr "Функция требует блокировки"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "Общий сбой"
|
||||
|
||||
@ -1224,7 +1230,7 @@ msgstr "Неверный BSSID"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr "Неверный MAC-адрес"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Недопустимый аргумент"
|
||||
@ -1254,7 +1260,7 @@ msgstr "Неверный MAC-адрес multicast"
|
||||
msgid "Invalid pins"
|
||||
msgstr "Недопустимые пины"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Неверный размер"
|
||||
|
||||
@ -1262,7 +1268,7 @@ msgstr "Неверный размер"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Неверный сокет для TLS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "Неверное состояние"
|
||||
|
||||
@ -1286,7 +1292,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "MAC адрес был недействительным"
|
||||
|
||||
@ -1575,6 +1581,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1619,7 +1633,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1642,15 +1656,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1830,10 +1844,14 @@ msgstr ""
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr ""
|
||||
@ -1846,7 +1864,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2270,7 +2288,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2352,11 +2370,11 @@ msgstr ""
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr ""
|
||||
|
||||
@ -2548,7 +2566,7 @@ msgstr ""
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3285,6 +3303,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr ""
|
||||
@ -3540,7 +3562,7 @@ msgstr "нет доступного контакта сброса"
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
|
66
locale/sv.po
66
locale/sv.po
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-08-05 14:18+0000\n"
|
||||
"PO-Revision-Date: 2022-08-07 15:16+0000\n"
|
||||
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: sv\n"
|
||||
@ -217,7 +217,7 @@ msgstr "%q, %q och %q måste vara lika långa"
|
||||
msgid "%q=%q"
|
||||
msgstr "%q=%q"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s fel 0x%x"
|
||||
@ -406,12 +406,14 @@ msgstr "Adressen måste vara %d byte lång"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "All I2C-kringutrustning används"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "All I2C-kringutrustning används"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -655,7 +657,7 @@ msgstr "CBC-block måste vara multiplar om 16 byte"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr "CIRCUITPY-enheten kunde inte hittas eller skapas."
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC eller checksumma var ogiltig"
|
||||
|
||||
@ -877,6 +879,10 @@ msgstr "Displayen måste ha en 16-bitars färgrymd."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Displayens rotation måste vara i steg om 90 grader"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr "Klar"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Drivläge används inte när riktning är input."
|
||||
@ -1035,7 +1041,7 @@ msgstr "Funktionen kräver lås"
|
||||
msgid "GNSS init"
|
||||
msgstr "GNSS start"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "Allmänt fel"
|
||||
|
||||
@ -1208,7 +1214,7 @@ msgstr "Ogiltig BSSID"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr "Ogiltig MAC-adress"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Ogiltigt argument"
|
||||
@ -1238,7 +1244,7 @@ msgstr "Ogiltig MAC-adress för multicast"
|
||||
msgid "Invalid pins"
|
||||
msgstr "Ogiltiga pinnar"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "Ogiltig storlek"
|
||||
|
||||
@ -1246,7 +1252,7 @@ msgstr "Ogiltig storlek"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Ogiltig socket för TLS"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "Ogiltigt tillstånd"
|
||||
|
||||
@ -1270,7 +1276,7 @@ msgstr "Layer är redan med i en grupp"
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr "Layer måste vara en underklass av Group eller TileGrid"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "MAC-adressen var ogiltig"
|
||||
|
||||
@ -1558,6 +1564,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Udda paritet stöds inte"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr "Av"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr "OK"
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1603,7 +1617,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr "Endast ett TouchAlarm kan ställas in för djupsömn."
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr "Endast en adress är tillåten"
|
||||
|
||||
@ -1626,15 +1640,15 @@ msgstr "Bara en färg kan vara genomskinlig i taget"
|
||||
msgid "Operation not permitted"
|
||||
msgstr "Åtgärden inte tillåten"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr "Operation eller funktion stöds inte"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr "Åtgärden orsakade timeout"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "Slut på minne"
|
||||
|
||||
@ -1816,10 +1830,14 @@ msgstr "Skrivskyddat filsystem"
|
||||
msgid "Read-only object"
|
||||
msgstr "Skrivskyddat objekt"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "Mottaget svar var ogiltigt"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr "Återansluter"
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Uppdaterad för tidigt"
|
||||
@ -1832,7 +1850,7 @@ msgstr "RemoteTransmissionRequests begränsad till 8 byte"
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "Det begärda AES-läget stöds inte"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr "Begärd resurs hittades inte"
|
||||
|
||||
@ -2266,7 +2284,7 @@ msgstr "Värdets längde ! = krävd fast längd"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "Värdets längd > max_length"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr "Versionen var ogiltig"
|
||||
|
||||
@ -2356,11 +2374,11 @@ msgstr "__new__ arg måste vara en användartyp"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "ett bytesliknande objekt krävs"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "adress utanför gränsen"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "adresserna är tomma"
|
||||
|
||||
@ -2552,7 +2570,7 @@ msgstr "kan inte tilldela uttryck"
|
||||
msgid "can't cancel self"
|
||||
msgstr "kan inte avbryta sig själv"
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "kan inte konvertera %q till %q"
|
||||
@ -3294,6 +3312,10 @@ msgstr "Ogiltigt värdnamn"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "ogiltig mikropython-dekorator"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "ogiltigt steg"
|
||||
@ -3552,7 +3574,7 @@ msgstr "ingen reset-pinne tillgänglig"
|
||||
msgid "no response from SD card"
|
||||
msgstr "inget svar från SD-kort"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "inget sådant attribut"
|
||||
|
||||
|
64
locale/tr.po
64
locale/tr.po
@ -221,7 +221,7 @@ msgstr "%q, %q ve %q aynı uzunlukta olmalıdır"
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s hatası 0x%x"
|
||||
@ -412,12 +412,14 @@ msgstr "Adres %d byte uzunluğunda olmalıdır"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "Tüm CAN çevre birimleri kullanımda"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "Tüm I2C çevre birimleri kullanımda"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -662,7 +664,7 @@ msgstr "CBC blokları 16 baytın katları şeklinde olmalı"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr "CIRCUITPY sürücüsü bulunamadı veya oluşturulamadı"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -880,6 +882,10 @@ msgstr ""
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr ""
|
||||
@ -1036,7 +1042,7 @@ msgstr ""
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
|
||||
@ -1205,7 +1211,7 @@ msgstr ""
|
||||
msgid "Invalid MAC address"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr ""
|
||||
@ -1235,7 +1241,7 @@ msgstr ""
|
||||
msgid "Invalid pins"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
@ -1243,7 +1249,7 @@ msgstr ""
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
@ -1267,7 +1273,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -1552,6 +1558,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1594,7 +1608,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr ""
|
||||
|
||||
@ -1617,15 +1631,15 @@ msgstr ""
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
@ -1803,10 +1817,14 @@ msgstr ""
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr ""
|
||||
@ -1819,7 +1837,7 @@ msgstr ""
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr ""
|
||||
|
||||
@ -2241,7 +2259,7 @@ msgstr ""
|
||||
msgid "Value length > max_length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr ""
|
||||
|
||||
@ -2323,11 +2341,11 @@ msgstr ""
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr ""
|
||||
|
||||
@ -2519,7 +2537,7 @@ msgstr ""
|
||||
msgid "can't cancel self"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr ""
|
||||
@ -3256,6 +3274,10 @@ msgstr ""
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr ""
|
||||
@ -3511,7 +3533,7 @@ msgstr ""
|
||||
msgid "no response from SD card"
|
||||
msgstr ""
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr ""
|
||||
|
||||
|
@ -220,7 +220,7 @@ msgstr "%q, %q, hé %q bì xū cháng dù xiāng tóng"
|
||||
msgid "%q=%q"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr "%s cuò wù 0x%x"
|
||||
@ -409,12 +409,14 @@ msgstr "dìzhǐ chángdù bìxū shì %d zìjié"
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr "suǒyǒu CAN wàishè dōu zài shǐyòng zhōng"
|
||||
|
||||
#: ports/espressif/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/espressif/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
msgstr "suǒyǒu I2C wàishè dōu zài shǐyòng zhōng"
|
||||
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "All I2C targets are in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/countio/Counter.c
|
||||
#: ports/espressif/common-hal/frequencyio/FrequencyIn.c
|
||||
#: ports/espressif/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -662,7 +664,7 @@ msgstr "CBC kuài bìxū shì 16 zìjié de bèishù"
|
||||
msgid "CIRCUITPY drive could not be found or created."
|
||||
msgstr "zhǎo bú dào huò chuàng jiàn CIRCUITPY qū dòng qì."
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr "CRC huò jiàoyàn hé wúxiào"
|
||||
|
||||
@ -742,7 +744,8 @@ msgstr "tōng guò USB kě jiàn shí wú fǎ chóng xīn ān zhuāng '/'."
|
||||
#: ports/cxd56/common-hal/microcontroller/__init__.c
|
||||
#: ports/mimxrt10xx/common-hal/microcontroller/__init__.c
|
||||
msgid "Cannot reset into bootloader because no bootloader is present"
|
||||
msgstr "wúfǎ chóngxīn qǐdòng dào yǐdǎo chéngxù, yīnwéi yǐdǎo chéngxù bù cúnzài."
|
||||
msgstr ""
|
||||
"wúfǎ chóngxīn qǐdòng dào yǐdǎo chéngxù, yīnwéi yǐdǎo chéngxù bù cúnzài."
|
||||
|
||||
#: ports/espressif/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
@ -886,6 +889,10 @@ msgstr "Xiǎnshì bìxū jùyǒu 16 wèi yánsè kōngjiān."
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr "Xiǎnshì xuánzhuǎn bìxū 90 dù jiā xīn"
|
||||
|
||||
#: main.c
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Drive mode not used when direction is input."
|
||||
msgstr "Fāngxiàng shūrù shí qūdòng móshì méiyǒu shǐyòng."
|
||||
@ -1046,7 +1053,7 @@ msgstr "Hánshù xūyào suǒdìng"
|
||||
msgid "GNSS init"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr "tōng yòng gù zhàng"
|
||||
|
||||
@ -1222,7 +1229,7 @@ msgstr "Wúxiào de BSSID"
|
||||
msgid "Invalid MAC address"
|
||||
msgstr "wú xiào de MAC dì zhǐ"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: py/moduerrno.c
|
||||
msgid "Invalid argument"
|
||||
msgstr "Wúxiào de cānshù"
|
||||
@ -1252,7 +1259,7 @@ msgstr "wú xiào de duō bō MAC dì zhǐ"
|
||||
msgid "Invalid pins"
|
||||
msgstr "Wúxiào de yǐn jiǎo"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid size"
|
||||
msgstr "dà xiǎo wú xiào"
|
||||
|
||||
@ -1260,7 +1267,7 @@ msgstr "dà xiǎo wú xiào"
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "TLS de chā zuò wú xiào"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "wú xiào zhuàng tài"
|
||||
|
||||
@ -1284,7 +1291,7 @@ msgstr ""
|
||||
msgid "Layer must be a Group or TileGrid subclass"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "MAC address was invalid"
|
||||
msgstr "MAC dì zhǐ wú xiào"
|
||||
|
||||
@ -1571,6 +1578,14 @@ msgstr ""
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Bù zhīchí jīshù"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Off"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
@ -1617,7 +1632,7 @@ msgstr ""
|
||||
msgid "Only one TouchAlarm can be set in deep sleep."
|
||||
msgstr "zhǐ yǒu yí gè chù mō bì kě yǐ shè zhì zài shēn dù shuì mián."
|
||||
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c
|
||||
msgid "Only one address is allowed"
|
||||
msgstr "zhǐ yǔn xǔ yí gè dì zhǐ"
|
||||
|
||||
@ -1640,15 +1655,15 @@ msgstr "Yīcì zhǐ néng yǒuyī zhǒng yánsè shì tòumíng de"
|
||||
msgid "Operation not permitted"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation or feature not supported"
|
||||
msgstr "bù zhī chí cāo zuò huò gōng néng"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Operation timed out"
|
||||
msgstr "cāo zuò yǐ fēn shí"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Out of memory"
|
||||
msgstr "nèi cún bù zú"
|
||||
|
||||
@ -1828,10 +1843,14 @@ msgstr "Zhǐ dú wénjiàn xìtǒng"
|
||||
msgid "Read-only object"
|
||||
msgstr "Zhǐ dú duìxiàng"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Received response was invalid"
|
||||
msgstr "shōu dào de xiǎng yìng wú xiào"
|
||||
|
||||
#: supervisor/shared/bluetooth/bluetooth.c
|
||||
msgid "Reconnecting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
msgid "Refresh too soon"
|
||||
msgstr "Shuāxīn tài kuàile"
|
||||
@ -1844,7 +1863,7 @@ msgstr "RemoteTransmissionRequests xiànzhì wèi 8 gè zì jié"
|
||||
msgid "Requested AES mode is unsupported"
|
||||
msgstr "Qǐngqiú de AES móshì bù shòu zhīchí"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Requested resource not found"
|
||||
msgstr "wèi zhǎo dào qǐng qiú de zī yuán"
|
||||
|
||||
@ -2277,7 +2296,7 @@ msgstr "Zhí chángdù != Suǒ xū de gùdìng chángdù"
|
||||
msgid "Value length > max_length"
|
||||
msgstr "Zhí chángdù > zuìdà chángdù"
|
||||
|
||||
#: ports/espressif/bindings/espidf/__init__.c ports/espressif/esp_error.c
|
||||
#: ports/espressif/common-hal/espidf/__init__.c ports/espressif/esp_error.c
|
||||
msgid "Version was invalid"
|
||||
msgstr "bǎn běn wú xiào"
|
||||
|
||||
@ -2367,11 +2386,11 @@ msgstr "__new__ cānshù bìxū shì yònghù lèixíng"
|
||||
msgid "a bytes-like object is required"
|
||||
msgstr "xūyào yīgè zì jié lèi duìxiàng"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "address out of bounds"
|
||||
msgstr "dìzhǐ chāochū biānjiè"
|
||||
|
||||
#: shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: shared-bindings/i2ctarget/I2CTarget.c
|
||||
msgid "addresses is empty"
|
||||
msgstr "dìzhǐ wèi kōng"
|
||||
|
||||
@ -2563,7 +2582,7 @@ msgstr "bùnéng fēnpèi dào biǎodá shì"
|
||||
msgid "can't cancel self"
|
||||
msgstr "bù néng qǔ xiāo zì wǒ"
|
||||
|
||||
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
|
||||
#: py/obj.c py/objint.c shared-bindings/i2ctarget/I2CTarget.c
|
||||
#: shared-module/adafruit_pixelbuf/PixelBuf.c
|
||||
msgid "can't convert %q to %q"
|
||||
msgstr "Wúfǎ jiāng %q zhuǎnhuàn wèi %q"
|
||||
@ -3306,6 +3325,10 @@ msgstr "wú xiào zhǔ jī míng"
|
||||
msgid "invalid micropython decorator"
|
||||
msgstr "wúxiào de MicroPython zhuāngshì qì"
|
||||
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c
|
||||
msgid "invalid setting"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c
|
||||
msgid "invalid step"
|
||||
msgstr "wúxiào bùzhòu"
|
||||
@ -3562,7 +3585,7 @@ msgstr "Méiyǒu kěyòng de fùwèi yǐn jiǎo"
|
||||
msgid "no response from SD card"
|
||||
msgstr "SD kǎ wú huíyīng"
|
||||
|
||||
#: py/objobject.c py/runtime.c
|
||||
#: ports/espressif/common-hal/esp32_camera/Camera.c py/objobject.c py/runtime.c
|
||||
msgid "no such attribute"
|
||||
msgstr "méiyǒu cǐ shǔxìng"
|
||||
|
||||
|
3
main.c
3
main.c
@ -213,8 +213,9 @@ void supervisor_execution_status(void) {
|
||||
if (_current_executing_filename != NULL) {
|
||||
serial_write(_current_executing_filename);
|
||||
} else if ((_exec_result.return_code & PYEXEC_EXCEPTION) != 0 &&
|
||||
_exec_result.exception_line > 0 &&
|
||||
exception != NULL) {
|
||||
mp_printf(&mp_plat_print, "@%d %q", _exec_result.exception_line, exception->base.type->name);
|
||||
mp_printf(&mp_plat_print, "%d@%s %q", _exec_result.exception_line, _exec_result.exception_filename, exception->base.type->name);
|
||||
} else {
|
||||
serial_write_compressed(translate("Done"));
|
||||
}
|
||||
|
@ -11,5 +11,3 @@ CIRCUITPY_BUILD_EXTENSIONS = bin,uf2
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
|
@ -9,5 +9,3 @@ CHIP_FAMILY = samd21
|
||||
SPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICES = "MX25L51245G","GD25S512MD"
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
|
@ -15,7 +15,6 @@ LONGINT_IMPL = NONE
|
||||
CIRCUITPY_BUSDEVICE = 1
|
||||
CIRCUITPY_DISPLAYIO = 0
|
||||
CIRCUITPY_KEYPAD = 0
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground/frozen_cpx
|
||||
|
@ -12,7 +12,6 @@ EXTERNAL_FLASH_DEVICES = "S25FL216K, GD25Q16C"
|
||||
# Turn off features and optimizations for displayio build to make room for additional frozen libs.
|
||||
LONGINT_IMPL = NONE
|
||||
CIRCUITPY_KEYPAD = 0
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
CIRCUITPY_PIXELBUF = 0
|
||||
CIRCUITPY_ROTARYIO = 0
|
||||
CIRCUITPY_RTC = 0
|
||||
|
@ -9,5 +9,3 @@ CHIP_FAMILY = samd21
|
||||
SPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICES = "S25FL064L"
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
|
@ -33,7 +33,7 @@ CIRCUITPY_BLEIO = 0
|
||||
CIRCUITPY_BUSDEVICE = 0
|
||||
CIRCUITPY_FRAMEBUFFERIO = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_MSGPACK = 0
|
||||
CIRCUITPY_NEOPIXEL_WRITE = 0
|
||||
CIRCUITPY_NVM = 0
|
||||
|
@ -18,7 +18,7 @@ CIRCUITPY_AUDIOPWMIO = 0
|
||||
CIRCUITPY_BITBANGIO = 0
|
||||
CIRCUITPY_BITBANG_APA102 = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_NEOPIXEL_WRITE = 0
|
||||
CIRCUITPY_PARALLELDISPLAY = 0
|
||||
CIRCUITPY_PIXELBUF = 0
|
||||
|
@ -22,8 +22,8 @@ CIRCUITPY_RTC = 0
|
||||
CIRCUITPY_MATH = 0
|
||||
#CIRCUITPY_RANDOM = 0
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
#CIRCUITPY_NEOPIXEL_WRITE = 1 # Needed fo RGB LEDs
|
||||
#CIRCUITPY_RAINBOWIO = 1 # Needed fo RGB LEDs
|
||||
CIRCUITPY_NEOPIXEL_WRITE = 1 # Needed for RGB LEDs
|
||||
CIRCUITPY_RAINBOWIO = 1 # Needed for RGB LEDs
|
||||
# These are used in a keyboard or computer input device.
|
||||
CIRCUITPY_ROTARYIO = 1
|
||||
CIRCUITPY_KEYPAD = 1
|
||||
|
@ -11,5 +11,4 @@ LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
# There are many pin definitions on this board; it doesn't quite fit on very large translations.
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
CIRCUITPY_USB_MIDI = 0
|
||||
|
@ -9,5 +9,3 @@ CHIP_FAMILY = samd21
|
||||
SPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICES = "W25Q32FV"
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
|
@ -9,5 +9,3 @@ CHIP_FAMILY = samd21
|
||||
SPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICES = "W25Q64JVxQ"
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
|
@ -22,7 +22,7 @@ CIRCUITPY_AUDIOBUSIO = 0
|
||||
CIRCUITPY_BITBANGIO = 0
|
||||
CIRCUITPY_BITMAPTOOLS = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_NEOPIXEL_WRITE = 0
|
||||
CIRCUITPY_PARALLELDISPLAY = 0
|
||||
CIRCUITPY_PIXELBUF = 0
|
||||
|
@ -23,7 +23,7 @@ CIRCUITPY_AUDIOBUSIO = 0
|
||||
CIRCUITPY_BLEIO = 0
|
||||
CIRCUITPY_DISPLAYIO = 0
|
||||
CIRCUITPY_KEYPAD = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_TOUCHIO = 0
|
||||
CIRCUITPY_RGBMATRIX = 0
|
||||
CIRCUITPY_PS2IO = 0
|
||||
|
@ -22,7 +22,7 @@ CIRCUITPY_BLEIO_HCI = 0
|
||||
CIRCUITPY_DISPLAYIO = 0
|
||||
CIRCUITPY_FRAMEBUFFERIO = 0
|
||||
CIRCUITPY_KEYPAD = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_TOUCHIO = 0
|
||||
CIRCUITPY_RGBMATRIX = 0
|
||||
CIRCUITPY_PS2IO = 0
|
||||
|
@ -1 +0,0 @@
|
||||
// No i2cperipheral module functions.
|
@ -24,7 +24,7 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/i2cperipheral/I2CPeripheral.h"
|
||||
#include "shared-bindings/i2ctarget/I2CTarget.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "common-hal/busio/I2C.h"
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
#include "hal/include/hal_gpio.h"
|
||||
#include "peripherals/samd/sercom.h"
|
||||
|
||||
void common_hal_i2cperipheral_i2c_peripheral_construct(i2cperipheral_i2c_peripheral_obj_t *self,
|
||||
void common_hal_i2ctarget_i2c_target_construct(i2ctarget_i2c_target_obj_t *self,
|
||||
const mcu_pin_obj_t *scl, const mcu_pin_obj_t *sda,
|
||||
uint8_t *addresses, unsigned int num_addresses, bool smbus) {
|
||||
uint8_t sercom_index;
|
||||
@ -100,12 +100,12 @@ void common_hal_i2cperipheral_i2c_peripheral_construct(i2cperipheral_i2c_periphe
|
||||
sercom->I2CS.CTRLA.bit.ENABLE = 1;
|
||||
}
|
||||
|
||||
bool common_hal_i2cperipheral_i2c_peripheral_deinited(i2cperipheral_i2c_peripheral_obj_t *self) {
|
||||
bool common_hal_i2ctarget_i2c_target_deinited(i2ctarget_i2c_target_obj_t *self) {
|
||||
return self->sda_pin == NO_PIN;
|
||||
}
|
||||
|
||||
void common_hal_i2cperipheral_i2c_peripheral_deinit(i2cperipheral_i2c_peripheral_obj_t *self) {
|
||||
if (common_hal_i2cperipheral_i2c_peripheral_deinited(self)) {
|
||||
void common_hal_i2ctarget_i2c_target_deinit(i2ctarget_i2c_target_obj_t *self) {
|
||||
if (common_hal_i2ctarget_i2c_target_deinited(self)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -117,7 +117,7 @@ void common_hal_i2cperipheral_i2c_peripheral_deinit(i2cperipheral_i2c_peripheral
|
||||
self->scl_pin = NO_PIN;
|
||||
}
|
||||
|
||||
static int i2c_peripheral_check_error(i2cperipheral_i2c_peripheral_obj_t *self, bool raise) {
|
||||
static int i2c_target_check_error(i2ctarget_i2c_target_obj_t *self, bool raise) {
|
||||
if (!self->sercom->I2CS.INTFLAG.bit.ERROR) {
|
||||
return 0;
|
||||
}
|
||||
@ -136,8 +136,8 @@ static int i2c_peripheral_check_error(i2cperipheral_i2c_peripheral_obj_t *self,
|
||||
return -err;
|
||||
}
|
||||
|
||||
int common_hal_i2cperipheral_i2c_peripheral_is_addressed(i2cperipheral_i2c_peripheral_obj_t *self, uint8_t *address, bool *is_read, bool *is_restart) {
|
||||
int err = i2c_peripheral_check_error(self, false);
|
||||
int common_hal_i2ctarget_i2c_target_is_addressed(i2ctarget_i2c_target_obj_t *self, uint8_t *address, bool *is_read, bool *is_restart) {
|
||||
int err = i2c_target_check_error(self, false);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
@ -154,22 +154,22 @@ int common_hal_i2cperipheral_i2c_peripheral_is_addressed(i2cperipheral_i2c_perip
|
||||
|
||||
for (unsigned int i = 0; i < self->num_addresses; i++) {
|
||||
if (*address == self->addresses[i]) {
|
||||
common_hal_i2cperipheral_i2c_peripheral_ack(self, true);
|
||||
common_hal_i2ctarget_i2c_target_ack(self, true);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// This should clear AMATCH, but it doesn't...
|
||||
common_hal_i2cperipheral_i2c_peripheral_ack(self, false);
|
||||
common_hal_i2ctarget_i2c_target_ack(self, false);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int common_hal_i2cperipheral_i2c_peripheral_read_byte(i2cperipheral_i2c_peripheral_obj_t *self, uint8_t *data) {
|
||||
int common_hal_i2ctarget_i2c_target_read_byte(i2ctarget_i2c_target_obj_t *self, uint8_t *data) {
|
||||
for (int t = 0; t < 100 && !self->sercom->I2CS.INTFLAG.reg; t++) {
|
||||
mp_hal_delay_us(10);
|
||||
}
|
||||
|
||||
i2c_peripheral_check_error(self, true);
|
||||
i2c_target_check_error(self, true);
|
||||
|
||||
if (!self->sercom->I2CS.INTFLAG.bit.DRDY ||
|
||||
self->sercom->I2CS.INTFLAG.bit.PREC ||
|
||||
@ -181,12 +181,12 @@ int common_hal_i2cperipheral_i2c_peripheral_read_byte(i2cperipheral_i2c_peripher
|
||||
return 1;
|
||||
}
|
||||
|
||||
int common_hal_i2cperipheral_i2c_peripheral_write_byte(i2cperipheral_i2c_peripheral_obj_t *self, uint8_t data) {
|
||||
int common_hal_i2ctarget_i2c_target_write_byte(i2ctarget_i2c_target_obj_t *self, uint8_t data) {
|
||||
for (int t = 0; !self->sercom->I2CS.INTFLAG.reg && t < 100; t++) {
|
||||
mp_hal_delay_us(10);
|
||||
}
|
||||
|
||||
i2c_peripheral_check_error(self, true);
|
||||
i2c_target_check_error(self, true);
|
||||
|
||||
if (self->sercom->I2CS.INTFLAG.bit.PREC) {
|
||||
return 0;
|
||||
@ -208,12 +208,12 @@ int common_hal_i2cperipheral_i2c_peripheral_write_byte(i2cperipheral_i2c_periphe
|
||||
return 1;
|
||||
}
|
||||
|
||||
void common_hal_i2cperipheral_i2c_peripheral_ack(i2cperipheral_i2c_peripheral_obj_t *self, bool ack) {
|
||||
void common_hal_i2ctarget_i2c_target_ack(i2ctarget_i2c_target_obj_t *self, bool ack) {
|
||||
self->sercom->I2CS.CTRLB.bit.ACKACT = !ack;
|
||||
self->sercom->I2CS.CTRLB.bit.CMD = 0x03;
|
||||
}
|
||||
|
||||
void common_hal_i2cperipheral_i2c_peripheral_close(i2cperipheral_i2c_peripheral_obj_t *self) {
|
||||
void common_hal_i2ctarget_i2c_target_close(i2ctarget_i2c_target_obj_t *self) {
|
||||
for (int t = 0; !self->sercom->I2CS.INTFLAG.reg && t < 100; t++) {
|
||||
mp_hal_delay_us(10);
|
||||
}
|
||||
@ -223,7 +223,7 @@ void common_hal_i2cperipheral_i2c_peripheral_close(i2cperipheral_i2c_peripheral_
|
||||
}
|
||||
|
||||
if (!self->sercom->I2CS.STATUS.bit.DIR) {
|
||||
common_hal_i2cperipheral_i2c_peripheral_ack(self, false);
|
||||
common_hal_i2ctarget_i2c_target_ack(self, false);
|
||||
} else {
|
||||
int i = 0;
|
||||
while (self->sercom->I2CS.INTFLAG.reg == SERCOM_I2CS_INTFLAG_DRDY) {
|
@ -24,8 +24,8 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_I2C_PERIPHERAL_H
|
||||
#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_I2C_PERIPHERAL_H
|
||||
#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_I2C_TARGET_H
|
||||
#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_I2C_TARGET_H
|
||||
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
#include "py/obj.h"
|
||||
@ -40,6 +40,6 @@ typedef struct {
|
||||
uint8_t scl_pin;
|
||||
uint8_t sda_pin;
|
||||
bool writing;
|
||||
} i2cperipheral_i2c_peripheral_obj_t;
|
||||
} i2ctarget_i2c_target_obj_t;
|
||||
|
||||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_I2C_PERIPHERAL_H
|
||||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_I2C_TARGET_H
|
1
ports/atmel-samd/common-hal/i2ctarget/__init__.c
Normal file
1
ports/atmel-samd/common-hal/i2ctarget/__init__.c
Normal file
@ -0,0 +1 @@
|
||||
// No i2ctarget module functions.
|
@ -38,7 +38,7 @@ CIRCUITPY_FRAMEBUFFERIO ?= 0
|
||||
CIRCUITPY_FREQUENCYIO ?= 0
|
||||
CIRCUITPY_GETPASS ?= 0
|
||||
CIRCUITPY_GIFIO ?= 0
|
||||
CIRCUITPY_I2CPERIPHERAL ?= 0
|
||||
CIRCUITPY_I2CTARGET ?= 0
|
||||
CIRCUITPY_JSON ?= 0
|
||||
CIRCUITPY_KEYPAD ?= 0
|
||||
CIRCUITPY_MSGPACK ?= 0
|
||||
|
@ -9,7 +9,7 @@ CIRCUITPY_AUDIOBUSIO = 0
|
||||
CIRCUITPY_AUDIOIO = 0
|
||||
CIRCUITPY_COUNTIO = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_NVM = 0
|
||||
CIRCUITPY_PARALLELDISPLAY = 0
|
||||
CIRCUITPY_PULSEIO = 0
|
||||
|
@ -15,7 +15,7 @@ CIRCUITPY_COUNTIO = 0
|
||||
CIRCUITPY_DISPLAYIO = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_GNSS = 1
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_KEYPAD = 0
|
||||
CIRCUITPY_NEOPIXEL_WRITE = 0
|
||||
CIRCUITPY_NVM = 0
|
||||
|
@ -8,6 +8,13 @@ set(ENV{IDF_PATH} ${CMAKE_SOURCE_DIR}/esp-idf)
|
||||
# can build.
|
||||
set(COMPONENTS esptool_py soc driver log main esp-tls mbedtls mdns esp_event esp_adc_cal esp_netif esp_wifi lwip wpa_supplicant freertos bt usb)
|
||||
|
||||
if("${CIRCUITPY_ESP32_CAMERA}")
|
||||
message("Including esp32-camera")
|
||||
set(EXTRA_COMPONENT_DIRS "esp32-camera")
|
||||
list(APPEND COMPONENTS "esp32-camera")
|
||||
message("COMPONENTS = ${COMPONENTS}")
|
||||
endif()
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(circuitpython)
|
||||
|
||||
|
@ -261,7 +261,6 @@ SRC_C += \
|
||||
peripherals/touch.c
|
||||
ifeq ($(IDF_TARGET),esp32s2)
|
||||
SRC_C += \
|
||||
cam.c \
|
||||
i2s_lcd_esp32s2_driver.c
|
||||
endif
|
||||
endif
|
||||
@ -283,6 +282,15 @@ endif
|
||||
|
||||
SRC_C += $(wildcard common-hal/espidf/*.c)
|
||||
|
||||
ifneq ($(CIRCUITPY_ESP32_CAMERA),0)
|
||||
SRC_CAMERA := \
|
||||
$(wildcard common-hal/esp32_camera/*.c) \
|
||||
$(wildcard bindings/esp32_camera/*.c)
|
||||
SRC_C += $(SRC_CAMERA)
|
||||
CFLAGS += -isystem esp32-camera/driver/include
|
||||
CFLAGS += -isystem esp32-camera/conversions/include
|
||||
endif
|
||||
|
||||
SRC_COMMON_HAL_EXPANDED = \
|
||||
$(addprefix shared-bindings/, $(SRC_COMMON_HAL)) \
|
||||
$(addprefix shared-bindings/, $(SRC_BINDINGS_ENUMS)) \
|
||||
@ -341,8 +349,10 @@ ifneq ($(CIRCUITPY_BLEIO),0)
|
||||
SDKCONFIGS := esp-idf-config/sdkconfig-ble.defaults;$(SDKCONFIGS)
|
||||
endif
|
||||
# create the config headers
|
||||
$(BUILD)/esp-idf/config/sdkconfig.h: boards/$(BOARD)/sdkconfig | $(BUILD)/esp-idf
|
||||
IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="$(SDKCONFIGS)" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-$(IDF_TARGET).cmake -DIDF_TARGET=$(IDF_TARGET) -GNinja
|
||||
.PHONY: do-sdkconfig
|
||||
do-sdkconfig: $(BUILD)/esp-idf/config/sdkconfig.h
|
||||
$(BUILD)/esp-idf/config/sdkconfig.h: boards/$(BOARD)/sdkconfig CMakeLists.txt | $(BUILD)/esp-idf
|
||||
IDF_PATH=$(IDF_PATH) cmake -S . -B $(BUILD)/esp-idf -DSDKCONFIG=$(BUILD)/esp-idf/sdkconfig -DSDKCONFIG_DEFAULTS="$(SDKCONFIGS)" -DCMAKE_TOOLCHAIN_FILE=$(IDF_PATH)/tools/cmake/toolchain-$(IDF_TARGET).cmake -DIDF_TARGET=$(IDF_TARGET) -GNinja -DCIRCUITPY_ESP32_CAMERA=$(CIRCUITPY_ESP32_CAMERA)
|
||||
|
||||
# build a lib
|
||||
# Adding -d explain -j 1 -v to the ninja line will output debug info
|
||||
@ -391,6 +401,11 @@ BINARY_BLOBS += esp-idf/components/xtensa/$(IDF_TARGET)/libxt_hal.a
|
||||
ESP_IDF_COMPONENTS_EXPANDED += esp-idf/components/xtensa/$(IDF_TARGET)/libxt_hal.a
|
||||
endif
|
||||
|
||||
ifneq ($(CIRCUITPY_ESP32_CAMERA),0)
|
||||
ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/esp32-camera/libesp32-camera.a
|
||||
#$(error $(ESP_IDF_COMPONENTS_EXPANDED))
|
||||
endif
|
||||
|
||||
# BOOTLOADER_OFFSET is determined by chip type, based on the ROM bootloader, and is not changeable.
|
||||
ifeq ($(IDF_TARGET),esp32)
|
||||
BOOTLOADER_OFFSET = 0x1000
|
||||
|
1030
ports/espressif/bindings/esp32_camera/Camera.c
Normal file
1030
ports/espressif/bindings/esp32_camera/Camera.c
Normal file
File diff suppressed because it is too large
Load Diff
116
ports/espressif/bindings/esp32_camera/Camera.h
Normal file
116
ports/espressif/bindings/esp32_camera/Camera.h
Normal file
@ -0,0 +1,116 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 Jeff Epler for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "py/enum.h"
|
||||
#include "py/obj.h"
|
||||
|
||||
#include "esp_camera.h"
|
||||
|
||||
#include "shared-bindings/busio/I2C.h"
|
||||
|
||||
extern const mp_obj_type_t esp32_camera_camera_type;
|
||||
typedef struct esp32_camera_camera_obj esp32_camera_camera_obj_t;
|
||||
|
||||
extern void common_hal_esp32_camera_camera_construct(
|
||||
esp32_camera_camera_obj_t *self,
|
||||
uint8_t data_pins[8],
|
||||
const mcu_pin_obj_t *external_clock_pin,
|
||||
const mcu_pin_obj_t *pixel_clock_pin,
|
||||
const mcu_pin_obj_t *vsync_pin,
|
||||
const mcu_pin_obj_t *href_pin,
|
||||
const mcu_pin_obj_t *powerdown_pin,
|
||||
const mcu_pin_obj_t *reset_pin,
|
||||
const busio_i2c_obj_t *i2c,
|
||||
mp_int_t external_clock_frequency,
|
||||
pixformat_t pixel_format,
|
||||
framesize_t frame_size,
|
||||
mp_int_t jpeg_quality,
|
||||
mp_int_t framebuffer_count,
|
||||
camera_grab_mode_t grab_mode);
|
||||
|
||||
extern void common_hal_esp32_camera_camera_deinit(esp32_camera_camera_obj_t *self);
|
||||
extern bool common_hal_esp32_camera_camera_deinited(esp32_camera_camera_obj_t *self);
|
||||
extern bool common_hal_esp32_camera_camera_available(esp32_camera_camera_obj_t *self);
|
||||
extern camera_fb_t *common_hal_esp32_camera_camera_take(esp32_camera_camera_obj_t *self, int timeout_ms);
|
||||
extern void common_hal_esp32_camera_camera_reconfigure(esp32_camera_camera_obj_t *self, framesize_t frame_size, pixformat_t pixel_format, camera_grab_mode_t grab_mode, mp_int_t framebuffer_count);
|
||||
|
||||
#define DECLARE_SENSOR_GETSET(type, name, field_name, setter_function_name) \
|
||||
DECLARE_SENSOR_GET(type, name, field_name, setter_function_name) \
|
||||
DECLARE_SENSOR_SET(type, name, setter_function_name)
|
||||
|
||||
#define DECLARE_SENSOR_STATUS_GETSET(type, name, status_field_name, setter_function_name) \
|
||||
DECLARE_SENSOR_GETSET(type, name, status.status_field_name, setter_function_name)
|
||||
|
||||
#define DECLARE_SENSOR_STATUS_GET(type, name, status_field_name, setter_function_name) \
|
||||
DECLARE_SENSOR_GET(type, name, status.status_field_name, setter_function_name)
|
||||
|
||||
#define DECLARE_SENSOR_GET(type, name, status_field_name, setter_function_name) \
|
||||
extern type common_hal_esp32_camera_camera_get_##name(esp32_camera_camera_obj_t * self);
|
||||
|
||||
#define DECLARE_SENSOR_SET(type, name, setter_function_name) \
|
||||
extern void common_hal_esp32_camera_camera_set_##name(esp32_camera_camera_obj_t * self, type value);
|
||||
|
||||
DECLARE_SENSOR_GET(pixformat_t, pixel_format, pixformat, set_pixformat)
|
||||
DECLARE_SENSOR_STATUS_GET(framesize_t, frame_size, framesize, set_framesize)
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, contrast, contrast, set_contrast);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, brightness, brightness, set_brightness);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, saturation, saturation, set_saturation);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, sharpness, sharpness, set_sharpness);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, denoise, denoise, set_denoise);
|
||||
DECLARE_SENSOR_STATUS_GETSET(gainceiling_t, gainceiling, gainceiling, set_gainceiling);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, quality, quality, set_quality);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, colorbar, colorbar, set_colorbar);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, whitebal, whitebal, set_whitebal);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, gain_ctrl, gain_ctrl, set_gain_ctrl);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, exposure_ctrl, exposure_ctrl, set_exposure_ctrl);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, hmirror, hmirror, set_hmirror);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, vflip, vflip, set_vflip);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, aec2, aec2, set_aec2);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, awb_gain, awb_gain, set_awb_gain);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, agc_gain, agc_gain, set_agc_gain);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, aec_value, aec_value, set_aec_value);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, special_effect, special_effect, set_special_effect);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, wb_mode, wb_mode, set_wb_mode);
|
||||
DECLARE_SENSOR_STATUS_GETSET(int, ae_level, ae_level, set_ae_level);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, dcw, dcw, set_dcw);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, bpc, bpc, set_bpc);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, wpc, wpc, set_wpc);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, raw_gma, raw_gma, set_raw_gma);
|
||||
DECLARE_SENSOR_STATUS_GETSET(bool, lenc, lenc, set_lenc);
|
||||
|
||||
// From settings
|
||||
extern camera_grab_mode_t common_hal_esp32_camera_camera_get_grab_mode(esp32_camera_camera_obj_t *self);
|
||||
extern int common_hal_esp32_camera_camera_get_framebuffer_count(esp32_camera_camera_obj_t *self);
|
||||
|
||||
// From camera_sensor_info_t
|
||||
extern int common_hal_esp32_camera_camera_get_address(esp32_camera_camera_obj_t *self);
|
||||
extern const char *common_hal_esp32_camera_camera_get_sensor_name(esp32_camera_camera_obj_t *self);
|
||||
extern const bool common_hal_esp32_camera_camera_get_supports_jpeg(esp32_camera_camera_obj_t *self);
|
||||
extern framesize_t common_hal_esp32_camera_camera_get_max_frame_size(esp32_camera_camera_obj_t *self);
|
||||
extern int common_hal_esp32_camera_camera_get_width(esp32_camera_camera_obj_t *self);
|
||||
extern int common_hal_esp32_camera_camera_get_height(esp32_camera_camera_obj_t *self);
|
287
ports/espressif/bindings/esp32_camera/__init__.c
Normal file
287
ports/espressif/bindings/esp32_camera/__init__.c
Normal file
@ -0,0 +1,287 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 Jeff Epler for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/mphal.h"
|
||||
|
||||
#include "bindings/espidf/__init__.h"
|
||||
#include "bindings/esp32_camera/__init__.h"
|
||||
#include "bindings/esp32_camera/Camera.h"
|
||||
|
||||
#include "esp_camera.h"
|
||||
#include "sensor.h"
|
||||
|
||||
//| """Wrapper for the esp32_camera library
|
||||
//|
|
||||
//| This library enables access to any camera sensor supported by the library,
|
||||
//| including OV5640 and OV2640.
|
||||
//|
|
||||
//| .. seealso::
|
||||
//|
|
||||
//| Non-Espressif microcontrollers use the `imagecapture` module together with wrapper libraries such as `adafruit_ov5640 <https://circuitpython.readthedocs.io/projects/ov5640/en/latest/>`_.
|
||||
//|
|
||||
//| """
|
||||
|
||||
//| class GrabMode:
|
||||
//| """Controls when a new frame is grabbed."""
|
||||
//|
|
||||
//| WHEN_EMPTY: GrabMode
|
||||
//| """Fills buffers when they are empty. Less resources but first ``fb_count`` frames might be old"""
|
||||
//|
|
||||
//| LATEST: GrabMode
|
||||
//| """Except when 1 frame buffer is used, queue will always contain the last ``fb_count`` frames"""
|
||||
//|
|
||||
|
||||
MAKE_ENUM_VALUE(esp32_camera_grab_mode_type, grab_mode, WHEN_EMPTY, CAMERA_GRAB_WHEN_EMPTY);
|
||||
MAKE_ENUM_VALUE(esp32_camera_grab_mode_type, grab_mode, LATEST, CAMERA_GRAB_LATEST);
|
||||
|
||||
MAKE_ENUM_MAP(esp32_camera_grab_mode) {
|
||||
MAKE_ENUM_MAP_ENTRY(grab_mode, WHEN_EMPTY),
|
||||
MAKE_ENUM_MAP_ENTRY(grab_mode, LATEST),
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_grab_mode_locals_dict, esp32_camera_grab_mode_locals_table);
|
||||
MAKE_PRINTER(esp32_camera, esp32_camera_grab_mode);
|
||||
MAKE_ENUM_TYPE(esp32_camera, GrabMode, esp32_camera_grab_mode);
|
||||
|
||||
camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name) {
|
||||
return cp_enum_value(&esp32_camera_grab_mode_type, mp_arg_validate_type(obj, &esp32_camera_grab_mode_type, arg_name));
|
||||
}
|
||||
|
||||
//| class PixelFormat:
|
||||
//| """Format of data in the captured frames"""
|
||||
//|
|
||||
//| RGB565: PixelFormat
|
||||
//| """A 16-bit format with 5 bits of Red and Blue and 6 bits of Green"""
|
||||
//|
|
||||
//| GRAYSCALE: PixelFormat
|
||||
//| """An 8-bit format with 8-bits of luminance"""
|
||||
//|
|
||||
//| JPEG: PixelFormat
|
||||
//| """A compressed format"""
|
||||
//|
|
||||
|
||||
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, RGB565, PIXFORMAT_RGB565);
|
||||
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, GRAYSCALE, PIXFORMAT_GRAYSCALE);
|
||||
MAKE_ENUM_VALUE(esp32_camera_pixel_format_type, pixel_format, JPEG, PIXFORMAT_JPEG);
|
||||
|
||||
MAKE_ENUM_MAP(esp32_camera_pixel_format) {
|
||||
MAKE_ENUM_MAP_ENTRY(pixel_format, RGB565),
|
||||
MAKE_ENUM_MAP_ENTRY(pixel_format, GRAYSCALE),
|
||||
MAKE_ENUM_MAP_ENTRY(pixel_format, JPEG),
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_pixel_format_locals_dict, esp32_camera_pixel_format_locals_table);
|
||||
MAKE_PRINTER(esp32_camera, esp32_camera_pixel_format);
|
||||
MAKE_ENUM_TYPE(esp32_camera, PixelFormat, esp32_camera_pixel_format);
|
||||
|
||||
pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name) {
|
||||
return cp_enum_value(&esp32_camera_pixel_format_type, mp_arg_validate_type(obj, &esp32_camera_pixel_format_type, arg_name));
|
||||
}
|
||||
|
||||
//| class FrameSize:
|
||||
//| """The pixel size of the captured frames"""
|
||||
//|
|
||||
//| R96X96: FrameSize
|
||||
//| """96x96"""
|
||||
//|
|
||||
//| QQVGA: FrameSize
|
||||
//| """160x120"""
|
||||
//|
|
||||
//| QCIF: FrameSize
|
||||
//| """176x144"""
|
||||
//|
|
||||
//| HQVGA: FrameSize
|
||||
//| """240x176"""
|
||||
//|
|
||||
//| R240X240: FrameSize
|
||||
//| """240x240"""
|
||||
//|
|
||||
//| QVGA: FrameSize
|
||||
//| """320x240 """
|
||||
//|
|
||||
//| CIF: FrameSize
|
||||
//| """400x296"""
|
||||
//|
|
||||
//| HVGA: FrameSize
|
||||
//| """480x320"""
|
||||
//|
|
||||
//| VGA: FrameSize
|
||||
//| """640x480"""
|
||||
//|
|
||||
//| SVGA: FrameSize
|
||||
//| """800x600"""
|
||||
//|
|
||||
//| XGA: FrameSize
|
||||
//| """1024x768"""
|
||||
//|
|
||||
//| HD: FrameSize
|
||||
//| """1280x720"""
|
||||
//|
|
||||
//| SXGA: FrameSize
|
||||
//| """1280x1024"""
|
||||
//|
|
||||
//| UXGA: FrameSize
|
||||
//| """1600x1200"""
|
||||
//|
|
||||
//| FHD: FrameSize
|
||||
//| """1920x1080"""
|
||||
//|
|
||||
//| P_HD: FrameSize
|
||||
//| """ 720x1280"""
|
||||
//|
|
||||
//| P_3MP: FrameSize
|
||||
//| """ 864x1536"""
|
||||
//|
|
||||
//| QXGA: FrameSize
|
||||
//| """2048x1536"""
|
||||
//|
|
||||
//| QHD: FrameSize
|
||||
//| """2560x1440"""
|
||||
//|
|
||||
//| WQXGA: FrameSize
|
||||
//| """2560x1600"""
|
||||
//|
|
||||
//| P_FHD: FrameSize
|
||||
//| """1080x1920"""
|
||||
//|
|
||||
//| QSXGA: FrameSize
|
||||
//| """2560x1920"""
|
||||
//|
|
||||
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, R96X96, FRAMESIZE_96X96);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, R240X240, FRAMESIZE_240X240);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QQVGA, FRAMESIZE_QQVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QCIF, FRAMESIZE_QCIF);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HQVGA, FRAMESIZE_HQVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QVGA, FRAMESIZE_QVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, CIF, FRAMESIZE_CIF);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HVGA, FRAMESIZE_HVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, VGA, FRAMESIZE_VGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, SVGA, FRAMESIZE_SVGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, XGA, FRAMESIZE_XGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, HD, FRAMESIZE_HD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, SXGA, FRAMESIZE_SXGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, UXGA, FRAMESIZE_UXGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, FHD, FRAMESIZE_FHD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_HD, FRAMESIZE_P_HD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_3MP, FRAMESIZE_P_3MP);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QXGA, FRAMESIZE_QXGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QHD, FRAMESIZE_QHD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, WQXGA, FRAMESIZE_WQXGA);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, P_FHD, FRAMESIZE_P_FHD);
|
||||
MAKE_ENUM_VALUE(esp32_camera_frame_size_type, frame_size, QSXGA, FRAMESIZE_QSXGA);
|
||||
MAKE_ENUM_MAP(esp32_camera_frame_size) {
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, R96X96),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, R240X240),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, QQVGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, QCIF),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, HQVGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, QVGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, CIF),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, HVGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, VGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, SVGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, XGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, HD),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, SXGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, UXGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, FHD),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, P_HD),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, P_3MP),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, QXGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, QHD),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, WQXGA),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, P_FHD),
|
||||
MAKE_ENUM_MAP_ENTRY(frame_size, QSXGA),
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_frame_size_locals_dict, esp32_camera_frame_size_locals_table);
|
||||
MAKE_PRINTER(esp32_camera, esp32_camera_frame_size);
|
||||
MAKE_ENUM_TYPE(esp32_camera, FrameSize, esp32_camera_frame_size);
|
||||
|
||||
framesize_t validate_frame_size(mp_obj_t obj, qstr arg_name) {
|
||||
return cp_enum_value(&esp32_camera_frame_size_type, mp_arg_validate_type(obj, &esp32_camera_frame_size_type, arg_name));
|
||||
}
|
||||
|
||||
//| class GainCeiling:
|
||||
//| """The maximum amount of gain applied to raw sensor data.
|
||||
//|
|
||||
//| Higher values are useful in darker conditions, but increase image noise."""
|
||||
//|
|
||||
//| GAIN_2X: GainCeiling
|
||||
//| GAIN_4X: GainCeiling
|
||||
//| GAIN_8X: GainCeiling
|
||||
//| GAIN_16X: GainCeiling
|
||||
//| GAIN_32X: GainCeiling
|
||||
//| GAIN_64X: GainCeiling
|
||||
//| GAIN_128X: GainCeiling
|
||||
//|
|
||||
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_2X, GAINCEILING_2X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_4X, GAINCEILING_4X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_8X, GAINCEILING_8X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_16X, GAINCEILING_16X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_32X, GAINCEILING_32X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_64X, GAINCEILING_64X);
|
||||
MAKE_ENUM_VALUE(esp32_camera_gain_ceiling_type, gain_ceiling, GAIN_128X, GAINCEILING_128X);
|
||||
|
||||
MAKE_ENUM_MAP(esp32_camera_gain_ceiling) {
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_2X),
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_4X),
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_8X),
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_16X),
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_32X),
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_64X),
|
||||
MAKE_ENUM_MAP_ENTRY(gain_ceiling, GAIN_128X)
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_gain_ceiling_locals_dict, esp32_camera_gain_ceiling_locals_table);
|
||||
MAKE_PRINTER(esp32_camera, esp32_camera_gain_ceiling);
|
||||
MAKE_ENUM_TYPE(esp32_camera, GainCeiling, esp32_camera_gain_ceiling);
|
||||
|
||||
gainceiling_t validate_gain_ceiling(mp_obj_t obj, qstr arg_name) {
|
||||
return cp_enum_value(&esp32_camera_gain_ceiling_type, mp_arg_validate_type(obj, &esp32_camera_gain_ceiling_type, arg_name));
|
||||
}
|
||||
|
||||
STATIC const mp_rom_map_elem_t esp32_camera_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_esp32_camera) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Camera), MP_ROM_PTR(&esp32_camera_camera_type), },
|
||||
{ MP_ROM_QSTR(MP_QSTR_FrameSize), &esp32_camera_frame_size_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GainCeiling), &esp32_camera_gain_ceiling_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GrabMode), &esp32_camera_grab_mode_type },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PixelFormat), &esp32_camera_pixel_format_type },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(esp32_camera_module_globals, esp32_camera_module_globals_table);
|
||||
|
||||
const mp_obj_module_t esp32_camera_module = {
|
||||
.base = { &mp_type_module },
|
||||
.globals = (mp_obj_dict_t *)&esp32_camera_module_globals,
|
||||
};
|
||||
|
||||
MP_REGISTER_MODULE(MP_QSTR_esp32_camera, esp32_camera_module, CIRCUITPY_ESP32_CAMERA);
|
45
ports/espressif/bindings/esp32_camera/__init__.h
Normal file
45
ports/espressif/bindings/esp32_camera/__init__.h
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 Jeff Epler for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "py/enum.h"
|
||||
#include "py/obj.h"
|
||||
|
||||
#include "esp_camera.h"
|
||||
|
||||
extern const mp_obj_type_t esp32_camera_grab_mode_type;
|
||||
extern const cp_enum_obj_t grab_mode_WHEN_EMPTY_obj;
|
||||
extern const mp_obj_type_t esp32_camera_pixel_format_type;
|
||||
extern const cp_enum_obj_t pixel_format_RGB565_obj;
|
||||
extern const mp_obj_type_t esp32_camera_frame_size_type;
|
||||
extern const cp_enum_obj_t frame_size_QQVGA_obj;
|
||||
extern const mp_obj_type_t esp32_camera_gain_ceiling_type;
|
||||
|
||||
extern camera_grab_mode_t validate_grab_mode(mp_obj_t obj, qstr arg_name);
|
||||
extern pixformat_t validate_pixel_format(mp_obj_t obj, qstr arg_name);
|
||||
extern framesize_t validate_frame_size(mp_obj_t obj, qstr arg_name);
|
||||
extern gainceiling_t validate_gain_ceiling(mp_obj_t obj, qstr arg_name);
|
@ -144,6 +144,18 @@ bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
|
||||
gpio_set_level(21, true);
|
||||
return true;
|
||||
}
|
||||
// Pull LED down on reset rather than the default up
|
||||
if (pin_number == 13) {
|
||||
gpio_config_t cfg = {
|
||||
.pin_bit_mask = BIT64(pin_number),
|
||||
.mode = GPIO_MODE_DISABLE,
|
||||
.pull_up_en = false,
|
||||
.pull_down_en = true,
|
||||
.intr_type = GPIO_INTR_DISABLE,
|
||||
};
|
||||
gpio_config(&cfg);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -17,3 +17,4 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
OPTIMIZATION_FLAGS = -Os
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
|
@ -18,3 +18,4 @@ CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
OPTIMIZATION_FLAGS = -Os
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
|
@ -10,9 +10,6 @@ LONGINT_IMPL = MPZ
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_STATUS_BAR = 0
|
||||
CIRCUITPY_WEB_WORKFLOW = 0
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
@ -16,6 +16,8 @@ CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_FakeRequests
|
||||
|
@ -16,6 +16,8 @@ CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_FakeRequests
|
||||
|
46
ports/espressif/boards/espressif_esp32_eye/board.c
Normal file
46
ports/espressif/boards/espressif_esp32_eye/board.c
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "components/driver/include/driver/gpio.h"
|
||||
#include "components/hal/include/hal/gpio_hal.h"
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
reset_board();
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
39
ports/espressif/boards/espressif_esp32_eye/mpconfigboard.h
Normal file
39
ports/espressif/boards/espressif_esp32_eye/mpconfigboard.h
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 Dan Halbert for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "Espressif ESP32-EYE"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32"
|
||||
|
||||
#define CIRCUITPY_BOARD_I2C (1)
|
||||
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO23, .sda = &pin_GPIO18}}
|
||||
|
||||
// UART pins attached to the USB-serial converter chip
|
||||
#define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1)
|
||||
#define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3)
|
||||
|
||||
#define DEFAULT_RESERVED_PSRAM (1048576)
|
11
ports/espressif/boards/espressif_esp32_eye/mpconfigboard.mk
Normal file
11
ports/espressif/boards/espressif_esp32_eye/mpconfigboard.mk
Normal file
@ -0,0 +1,11 @@
|
||||
CIRCUITPY_CREATOR_ID = 0x000C303A
|
||||
CIRCUITPY_CREATION_ID = 0x00320001
|
||||
|
||||
IDF_TARGET = esp32
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
40
ports/espressif/boards/espressif_esp32_eye/pins.c
Normal file
40
ports/espressif/boards/espressif_esp32_eye/pins.c
Normal file
@ -0,0 +1,40 @@
|
||||
#include "py/objtuple.h"
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_obj_tuple_t camera_data_tuple = {
|
||||
{&mp_type_tuple},
|
||||
8,
|
||||
{
|
||||
MP_ROM_PTR(&pin_GPIO34),
|
||||
MP_ROM_PTR(&pin_GPIO13),
|
||||
MP_ROM_PTR(&pin_GPIO14),
|
||||
MP_ROM_PTR(&pin_GPIO35),
|
||||
MP_ROM_PTR(&pin_GPIO39), // "S_VN"
|
||||
MP_ROM_PTR(&pin_GPIO38),
|
||||
MP_ROM_PTR(&pin_GPIO37),
|
||||
MP_ROM_PTR(&pin_GPIO36), // "S_VP"
|
||||
}
|
||||
};
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SCK), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_WS), MP_ROM_PTR(&pin_GPIO32) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SDO), MP_ROM_PTR(&pin_GPIO32) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO15) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_RED), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_WHITE), MP_ROM_PTR(&pin_GPIO22) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA), MP_ROM_PTR(&camera_data_tuple) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_VSYNC), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_HREF), MP_ROM_PTR(&pin_GPIO27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_PCLK), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_XCLK), MP_ROM_PTR(&pin_GPIO4) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
72
ports/espressif/boards/espressif_esp32_eye/sdkconfig
Normal file
72
ports/espressif/boards/espressif_esp32_eye/sdkconfig
Normal file
@ -0,0 +1,72 @@
|
||||
# Automatically generated file. DO NOT EDIT.
|
||||
# Espressif IoT Development Framework (ESP-IDF) Project Configuration
|
||||
#
|
||||
#
|
||||
# Component config
|
||||
#
|
||||
#
|
||||
# ESP32-specific
|
||||
#
|
||||
CONFIG_ESP32_SPIRAM_SUPPORT=y
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
CONFIG_SPIRAM_TYPE_AUTO=y
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
|
||||
CONFIG_SPIRAM_SIZE=-1
|
||||
CONFIG_SPIRAM_SPEED_40M=y
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
CONFIG_SPIRAM_IGNORE_NOTFOUND=y
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set
|
||||
CONFIG_SPIRAM_CACHE_WORKAROUND=y
|
||||
# CONFIG_SPIRAM_BANKSWITCH_ENABLE is not set
|
||||
# end of SPI RAM config
|
||||
|
||||
# end of ESP32-specific
|
||||
|
||||
#
|
||||
# NVS
|
||||
#
|
||||
# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
|
||||
# end of NVS
|
||||
|
||||
#
|
||||
# Camera configuration
|
||||
#
|
||||
CONFIG_OV7670_SUPPORT=y
|
||||
CONFIG_OV7725_SUPPORT=y
|
||||
CONFIG_NT99141_SUPPORT=y
|
||||
CONFIG_OV2640_SUPPORT=y
|
||||
CONFIG_OV3660_SUPPORT=y
|
||||
CONFIG_OV5640_SUPPORT=y
|
||||
CONFIG_GC2145_SUPPORT=y
|
||||
CONFIG_GC032A_SUPPORT=y
|
||||
CONFIG_GC0308_SUPPORT=y
|
||||
CONFIG_BF3005_SUPPORT=y
|
||||
CONFIG_BF20A6_SUPPORT=y
|
||||
# CONFIG_SC101IOT_SUPPORT is not set
|
||||
CONFIG_SC030IOT_SUPPORT=y
|
||||
# CONFIG_SCCB_HARDWARE_I2C_PORT0 is not set
|
||||
CONFIG_SCCB_HARDWARE_I2C_PORT1=y
|
||||
CONFIG_SCCB_CLK_FREQ=100000
|
||||
# CONFIG_GC_SENSOR_WINDOWING_MODE is not set
|
||||
CONFIG_GC_SENSOR_SUBSAMPLE_MODE=y
|
||||
CONFIG_CAMERA_CORE0=y
|
||||
# CONFIG_CAMERA_CORE1 is not set
|
||||
# CONFIG_CAMERA_NO_AFFINITY is not set
|
||||
CONFIG_CAMERA_DMA_BUFFER_SIZE_MAX=32768
|
||||
# end of Camera configuration
|
||||
|
||||
# end of Component config
|
||||
#
|
||||
CONFIG_ESP_CONSOLE_UART_TX_GPIO=1
|
||||
CONFIG_ESP_CONSOLE_UART_RX_GPIO=3
|
||||
|
138
ports/espressif/boards/espressif_esp32s3_eye/board.c
Normal file
138
ports/espressif/boards/espressif_esp32s3_eye/board.c
Normal file
@ -0,0 +1,138 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/busio/SPI.h"
|
||||
#include "shared-bindings/displayio/FourWire.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
#include "shared-module/displayio/mipi_constants.h"
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
displayio_fourwire_obj_t board_display_obj;
|
||||
|
||||
#define DELAY 0x80
|
||||
|
||||
// display init sequence according to LilyGO example app
|
||||
uint8_t display_init_sequence[] = {
|
||||
// sw reset
|
||||
0x01, 0 | DELAY, 150,
|
||||
// sleep out
|
||||
0x11, 0 | DELAY, 255,
|
||||
// normal display mode on
|
||||
0x13, 0,
|
||||
// display and color format settings
|
||||
0x36, 1, 0x08,
|
||||
0xB6, 2, 0x0A, 0x82,
|
||||
0x3A, 1 | DELAY, 0x55, 10,
|
||||
// ST7789V frame rate setting
|
||||
0xB2, 5, 0x0C, 0x0C, 0x00, 0x33, 0x33,
|
||||
// voltages: VGH / VGL
|
||||
0xB7, 1, 0x35,
|
||||
// ST7789V power setting
|
||||
0xBB, 1, 0x28,
|
||||
0xC0, 1, 0x0C,
|
||||
0xC2, 2, 0x01, 0xFF,
|
||||
0xC3, 1, 0x10,
|
||||
0xC4, 1, 0x20,
|
||||
0xC6, 1, 0x0F,
|
||||
0xD0, 2, 0xA4, 0xA1,
|
||||
// ST7789V gamma setting
|
||||
0xE0, 14, 0xD0, 0x00, 0x02, 0x07, 0x0A, 0x28, 0x32, 0x44, 0x42, 0x06, 0x0E, 0x12, 0x14, 0x17,
|
||||
0xE1, 14, 0xD0, 0x00, 0x02, 0x07, 0x0A, 0x28, 0x31, 0x54, 0x47, 0x0E, 0x1C, 0x17, 0x1B, 0x1E,
|
||||
0x21, 0,
|
||||
// display on
|
||||
0x29, 0 | DELAY, 255,
|
||||
};
|
||||
|
||||
void board_init(void) {
|
||||
busio_spi_obj_t *spi = common_hal_board_create_spi(0);
|
||||
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
|
||||
bus->base.type = &displayio_fourwire_type;
|
||||
|
||||
common_hal_displayio_fourwire_construct(
|
||||
bus,
|
||||
spi,
|
||||
&pin_GPIO43, // DC
|
||||
&pin_GPIO44, // CS
|
||||
NULL, // no reset pin
|
||||
40000000, // baudrate
|
||||
0, // polarity
|
||||
0 // phase
|
||||
);
|
||||
displayio_display_obj_t *display = &displays[0].display;
|
||||
display->base.type = &displayio_display_type;
|
||||
|
||||
// workaround as board_init() is called before reset_port() in main.c
|
||||
pwmout_reset();
|
||||
|
||||
common_hal_displayio_display_construct(
|
||||
display,
|
||||
bus,
|
||||
240, // width (after rotation)
|
||||
240, // height (after rotation)
|
||||
0, // column start
|
||||
0, // row start
|
||||
0, // rotation
|
||||
16, // color depth
|
||||
false, // grayscale
|
||||
false, // pixels in a byte share a row. Only valid for depths < 8
|
||||
1, // bytes per cell. Only valid for depths < 8
|
||||
false, // reverse_pixels_in_byte. Only valid for depths < 8
|
||||
true, // reverse_pixels_in_word
|
||||
MIPI_COMMAND_SET_COLUMN_ADDRESS, // set column command
|
||||
MIPI_COMMAND_SET_PAGE_ADDRESS, // set row command
|
||||
MIPI_COMMAND_WRITE_MEMORY_START, // write memory command
|
||||
display_init_sequence,
|
||||
sizeof(display_init_sequence),
|
||||
&pin_GPIO48, // backlight pin
|
||||
NO_BRIGHTNESS_COMMAND,
|
||||
1.0f, // brightness (ignored)
|
||||
false, // auto_brightness
|
||||
false, // single_byte_bounds
|
||||
false, // data_as_commands
|
||||
true, // auto_refresh
|
||||
60, // native_frames_per_second
|
||||
false, // backlight_on_high
|
||||
false, // SH1107_addressing
|
||||
50000 // backlight pwm frequency
|
||||
);
|
||||
|
||||
common_hal_never_reset_pin(&pin_GPIO48); // backlight pin
|
||||
// Debug UART
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
47
ports/espressif/boards/espressif_esp32s3_eye/mpconfigboard.h
Normal file
47
ports/espressif/boards/espressif_esp32s3_eye/mpconfigboard.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "ESP32-S3-EYE"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S3"
|
||||
|
||||
// Shared by the camera and accelerometer
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO4)
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO5)
|
||||
|
||||
// This is the SD card connection, not the LCD
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO39)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO40)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO38)
|
||||
|
||||
#define CIRCUITPY_BOARD_SPI (2)
|
||||
#define CIRCUITPY_BOARD_SPI_PIN { \
|
||||
{.clock = &pin_GPIO21, .mosi = &pin_GPIO47, .miso = NULL}, \
|
||||
{.clock = &pin_GPIO39, .mosi = &pin_GPIO40, .miso = &pin_GPIO38}, \
|
||||
}
|
||||
|
||||
#define DEFAULT_RESERVED_PSRAM (1048576)
|
@ -0,0 +1,17 @@
|
||||
USB_VID = 0x303A
|
||||
USB_PID = 0x700F
|
||||
USB_PRODUCT = "ESP32-S3-EYE"
|
||||
USB_MANUFACTURER = "Espressif"
|
||||
|
||||
IDF_TARGET = esp32s3
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 8MB
|
56
ports/espressif/boards/espressif_esp32s3_eye/pins.c
Normal file
56
ports/espressif/boards/espressif_esp32s3_eye/pins.c
Normal file
@ -0,0 +1,56 @@
|
||||
#include "py/objtuple.h"
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
|
||||
STATIC const mp_rom_obj_tuple_t camera_data_tuple = {
|
||||
{&mp_type_tuple},
|
||||
8,
|
||||
{
|
||||
MP_ROM_PTR(&pin_GPIO11),
|
||||
MP_ROM_PTR(&pin_GPIO9),
|
||||
MP_ROM_PTR(&pin_GPIO8),
|
||||
MP_ROM_PTR(&pin_GPIO10),
|
||||
MP_ROM_PTR(&pin_GPIO12),
|
||||
MP_ROM_PTR(&pin_GPIO18),
|
||||
MP_ROM_PTR(&pin_GPIO17),
|
||||
MP_ROM_PTR(&pin_GPIO16),
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUTTONS), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MIC_SDO), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) }, // LCD
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA), MP_ROM_PTR(&camera_data_tuple) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_VSYNC), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_HREF), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_PCLK), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAMERA_XCLK), MP_ROM_PTR(&pin_GPIO15) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO47) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO1), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI1), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK1), MP_ROM_PTR(&pin_GPIO39) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MIC_SCK), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MIC_WS), MP_ROM_PTR(&pin_GPIO42) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BACKLIGHT), MP_ROM_PTR(&pin_GPIO48) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO48) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)},
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
34
ports/espressif/boards/espressif_esp32s3_eye/sdkconfig
Normal file
34
ports/espressif/boards/espressif_esp32s3_eye/sdkconfig
Normal file
@ -0,0 +1,34 @@
|
||||
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_MODE_QUAD is not set
|
||||
CONFIG_SPIRAM_MODE_OCT=y
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM64=y
|
||||
CONFIG_SPIRAM_SIZE=8388608
|
||||
# end of SPI RAM config
|
||||
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
#
|
||||
# PSRAM Clock and CS IO for ESP32S3
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM Clock and CS IO for ESP32S3
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
CONFIG_SPIRAM_SPEED_80M=y
|
||||
# CONFIG_SPIRAM_SPEED_40M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="espressif-esp32s3-eye"
|
||||
# end of LWIP
|
@ -30,3 +30,6 @@
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO45)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO7)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO8)
|
||||
|
@ -140,5 +140,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUDIO_I2S1_LRCK_DAC1), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUDIO_I2S1_BCLK_DAC2), MP_ROM_PTR(&pin_GPIO18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
||||
|
@ -1,4 +1,6 @@
|
||||
#include "py/objtuple.h"
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
|
||||
// Pin names from: https://wiki.odroid.com/odroid_go/odroid_go
|
||||
|
||||
@ -53,5 +55,6 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_EXT4), MP_ROM_PTR(&pin_GPIO15) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)},
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
||||
|
@ -16,6 +16,8 @@ CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/mixgo_cp_lib/mixgoce_lib
|
||||
|
@ -16,6 +16,8 @@ CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA = 0
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/mixgo_cp_lib/mixgoce_lib
|
||||
|
48
ports/espressif/boards/smartbeedesigns_bee_motion_s3/board.c
Normal file
48
ports/espressif/boards/smartbeedesigns_bee_motion_s3/board.c
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "Bee-Motion-S3"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S3"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO48)
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO43)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO36)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO37)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO17)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO15)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO16)
|
@ -0,0 +1,20 @@
|
||||
USB_VID = 0x303A
|
||||
USB_PID = 0x8114
|
||||
USB_PRODUCT = "Bee-Motion-S3"
|
||||
USB_MANUFACTURER = "Smart Bee Designs"
|
||||
|
||||
IDF_TARGET = esp32s3
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 8MB
|
||||
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
102
ports/espressif/boards/smartbeedesigns_bee_motion_s3/pins.c
Normal file
102
ports/espressif/boards/smartbeedesigns_bee_motion_s3/pins.c
Normal file
@ -0,0 +1,102 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO48), MP_ROM_PTR(&pin_GPIO48) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL_POWER), MP_ROM_PTR(&pin_GPIO34) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44)},
|
||||
{ MP_ROM_QSTR(MP_QSTR_D44), MP_ROM_PTR(&pin_GPIO44) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BOOT_BTN), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VBAT), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VBAT_SENSE), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VBUS_SENSE), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LIGHT), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LIGHT_SENSOR), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PIR), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PIR_SENSOR), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_), MP_ROM_PTR(&pin_GPIO34) },
|
||||
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
@ -0,0 +1,6 @@
|
||||
# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="smartbeedesigns_bee_motion_s3"
|
||||
# end of LWIP
|
48
ports/espressif/boards/smartbeedesigns_bee_s3/board.c
Normal file
48
ports/espressif/boards/smartbeedesigns_bee_s3/board.c
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "Bee-S3"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S3"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO48)
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO43)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO36)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO37)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO39)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO35)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO38)
|
@ -0,0 +1,20 @@
|
||||
USB_VID = 0x303A
|
||||
USB_PID = 0x8111
|
||||
USB_PRODUCT = "Bee-S3"
|
||||
USB_MANUFACTURER = "Smart Bee Designs"
|
||||
|
||||
IDF_TARGET = esp32s3
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 8MB
|
||||
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
79
ports/espressif/boards/smartbeedesigns_bee_s3/pins.c
Normal file
79
ports/espressif/boards/smartbeedesigns_bee_s3/pins.c
Normal file
@ -0,0 +1,79 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO38) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO39) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO48), MP_ROM_PTR(&pin_GPIO48) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO48) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44)},
|
||||
{ MP_ROM_QSTR(MP_QSTR_D44), MP_ROM_PTR(&pin_GPIO44) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VBAT), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VBAT_SENSE), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_GPIO1) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL_POWER), MP_ROM_PTR(&pin_GPIO34) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
6
ports/espressif/boards/smartbeedesigns_bee_s3/sdkconfig
Normal file
6
ports/espressif/boards/smartbeedesigns_bee_s3/sdkconfig
Normal file
@ -0,0 +1,6 @@
|
||||
# CONFIG_ESP32S3_SPIRAM_SUPPORT is not set
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="smartbeedesigns_bee_s3"
|
||||
# end of LWIP
|
279
ports/espressif/common-hal/esp32_camera/Camera.c
Normal file
279
ports/espressif/common-hal/esp32_camera/Camera.c
Normal file
@ -0,0 +1,279 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 Jeff Epler for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "py/runtime.h"
|
||||
|
||||
#include "bindings/esp32_camera/Camera.h"
|
||||
#include "bindings/espidf/__init__.h"
|
||||
#include "common-hal/esp32_camera/Camera.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
#include "esp32-camera/driver/private_include/cam_hal.h"
|
||||
|
||||
static void maybe_claim_pin(const mcu_pin_obj_t *pin) {
|
||||
if (pin) {
|
||||
claim_pin(pin);
|
||||
}
|
||||
}
|
||||
|
||||
void common_hal_esp32_camera_camera_construct(
|
||||
esp32_camera_camera_obj_t *self,
|
||||
uint8_t data_pins[8],
|
||||
const mcu_pin_obj_t *external_clock_pin,
|
||||
const mcu_pin_obj_t *pixel_clock_pin,
|
||||
const mcu_pin_obj_t *vsync_pin,
|
||||
const mcu_pin_obj_t *href_pin,
|
||||
const mcu_pin_obj_t *powerdown_pin,
|
||||
const mcu_pin_obj_t *reset_pin,
|
||||
const busio_i2c_obj_t *i2c,
|
||||
mp_int_t external_clock_frequency,
|
||||
pixformat_t pixel_format,
|
||||
framesize_t frame_size,
|
||||
mp_int_t jpeg_quality,
|
||||
mp_int_t framebuffer_count,
|
||||
camera_grab_mode_t grab_mode) {
|
||||
|
||||
for (int i = 0; i < 8; i++) {
|
||||
claim_pin_number(data_pins[i]);
|
||||
}
|
||||
claim_pin(external_clock_pin);
|
||||
claim_pin(pixel_clock_pin);
|
||||
claim_pin(vsync_pin);
|
||||
claim_pin(href_pin);
|
||||
maybe_claim_pin(powerdown_pin);
|
||||
maybe_claim_pin(reset_pin);
|
||||
|
||||
common_hal_pwmio_pwmout_construct(&self->pwm, external_clock_pin, 1, external_clock_frequency, true);
|
||||
|
||||
self->camera_config.pin_pwdn = common_hal_mcu_pin_number(powerdown_pin);
|
||||
self->camera_config.pin_reset = common_hal_mcu_pin_number(reset_pin);
|
||||
self->camera_config.pin_xclk = common_hal_mcu_pin_number(external_clock_pin);
|
||||
|
||||
self->camera_config.pin_sccb_sda = NO_PIN;
|
||||
self->camera_config.pin_sccb_scl = NO_PIN;
|
||||
/* sccb i2c port set below */
|
||||
|
||||
self->camera_config.pin_d7 = data_pins[7];
|
||||
self->camera_config.pin_d6 = data_pins[6];
|
||||
self->camera_config.pin_d5 = data_pins[5];
|
||||
self->camera_config.pin_d4 = data_pins[4];
|
||||
self->camera_config.pin_d3 = data_pins[3];
|
||||
self->camera_config.pin_d2 = data_pins[2];
|
||||
self->camera_config.pin_d1 = data_pins[1];
|
||||
self->camera_config.pin_d0 = data_pins[0];
|
||||
|
||||
self->camera_config.pin_vsync = common_hal_mcu_pin_number(vsync_pin);
|
||||
self->camera_config.pin_href = common_hal_mcu_pin_number(href_pin);
|
||||
self->camera_config.pin_pclk = common_hal_mcu_pin_number(pixel_clock_pin);
|
||||
|
||||
self->camera_config.xclk_freq_hz = external_clock_frequency;
|
||||
|
||||
self->camera_config.ledc_timer = self->pwm.tim_handle.timer_num;
|
||||
self->camera_config.ledc_channel = self->pwm.chan_handle.channel;
|
||||
|
||||
self->camera_config.pixel_format = pixel_format;
|
||||
self->camera_config.frame_size = frame_size;
|
||||
self->camera_config.jpeg_quality = jpeg_quality;
|
||||
self->camera_config.fb_count = framebuffer_count;
|
||||
self->camera_config.grab_mode = grab_mode;
|
||||
|
||||
self->camera_config.sccb_i2c_port = i2c->i2c_num;
|
||||
|
||||
CHECK_ESP_RESULT(esp_camera_init(&self->camera_config));
|
||||
}
|
||||
|
||||
extern void common_hal_esp32_camera_camera_deinit(esp32_camera_camera_obj_t *self) {
|
||||
if (common_hal_esp32_camera_camera_deinited(self)) {
|
||||
return;
|
||||
}
|
||||
|
||||
common_hal_pwmio_pwmout_deinit(&self->pwm);
|
||||
|
||||
reset_pin_number(self->camera_config.pin_pwdn);
|
||||
reset_pin_number(self->camera_config.pin_reset);
|
||||
reset_pin_number(self->camera_config.pin_xclk);
|
||||
|
||||
reset_pin_number(self->camera_config.pin_d7);
|
||||
reset_pin_number(self->camera_config.pin_d6);
|
||||
reset_pin_number(self->camera_config.pin_d5);
|
||||
reset_pin_number(self->camera_config.pin_d4);
|
||||
reset_pin_number(self->camera_config.pin_d3);
|
||||
reset_pin_number(self->camera_config.pin_d2);
|
||||
reset_pin_number(self->camera_config.pin_d1);
|
||||
reset_pin_number(self->camera_config.pin_d0);
|
||||
|
||||
esp_camera_deinit();
|
||||
|
||||
self->camera_config.xclk_freq_hz = 0;
|
||||
}
|
||||
|
||||
bool common_hal_esp32_camera_camera_deinited(esp32_camera_camera_obj_t *self) {
|
||||
return !self->camera_config.xclk_freq_hz;
|
||||
}
|
||||
|
||||
bool common_hal_esp32_camera_camera_available(esp32_camera_camera_obj_t *self) {
|
||||
return esp_camera_fb_available();
|
||||
}
|
||||
|
||||
camera_fb_t *common_hal_esp32_camera_camera_take(esp32_camera_camera_obj_t *self, int timeout_ms) {
|
||||
if (self->buffer_to_return) {
|
||||
esp_camera_fb_return(self->buffer_to_return);
|
||||
self->buffer_to_return = NULL;
|
||||
}
|
||||
return self->buffer_to_return = esp_camera_fb_get_timeout(timeout_ms);
|
||||
}
|
||||
|
||||
#define SENSOR_GETSET(type, name, field_name, setter_function_name) \
|
||||
SENSOR_GET(type, name, field_name, setter_function_name) \
|
||||
SENSOR_SET(type, name, setter_function_name)
|
||||
|
||||
#define SENSOR_STATUS_GETSET(type, name, status_field_name, setter_function_name) \
|
||||
SENSOR_GETSET(type, name, status.status_field_name, setter_function_name)
|
||||
|
||||
#define SENSOR_GET(type, name, status_field_name, setter_function_name) \
|
||||
type common_hal_esp32_camera_camera_get_##name(esp32_camera_camera_obj_t * self) { \
|
||||
sensor_t *sensor = esp_camera_sensor_get(); \
|
||||
if (!sensor->setter_function_name) { \
|
||||
mp_raise_AttributeError(translate("no such attribute")); \
|
||||
} \
|
||||
return sensor->status_field_name; \
|
||||
}
|
||||
|
||||
#define SENSOR_SET(type, name, setter_function_name) \
|
||||
void common_hal_esp32_camera_camera_set_##name(esp32_camera_camera_obj_t * self, type value) { \
|
||||
sensor_t *sensor = esp_camera_sensor_get(); \
|
||||
if (!sensor->setter_function_name) { \
|
||||
mp_raise_AttributeError(translate("no such attribute")); \
|
||||
} \
|
||||
if (sensor->setter_function_name(sensor, value) < 0) { \
|
||||
mp_raise_ValueError(translate("invalid setting")); \
|
||||
} \
|
||||
}
|
||||
|
||||
pixformat_t common_hal_esp32_camera_camera_get_pixel_format(esp32_camera_camera_obj_t *self) {
|
||||
return self->camera_config.pixel_format;
|
||||
}
|
||||
|
||||
framesize_t common_hal_esp32_camera_camera_get_frame_size(esp32_camera_camera_obj_t *self) {
|
||||
return self->camera_config.frame_size;
|
||||
}
|
||||
|
||||
#include "esp_log.h"
|
||||
|
||||
void common_hal_esp32_camera_camera_reconfigure(esp32_camera_camera_obj_t *self, framesize_t frame_size, pixformat_t pixel_format, camera_grab_mode_t grab_mode, mp_int_t framebuffer_count) {
|
||||
sensor_t *sensor = esp_camera_sensor_get();
|
||||
camera_sensor_info_t *sensor_info = esp_camera_sensor_get_info(&sensor->id);
|
||||
|
||||
if (PIXFORMAT_JPEG == pixel_format && (!sensor_info->support_jpeg)) {
|
||||
raise_esp_error(ESP_ERR_NOT_SUPPORTED);
|
||||
}
|
||||
|
||||
if (frame_size > sensor_info->max_size) {
|
||||
frame_size = sensor_info->max_size;
|
||||
}
|
||||
|
||||
cam_deinit();
|
||||
self->camera_config.pixel_format = pixel_format;
|
||||
self->camera_config.frame_size = frame_size;
|
||||
self->camera_config.grab_mode = grab_mode;
|
||||
self->camera_config.fb_count = framebuffer_count;
|
||||
sensor->set_pixformat(sensor, self->camera_config.pixel_format);
|
||||
sensor->set_framesize(sensor, self->camera_config.frame_size);
|
||||
cam_init(&self->camera_config);
|
||||
cam_config(&self->camera_config, frame_size, sensor_info->pid);
|
||||
cam_start();
|
||||
}
|
||||
|
||||
SENSOR_STATUS_GETSET(int, contrast, contrast, set_contrast);
|
||||
SENSOR_STATUS_GETSET(int, brightness, brightness, set_brightness);
|
||||
SENSOR_STATUS_GETSET(int, saturation, saturation, set_saturation);
|
||||
SENSOR_STATUS_GETSET(int, sharpness, sharpness, set_sharpness);
|
||||
SENSOR_STATUS_GETSET(int, denoise, denoise, set_denoise);
|
||||
SENSOR_STATUS_GETSET(gainceiling_t, gainceiling, gainceiling, set_gainceiling);
|
||||
SENSOR_STATUS_GETSET(int, quality, quality, set_quality);
|
||||
SENSOR_STATUS_GETSET(bool, colorbar, colorbar, set_colorbar);
|
||||
SENSOR_STATUS_GETSET(bool, whitebal, awb, set_whitebal);
|
||||
SENSOR_STATUS_GETSET(bool, gain_ctrl, agc, set_gain_ctrl);
|
||||
SENSOR_STATUS_GETSET(bool, exposure_ctrl, aec, set_exposure_ctrl);
|
||||
SENSOR_STATUS_GETSET(bool, hmirror, hmirror, set_hmirror);
|
||||
SENSOR_STATUS_GETSET(bool, vflip, vflip, set_vflip);
|
||||
SENSOR_STATUS_GETSET(bool, aec2, aec2, set_aec2);
|
||||
SENSOR_STATUS_GETSET(bool, awb_gain, awb_gain, set_awb_gain);
|
||||
SENSOR_STATUS_GETSET(int, agc_gain, agc_gain, set_agc_gain);
|
||||
SENSOR_STATUS_GETSET(int, aec_value, aec_value, set_aec_value);
|
||||
SENSOR_STATUS_GETSET(int, special_effect, special_effect, set_special_effect);
|
||||
SENSOR_STATUS_GETSET(int, wb_mode, wb_mode, set_wb_mode);
|
||||
SENSOR_STATUS_GETSET(int, ae_level, ae_level, set_ae_level);
|
||||
SENSOR_STATUS_GETSET(bool, dcw, dcw, set_dcw);
|
||||
SENSOR_STATUS_GETSET(bool, bpc, bpc, set_bpc);
|
||||
SENSOR_STATUS_GETSET(bool, wpc, wpc, set_wpc);
|
||||
SENSOR_STATUS_GETSET(bool, raw_gma, raw_gma, set_raw_gma);
|
||||
SENSOR_STATUS_GETSET(bool, lenc, lenc, set_lenc);
|
||||
|
||||
const char *common_hal_esp32_camera_camera_get_sensor_name(esp32_camera_camera_obj_t *self) {
|
||||
sensor_t *sensor = esp_camera_sensor_get();
|
||||
camera_sensor_info_t *sensor_info = esp_camera_sensor_get_info(&sensor->id);
|
||||
return sensor_info->name;
|
||||
}
|
||||
|
||||
const bool common_hal_esp32_camera_camera_get_supports_jpeg(esp32_camera_camera_obj_t *self) {
|
||||
sensor_t *sensor = esp_camera_sensor_get();
|
||||
camera_sensor_info_t *sensor_info = esp_camera_sensor_get_info(&sensor->id);
|
||||
return sensor_info->support_jpeg;
|
||||
}
|
||||
|
||||
const framesize_t common_hal_esp32_camera_camera_get_max_frame_size(esp32_camera_camera_obj_t *self) {
|
||||
sensor_t *sensor = esp_camera_sensor_get();
|
||||
camera_sensor_info_t *sensor_info = esp_camera_sensor_get_info(&sensor->id);
|
||||
return sensor_info->max_size;
|
||||
}
|
||||
|
||||
const int common_hal_esp32_camera_camera_get_address(esp32_camera_camera_obj_t *self) {
|
||||
sensor_t *sensor = esp_camera_sensor_get();
|
||||
camera_sensor_info_t *sensor_info = esp_camera_sensor_get_info(&sensor->id);
|
||||
return sensor_info->sccb_addr;
|
||||
}
|
||||
|
||||
const int common_hal_esp32_camera_camera_get_width(esp32_camera_camera_obj_t *self) {
|
||||
sensor_t *sensor = esp_camera_sensor_get();
|
||||
framesize_t framesize = sensor->status.framesize;
|
||||
return resolution[framesize].width;
|
||||
}
|
||||
|
||||
const int common_hal_esp32_camera_camera_get_height(esp32_camera_camera_obj_t *self) {
|
||||
sensor_t *sensor = esp_camera_sensor_get();
|
||||
framesize_t framesize = sensor->status.framesize;
|
||||
return resolution[framesize].height;
|
||||
}
|
||||
|
||||
const camera_grab_mode_t common_hal_esp32_camera_camera_get_grab_mode(esp32_camera_camera_obj_t *self) {
|
||||
return self->camera_config.grab_mode;
|
||||
}
|
||||
|
||||
const int common_hal_esp32_camera_camera_get_framebuffer_count(esp32_camera_camera_obj_t *self) {
|
||||
return self->camera_config.fb_count;
|
||||
}
|
38
ports/espressif/common-hal/esp32_camera/Camera.h
Normal file
38
ports/espressif/common-hal/esp32_camera/Camera.h
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2022 Jeff Epler for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "esp_camera.h"
|
||||
#include "shared-bindings/pwmio/PWMOut.h"
|
||||
|
||||
typedef struct esp32_camera_camera_obj {
|
||||
mp_obj_base_t base;
|
||||
camera_config_t camera_config;
|
||||
camera_fb_t *buffer_to_return;
|
||||
pwmio_pwmout_obj_t pwm;
|
||||
} esp32_camera_obj_t;
|
@ -1 +0,0 @@
|
||||
// No i2cperipheral module functions.
|
@ -24,15 +24,15 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/i2cperipheral/I2CPeripheral.h"
|
||||
#include "shared-bindings/i2ctarget/I2CTarget.h"
|
||||
|
||||
#include "py/mperrno.h"
|
||||
#include "py/runtime.h"
|
||||
|
||||
#include "common-hal/i2cperipheral/I2CPeripheral.h"
|
||||
#include "common-hal/i2ctarget/I2CTarget.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void common_hal_i2cperipheral_i2c_peripheral_construct(i2cperipheral_i2c_peripheral_obj_t *self,
|
||||
void common_hal_i2ctarget_i2c_target_construct(i2ctarget_i2c_target_obj_t *self,
|
||||
const mcu_pin_obj_t *scl, const mcu_pin_obj_t *sda,
|
||||
uint8_t *addresses, unsigned int num_addresses, bool smbus) {
|
||||
// Pins 45 and 46 are "strapping" pins that impact start up behavior. They usually need to
|
||||
@ -54,7 +54,7 @@ void common_hal_i2cperipheral_i2c_peripheral_construct(i2cperipheral_i2c_periphe
|
||||
self->i2c_num = peripherals_i2c_get_free_num();
|
||||
|
||||
if (self->i2c_num == I2C_NUM_MAX) {
|
||||
mp_raise_ValueError(translate("All I2C peripherals are in use"));
|
||||
mp_raise_ValueError(translate("All I2C targets are in use"));
|
||||
}
|
||||
|
||||
const i2c_config_t i2c_conf = {
|
||||
@ -73,7 +73,7 @@ void common_hal_i2cperipheral_i2c_peripheral_construct(i2cperipheral_i2c_periphe
|
||||
if (err == ESP_FAIL) {
|
||||
mp_raise_OSError(MP_EIO);
|
||||
} else {
|
||||
mp_arg_error_invalid(MP_QSTR_I2CPeripheral);
|
||||
mp_arg_error_invalid(MP_QSTR_I2CTarget);
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,12 +81,12 @@ void common_hal_i2cperipheral_i2c_peripheral_construct(i2cperipheral_i2c_periphe
|
||||
claim_pin(scl);
|
||||
}
|
||||
|
||||
bool common_hal_i2cperipheral_i2c_peripheral_deinited(i2cperipheral_i2c_peripheral_obj_t *self) {
|
||||
bool common_hal_i2ctarget_i2c_target_deinited(i2ctarget_i2c_target_obj_t *self) {
|
||||
return self->sda_pin == NULL;
|
||||
}
|
||||
|
||||
void common_hal_i2cperipheral_i2c_peripheral_deinit(i2cperipheral_i2c_peripheral_obj_t *self) {
|
||||
if (common_hal_i2cperipheral_i2c_peripheral_deinited(self)) {
|
||||
void common_hal_i2ctarget_i2c_target_deinit(i2ctarget_i2c_target_obj_t *self) {
|
||||
if (common_hal_i2ctarget_i2c_target_deinited(self)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -98,7 +98,7 @@ void common_hal_i2cperipheral_i2c_peripheral_deinit(i2cperipheral_i2c_peripheral
|
||||
self->scl_pin = NULL;
|
||||
}
|
||||
|
||||
int common_hal_i2cperipheral_i2c_peripheral_is_addressed(i2cperipheral_i2c_peripheral_obj_t *self,
|
||||
int common_hal_i2ctarget_i2c_target_is_addressed(i2ctarget_i2c_target_obj_t *self,
|
||||
uint8_t *address, bool *is_read, bool *is_restart) {
|
||||
*address = self->addresses[0];
|
||||
*is_read = true;
|
||||
@ -106,21 +106,21 @@ int common_hal_i2cperipheral_i2c_peripheral_is_addressed(i2cperipheral_i2c_perip
|
||||
return 1;
|
||||
}
|
||||
|
||||
int common_hal_i2cperipheral_i2c_peripheral_read_byte(i2cperipheral_i2c_peripheral_obj_t *self, uint8_t *data) {
|
||||
int common_hal_i2ctarget_i2c_target_read_byte(i2ctarget_i2c_target_obj_t *self, uint8_t *data) {
|
||||
i2c_slave_read_buffer(self->i2c_num, data, 128, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int common_hal_i2cperipheral_i2c_peripheral_write_byte(i2cperipheral_i2c_peripheral_obj_t *self, uint8_t data) {
|
||||
int common_hal_i2ctarget_i2c_target_write_byte(i2ctarget_i2c_target_obj_t *self, uint8_t data) {
|
||||
i2c_reset_tx_fifo(self->i2c_num);
|
||||
i2c_slave_write_buffer(self->i2c_num, &data, 128, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void common_hal_i2cperipheral_i2c_peripheral_ack(i2cperipheral_i2c_peripheral_obj_t *self, bool ack) {
|
||||
void common_hal_i2ctarget_i2c_target_ack(i2ctarget_i2c_target_obj_t *self, bool ack) {
|
||||
|
||||
}
|
||||
|
||||
void common_hal_i2cperipheral_i2c_peripheral_close(i2cperipheral_i2c_peripheral_obj_t *self) {
|
||||
void common_hal_i2ctarget_i2c_target_close(i2ctarget_i2c_target_obj_t *self) {
|
||||
|
||||
}
|
@ -24,8 +24,8 @@
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_ESPRESSIF_COMMON_HAL_BUSIO_I2C_PERIPHERAL_H
|
||||
#define MICROPY_INCLUDED_ESPRESSIF_COMMON_HAL_BUSIO_I2C_PERIPHERAL_H
|
||||
#ifndef MICROPY_INCLUDED_ESPRESSIF_COMMON_HAL_BUSIO_I2C_TARGET_H
|
||||
#define MICROPY_INCLUDED_ESPRESSIF_COMMON_HAL_BUSIO_I2C_TARGET_H
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "peripherals/i2c.h"
|
||||
@ -38,6 +38,6 @@ typedef struct {
|
||||
uint8_t num_addresses;
|
||||
const mcu_pin_obj_t *scl_pin;
|
||||
const mcu_pin_obj_t *sda_pin;
|
||||
} i2cperipheral_i2c_peripheral_obj_t;
|
||||
} i2ctarget_i2c_target_obj_t;
|
||||
|
||||
#endif // MICROPY_INCLUDED_ESPRESSIF_COMMON_HAL_BUSIO_I2C_PERIPHERAL_H
|
||||
#endif // MICROPY_INCLUDED_ESPRESSIF_COMMON_HAL_BUSIO_I2C_TARGET_H
|
1
ports/espressif/common-hal/i2ctarget/__init__.c
Normal file
1
ports/espressif/common-hal/i2ctarget/__init__.c
Normal file
@ -0,0 +1 @@
|
||||
// No i2ctarget module functions.
|
@ -100,7 +100,9 @@ static const uint64_t pin_mask_reset_forbidden =
|
||||
|
||||
|
||||
void never_reset_pin_number(gpio_num_t pin_number) {
|
||||
if (pin_number == NO_PIN) {
|
||||
// Some CircuitPython APIs deal in uint8_t pin numbers, but NO_PIN is -1.
|
||||
// Also allow pin 255 to be treated as NO_PIN to avoid crashes
|
||||
if (pin_number == NO_PIN || pin_number == (uint8_t)NO_PIN) {
|
||||
return;
|
||||
}
|
||||
never_reset_pins |= PIN_BIT(pin_number);
|
||||
@ -141,7 +143,9 @@ STATIC void _reset_pin(gpio_num_t pin_number) {
|
||||
|
||||
// Mark pin as free and return it to a quiescent state.
|
||||
void reset_pin_number(gpio_num_t pin_number) {
|
||||
if (pin_number == NO_PIN) {
|
||||
// Some CircuitPython APIs deal in uint8_t pin numbers, but NO_PIN is -1.
|
||||
// Also allow pin 255 to be treated as NO_PIN to avoid crashes
|
||||
if (pin_number == NO_PIN || pin_number == (uint8_t)NO_PIN) {
|
||||
return;
|
||||
}
|
||||
never_reset_pins &= ~PIN_BIT(pin_number);
|
||||
@ -174,7 +178,9 @@ void reset_all_pins(void) {
|
||||
}
|
||||
|
||||
void claim_pin_number(gpio_num_t pin_number) {
|
||||
if (pin_number == NO_PIN) {
|
||||
// Some CircuitPython APIs deal in uint8_t pin numbers, but NO_PIN is -1.
|
||||
// Also allow pin 255 to be treated as NO_PIN to avoid crashes
|
||||
if (pin_number == NO_PIN || pin_number == (uint8_t)NO_PIN) {
|
||||
return;
|
||||
}
|
||||
in_use |= PIN_BIT(pin_number);
|
||||
|
@ -463,7 +463,6 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
|
||||
CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
|
||||
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
|
||||
CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
|
||||
# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
|
||||
# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
|
||||
@ -1104,17 +1103,10 @@ CONFIG_ESP32S2_PANIC_PRINT_HALT=y
|
||||
# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
|
||||
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
|
||||
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=8192
|
||||
# CONFIG_CONSOLE_UART_DEFAULT is not set
|
||||
CONFIG_CONSOLE_UART_CUSTOM=y
|
||||
# CONFIG_ESP_CONSOLE_UART_NONE is not set
|
||||
CONFIG_CONSOLE_UART=y
|
||||
CONFIG_CONSOLE_UART_CUSTOM_NUM_0=y
|
||||
# CONFIG_CONSOLE_UART_CUSTOM_NUM_1 is not set
|
||||
CONFIG_CONSOLE_UART_NUM=0
|
||||
CONFIG_CONSOLE_UART_TX_GPIO=8
|
||||
CONFIG_CONSOLE_UART_RX_GPIO=7
|
||||
CONFIG_CONSOLE_UART_BAUDRATE=115200
|
||||
# CONFIG_CONSOLE_UART_CUSTOM is not set
|
||||
CONFIG_ESP_CONSOLE_UART_NONE=y
|
||||
CONFIG_CONSOLE_UART_NUM=-1
|
||||
CONFIG_INT_WDT=y
|
||||
CONFIG_INT_WDT_TIMEOUT_MS=300
|
||||
CONFIG_INT_WDT_CHECK_CPU1=y
|
||||
|
@ -191,3 +191,31 @@ CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y
|
||||
CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1
|
||||
CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
|
||||
# end of Deprecated options for backward compatibility
|
||||
|
||||
#
|
||||
# Camera configuration
|
||||
#
|
||||
CONFIG_OV7670_SUPPORT=y
|
||||
# CONFIG_OV7725_SUPPORT is not set
|
||||
# CONFIG_NT99141_SUPPORT is not set
|
||||
CONFIG_OV2640_SUPPORT=y
|
||||
CONFIG_OV3660_SUPPORT=y
|
||||
CONFIG_OV5640_SUPPORT=y
|
||||
# CONFIG_GC2145_SUPPORT is not set
|
||||
# CONFIG_GC032A_SUPPORT is not set
|
||||
# CONFIG_GC0308_SUPPORT is not set
|
||||
# CONFIG_BF3005_SUPPORT is not set
|
||||
# CONFIG_BF20A6_SUPPORT is not set
|
||||
# CONFIG_SC101IOT_SUPPORT is not set
|
||||
# CONFIG_SC030IOT_SUPPORT is not set
|
||||
# CONFIG_SCCB_HARDWARE_I2C_PORT0 is not set
|
||||
CONFIG_SCCB_HARDWARE_I2C_PORT1=y
|
||||
CONFIG_SCCB_CLK_FREQ=100000
|
||||
CONFIG_CAMERA_CORE0=y
|
||||
# CONFIG_CAMERA_CORE1 is not set
|
||||
# CONFIG_CAMERA_NO_AFFINITY is not set
|
||||
CONFIG_CAMERA_DMA_BUFFER_SIZE_MAX=32768
|
||||
# CONFIG_CAMERA_CONVERTER_ENABLED is not set
|
||||
# end of Camera configuration
|
||||
# end of Component config
|
||||
|
||||
|
@ -294,7 +294,7 @@ CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y
|
||||
CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y
|
||||
CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
|
||||
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=16384
|
||||
CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
|
||||
CONFIG_ESP_INT_WDT=y
|
||||
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
|
||||
|
1
ports/espressif/esp32-camera
Submodule
1
ports/espressif/esp32-camera
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 28804391c002f6a3ea5ce6a55aee3b191be3ecde
|
@ -20,8 +20,8 @@ CIRCUITPY_DUALBANK ?= 1
|
||||
CIRCUITPY_FRAMEBUFFERIO ?= 1
|
||||
CIRCUITPY_FREQUENCYIO ?= 1
|
||||
CIRCUITPY_HASHLIB ?= 1
|
||||
CIRCUITPY_IMAGECAPTURE ?= 1
|
||||
CIRCUITPY_I2CPERIPHERAL ?= 1
|
||||
CIRCUITPY_IMAGECAPTURE ?= 0
|
||||
CIRCUITPY_I2CTARGET ?= 1
|
||||
CIRCUITPY_RGBMATRIX ?= 1
|
||||
CIRCUITPY_ROTARYIO ?= 1
|
||||
CIRCUITPY_NVM ?= 1
|
||||
@ -35,12 +35,12 @@ CIRCUITPY_ESPIDF ?= 1
|
||||
ifeq ($(IDF_TARGET),esp32)
|
||||
CIRCUITPY_BLEIO = 0
|
||||
CIRCUITPY_BLEIO_HCI = 0
|
||||
CIRCUITPY_IMAGECAPTURE = 0
|
||||
CIRCUITPY_PARALLELDISPLAY = 0
|
||||
# Protomatter needs to support ESP32.
|
||||
CIRCUITPY_RGBMATRIX = 0
|
||||
CIRCUITPY_USB = 0
|
||||
CIRCUITPY_BUILD_EXTENSIONS ?= bin
|
||||
CIRCUITPY_ESP32_CAMERA ?= 1
|
||||
|
||||
else ifeq ($(IDF_TARGET),esp32c3)
|
||||
CIRCUITPY_AESIO = 0
|
||||
@ -51,7 +51,6 @@ CIRCUITPY_BLEIO_HCI = 0
|
||||
CIRCUITPY_COUNTIO = 0
|
||||
CIRCUITPY_DUALBANK = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_IMAGECAPTURE = 0
|
||||
CIRCUITPY_PARALLELDISPLAY = 0
|
||||
CIRCUITPY_PS2IO = 0
|
||||
CIRCUITPY_ROTARYIO = 0
|
||||
@ -63,15 +62,16 @@ CIRCUITPY_BUILD_EXTENSIONS ?= bin
|
||||
else ifeq ($(IDF_TARGET),esp32s3)
|
||||
CIRCUITPY_BLEIO = 1
|
||||
CIRCUITPY_BLEIO_HCI = 0
|
||||
CIRCUITPY_IMAGECAPTURE = 0
|
||||
CIRCUITPY_PARALLELDISPLAY = 0
|
||||
CIRCUITPY_BUILD_EXTENSIONS ?= bin,uf2
|
||||
CIRCUITPY_ESP32_CAMERA ?= 1
|
||||
|
||||
else ifeq ($(IDF_TARGET),esp32s2)
|
||||
# No BLE on S2
|
||||
CIRCUITPY_BLEIO = 0
|
||||
CIRCUITPY_BLEIO_HCI = 0
|
||||
CIRCUITPY_BUILD_EXTENSIONS ?= bin,uf2
|
||||
CIRCUITPY_ESP32_CAMERA ?= 1
|
||||
endif
|
||||
|
||||
# From ESP32-S2/S3 Technical Reference Manual:
|
||||
@ -85,3 +85,7 @@ endif
|
||||
# only if something else is turned off, such as HID.
|
||||
USB_NUM_ENDPOINT_PAIRS = 7
|
||||
USB_NUM_IN_ENDPOINTS = 5
|
||||
|
||||
CIRCUITPY_ESP32_CAMERA ?= 0
|
||||
CIRCUITPY_GIFIO ?= $(CIRCUITPY_ESP32_CAMERA)
|
||||
CIRCUITPY_QRIO ?= $(CIRCUITPY_ESP32_CAMERA)
|
||||
|
@ -76,8 +76,8 @@
|
||||
#include "shared-bindings/_bleio/__init__.h"
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_IMAGECAPTURE
|
||||
#include "cam.h"
|
||||
#if CIRCUITPY_ESP32_CAMERA
|
||||
#include "esp_camera.h"
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_IDF_TARGET_ESP32
|
||||
@ -338,8 +338,9 @@ safe_mode_t port_init(void) {
|
||||
}
|
||||
|
||||
void reset_port(void) {
|
||||
#if CIRCUITPY_IMAGECAPTURE
|
||||
cam_deinit();
|
||||
// TODO deinit for esp32-camera
|
||||
#if CIRCUITPY_ESP32_CAMERA
|
||||
esp_camera_deinit();
|
||||
#endif
|
||||
|
||||
reset_all_pins();
|
||||
|
@ -18,7 +18,7 @@ CIRCUITPY_BUSIO = 0
|
||||
CIRCUITPY_COUNTIO = 0
|
||||
CIRCUITPY_DISPLAYIO = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_NVM = 0
|
||||
CIRCUITPY_PWMIO = 0
|
||||
CIRCUITPY_PULSEIO = 0
|
||||
|
@ -14,7 +14,7 @@ CIRCUITPY_AUDIOBUSIO = 0
|
||||
CIRCUITPY_BUSDEVICE = 1
|
||||
CIRCUITPY_COUNTIO = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
CIRCUITPY_NVM = 0
|
||||
CIRCUITPY_PARALLELDISPLAY = 0
|
||||
CIRCUITPY_PULSEIO = 0
|
||||
|
@ -27,7 +27,7 @@ CIRCUITPY_BLEIO_HCI = 0
|
||||
CIRCUITPY_BLEIO ?= 1
|
||||
|
||||
# No I2CPeripheral implementation
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_I2CTARGET = 0
|
||||
|
||||
CIRCUITPY_RTC ?= 1
|
||||
|
||||
|
@ -97,7 +97,7 @@
|
||||
//| """Construct a StateMachine object on the given pins with the given program.
|
||||
//|
|
||||
//| :param ReadableBuffer program: the program to run with the state machine
|
||||
//| :param int frequency: the target clock frequency of the state machine. Actual may be less.
|
||||
//| :param int frequency: the target clock frequency of the state machine. Actual may be less. Use 0 for system clock speed.
|
||||
//| :param ReadableBuffer init: a program to run once at start up. This is run after program
|
||||
//| is started so instructions may be intermingled
|
||||
//| :param ~microcontroller.Pin first_out_pin: the first pin to use with the OUT instruction
|
||||
|
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user