merge from adafruit/main

This commit is contained in:
Dan Halbert 2025-06-16 09:12:47 -04:00
commit ce450dc271
131 changed files with 2758 additions and 282 deletions

View file

@ -14,7 +14,7 @@ echo -e "[cortex-m-toolchain.sh] downloading and installing gcc-arm-non-eabi too
cd /workspaces cd /workspaces
wget -qO gcc-arm-none-eabi.tar.xz \ wget -qO gcc-arm-none-eabi.tar.xz \
https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz https://developer.arm.com/-/media/Files/downloads/gnu/14.2.rel1/binrel/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi.tar.xz
tar -xJf gcc-arm-none-eabi.tar.xz tar -xJf gcc-arm-none-eabi.tar.xz
ln -s arm-gnu-toolchain-14.2.Rel1-x86_64-arm-none-eabi gcc-arm-none-eabi ln -s arm-gnu-toolchain-14.2.Rel1-x86_64-arm-none-eabi gcc-arm-none-eabi

View file

@ -10,7 +10,7 @@ jobs:
permissions: permissions:
issues: write issues: write
steps: steps:
- uses: tekktrik/issue-labeled-ping@v1 - uses: tekktrik/issue-labeled-ping@v2
with: with:
github-token: ${{ secrets.GITHUB_TOKEN }} github-token: ${{ secrets.GITHUB_TOKEN }}
user: v923z user: v923z

1
.gitignore vendored
View file

@ -9,6 +9,7 @@
*.o *.o
*.a *.a
!atmel-samd/asf/**/*.a !atmel-samd/asf/**/*.a
!ports/espressif/microros-lib/**/*.a
*.elf *.elf
*.bin *.bin
!*.toml.bin !*.toml.bin

3
.gitmodules vendored
View file

@ -412,3 +412,6 @@
[submodule "ports/analog/msdk"] [submodule "ports/analog/msdk"]
path = ports/analog/msdk path = ports/analog/msdk
url = https://github.com/analogdevicesinc/msdk.git url = https://github.com/analogdevicesinc/msdk.git
[submodule "ports/espressif/microros-lib"]
path = ports/espressif/microros-lib
url = https://github.com/hierophect/microros-lib.git

View file

@ -871,6 +871,10 @@ msgstr "Deretan koordinat memiliki panjang yang berbeda"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "Tipe array koordinat memiliki ukuran yang berbeda" msgstr "Tipe array koordinat memiliki ukuran yang berbeda"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Tidak dapat mengatur alamat" msgstr "Tidak dapat mengatur alamat"
@ -883,6 +887,11 @@ msgstr "Tidak dapat memulai interupsi, RX sibuk"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Tidak dapat mengalokasikan dekoder" msgstr "Tidak dapat mengalokasikan dekoder"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Terjadi kesalahan saat menginisialisasi kanal DAC" msgstr "Terjadi kesalahan saat menginisialisasi kanal DAC"
@ -1312,6 +1321,10 @@ msgstr ""
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argumen tidak valid" msgstr "Argumen tidak valid"
@ -1874,6 +1887,10 @@ msgstr "Ukuran program tidak valid"
msgid "Program too long" msgid "Program too long"
msgstr "Program terlalu lama" msgstr "Program terlalu lama"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Pull tidak digunakan saat arah output." msgstr "Pull tidak digunakan saat arah output."
@ -1894,6 +1911,26 @@ msgstr "Kesalahan DeInit RNG"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "Kesalahan Init RNG" msgstr "Kesalahan Init RNG"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -848,6 +848,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "" msgstr ""
@ -860,6 +864,11 @@ msgstr ""
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "" msgstr ""
@ -1287,6 +1296,10 @@ msgstr ""
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "" msgstr ""
@ -1841,6 +1854,10 @@ msgstr ""
msgid "Program too long" msgid "Program too long"
msgstr "" msgstr ""
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "" msgstr ""
@ -1861,6 +1878,26 @@ msgstr ""
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -865,6 +865,10 @@ msgstr "Pole souřadnic mají různé délky"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Není možné nastavit adresu" msgstr "Není možné nastavit adresu"
@ -877,6 +881,11 @@ msgstr "Nelze začít přerušení, RX je zaneprázdněn"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Dekodér nelze přiřadit" msgstr "Dekodér nelze přiřadit"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Chyba inicializace kanálu DAC" msgstr "Chyba inicializace kanálu DAC"
@ -1307,6 +1316,10 @@ msgstr "Chybné BSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Chybná MAC adresa" msgstr "Chybná MAC adresa"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Neplatný argument" msgstr "Neplatný argument"
@ -1864,6 +1877,10 @@ msgstr "Velikost programu je nesprávná"
msgid "Program too long" msgid "Program too long"
msgstr "Program je příliš dlouhý" msgstr "Program je příliš dlouhý"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "" msgstr ""
@ -1884,6 +1901,26 @@ msgstr ""
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2024-12-15 14:00+0000\n" "PO-Revision-Date: 2025-06-12 23:09+0000\n"
"Last-Translator: Exp3rt <jannik.homberg@gmail.com>\n" "Last-Translator: MAE <martin-aehle@hotmail.de>\n"
"Language: de_DE\n" "Language: de_DE\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.9-rc\n" "X-Generator: Weblate 5.12-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -117,7 +117,7 @@ msgstr "%q Fehler: %d"
#: shared-module/audiodelays/MultiTapDelay.c #: shared-module/audiodelays/MultiTapDelay.c
msgid "%q in %q must be of type %q or %q, not %q" msgid "%q in %q must be of type %q or %q, not %q"
msgstr "" msgstr "%q in %q muss vom Typ %q oder %q sein, nicht %q"
#: py/argcheck.c shared-module/audiofilters/Filter.c #: py/argcheck.c shared-module/audiofilters/Filter.c
msgid "%q in %q must be of type %q, not %q" msgid "%q in %q must be of type %q, not %q"
@ -304,7 +304,7 @@ msgstr "%q[%u] schiebt mehr Bits raus als Pins vorhanden sind"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "%q[%u] uses extra pin" msgid "%q[%u] uses extra pin"
msgstr "" msgstr "%q[%u] verwendet zusätzlichen Pin"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "%q[%u] waits on input outside of count" msgid "%q[%u] waits on input outside of count"
@ -495,7 +495,7 @@ msgstr "Adressbereich nicht erlaubt"
#: shared-bindings/memorymap/AddressRange.c #: shared-bindings/memorymap/AddressRange.c
msgid "Address range wraps around" msgid "Address range wraps around"
msgstr "" msgstr "Der Adressbereich umfasst folgende Bereiche"
#: ports/espressif/common-hal/canio/CAN.c #: ports/espressif/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use" msgid "All CAN peripherals are in use"
@ -573,7 +573,7 @@ msgstr "All-Matchers-Listener bereits vorhanden"
#: ports/espressif/common-hal/_bleio/__init__.c #: ports/espressif/common-hal/_bleio/__init__.c
msgid "Already in progress" msgid "Already in progress"
msgstr "" msgstr "Bereits in Arbeit"
#: ports/espressif/bindings/espnow/ESPNow.c #: ports/espressif/bindings/espnow/ESPNow.c
#: ports/espressif/common-hal/espulp/ULP.c #: ports/espressif/common-hal/espulp/ULP.c
@ -613,7 +613,7 @@ msgstr "Array-Werte sollten aus Einzelbytes bestehen."
#: ports/atmel-samd/common-hal/spitarget/SPITarget.c #: ports/atmel-samd/common-hal/spitarget/SPITarget.c
msgid "Async SPI transfer in progress on this bus, keep awaiting." msgid "Async SPI transfer in progress on this bus, keep awaiting."
msgstr "" msgstr "Asynchroner SPI-Transfer auf diesem Bus im Gange, warten Sie weiter."
#: shared-module/memorymonitor/AllocationAlarm.c #: shared-module/memorymonitor/AllocationAlarm.c
#, c-format #, c-format
@ -627,7 +627,7 @@ msgstr "Audio-Konvertierung nicht implementiert"
#: ports/raspberrypi/common-hal/audiobusio/I2SOut.c #: ports/raspberrypi/common-hal/audiobusio/I2SOut.c
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Audio source error" msgid "Audio source error"
msgstr "" msgstr "Audioquellenfehler"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "AuthMode.OPEN is not used with password" msgid "AuthMode.OPEN is not used with password"
@ -660,7 +660,7 @@ msgstr "Unterhalb der minimalen Frame Rate"
#: ports/raspberrypi/common-hal/audiobusio/I2SOut.c #: ports/raspberrypi/common-hal/audiobusio/I2SOut.c
msgid "Bit clock and word select must be sequential GPIO pins" msgid "Bit clock and word select must be sequential GPIO pins"
msgstr "" msgstr "Bittakt und Wortauswahl müssen aufeinanderfolgende GPIO-Pins sein"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "Bitmap size and bits per value must match" msgid "Bitmap size and bits per value must match"
@ -767,6 +767,8 @@ msgstr "Kann nur auf zwei Pins Alarm als low aus Deep Sleep auslösen."
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Can't construct AudioOut because continuous channel already open" msgid "Can't construct AudioOut because continuous channel already open"
msgstr "" msgstr ""
"AudioOut kann nicht erstellt werden, da ein kontinuierlicher Kanal bereits "
"geöffnet ist"
#: ports/espressif/common-hal/_bleio/Characteristic.c #: ports/espressif/common-hal/_bleio/Characteristic.c
#: ports/nordic/common-hal/_bleio/Characteristic.c #: ports/nordic/common-hal/_bleio/Characteristic.c
@ -816,6 +818,7 @@ msgstr "Aufnahme in eine Datei nicht möglich"
#: shared-module/storage/__init__.c #: shared-module/storage/__init__.c
msgid "Cannot remount path when visible via USB." msgid "Cannot remount path when visible via USB."
msgstr "" msgstr ""
"Der Pfad kann nicht neu gemountet werden, wenn er über USB sichtbar ist."
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Cannot set value when direction is input." msgid "Cannot set value when direction is input."
@ -832,7 +835,7 @@ msgstr "Slice kann keine sub-klasse sein"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "Cannot use GPIO0..15 together with GPIO32..47" msgid "Cannot use GPIO0..15 together with GPIO32..47"
msgstr "" msgstr "GPIO0..15 kann nicht zusammen mit GPIO32..47 verwendet werden"
#: ports/nordic/common-hal/alarm/pin/PinAlarm.c #: ports/nordic/common-hal/alarm/pin/PinAlarm.c
msgid "Cannot wake on pin edge, only level" msgid "Cannot wake on pin edge, only level"
@ -870,6 +873,10 @@ msgstr "Koordinaten-Arrays haben unterschiedliche Längen"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "Typen der Koordinaten-Arrays haben unterschiedliche Längen" msgstr "Typen der Koordinaten-Arrays haben unterschiedliche Längen"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Konnte Adresse nicht setzen" msgstr "Konnte Adresse nicht setzen"
@ -882,6 +889,11 @@ msgstr "Interrupt konnte nicht gestartet werden, RX beschäftigt"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Decoder konnte nicht zugeordnet werden" msgstr "Decoder konnte nicht zugeordnet werden"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "DAC-Kanal-Initialisierungsfehler" msgstr "DAC-Kanal-Initialisierungsfehler"
@ -1000,12 +1012,14 @@ msgstr "Mutex konnte nicht akquiriert werden. Status: 0x%04x"
#: ports/raspberrypi/common-hal/mdns/Server.c #: ports/raspberrypi/common-hal/mdns/Server.c
msgid "Failed to add service TXT record" msgid "Failed to add service TXT record"
msgstr "" msgstr "Fehler beim Hinzufügen des TXT-Diensteintrags"
#: shared-bindings/mdns/Server.c #: shared-bindings/mdns/Server.c
msgid "" msgid ""
"Failed to add service TXT record; non-string or bytes found in txt_records" "Failed to add service TXT record; non-string or bytes found in txt_records"
msgstr "" msgstr ""
"Fehler beim Hinzufügen des TXT-Diensteintrags; Nicht-Zeichenfolge oder Bytes "
"in txt_records gefunden"
#: shared-module/rgbmatrix/RGBMatrix.c #: shared-module/rgbmatrix/RGBMatrix.c
msgid "Failed to allocate %q buffer" msgid "Failed to allocate %q buffer"
@ -1035,22 +1049,24 @@ msgstr "Verbindung nicht erfolgreich: timeout"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Failed to create continuous channels: invalid arg" msgid "Failed to create continuous channels: invalid arg"
msgstr "" msgstr ""
"Kontinuierliche Kanäle konnten nicht erstellt werden: ungültiges Argument"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Failed to create continuous channels: invalid state" msgid "Failed to create continuous channels: invalid state"
msgstr "" msgstr ""
"Kontinuierliche Kanäle konnten nicht erstellt werden: ungültiger Status"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Failed to create continuous channels: no mem" msgid "Failed to create continuous channels: no mem"
msgstr "" msgstr "Kontinuierliche Kanäle konnten nicht erstellt werden: kein Speicher"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Failed to create continuous channels: not found" msgid "Failed to create continuous channels: not found"
msgstr "" msgstr "Kontinuierliche Kanäle konnten nicht erstellt werden: nicht gefunden"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Failed to enable continuous" msgid "Failed to enable continuous"
msgstr "" msgstr "Kontinuierliche Aktivierung fehlgeschlagen"
#: shared-module/audiomp3/MP3Decoder.c #: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file" msgid "Failed to parse MP3 file"
@ -1058,7 +1074,7 @@ msgstr "MP3-Datei konnte nicht analysiert werden"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Failed to register continuous events callback" msgid "Failed to register continuous events callback"
msgstr "" msgstr "Rückruf für kontinuierliche Ereignisse konnte nicht registriert werden"
#: ports/nordic/sd_mutex.c #: ports/nordic/sd_mutex.c
#, c-format #, c-format
@ -1067,11 +1083,11 @@ msgstr "Mutex konnte nicht freigegeben werden. Status: 0x%04x"
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "Failed to set hostname" msgid "Failed to set hostname"
msgstr "" msgstr "Hostname konnte nicht gesetzt werden"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Failed to start async audio" msgid "Failed to start async audio"
msgstr "" msgstr "Start von asynchronem Audio fehlgeschlagen"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Failed to write internal flash." msgid "Failed to write internal flash."
@ -1224,7 +1240,7 @@ msgstr "Unzureichender Speicherpool für das Bild"
#: shared-module/jpegio/JpegDecoder.c #: shared-module/jpegio/JpegDecoder.c
msgid "Insufficient stream input buffer" msgid "Insufficient stream input buffer"
msgstr "" msgstr "Unzureichender Stream-Eingabepuffer"
#: ports/espressif/common-hal/wifi/Radio.c #: ports/espressif/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
@ -1318,6 +1334,10 @@ msgstr "Ungültige BSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Ungültige MAC-Adresse" msgstr "Ungültige MAC-Adresse"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Ungültiges Argument" msgstr "Ungültiges Argument"
@ -1397,6 +1417,8 @@ msgstr "Ebene muss eine Gruppe oder eine TileGrid Subklasse sein"
#: shared-bindings/audiocore/RawSample.c #: shared-bindings/audiocore/RawSample.c
msgid "Length of %q must be an even multiple of channel_count * type_size" msgid "Length of %q must be an even multiple of channel_count * type_size"
msgstr "" msgstr ""
"Die Länge von %q muss ein gerades Vielfaches von channel_count * type_size "
"sein"
#: ports/espressif/common-hal/espidf/__init__.c #: ports/espressif/common-hal/espidf/__init__.c
msgid "MAC address was invalid" msgid "MAC address was invalid"
@ -1410,7 +1432,7 @@ msgstr "MITM-Sicherheit wird nicht unterstützt"
#: ports/stm/common-hal/sdioio/SDCard.c #: ports/stm/common-hal/sdioio/SDCard.c
#, c-format #, c-format
msgid "MMC/SDIO Clock Error %x" msgid "MMC/SDIO Clock Error %x"
msgstr "" msgstr "MMC/SDIO-Taktfehler %x"
#: shared-bindings/is31fl3741/IS31FL3741.c #: shared-bindings/is31fl3741/IS31FL3741.c
msgid "Mapping must be a tuple" msgid "Mapping must be a tuple"
@ -1600,7 +1622,7 @@ msgstr "Kein Pulldown-Widerstand am Pin; 1 MOhm wird vorgeschlagen"
#: shared-module/touchio/TouchIn.c #: shared-module/touchio/TouchIn.c
msgid "No pullup on pin; 1Mohm recommended" msgid "No pullup on pin; 1Mohm recommended"
msgstr "" msgstr "Kein Pullup-Widerstand am Pin; 1Mohm wird vorgeschlagen"
#: py/moderrno.c #: py/moderrno.c
msgid "No space left on device" msgid "No space left on device"
@ -1649,7 +1671,7 @@ msgstr "Nicht unterstützter JPEG-Standard"
#: ports/espressif/common-hal/sdioio/SDCard.c #: ports/espressif/common-hal/sdioio/SDCard.c
#, c-format #, c-format
msgid "Number of data_pins must be %d or %d, not %d" msgid "Number of data_pins must be %d or %d, not %d"
msgstr "" msgstr "Die Anzahl der data_pins muss %d oder %d sein, nicht %d"
#: shared-bindings/util.c #: shared-bindings/util.c
msgid "" msgid ""
@ -1778,6 +1800,7 @@ msgstr "PWM-Stück-Kanal A wird bereits verwendet"
#: shared-bindings/spitarget/SPITarget.c #: shared-bindings/spitarget/SPITarget.c
msgid "Packet buffers for an SPI transfer must have the same length." msgid "Packet buffers for an SPI transfer must have the same length."
msgstr "" msgstr ""
"Die Paketpuffer für eine SPI-Übertragung müssen die gleiche Länge haben."
#: shared-module/jpegio/JpegDecoder.c #: shared-module/jpegio/JpegDecoder.c
msgid "Parameter error" msgid "Parameter error"
@ -1884,6 +1907,10 @@ msgstr "Programm-Größe ist ungültig"
msgid "Program too long" msgid "Program too long"
msgstr "Programm zu lang" msgstr "Programm zu lang"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Pull wird nicht verwendet, wenn die Richtung output ist." msgstr "Pull wird nicht verwendet, wenn die Richtung output ist."
@ -1904,6 +1931,26 @@ msgstr "RNG DeInit-Fehler"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "RNG-Init-Fehler" msgstr "RNG-Init-Fehler"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"
@ -1986,7 +2033,7 @@ msgstr "SDIO GetCardInfo-Fehler %d"
#: ports/stm/common-hal/sdioio/SDCard.c #: ports/stm/common-hal/sdioio/SDCard.c
#, c-format #, c-format
msgid "SDIO Init Error %x" msgid "SDIO Init Error %x"
msgstr "" msgstr "SDIO-Init-Fehler %x"
#: ports/espressif/common-hal/busio/SPI.c #: ports/espressif/common-hal/busio/SPI.c
msgid "SPI configuration failed" msgid "SPI configuration failed"
@ -2086,7 +2133,7 @@ msgstr "Die Länge von rgb_pins muss 6, 12, 18, 24 oder 30 betragen"
#: shared-module/audiocore/__init__.c #: shared-module/audiocore/__init__.c
msgid "The sample's %q does not match" msgid "The sample's %q does not match"
msgstr "" msgstr "Der %q-Wert der Probe stimmt nicht überein"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Third-party firmware fatal error." msgid "Third-party firmware fatal error."
@ -2120,7 +2167,7 @@ msgstr "Die Kachelbreite muss die Bitmap-Breite genau teilen"
#: shared-module/tilepalettemapper/TilePaletteMapper.c #: shared-module/tilepalettemapper/TilePaletteMapper.c
msgid "TilePaletteMapper may only be bound to a TileGrid once" msgid "TilePaletteMapper may only be bound to a TileGrid once"
msgstr "" msgstr "TilePaletteMapper darf nur einmal an ein TileGrid gebunden werden"
#: shared-bindings/alarm/time/TimeAlarm.c #: shared-bindings/alarm/time/TimeAlarm.c
msgid "Time is in the past." msgid "Time is in the past."
@ -2233,7 +2280,7 @@ msgstr "Konnte keine Buffer für Vorzeichenumwandlung allozieren"
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Unable to allocate to the heap." msgid "Unable to allocate to the heap."
msgstr "" msgstr "Die Zuweisung zum Heap ist nicht möglich."
#: ports/espressif/common-hal/busio/I2C.c #: ports/espressif/common-hal/busio/I2C.c
msgid "Unable to create lock" msgid "Unable to create lock"
@ -2256,6 +2303,8 @@ msgstr "Konnte Farbpalettendaten nicht lesen"
#: ports/mimxrt10xx/common-hal/canio/CAN.c #: ports/mimxrt10xx/common-hal/canio/CAN.c
msgid "Unable to send CAN Message: all Tx message buffers are busy" msgid "Unable to send CAN Message: all Tx message buffers are busy"
msgstr "" msgstr ""
"CAN-Nachricht kann nicht gesendet werden: alle Sende-Nachrichtenpuffer sind "
"belegt"
#: ports/espressif/common-hal/mdns/Server.c #: ports/espressif/common-hal/mdns/Server.c
#: ports/raspberrypi/common-hal/mdns/Server.c #: ports/raspberrypi/common-hal/mdns/Server.c
@ -2360,7 +2409,7 @@ msgstr "Hash Algorithmus wird nicht unterstützt"
#: ports/espressif/common-hal/socketpool/Socket.c #: ports/espressif/common-hal/socketpool/Socket.c
#: ports/zephyr-cp/common-hal/socketpool/Socket.c #: ports/zephyr-cp/common-hal/socketpool/Socket.c
msgid "Unsupported socket type" msgid "Unsupported socket type"
msgstr "" msgstr "Nicht unterstützter Sockeltyp"
#: ports/espressif/common-hal/_bleio/Adapter.c #: ports/espressif/common-hal/_bleio/Adapter.c
#: ports/espressif/common-hal/dualbank/__init__.c #: ports/espressif/common-hal/dualbank/__init__.c
@ -2421,7 +2470,7 @@ msgstr "Wi-Fi: "
#: ports/raspberrypi/common-hal/wifi/Radio.c #: ports/raspberrypi/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "WiFi is not enabled" msgid "WiFi is not enabled"
msgstr "" msgstr "WiFi ist nicht aktiviert"
#: main.c #: main.c
msgid "Woken up by alarm.\n" msgid "Woken up by alarm.\n"
@ -2520,7 +2569,7 @@ msgstr "addresses ist leer"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "already playing" msgid "already playing"
msgstr "" msgstr "spielt bereits"
#: py/compile.c #: py/compile.c
msgid "annotation must be an identifier" msgid "annotation must be an identifier"
@ -2549,6 +2598,7 @@ msgstr "argsort ist für flattened Arrays nicht implementiert"
#: extmod/ulab/code/numpy/random/random.c #: extmod/ulab/code/numpy/random/random.c
msgid "argument must be None, an integer or a tuple of integers" msgid "argument must be None, an integer or a tuple of integers"
msgstr "" msgstr ""
"Das Argument muss None, eine Ganzzahl oder ein Tupel von Ganzzahlen sein"
#: py/compile.c #: py/compile.c
msgid "argument name reused" msgid "argument name reused"
@ -2602,7 +2652,7 @@ msgstr "Attribute werden nicht unterstützt"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "audio format not supported" msgid "audio format not supported"
msgstr "" msgstr "Audioformat wird nicht unterstützt"
#: extmod/ulab/code/ulab_tools.c #: extmod/ulab/code/ulab_tools.c
msgid "axis is out of bounds" msgid "axis is out of bounds"
@ -2642,7 +2692,7 @@ msgstr "Der binäre Operator %q ist nicht implementiert"
#: ports/espressif/common-hal/audiobusio/PDMIn.c #: ports/espressif/common-hal/audiobusio/PDMIn.c
msgid "bit_depth must be 8, 16, 24, or 32." msgid "bit_depth must be 8, 16, 24, or 32."
msgstr "" msgstr "bit_depth muss 8, 16, 24 oder 32 sein."
#: shared-module/bitmapfilter/__init__.c #: shared-module/bitmapfilter/__init__.c
msgid "bitmap size and depth must match" msgid "bitmap size and depth must match"
@ -2658,7 +2708,7 @@ msgstr "bits müssen 32 oder kleiner sein"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "bits_per_sample must be 16" msgid "bits_per_sample must be 16"
msgstr "" msgstr "bits_per_sample muss 16 sein"
#: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c #: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c
#: shared-bindings/audiodelays/MultiTapDelay.c #: shared-bindings/audiodelays/MultiTapDelay.c
@ -2873,7 +2923,7 @@ msgstr ""
#: py/objcomplex.c #: py/objcomplex.c
msgid "can't truncate-divide a complex number" msgid "can't truncate-divide a complex number"
msgstr "" msgstr "kann eine komplexe Zahl nicht kürzen und dividieren"
#: extmod/modasyncio.c #: extmod/modasyncio.c
msgid "can't wait" msgid "can't wait"
@ -3965,7 +4015,7 @@ msgstr "Ausgabe-Array ist zu klein"
#: extmod/ulab/code/numpy/random/random.c #: extmod/ulab/code/numpy/random/random.c
msgid "out has wrong type" msgid "out has wrong type"
msgstr "" msgstr "Ausgabe hat den falschen Typ"
#: extmod/ulab/code/numpy/vector.c #: extmod/ulab/code/numpy/vector.c
msgid "out keyword is not supported for complex dtype" msgid "out keyword is not supported for complex dtype"
@ -3993,11 +4043,11 @@ msgstr "Außerhalb des Bereichs des Ziels"
#: extmod/ulab/code/numpy/random/random.c #: extmod/ulab/code/numpy/random/random.c
msgid "output array has wrong type" msgid "output array has wrong type"
msgstr "" msgstr "Ausgabe-Array hat einen falschen Typ"
#: extmod/ulab/code/numpy/random/random.c #: extmod/ulab/code/numpy/random/random.c
msgid "output array must be contiguous" msgid "output array must be contiguous"
msgstr "" msgstr "Ausgabe-Array muss zusammenhängend sein"
#: py/objint_mpz.c #: py/objint_mpz.c
msgid "overflow converting long int to machine word" msgid "overflow converting long int to machine word"
@ -4110,7 +4160,7 @@ msgstr "rsplit(None,n)"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "samples_signed must be true" msgid "samples_signed must be true"
msgstr "" msgstr "samples_signed muss wahr sein"
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c #: ports/raspberrypi/common-hal/audiobusio/PDMIn.c
@ -4131,7 +4181,7 @@ msgstr "nicht unterstützt"
#: extmod/ulab/code/numpy/random/random.c #: extmod/ulab/code/numpy/random/random.c
msgid "shape must be None, and integer or a tuple of integers" msgid "shape must be None, and integer or a tuple of integers"
msgstr "" msgstr "Form muss Keine, eine Ganzzahl oder ein Tupel von Ganzenahlen sein"
#: extmod/ulab/code/ndarray.c #: extmod/ulab/code/ndarray.c
msgid "shape must be integer or tuple of integers" msgid "shape must be integer or tuple of integers"
@ -4155,7 +4205,7 @@ msgstr "Größe ist nur für ndarrays definiert"
#: extmod/ulab/code/numpy/random/random.c #: extmod/ulab/code/numpy/random/random.c
msgid "size must match out.shape when used together" msgid "size must match out.shape when used together"
msgstr "" msgstr "size muss bei gemeinsamer Verwendung mit out.shape übereinstimmen"
#: py/nativeglue.c #: py/nativeglue.c
msgid "slice unsupported" msgid "slice unsupported"
@ -4203,7 +4253,7 @@ msgstr "source_bitmap muss value_count von 8 haben"
#: extmod/modre.c #: extmod/modre.c
msgid "splitting with sub-captures" msgid "splitting with sub-captures"
msgstr "" msgstr "Aufteilung mit Untererfassungen"
#: py/objstr.c #: py/objstr.c
msgid "start/end indices" msgid "start/end indices"
@ -4244,7 +4294,7 @@ msgstr "Syntaxfehler in JSON"
#: extmod/modtime.c #: extmod/modtime.c
msgid "ticks interval overflow" msgid "ticks interval overflow"
msgstr "" msgstr "Ticks Intervallüberlauf"
#: ports/nordic/common-hal/watchdog/WatchDogTimer.c #: ports/nordic/common-hal/watchdog/WatchDogTimer.c
msgid "timeout duration exceeded the maximum supported value" msgid "timeout duration exceeded the maximum supported value"
@ -4256,12 +4306,12 @@ msgstr "timeout muss kleiner als 655.35 Sekunden sein"
#: ports/raspberrypi/common-hal/floppyio/__init__.c #: ports/raspberrypi/common-hal/floppyio/__init__.c
msgid "timeout waiting for flux" msgid "timeout waiting for flux"
msgstr "" msgstr "Zeitüberschreitung beim Warten auf Fluss"
#: ports/raspberrypi/common-hal/floppyio/__init__.c #: ports/raspberrypi/common-hal/floppyio/__init__.c
#: shared-module/floppyio/__init__.c #: shared-module/floppyio/__init__.c
msgid "timeout waiting for index pulse" msgid "timeout waiting for index pulse"
msgstr "" msgstr "Zeitüberschreitung beim Warten auf Indeximpuls"
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "timeout waiting for v1 card" msgid "timeout waiting for v1 card"

View file

@ -871,6 +871,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Δεν μπόρεσε να ρυθμιστεί η διεύθυνση" msgstr "Δεν μπόρεσε να ρυθμιστεί η διεύθυνση"
@ -883,6 +887,11 @@ msgstr "Δεν μπόρεσε να εκκινηθεί το interrupt, RX κατ
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Δεν μπόρεσε να δεσμευτεί decoder" msgstr "Δεν μπόρεσε να δεσμευτεί decoder"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Σφάλμα εκκίνησης καναλιού DAC" msgstr "Σφάλμα εκκίνησης καναλιού DAC"
@ -1313,6 +1322,10 @@ msgstr ""
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "" msgstr ""
@ -1869,6 +1882,10 @@ msgstr ""
msgid "Program too long" msgid "Program too long"
msgstr "" msgstr ""
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "" msgstr ""
@ -1889,6 +1906,26 @@ msgstr ""
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-04-25 15:04+0000\n" "PO-Revision-Date: 2025-06-15 23:04+0000\n"
"Last-Translator: Andi Chandler <andi@gowling.com>\n" "Last-Translator: Andi Chandler <andi@gowling.com>\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: en_GB\n" "Language: en_GB\n"
@ -865,6 +865,10 @@ msgstr "Coordinate arrays have different lengths"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "Coordinate arrays types have different sizes" msgstr "Coordinate arrays types have different sizes"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr "Could not publish to ROS topic"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Could not set address" msgstr "Could not set address"
@ -877,6 +881,11 @@ msgstr "Could not start interrupt, RX busy"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Couldn't allocate decoder" msgstr "Couldn't allocate decoder"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr "Critical ROS failure during soft reboot, reset required: %d"
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "DAC channel init error" msgstr "DAC channel init error"
@ -1306,6 +1315,10 @@ msgstr "Invalid BSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Invalid MAC address" msgstr "Invalid MAC address"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr "Invalid ROS domain ID"
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Invalid argument" msgstr "Invalid argument"
@ -1865,6 +1878,10 @@ msgstr "Program size invalid"
msgid "Program too long" msgid "Program too long"
msgstr "Program too long" msgstr "Program too long"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr "Publishers can only be created from a parent node"
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Pull not used when direction is output." msgstr "Pull not used when direction is output."
@ -1885,6 +1902,26 @@ msgstr "RNG deinit Error"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "RNG init Error" msgstr "RNG init Error"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr "ROS failed to initialise. Is agent connected?"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr "ROS internal setup failure"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr "ROS memory allocator failure"
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr "ROS node failed to initialise"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr "ROS topic failed to initialise"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"
@ -2098,7 +2135,7 @@ msgstr "Tile width must exactly divide bitmap width"
#: shared-module/tilepalettemapper/TilePaletteMapper.c #: shared-module/tilepalettemapper/TilePaletteMapper.c
msgid "TilePaletteMapper may only be bound to a TileGrid once" msgid "TilePaletteMapper may only be bound to a TileGrid once"
msgstr "" msgstr "TilePaletteMapper may only be bound to a TileGrid once"
#: shared-bindings/alarm/time/TimeAlarm.c #: shared-bindings/alarm/time/TimeAlarm.c
msgid "Time is in the past." msgid "Time is in the past."
@ -2393,7 +2430,7 @@ msgstr "Wi-Fi: "
#: ports/raspberrypi/common-hal/wifi/Radio.c #: ports/raspberrypi/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "WiFi is not enabled" msgid "WiFi is not enabled"
msgstr "" msgstr "WiFi is not enabled"
#: main.c #: main.c
msgid "Woken up by alarm.\n" msgid "Woken up by alarm.\n"

View file

@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2025-02-09 17:02+0000\n" "PO-Revision-Date: 2025-06-09 12:01+0000\n"
"Last-Translator: karlos g liberal <karlosgliberal@gmail.com>\n" "Last-Translator: MAE <martin-aehle@hotmail.de>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: es\n" "Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10-dev\n" "X-Generator: Weblate 5.12-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -119,7 +119,7 @@ msgstr "%q fallo: %d"
#: shared-module/audiodelays/MultiTapDelay.c #: shared-module/audiodelays/MultiTapDelay.c
msgid "%q in %q must be of type %q or %q, not %q" msgid "%q in %q must be of type %q or %q, not %q"
msgstr "" msgstr "%q en %q debe ser de tipo %q o %q, no %q"
#: py/argcheck.c shared-module/audiofilters/Filter.c #: py/argcheck.c shared-module/audiofilters/Filter.c
msgid "%q in %q must be of type %q, not %q" msgid "%q in %q must be of type %q, not %q"
@ -836,7 +836,7 @@ msgstr "No se puede manejar la partición en una subclase"
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c #: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
msgid "Cannot use GPIO0..15 together with GPIO32..47" msgid "Cannot use GPIO0..15 together with GPIO32..47"
msgstr "" msgstr "No se puede utilizar GPIO0..15 junto con GPIO32..47"
#: ports/nordic/common-hal/alarm/pin/PinAlarm.c #: ports/nordic/common-hal/alarm/pin/PinAlarm.c
msgid "Cannot wake on pin edge, only level" msgid "Cannot wake on pin edge, only level"
@ -874,6 +874,10 @@ msgstr "Las matrices de coordenadas tienen diferentes longitudes"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "Las matrices de coordenadas tienen diferentes tamaños" msgstr "Las matrices de coordenadas tienen diferentes tamaños"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "No se puede definir la dirección" msgstr "No se puede definir la dirección"
@ -886,6 +890,11 @@ msgstr "No se pudo iniciar la interrupción, RX ocupado"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "No se pudo encontrar el decodificador" msgstr "No se pudo encontrar el decodificador"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Error de inicio del canal DAC" msgstr "Error de inicio del canal DAC"
@ -1071,7 +1080,7 @@ msgstr "No se puede liberar el mutex, err 0x%04x"
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "Failed to set hostname" msgid "Failed to set hostname"
msgstr "" msgstr "Fallo al establecer el nombre de host"
#: ports/espressif/common-hal/audioio/AudioOut.c #: ports/espressif/common-hal/audioio/AudioOut.c
msgid "Failed to start async audio" msgid "Failed to start async audio"
@ -1328,6 +1337,10 @@ msgstr "BSSID inválido"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Dirección MAC inválida" msgstr "Dirección MAC inválida"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argumento inválido" msgstr "Argumento inválido"
@ -1611,7 +1624,7 @@ msgstr "No hay pulldown en el pin; 1Mohm recomendado"
#: shared-module/touchio/TouchIn.c #: shared-module/touchio/TouchIn.c
msgid "No pullup on pin; 1Mohm recommended" msgid "No pullup on pin; 1Mohm recommended"
msgstr "" msgstr "Sin pullup en el pin; 1Mohm recomendado"
#: py/moderrno.c #: py/moderrno.c
msgid "No space left on device" msgid "No space left on device"
@ -1894,6 +1907,10 @@ msgstr "El tamaño del programa no es correcto"
msgid "Program too long" msgid "Program too long"
msgstr "El programa es demasiado grande" msgstr "El programa es demasiado grande"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Pull no se usa cuando la dirección es output." msgstr "Pull no se usa cuando la dirección es output."
@ -1914,6 +1931,26 @@ msgstr "Error de desinicialización de RNG"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "Error de inicialización de RNG" msgstr "Error de inicialización de RNG"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"
@ -2430,7 +2467,7 @@ msgstr "Wi-Fi: "
#: ports/raspberrypi/common-hal/wifi/Radio.c #: ports/raspberrypi/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "WiFi is not enabled" msgid "WiFi is not enabled"
msgstr "" msgstr "WiFi no está habilitado"
#: main.c #: main.c
msgid "Woken up by alarm.\n" msgid "Woken up by alarm.\n"
@ -2667,7 +2704,7 @@ msgstr "los bits deben ser 32 o menos"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "bits_per_sample must be 16" msgid "bits_per_sample must be 16"
msgstr "" msgstr "bits_per_sample debe ser 16"
#: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c #: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c
#: shared-bindings/audiodelays/MultiTapDelay.c #: shared-bindings/audiodelays/MultiTapDelay.c
@ -4105,7 +4142,7 @@ msgstr "rsplit(None,n)"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "samples_signed must be true" msgid "samples_signed must be true"
msgstr "" msgstr "samples_signed debe ser true"
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c #: ports/raspberrypi/common-hal/audiobusio/PDMIn.c

View file

@ -857,6 +857,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "" msgstr ""
@ -869,6 +873,11 @@ msgstr ""
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "" msgstr ""
@ -1299,6 +1308,10 @@ msgstr ""
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Maling argumento" msgstr "Maling argumento"
@ -1858,6 +1871,10 @@ msgstr ""
msgid "Program too long" msgid "Program too long"
msgstr "" msgstr ""
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Pull hindi ginagamit kapag ang direksyon ay output." msgstr "Pull hindi ginagamit kapag ang direksyon ay output."
@ -1878,6 +1895,26 @@ msgstr "Error sa RNG DeInit"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "Error sa RNG Init" msgstr "Error sa RNG Init"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: 0.1\n" "Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2025-02-19 11:46+0000\n" "PO-Revision-Date: 2025-06-12 23:09+0000\n"
"Last-Translator: Noel Gaetan <gaetan.noel@viacesi.fr>\n" "Last-Translator: MAE <martin-aehle@hotmail.de>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.10.1-dev\n" "X-Generator: Weblate 5.12-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -118,7 +118,7 @@ msgstr "Échec de %q : %d"
#: shared-module/audiodelays/MultiTapDelay.c #: shared-module/audiodelays/MultiTapDelay.c
msgid "%q in %q must be of type %q or %q, not %q" msgid "%q in %q must be of type %q or %q, not %q"
msgstr "" msgstr "%q dans %q doit être du type %q ou %q, pas %q"
#: py/argcheck.c shared-module/audiofilters/Filter.c #: py/argcheck.c shared-module/audiofilters/Filter.c
msgid "%q in %q must be of type %q, not %q" msgid "%q in %q must be of type %q, not %q"
@ -824,6 +824,7 @@ msgstr "Impossible d'enregistrer vers un fichier"
#: shared-module/storage/__init__.c #: shared-module/storage/__init__.c
msgid "Cannot remount path when visible via USB." msgid "Cannot remount path when visible via USB."
msgstr "" msgstr ""
"Impossible de remonter le chemin d'accès lorsqu'il est visible via USB."
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Cannot set value when direction is input." msgid "Cannot set value when direction is input."
@ -880,6 +881,10 @@ msgstr "Les tableaux de coordonnées sont de longueur différentes"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "Les types des tableaux de coordonnées sont de longueur différentes" msgstr "Les types des tableaux de coordonnées sont de longueur différentes"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Ne peux définir l'adresse" msgstr "Ne peux définir l'adresse"
@ -892,6 +897,11 @@ msgstr "Ne peux lancer l'interruption, RX occupé"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Ne peux allouer le décodeur" msgstr "Ne peux allouer le décodeur"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Erreur init du canal DAC" msgstr "Erreur init du canal DAC"
@ -1332,6 +1342,10 @@ msgstr "BSSID invalide"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Adresse MAC invalide" msgstr "Adresse MAC invalide"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Paramètre invalide" msgstr "Paramètre invalide"
@ -1424,7 +1438,7 @@ msgstr "Sécurité MITM n'est pas supportée"
#: ports/stm/common-hal/sdioio/SDCard.c #: ports/stm/common-hal/sdioio/SDCard.c
#, c-format #, c-format
msgid "MMC/SDIO Clock Error %x" msgid "MMC/SDIO Clock Error %x"
msgstr "" msgstr "Erreur d'horloge MMC/SDIO %x"
#: shared-bindings/is31fl3741/IS31FL3741.c #: shared-bindings/is31fl3741/IS31FL3741.c
msgid "Mapping must be a tuple" msgid "Mapping must be a tuple"
@ -1622,7 +1636,7 @@ msgstr "Pas de pulldown sur la broche ; 1Mohm requis"
#: shared-module/touchio/TouchIn.c #: shared-module/touchio/TouchIn.c
msgid "No pullup on pin; 1Mohm recommended" msgid "No pullup on pin; 1Mohm recommended"
msgstr "" msgstr "Pas de pullup sur la broche ; 1Mohm recommandé"
#: py/moderrno.c #: py/moderrno.c
msgid "No space left on device" msgid "No space left on device"
@ -1904,6 +1918,10 @@ msgstr "Taille du programme invalide"
msgid "Program too long" msgid "Program too long"
msgstr "Programme trop long" msgstr "Programme trop long"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Le tirage 'pull' n'est pas utilisé quand la direction est 'output'." msgstr "Le tirage 'pull' n'est pas utilisé quand la direction est 'output'."
@ -1924,6 +1942,26 @@ msgstr "Erreur de désinitialisation du RNG"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "Erreur d'initialisation du RNG" msgstr "Erreur d'initialisation du RNG"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"
@ -2138,7 +2176,7 @@ msgstr "La largeur de la tuile doit diviser exactement la largeur de l'image"
#: shared-module/tilepalettemapper/TilePaletteMapper.c #: shared-module/tilepalettemapper/TilePaletteMapper.c
msgid "TilePaletteMapper may only be bound to a TileGrid once" msgid "TilePaletteMapper may only be bound to a TileGrid once"
msgstr "" msgstr "TilePaletteMapper ne peut être lié à un TileGrid qu'une seule fois"
#: shared-bindings/alarm/time/TimeAlarm.c #: shared-bindings/alarm/time/TimeAlarm.c
msgid "Time is in the past." msgid "Time is in the past."
@ -2439,7 +2477,7 @@ msgstr "Wi-Fi : "
#: ports/raspberrypi/common-hal/wifi/Radio.c #: ports/raspberrypi/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "WiFi is not enabled" msgid "WiFi is not enabled"
msgstr "" msgstr "Le WiFi n'est pas activé"
#: main.c #: main.c
msgid "Woken up by alarm.\n" msgid "Woken up by alarm.\n"
@ -2677,7 +2715,7 @@ msgstr "les bits doivent être 32 ou moins"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "bits_per_sample must be 16" msgid "bits_per_sample must be 16"
msgstr "" msgstr "bits_per_sample doit être de 16"
#: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c #: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c
#: shared-bindings/audiodelays/MultiTapDelay.c #: shared-bindings/audiodelays/MultiTapDelay.c
@ -2686,7 +2724,7 @@ msgstr ""
#: shared-bindings/audiofilters/Filter.c shared-bindings/audiofilters/Phaser.c #: shared-bindings/audiofilters/Filter.c shared-bindings/audiofilters/Phaser.c
#: shared-bindings/audiomixer/Mixer.c #: shared-bindings/audiomixer/Mixer.c
msgid "bits_per_sample must be 8 or 16" msgid "bits_per_sample must be 8 or 16"
msgstr "'bits_per_sample' doivent être 8 ou 16" msgstr "bits_per_sample doivent être 8 ou 16"
#: py/emitinlinethumb.c #: py/emitinlinethumb.c
msgid "branch not in range" msgid "branch not in range"
@ -4126,7 +4164,7 @@ msgstr "rsplit(None, n)"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "samples_signed must be true" msgid "samples_signed must be true"
msgstr "" msgstr "samples_signed doit être vrai"
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c #: ports/raspberrypi/common-hal/audiobusio/PDMIn.c

View file

@ -850,6 +850,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "" msgstr ""
@ -862,6 +866,11 @@ msgstr ""
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "" msgstr ""
@ -1289,6 +1298,10 @@ msgstr ""
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "" msgstr ""
@ -1843,6 +1856,10 @@ msgstr ""
msgid "Program too long" msgid "Program too long"
msgstr "" msgstr ""
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "" msgstr ""
@ -1863,6 +1880,26 @@ msgstr ""
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -856,6 +856,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "" msgstr ""
@ -868,6 +872,11 @@ msgstr ""
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "" msgstr ""
@ -1297,6 +1306,10 @@ msgstr ""
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argomento non valido" msgstr "Argomento non valido"
@ -1856,6 +1869,10 @@ msgstr ""
msgid "Program too long" msgid "Program too long"
msgstr "" msgstr ""
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "" msgstr ""
@ -1876,6 +1893,26 @@ msgstr ""
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -867,6 +867,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "アドレスをセットできません" msgstr "アドレスをセットできません"
@ -879,6 +883,11 @@ msgstr "割り込みをスタートできません。RXビジー"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "デコーダを確保できません" msgstr "デコーダを確保できません"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "DACチャネル初期化エラー" msgstr "DACチャネル初期化エラー"
@ -1306,6 +1315,10 @@ msgstr "不正なBSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "不正な引数" msgstr "不正な引数"
@ -1865,6 +1878,10 @@ msgstr ""
msgid "Program too long" msgid "Program too long"
msgstr "" msgstr ""
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "方向がoutputのときpullは使われません" msgstr "方向がoutputのときpullは使われません"
@ -1885,6 +1902,26 @@ msgstr "RNG解体エラー"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "乱数生成器の初期化エラー" msgstr "乱数生成器の初期化エラー"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -895,6 +895,10 @@ msgstr "좌표 배열의 길이가 다릅니다"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "좌표 배열 유형은 크기가 다릅니다" msgstr "좌표 배열 유형은 크기가 다릅니다"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "주소를 설정할 수 없습니다" msgstr "주소를 설정할 수 없습니다"
@ -907,6 +911,11 @@ msgstr "인터럽트를 시작할 수 없습니다, RX가 사용 중입니다"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "디코더를 할당할 수 없습니다" msgstr "디코더를 할당할 수 없습니다"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "DAC 채널 초기화 오류" msgstr "DAC 채널 초기화 오류"
@ -1341,6 +1350,10 @@ msgstr "잘못된 BSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "잘못된 MAC 주소" msgstr "잘못된 MAC 주소"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "잘못된 인수" msgstr "잘못된 인수"
@ -1917,6 +1930,10 @@ msgstr "프로그램 크기가 잘못되었습니다"
msgid "Program too long" msgid "Program too long"
msgstr "프로그램이 너무 깁니다" msgstr "프로그램이 너무 깁니다"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
#, fuzzy #, fuzzy
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
@ -1938,6 +1955,26 @@ msgstr "RNG DeInit 오류"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "RNG 초기화 오류" msgstr "RNG 초기화 오류"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -6,15 +6,15 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2023-11-16 15:03+0000\n" "PO-Revision-Date: 2025-06-09 12:01+0000\n"
"Last-Translator: Jeff Epler <jepler@gmail.com>\n" "Last-Translator: MAE <martin-aehle@hotmail.de>\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: nl\n" "Language: nl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.2\n" "X-Generator: Weblate 5.12-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -61,7 +61,7 @@ msgstr ""
#: main.c #: main.c
msgid " not found.\n" msgid " not found.\n"
msgstr "" msgstr " niet gevonden.\n"
#: main.c #: main.c
msgid " output:\n" msgid " output:\n"
@ -558,7 +558,7 @@ msgstr "Heeft al een luisteraar voor 'all-matches'"
#: ports/espressif/common-hal/_bleio/__init__.c #: ports/espressif/common-hal/_bleio/__init__.c
msgid "Already in progress" msgid "Already in progress"
msgstr "" msgstr "Al in uitvoering"
#: ports/espressif/bindings/espnow/ESPNow.c #: ports/espressif/bindings/espnow/ESPNow.c
#: ports/espressif/common-hal/espulp/ULP.c #: ports/espressif/common-hal/espulp/ULP.c
@ -612,7 +612,7 @@ msgstr ""
#: ports/raspberrypi/common-hal/audiobusio/I2SOut.c #: ports/raspberrypi/common-hal/audiobusio/I2SOut.c
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c #: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
msgid "Audio source error" msgid "Audio source error"
msgstr "" msgstr "Audiobronfout"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "AuthMode.OPEN is not used with password" msgid "AuthMode.OPEN is not used with password"
@ -701,7 +701,7 @@ msgstr "Buffer is %d bytes te klein"
#: shared-bindings/framebufferio/FramebufferDisplay.c #: shared-bindings/framebufferio/FramebufferDisplay.c
#: shared-bindings/struct/__init__.c shared-module/struct/__init__.c #: shared-bindings/struct/__init__.c shared-module/struct/__init__.c
msgid "Buffer too small" msgid "Buffer too small"
msgstr "" msgstr "Buffer te klein"
#: ports/atmel-samd/common-hal/paralleldisplaybus/ParallelBus.c #: ports/atmel-samd/common-hal/paralleldisplaybus/ParallelBus.c
#: ports/espressif/common-hal/paralleldisplaybus/ParallelBus.c #: ports/espressif/common-hal/paralleldisplaybus/ParallelBus.c
@ -853,6 +853,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Kan adres niet zetten" msgstr "Kan adres niet zetten"
@ -865,6 +869,11 @@ msgstr "Kan interrupt niet starten, RX is bezig"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Kan decoder niet alloceren" msgstr "Kan decoder niet alloceren"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "DAC kanaal Init Fout" msgstr "DAC kanaal Init Fout"
@ -925,7 +934,7 @@ msgstr "Beeldscherm rotatie moet in stappen van 90 graden"
#: main.c #: main.c
msgid "Done" msgid "Done"
msgstr "" msgstr "Gedaan"
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
@ -1064,7 +1073,7 @@ msgstr "Bestand bestaat"
#: shared-bindings/supervisor/__init__.c shared-module/lvfontio/OnDiskFont.c #: shared-bindings/supervisor/__init__.c shared-module/lvfontio/OnDiskFont.c
#: shared-module/os/getenv.c #: shared-module/os/getenv.c
msgid "File not found" msgid "File not found"
msgstr "" msgstr "Bestand niet gevonden"
#: ports/atmel-samd/common-hal/canio/Listener.c #: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/espressif/common-hal/canio/Listener.c #: ports/espressif/common-hal/canio/Listener.c
@ -1075,11 +1084,11 @@ msgstr "Filters zijn te complex"
#: ports/espressif/common-hal/dualbank/__init__.c #: ports/espressif/common-hal/dualbank/__init__.c
msgid "Firmware is duplicate" msgid "Firmware is duplicate"
msgstr "" msgstr "Firmware is duplicaat"
#: ports/espressif/common-hal/dualbank/__init__.c #: ports/espressif/common-hal/dualbank/__init__.c
msgid "Firmware is invalid" msgid "Firmware is invalid"
msgstr "" msgstr "Firmware is ongeldig"
#: ports/espressif/common-hal/dualbank/__init__.c #: ports/espressif/common-hal/dualbank/__init__.c
msgid "Firmware is too big" msgid "Firmware is too big"
@ -1113,7 +1122,7 @@ msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c #: ports/espressif/common-hal/espidf/__init__.c
msgid "Generic Failure" msgid "Generic Failure"
msgstr "" msgstr "Generieke mislukking"
#: shared-bindings/framebufferio/FramebufferDisplay.c #: shared-bindings/framebufferio/FramebufferDisplay.c
#: shared-module/busdisplay/BusDisplay.c #: shared-module/busdisplay/BusDisplay.c
@ -1215,7 +1224,7 @@ msgstr "Interne define fout"
#: shared-bindings/pwmio/PWMOut.c shared-module/os/getenv.c #: shared-bindings/pwmio/PWMOut.c shared-module/os/getenv.c
msgid "Internal error" msgid "Internal error"
msgstr "" msgstr "Interne fout"
#: shared-module/rgbmatrix/RGBMatrix.c #: shared-module/rgbmatrix/RGBMatrix.c
#, c-format #, c-format
@ -1241,7 +1250,7 @@ msgstr ""
#: supervisor/shared/safe_mode.c #: supervisor/shared/safe_mode.c
msgid "Interrupt error." msgid "Interrupt error."
msgstr "" msgstr "Interruptfout."
#: shared-module/jpegio/JpegDecoder.c #: shared-module/jpegio/JpegDecoder.c
msgid "Interrupted by output function" msgid "Interrupted by output function"
@ -1282,7 +1291,7 @@ msgstr "Ongeldige ADC Unit waarde"
#: ports/espressif/common-hal/_bleio/__init__.c #: ports/espressif/common-hal/_bleio/__init__.c
#: ports/nordic/common-hal/_bleio/__init__.c #: ports/nordic/common-hal/_bleio/__init__.c
msgid "Invalid BLE parameter" msgid "Invalid BLE parameter"
msgstr "" msgstr "Ongeldige BLE-parameter"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "Invalid BSSID" msgid "Invalid BSSID"
@ -1290,6 +1299,10 @@ msgstr "Ongeldig BSSID"
#: shared-bindings/wifi/Radio.c #: shared-bindings/wifi/Radio.c
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Ongeldig MAC-adres"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr "" msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
@ -1312,7 +1325,7 @@ msgstr ""
#: shared-module/msgpack/__init__.c #: shared-module/msgpack/__init__.c
msgid "Invalid format" msgid "Invalid format"
msgstr "" msgstr "Ongeldig formaat"
#: shared-module/audiocore/WaveFile.c #: shared-module/audiocore/WaveFile.c
msgid "Invalid format chunk size" msgid "Invalid format chunk size"
@ -1329,7 +1342,7 @@ msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c #: ports/espressif/common-hal/espidf/__init__.c
msgid "Invalid size" msgid "Invalid size"
msgstr "" msgstr "Ongeldige grootte"
#: shared-module/ssl/SSLSocket.c #: shared-module/ssl/SSLSocket.c
msgid "Invalid socket for TLS" msgid "Invalid socket for TLS"
@ -1338,11 +1351,11 @@ msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c #: ports/espressif/common-hal/espidf/__init__.c
#: ports/nordic/common-hal/_bleio/__init__.c #: ports/nordic/common-hal/_bleio/__init__.c
msgid "Invalid state" msgid "Invalid state"
msgstr "" msgstr "Ongeldige staat"
#: shared-module/os/getenv.c #: shared-module/os/getenv.c
msgid "Invalid unicode escape" msgid "Invalid unicode escape"
msgstr "" msgstr "Ongeldige unicode escape"
#: shared-bindings/aesio/aes.c #: shared-bindings/aesio/aes.c
msgid "Key must be 16, 24, or 32 bytes long" msgid "Key must be 16, 24, or 32 bytes long"
@ -1350,7 +1363,7 @@ msgstr "Sleutel moet 16, 24, of 32 bytes lang zijn"
#: shared-module/os/getenv.c #: shared-module/os/getenv.c
msgid "Key not found" msgid "Key not found"
msgstr "" msgstr "Sleutel niet gevonden"
#: shared-module/is31fl3741/FrameBuffer.c #: shared-module/is31fl3741/FrameBuffer.c
msgid "LED mappings must match display size" msgid "LED mappings must match display size"
@ -1855,6 +1868,10 @@ msgstr ""
msgid "Program too long" msgid "Program too long"
msgstr "" msgstr ""
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Pull niet gebruikt wanneer de richting output is." msgstr "Pull niet gebruikt wanneer de richting output is."
@ -1875,10 +1892,30 @@ msgstr "RNG DeInit Fout"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "RNG Init Fout" msgstr "RNG Init Fout"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"
msgstr "" msgstr "RS485"
#: ports/espressif/common-hal/busio/UART.c #: ports/espressif/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c #: ports/mimxrt10xx/common-hal/busio/UART.c
@ -1910,7 +1947,7 @@ msgstr ""
#: supervisor/shared/bluetooth/bluetooth.c #: supervisor/shared/bluetooth/bluetooth.c
msgid "Reconnecting" msgid "Reconnecting"
msgstr "" msgstr "Opnieuw aansluiten"
#: shared-bindings/epaperdisplay/EPaperDisplay.c #: shared-bindings/epaperdisplay/EPaperDisplay.c
msgid "Refresh too soon" msgid "Refresh too soon"
@ -2378,7 +2415,7 @@ msgstr ""
#: ports/raspberrypi/common-hal/wifi/Radio.c #: ports/raspberrypi/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "WiFi is not enabled" msgid "WiFi is not enabled"
msgstr "" msgstr "WiFi is niet ingeschakeld"
#: main.c #: main.c
msgid "Woken up by alarm.\n" msgid "Woken up by alarm.\n"
@ -4416,7 +4453,7 @@ msgstr "breedte moet groter dan nul zijn"
#: ports/raspberrypi/common-hal/wifi/Monitor.c #: ports/raspberrypi/common-hal/wifi/Monitor.c
msgid "wifi.Monitor not available" msgid "wifi.Monitor not available"
msgstr "" msgstr "wifi.monitor niet beschikbaar"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval" msgid "window must be <= interval"

View file

@ -7,16 +7,16 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2023-11-16 15:03+0000\n" "PO-Revision-Date: 2025-06-09 12:01+0000\n"
"Last-Translator: Szymon Jakubiak <sz.a.jakubiak@gmail.com>\n" "Last-Translator: MAE <martin-aehle@hotmail.de>\n"
"Language-Team: pl\n" "Language-Team: pl\n"
"Language: pl\n" "Language: pl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n" "|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.2\n" "X-Generator: Weblate 5.12-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -864,6 +864,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Nie można ustawić adresu" msgstr "Nie można ustawić adresu"
@ -876,6 +880,11 @@ msgstr "Nie można rozpocząć przerwania, RX jest zajęty"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Nie udało się przydzielić dekodera" msgstr "Nie udało się przydzielić dekodera"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Błąd inicjalizacji kanału DAC" msgstr "Błąd inicjalizacji kanału DAC"
@ -1311,6 +1320,10 @@ msgstr ""
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Zły argument" msgstr "Zły argument"
@ -1754,7 +1767,7 @@ msgstr ""
#: ports/stm/common-hal/pwmio/PWMOut.c #: ports/stm/common-hal/pwmio/PWMOut.c
msgid "PWM restart" msgid "PWM restart"
msgstr "" msgstr "Ponowne uruchomienie PWM"
#: ports/raspberrypi/common-hal/countio/Counter.c #: ports/raspberrypi/common-hal/countio/Counter.c
msgid "PWM slice already in use" msgid "PWM slice already in use"
@ -1770,7 +1783,7 @@ msgstr ""
#: shared-module/jpegio/JpegDecoder.c #: shared-module/jpegio/JpegDecoder.c
msgid "Parameter error" msgid "Parameter error"
msgstr "" msgstr "Błąd parametru"
#: ports/espressif/common-hal/audiobusio/__init__.c #: ports/espressif/common-hal/audiobusio/__init__.c
msgid "Peripheral in use" msgid "Peripheral in use"
@ -1867,6 +1880,10 @@ msgstr ""
#: ports/espressif/common-hal/espulp/ULP.c #: ports/espressif/common-hal/espulp/ULP.c
msgid "Program too long" msgid "Program too long"
msgstr "Program zbyt długi"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr "" msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
@ -1889,10 +1906,30 @@ msgstr "Błąd RNG DeInit"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "Błąd inicjalizacji RNG" msgstr "Błąd inicjalizacji RNG"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"
msgstr "" msgstr "RS485"
#: ports/espressif/common-hal/busio/UART.c #: ports/espressif/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c #: ports/mimxrt10xx/common-hal/busio/UART.c
@ -1924,7 +1961,7 @@ msgstr "Otrzymana odpowiedź była nieprawidłowa"
#: supervisor/shared/bluetooth/bluetooth.c #: supervisor/shared/bluetooth/bluetooth.c
msgid "Reconnecting" msgid "Reconnecting"
msgstr "" msgstr "Ponowne połączenie"
#: shared-bindings/epaperdisplay/EPaperDisplay.c #: shared-bindings/epaperdisplay/EPaperDisplay.c
msgid "Refresh too soon" msgid "Refresh too soon"
@ -2009,7 +2046,7 @@ msgstr ""
#: ports/cxd56/common-hal/camera/Camera.c #: ports/cxd56/common-hal/camera/Camera.c
msgid "Size not supported" msgid "Size not supported"
msgstr "" msgstr "Rozmiar nieobsługiwany"
#: shared-bindings/alarm/SleepMemory.c shared-bindings/memorymap/AddressRange.c #: shared-bindings/alarm/SleepMemory.c shared-bindings/memorymap/AddressRange.c
#: shared-bindings/nvm/ByteArray.c #: shared-bindings/nvm/ByteArray.c
@ -2140,7 +2177,7 @@ msgstr ""
#: ports/raspberrypi/common-hal/alarm/touch/TouchAlarm.c #: ports/raspberrypi/common-hal/alarm/touch/TouchAlarm.c
#: ports/stm/common-hal/alarm/touch/TouchAlarm.c #: ports/stm/common-hal/alarm/touch/TouchAlarm.c
msgid "Touch alarms not available" msgid "Touch alarms not available"
msgstr "" msgstr "Alarmy dotykowe niedostępne"
#: py/obj.c #: py/obj.c
msgid "Traceback (most recent call last):\n" msgid "Traceback (most recent call last):\n"
@ -2169,7 +2206,7 @@ msgstr ""
#: main.c #: main.c
msgid "UID:" msgid "UID:"
msgstr "" msgstr "UID:"
#: shared-module/usb_hid/Device.c #: shared-module/usb_hid/Device.c
msgid "USB busy" msgid "USB busy"
@ -2185,7 +2222,7 @@ msgstr ""
#: shared-module/usb_hid/Device.c #: shared-module/usb_hid/Device.c
msgid "USB error" msgid "USB error"
msgstr "" msgstr "Błąd USB"
#: shared-bindings/_bleio/UUID.c #: shared-bindings/_bleio/UUID.c
msgid "UUID integer value must be 0-0xffff" msgid "UUID integer value must be 0-0xffff"
@ -2251,7 +2288,7 @@ msgstr ""
#: shared-bindings/alarm/SleepMemory.c #: shared-bindings/alarm/SleepMemory.c
msgid "Unable to write to sleep_memory." msgid "Unable to write to sleep_memory."
msgstr "" msgstr "Nie można zapisać do sleep_memory."
#: ports/nordic/common-hal/_bleio/UUID.c #: ports/nordic/common-hal/_bleio/UUID.c
msgid "Unexpected nrfx uuid type" msgid "Unexpected nrfx uuid type"
@ -2342,7 +2379,7 @@ msgstr ""
#: ports/espressif/common-hal/_bleio/Adapter.c #: ports/espressif/common-hal/_bleio/Adapter.c
#: ports/espressif/common-hal/dualbank/__init__.c #: ports/espressif/common-hal/dualbank/__init__.c
msgid "Update failed" msgid "Update failed"
msgstr "" msgstr "Aktualizacja nie powiodła się"
#: ports/espressif/common-hal/_bleio/Characteristic.c #: ports/espressif/common-hal/_bleio/Characteristic.c
#: ports/nordic/common-hal/_bleio/Characteristic.c #: ports/nordic/common-hal/_bleio/Characteristic.c
@ -2381,16 +2418,21 @@ msgid ""
"\n" "\n"
"To list built-in modules type `help(\"modules\")`.\n" "To list built-in modules type `help(\"modules\")`.\n"
msgstr "" msgstr ""
"Witamy w Adafruit CircuitPython %s!\n"
"\n"
"Odwiedź circuitpython.org po więcej informacji.\n"
"\n"
"Aby wyświetlić listę wbudowanych modułów wpisz `help(„modules”)`.\n"
#: supervisor/shared/web_workflow/web_workflow.c #: supervisor/shared/web_workflow/web_workflow.c
msgid "Wi-Fi: " msgid "Wi-Fi: "
msgstr "" msgstr "Wi-Fi: "
#: ports/espressif/common-hal/wifi/Radio.c #: ports/espressif/common-hal/wifi/Radio.c
#: ports/raspberrypi/common-hal/wifi/Radio.c #: ports/raspberrypi/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "WiFi is not enabled" msgid "WiFi is not enabled"
msgstr "" msgstr "WiFi nie jest włączone"
#: main.c #: main.c
msgid "Woken up by alarm.\n" msgid "Woken up by alarm.\n"
@ -2611,7 +2653,7 @@ msgstr "brak dwu-argumentowego operatora %q"
#: ports/espressif/common-hal/audiobusio/PDMIn.c #: ports/espressif/common-hal/audiobusio/PDMIn.c
msgid "bit_depth must be 8, 16, 24, or 32." msgid "bit_depth must be 8, 16, 24, or 32."
msgstr "" msgstr "bit_depth musi wynosić 8, 16, 24 lub 32."
#: shared-module/bitmapfilter/__init__.c #: shared-module/bitmapfilter/__init__.c
msgid "bitmap size and depth must match" msgid "bitmap size and depth must match"
@ -2623,11 +2665,11 @@ msgstr ""
#: extmod/modrandom.c #: extmod/modrandom.c
msgid "bits must be 32 or less" msgid "bits must be 32 or less"
msgstr "" msgstr "bitów musi wynosić 32 lub mniej"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "bits_per_sample must be 16" msgid "bits_per_sample must be 16"
msgstr "" msgstr "bits_per_sample musi wynosić 16"
#: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c #: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c
#: shared-bindings/audiodelays/MultiTapDelay.c #: shared-bindings/audiodelays/MultiTapDelay.c
@ -2838,7 +2880,7 @@ msgstr ""
#: extmod/modasyncio.c #: extmod/modasyncio.c
msgid "can't wait" msgid "can't wait"
msgstr "" msgstr "nie mogę się doczekać"
#: extmod/ulab/code/ndarray.c #: extmod/ulab/code/ndarray.c
msgid "cannot assign new shape" msgid "cannot assign new shape"
@ -3025,7 +3067,7 @@ msgstr ""
#: extmod/ulab/code/numpy/create.c #: extmod/ulab/code/numpy/create.c
msgid "divide by zero" msgid "divide by zero"
msgstr "" msgstr "dziel przez zero"
#: py/runtime.c #: py/runtime.c
msgid "division by zero" msgid "division by zero"
@ -3045,7 +3087,7 @@ msgstr "puste"
#: extmod/ulab/code/numpy/io/io.c #: extmod/ulab/code/numpy/io/io.c
msgid "empty file" msgid "empty file"
msgstr "" msgstr "puste plik"
#: extmod/modasyncio.c extmod/modheapq.c #: extmod/modasyncio.c extmod/modheapq.c
msgid "empty heap" msgid "empty heap"
@ -3164,7 +3206,7 @@ msgstr "float zbyt wielki"
#: py/nativeglue.c #: py/nativeglue.c
msgid "float unsupported" msgid "float unsupported"
msgstr "" msgstr "float nieobsługiwany"
#: shared-bindings/_stage/Text.c #: shared-bindings/_stage/Text.c
msgid "font must be 2048 bytes long" msgid "font must be 2048 bytes long"
@ -3172,7 +3214,7 @@ msgstr "font musi mieć 2048 bajtów długości"
#: extmod/moddeflate.c #: extmod/moddeflate.c
msgid "format" msgid "format"
msgstr "" msgstr "format"
#: py/objstr.c #: py/objstr.c
msgid "format needs a dict" msgid "format needs a dict"
@ -3273,7 +3315,7 @@ msgstr ""
#: py/persistentcode.c #: py/persistentcode.c
msgid "incompatible .mpy file" msgid "incompatible .mpy file"
msgstr "" msgstr "niekompatybilny plik .mpy"
#: py/objstr.c #: py/objstr.c
msgid "incomplete format" msgid "incomplete format"
@ -3685,7 +3727,7 @@ msgstr ""
#: shared-module/sdcardio/SDCard.c #: shared-module/sdcardio/SDCard.c
msgid "no SD card" msgid "no SD card"
msgstr "" msgstr "brak karty SD"
#: py/vm.c #: py/vm.c
msgid "no active exception to reraise" msgid "no active exception to reraise"
@ -3766,7 +3808,7 @@ msgstr "liczba punktów musi wynosić co najmniej 2"
#: py/builtinhelp.c #: py/builtinhelp.c
msgid "object " msgid "object "
msgstr "" msgstr "obiekt "
#: py/obj.c #: py/obj.c
#, c-format #, c-format
@ -3820,7 +3862,7 @@ msgstr "łańcuch o nieparzystej długości"
#: supervisor/shared/web_workflow/web_workflow.c #: supervisor/shared/web_workflow/web_workflow.c
msgid "off" msgid "off"
msgstr "" msgstr "wył"
#: extmod/ulab/code/utils/utils.c #: extmod/ulab/code/utils/utils.c
msgid "offset is too large" msgid "offset is too large"

View file

@ -6,15 +6,15 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2025-03-09 18:40+0000\n" "PO-Revision-Date: 2025-06-09 12:01+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n" "Last-Translator: MAE <martin-aehle@hotmail.de>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: pt_BR\n" "Language: pt_BR\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.10.3-dev\n" "X-Generator: Weblate 5.12-dev\n"
#: main.c #: main.c
msgid "" msgid ""
@ -117,7 +117,7 @@ msgstr "%q falha: %d"
#: shared-module/audiodelays/MultiTapDelay.c #: shared-module/audiodelays/MultiTapDelay.c
msgid "%q in %q must be of type %q or %q, not %q" msgid "%q in %q must be of type %q or %q, not %q"
msgstr "" msgstr "%q em %q deve ser do tipo %q ou %q, não %q"
#: py/argcheck.c shared-module/audiofilters/Filter.c #: py/argcheck.c shared-module/audiofilters/Filter.c
msgid "%q in %q must be of type %q, not %q" msgid "%q in %q must be of type %q, not %q"
@ -874,6 +874,10 @@ msgstr "As coordenadas das matrizes possuem comprimentos diferentes"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "Os tipos das coordenadas das matrizes possuem tamanhos diferentes" msgstr "Os tipos das coordenadas das matrizes possuem tamanhos diferentes"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Não foi possível definir o endereço" msgstr "Não foi possível definir o endereço"
@ -886,6 +890,11 @@ msgstr "Não foi possível iniciar a interrupção, RX ocupado"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Não foi possível alocar o decodificador" msgstr "Não foi possível alocar o decodificador"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Erro de Inicialização do Canal DAC" msgstr "Erro de Inicialização do Canal DAC"
@ -1325,6 +1334,10 @@ msgstr "BSSID Inválido"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Endereço MAC inválido" msgstr "Endereço MAC inválido"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Argumento inválido" msgstr "Argumento inválido"
@ -1418,7 +1431,7 @@ msgstr "Não há suporte para segurança MITM"
#: ports/stm/common-hal/sdioio/SDCard.c #: ports/stm/common-hal/sdioio/SDCard.c
#, c-format #, c-format
msgid "MMC/SDIO Clock Error %x" msgid "MMC/SDIO Clock Error %x"
msgstr "" msgstr "Erro de relógio MMC/SDIO %x"
#: shared-bindings/is31fl3741/IS31FL3741.c #: shared-bindings/is31fl3741/IS31FL3741.c
msgid "Mapping must be a tuple" msgid "Mapping must be a tuple"
@ -1897,6 +1910,10 @@ msgstr "O tamanho do programa é inválido"
msgid "Program too long" msgid "Program too long"
msgstr "Programa muito longo" msgstr "Programa muito longo"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "O Pull não foi usado quando a direção for gerada." msgstr "O Pull não foi usado quando a direção for gerada."
@ -1917,6 +1934,26 @@ msgstr "Erro DeInit RNG"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "Houve um erro na inicialização do RNG" msgstr "Houve um erro na inicialização do RNG"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"
@ -2435,7 +2472,7 @@ msgstr "Wi-Fi: "
#: ports/raspberrypi/common-hal/wifi/Radio.c #: ports/raspberrypi/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "WiFi is not enabled" msgid "WiFi is not enabled"
msgstr "" msgstr "O WiFi não está habilitado"
#: main.c #: main.c
msgid "Woken up by alarm.\n" msgid "Woken up by alarm.\n"
@ -2673,7 +2710,7 @@ msgstr "bits deve ser 32 ou menos"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "bits_per_sample must be 16" msgid "bits_per_sample must be 16"
msgstr "" msgstr "bits_per_sample deve ser 16"
#: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c #: shared-bindings/audiodelays/Chorus.c shared-bindings/audiodelays/Echo.c
#: shared-bindings/audiodelays/MultiTapDelay.c #: shared-bindings/audiodelays/MultiTapDelay.c
@ -4119,7 +4156,7 @@ msgstr "rsplit(Nenhum,n)"
#: shared-bindings/audiofreeverb/Freeverb.c #: shared-bindings/audiofreeverb/Freeverb.c
msgid "samples_signed must be true" msgid "samples_signed must be true"
msgstr "" msgstr "samples_signed deve ser verdadeiro"
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
#: ports/raspberrypi/common-hal/audiobusio/PDMIn.c #: ports/raspberrypi/common-hal/audiobusio/PDMIn.c

View file

@ -874,6 +874,10 @@ msgstr "Координатные массивы имеют разные длин
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "Типы массивов координат имеют разные размеры" msgstr "Типы массивов координат имеют разные размеры"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Не удалось задать адрес" msgstr "Не удалось задать адрес"
@ -886,6 +890,11 @@ msgstr "Не удалось запустить прерывание, RX заня
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Не удалось выделить место для декодера" msgstr "Не удалось выделить место для декодера"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Ошибка инициализации канала DAC" msgstr "Ошибка инициализации канала DAC"
@ -1328,6 +1337,10 @@ msgstr "Неверный BSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Неверный MAC-адрес" msgstr "Неверный MAC-адрес"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Недопустимый аргумент" msgstr "Недопустимый аргумент"
@ -1894,6 +1907,10 @@ msgstr "Недопустимый размер программы"
msgid "Program too long" msgid "Program too long"
msgstr "Слишком длинная программа" msgstr "Слишком длинная программа"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Тяга не используется, когда выводится направление." msgstr "Тяга не используется, когда выводится направление."
@ -1914,6 +1931,26 @@ msgstr "Ошибка деинициализации генератора слу
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "Ошибка инициализации RNG" msgstr "Ошибка инициализации RNG"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -6,8 +6,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2025-05-15 08:01+0000\n" "PO-Revision-Date: 2025-06-15 23:04+0000\n"
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n" "Last-Translator: Jonny Bergdahl <github@bergdahl.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n" "Language: sv\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -868,6 +868,10 @@ msgstr "Arrayer för koordinater har olika längd"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "Arrayer för koordinater har olika storlek" msgstr "Arrayer för koordinater har olika storlek"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr "Kan inte publicera till ROS topic"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Kan inte ange adress" msgstr "Kan inte ange adress"
@ -880,6 +884,11 @@ msgstr "Det gick inte att starta avbrott, RX upptagen"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "Det gick inte att allokera avkodaren" msgstr "Det gick inte att allokera avkodaren"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr "Kritiskt ROS-fel vid mjuk omstart, reset krävs: %d"
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "Initieringsfel för DAC-kanal" msgstr "Initieringsfel för DAC-kanal"
@ -1314,6 +1323,10 @@ msgstr "Ogiltig BSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Ogiltig MAC-adress" msgstr "Ogiltig MAC-adress"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr "Ogiltigt ROS domän-id"
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Ogiltigt argument" msgstr "Ogiltigt argument"
@ -1876,6 +1889,10 @@ msgstr "Programstorlek ogiltig"
msgid "Program too long" msgid "Program too long"
msgstr "Programmet är för långt" msgstr "Programmet är för långt"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr "Publicerare kan bara skapas from föräldranod"
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Pull används inte när riktningen är output." msgstr "Pull används inte när riktningen är output."
@ -1896,6 +1913,26 @@ msgstr "RNG DeInit-fel"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "RNG Init-fel" msgstr "RNG Init-fel"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr "Fel vid ROS initialisering, är agent ansluten?"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr "Fel vid ROS intern inställning"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr "Fel vid ROS minnesallokering"
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr "Fel vid ROS-nods initialisering"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr "Fel vid initialisering av ROS topic"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -864,6 +864,10 @@ msgstr ""
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "Adres ayarlanamadı" msgstr "Adres ayarlanamadı"
@ -876,6 +880,11 @@ msgstr "Kesinti başlatılamadı, RX kullanımda"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "" msgstr ""
@ -1307,6 +1316,10 @@ msgstr "Geçersiz BSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "Geçersiz MAC adresi" msgstr "Geçersiz MAC adresi"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Geçersiz argüman" msgstr "Geçersiz argüman"
@ -1865,6 +1878,10 @@ msgstr ""
msgid "Program too long" msgid "Program too long"
msgstr "" msgstr ""
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "" msgstr ""
@ -1885,6 +1902,26 @@ msgstr ""
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "" msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"

View file

@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: circuitpython-cn\n" "Project-Id-Version: circuitpython-cn\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-04 12:55-0600\n" "POT-Creation-Date: 2021-01-04 12:55-0600\n"
"PO-Revision-Date: 2025-04-25 15:04+0000\n" "PO-Revision-Date: 2025-05-31 20:05+0000\n"
"Last-Translator: hexthat <hexthat@gmail.com>\n" "Last-Translator: hexthat <hexthat@gmail.com>\n"
"Language-Team: Chinese Hanyu Pinyin\n" "Language-Team: Chinese Hanyu Pinyin\n"
"Language: zh_Latn_pinyin\n" "Language: zh_Latn_pinyin\n"
@ -868,6 +868,10 @@ msgstr "zuòbiāo shùzǔ jùyǒu bùtóng de chángdù"
msgid "Coordinate arrays types have different sizes" msgid "Coordinate arrays types have different sizes"
msgstr "zuòbiāo shùzǔ lèixíng jùyǒu bùtóng de dàxiǎo" msgstr "zuòbiāo shùzǔ lèixíng jùyǒu bùtóng de dàxiǎo"
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "Could not publish to ROS topic"
msgstr ""
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "Could not set address" msgid "Could not set address"
msgstr "wúfǎ shèzhì dìzhǐ" msgstr "wúfǎ shèzhì dìzhǐ"
@ -880,6 +884,11 @@ msgstr "Wúfǎ qǐdòng zhōngduàn,RX máng"
msgid "Couldn't allocate decoder" msgid "Couldn't allocate decoder"
msgstr "wúfǎ fēnpèi jiěmǎ qì" msgstr "wúfǎ fēnpèi jiěmǎ qì"
#: ports/espressif/common-hal/rclcpy/__init__.c
#, c-format
msgid "Critical ROS failure during soft reboot, reset required: %d"
msgstr ""
#: ports/stm/common-hal/analogio/AnalogOut.c #: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error" msgid "DAC Channel Init Error"
msgstr "DAC tōngdào chūshǐhuà cuòwù" msgstr "DAC tōngdào chūshǐhuà cuòwù"
@ -1320,6 +1329,10 @@ msgstr "Wúxiào de BSSID"
msgid "Invalid MAC address" msgid "Invalid MAC address"
msgstr "wú xiào de MAC dì zhǐ" msgstr "wú xiào de MAC dì zhǐ"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "Invalid ROS domain ID"
msgstr ""
#: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c #: ports/espressif/common-hal/espidf/__init__.c py/moderrno.c
msgid "Invalid argument" msgid "Invalid argument"
msgstr "Wúxiào de cānshù" msgstr "Wúxiào de cānshù"
@ -1883,6 +1896,10 @@ msgstr "chéng xù dà xiǎo wú xiào"
msgid "Program too long" msgid "Program too long"
msgstr "chéng xù tài cháng" msgstr "chéng xù tài cháng"
#: shared-bindings/rclcpy/Publisher.c
msgid "Publishers can only be created from a parent node"
msgstr ""
#: shared-bindings/digitalio/DigitalInOut.c #: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output." msgid "Pull not used when direction is output."
msgstr "Fāngxiàng shūchū shí Pull méiyǒu shǐyòng." msgstr "Fāngxiàng shūchū shí Pull méiyǒu shǐyòng."
@ -1903,6 +1920,26 @@ msgstr "RNG qǔxiāo chūshǐhuà cuòwù"
msgid "RNG Init Error" msgid "RNG Init Error"
msgstr "RNG chūshǐhuà cuòwù" msgstr "RNG chūshǐhuà cuòwù"
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS failed to initialize. Is agent connected?"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS internal setup failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/__init__.c
msgid "ROS memory allocator failure"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Node.c
msgid "ROS node failed to initialize"
msgstr ""
#: ports/espressif/common-hal/rclcpy/Publisher.c
msgid "ROS topic failed to initialize"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c #: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c #: ports/nordic/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RS485" msgid "RS485"
@ -2116,7 +2153,7 @@ msgstr "Píng pū kuāndù bìxū huàfēn wèi tú kuāndù"
#: shared-module/tilepalettemapper/TilePaletteMapper.c #: shared-module/tilepalettemapper/TilePaletteMapper.c
msgid "TilePaletteMapper may only be bound to a TileGrid once" msgid "TilePaletteMapper may only be bound to a TileGrid once"
msgstr "" msgstr "TilePaletteMapper zhǐnéng bǎngdìng dào yígè TileGrid shàngyícì"
#: shared-bindings/alarm/time/TimeAlarm.c #: shared-bindings/alarm/time/TimeAlarm.c
msgid "Time is in the past." msgid "Time is in the past."
@ -2411,7 +2448,7 @@ msgstr "Wi-Fi: "
#: ports/raspberrypi/common-hal/wifi/Radio.c #: ports/raspberrypi/common-hal/wifi/Radio.c
#: ports/zephyr-cp/common-hal/wifi/Radio.c #: ports/zephyr-cp/common-hal/wifi/Radio.c
msgid "WiFi is not enabled" msgid "WiFi is not enabled"
msgstr "" msgstr "WiFi wèi qǐyòng"
#: main.c #: main.c
msgid "Woken up by alarm.\n" msgid "Woken up by alarm.\n"

View file

@ -440,6 +440,55 @@ CFLAGS += -isystem esp-camera/driver/include
CFLAGS += -isystem esp-camera/conversions/include CFLAGS += -isystem esp-camera/conversions/include
endif endif
ifneq ($(CIRCUITPY_RCLCPY),0)
CFLAGS += -isystem microros-lib/include
CFLAGS += -isystem microros-lib/include/rcl
CFLAGS += -isystem microros-lib/include/statistics_msgs
CFLAGS += -isystem microros-lib/include/composition_interfaces
CFLAGS += -isystem microros-lib/include/example_interfaces
CFLAGS += -isystem microros-lib/include/rmw_microxrcedds_c
CFLAGS += -isystem microros-lib/include/test_msgs
CFLAGS += -isystem microros-lib/include/std_msgs
CFLAGS += -isystem microros-lib/include/rcutils
CFLAGS += -isystem microros-lib/include/lifecycle_msgs
CFLAGS += -isystem microros-lib/include/rosidl_typesupport_interface
CFLAGS += -isystem microros-lib/include/service_msgs
CFLAGS += -isystem microros-lib/include/visualization_msgs
CFLAGS += -isystem microros-lib/include/rosidl_dynamic_typesupport
CFLAGS += -isystem microros-lib/include/stereo_msgs
CFLAGS += -isystem microros-lib/include/ucdr
CFLAGS += -isystem microros-lib/include/rosidl_typesupport_c
CFLAGS += -isystem microros-lib/include/std_srvs
CFLAGS += -isystem microros-lib/include/rcl_lifecycle
CFLAGS += -isystem microros-lib/include/action_msgs
CFLAGS += -isystem microros-lib/include/micro_ros_utilities
CFLAGS += -isystem microros-lib/include/rcl_action
CFLAGS += -isystem microros-lib/include/rcl_logging_interface
CFLAGS += -isystem microros-lib/include/type_description_interfaces
CFLAGS += -isystem microros-lib/include/nav_msgs
CFLAGS += -isystem microros-lib/include/actionlib_msgs
CFLAGS += -isystem microros-lib/include/rmw
CFLAGS += -isystem microros-lib/include/rclc_parameter
CFLAGS += -isystem microros-lib/include/geometry_msgs
CFLAGS += -isystem microros-lib/include/sensor_msgs
CFLAGS += -isystem microros-lib/include/trajectory_msgs
CFLAGS += -isystem microros-lib/include/shape_msgs
CFLAGS += -isystem microros-lib/include/rosidl_runtime_c
CFLAGS += -isystem microros-lib/include/rclc
CFLAGS += -isystem microros-lib/include/rosgraph_msgs
CFLAGS += -isystem microros-lib/include/rclc_lifecycle
CFLAGS += -isystem microros-lib/include/rcl_interfaces
CFLAGS += -isystem microros-lib/include/diagnostic_msgs
CFLAGS += -isystem microros-lib/include/micro_ros_msgs
CFLAGS += -isystem microros-lib/include/rosidl_typesupport_introspection_c
CFLAGS += -isystem microros-lib/include/uxr
CFLAGS += -isystem microros-lib/include/unique_identifier_msgs
CFLAGS += -isystem microros-lib/include/rosidl_typesupport_microxrcedds_c
CFLAGS += -isystem microros-lib/include/builtin_interfaces
CFLAGS += -isystem microros-lib/include/tracetools
CFLAGS += -isystem microros-lib/include/rmw_microros
endif
ifneq ($(CIRCUITPY_ESPIDF),0) ifneq ($(CIRCUITPY_ESPIDF),0)
SRC_ESPIDF := \ SRC_ESPIDF := \
$(wildcard common-hal/espidf/*.c) \ $(wildcard common-hal/espidf/*.c) \
@ -523,11 +572,14 @@ ifeq ($(CIRCUITPY_ESP_FLASH_SIZE), 2MB)
else else
UF2_BOOTLOADER ?= $(CIRCUITPY_USB_DEVICE) UF2_BOOTLOADER ?= $(CIRCUITPY_USB_DEVICE)
ifeq ($(UF2_BOOTLOADER), 1) ifeq ($(UF2_BOOTLOADER), 1)
# UF2-capable board
FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE).defaults FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE).defaults
else else
# non-UF2 partition layout
ifeq ($(CIRCUITPY_ESP_FLASH_SIZE), 4MB) ifeq ($(CIRCUITPY_ESP_FLASH_SIZE), 4MB)
ifeq ($(CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT), 1) ifeq ($(CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT), 1)
FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE)-no-uf2.defaults # Some boards use a 2MB firmware and almost 2MB user filesystem, for historical reasons.
FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE)-no-ota-no-uf2-large-user_fs.defaults
else else
FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE)-no-ota-no-uf2.defaults FLASH_SIZE_SDKCONFIG ?= esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE)-no-ota-no-uf2.defaults
endif endif
@ -685,6 +737,18 @@ ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/esp-camera/libesp-camera
#$(error $(ESP_IDF_COMPONENTS_EXPANDED)) #$(error $(ESP_IDF_COMPONENTS_EXPANDED))
endif endif
ifneq ($(CIRCUITPY_RCLCPY),0)
ifeq ($(IDF_TARGET),esp32)
BINARY_BLOBS += microros-lib/esp32/libmicroros.a
else ifeq ($(IDF_TARGET),esp32s2)
BINARY_BLOBS+= microros-lib/esp32s2/libmicroros.a
else ifeq ($(IDF_TARGET),esp32s3)
BINARY_BLOBS += microros-lib/esp32s3/libmicroros.a
else
$(error Unsupported Espressif target for Micro-ROS: $(IDF_TARGET).)
endif
endif
ifneq ($(VALID_BOARD),) ifneq ($(VALID_BOARD),)
# From esp-idf/components/bootloader/Kconfig.projbuild # From esp-idf/components/bootloader/Kconfig.projbuild
# BOOTLOADER_OFFSET is determined by chip type, based on the ROM bootloader, and is not changeable. # BOOTLOADER_OFFSET is determined by chip type, based on the ROM bootloader, and is not changeable.

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1

View file

@ -6,3 +6,6 @@ IDF_TARGET = esp32c6
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -18,5 +18,4 @@ OPTIMIZATION_FLAGS = -Os
#CIRCUITPY_PARALLELDISPLAYBUS = 0 #CIRCUITPY_PARALLELDISPLAYBUS = 0
CIRCUITPY_BLEIO_NATIVE = 1 CIRCUITPY_BLEIO_NATIVE = 1
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 0
FLASH_SIZE_SDKCONFIG = esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE)-no-ota.defaults FLASH_SIZE_SDKCONFIG = esp-idf-config/sdkconfig-flash-$(CIRCUITPY_ESP_FLASH_SIZE)-no-ota.defaults

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -7,13 +7,8 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
# Not enough flash space.
CIRCUITPY_CODEOP = 0
# Not enough pins. # Not enough pins.
CIRCUITPY_PARALLELDISPLAYBUS = 0 CIRCUITPY_PARALLELDISPLAYBUS = 0
CIRCUITPY_RGBMATRIX = 0 CIRCUITPY_RGBMATRIX = 0

View file

@ -7,7 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 0 CIRCUITPY_ESP_USB_SERIAL_JTAG = 0
CIRCUITPY_TILEPALETTEMAPPER = 0

View file

@ -8,7 +8,4 @@ CIRCUITPY_ESP_FLASH_MODE=qio
CIRCUITPY_ESP_FLASH_FREQ=80m CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
CIRCUITPY_TILEPALETTEMAPPER = 0

View file

@ -6,3 +6,6 @@ IDF_TARGET = esp32c6
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -10,5 +10,3 @@ CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP_PSRAM_SIZE = 8MB CIRCUITPY_ESP_PSRAM_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_MODE = qio CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -10,5 +10,3 @@ CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP_PSRAM_SIZE = 8MB CIRCUITPY_ESP_PSRAM_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_MODE = qio CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -14,8 +14,6 @@ CIRCUITPY_ESP_PSRAM_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_MODE = opi CIRCUITPY_ESP_PSRAM_MODE = opi
CIRCUITPY_ESP_PSRAM_FREQ = 80m CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_BITMAPFILTER = 0 CIRCUITPY_BITMAPFILTER = 0
CIRCUITPY_CODEOP = 0 CIRCUITPY_CODEOP = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1

View file

@ -10,6 +10,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -13,5 +13,3 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_PSRAM_SIZE = 2MB CIRCUITPY_ESP_PSRAM_SIZE = 2MB
CIRCUITPY_ESP_PSRAM_MODE = qio CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -6,6 +6,5 @@ IDF_TARGET = esp32
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1 CIRCUITPY_ESPCAMERA = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -13,8 +13,6 @@ CIRCUITPY_ESP_PSRAM_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_MODE = qio CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 40m CIRCUITPY_ESP_PSRAM_FREQ = 40m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_CANIO = 0 CIRCUITPY_CANIO = 0
CIRCUITPY_NEOPIXEL_WRITE = 0 CIRCUITPY_NEOPIXEL_WRITE = 0
CIRCUITPY_PIXELBUF = 0 CIRCUITPY_PIXELBUF = 0

View file

@ -11,6 +11,4 @@ CIRCUITPY_ESP_PSRAM_SIZE = 4MB
CIRCUITPY_ESP_PSRAM_MODE = qio CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 40m CIRCUITPY_ESP_PSRAM_FREQ = 40m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 0 CIRCUITPY_ESP_USB_SERIAL_JTAG = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_AUDIOMP3 = 0 CIRCUITPY_AUDIOMP3 = 0

View file

@ -6,3 +6,6 @@ IDF_TARGET = esp32h2
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 48m CIRCUITPY_ESP_FLASH_FREQ = 48m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -0,0 +1,9 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
//
// SPDX-License-Identifier: MIT
#include "supervisor/board.h"
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

View file

@ -0,0 +1,16 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
//
// SPDX-License-Identifier: MIT
#pragma once
// Micropython setup
#define MICROPY_HW_BOARD_NAME "ESP32-S3-DevKitC-1-N8R2 (ROS version)"
#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)

View file

@ -0,0 +1,16 @@
USB_VID = 0x303A
USB_PID = 0x7003
USB_PRODUCT = "ESP32-S3-DevKitC-1-N8R2 CPY/ROS"
USB_MANUFACTURER = "Espressif"
IDF_TARGET = esp32s3
CIRCUITPY_ESP_FLASH_SIZE = 8MB
CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_PSRAM_SIZE = 2MB
CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_RCLCPY = 1

View file

@ -0,0 +1,55 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
//
// SPDX-License-Identifier: MIT
#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_IO0), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
{ MP_ROM_QSTR(MP_QSTR_IO47), MP_ROM_PTR(&pin_GPIO47) },
{ 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_RX), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
};
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

View file

@ -0,0 +1,14 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# LWIP
#
# end of LWIP
# end of Component config
# end of Espressif IoT Development Framework Configuration

View file

@ -6,3 +6,6 @@ IDF_TARGET = esp32c2
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 60m CIRCUITPY_ESP_FLASH_FREQ = 60m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -34,10 +34,10 @@ uint8_t display_init_sequence[] = { // SSD1306
digitalio_digitalinout_obj_t display_on; digitalio_digitalinout_obj_t display_on;
static void display_init(void) { static void display_init(void) {
// Need to bring GPIO21 high or the screen doesn't get power // Need to bring GPIO36 high or the screen doesn't get power
// & the board can't see the i2c bus at all. // & the board can't see the i2c bus at all.
common_hal_digitalio_digitalinout_construct(&display_on, &pin_GPIO21); common_hal_digitalio_digitalinout_construct(&display_on, &pin_GPIO36);
common_hal_digitalio_digitalinout_switch_to_output(&display_on, true, DRIVE_MODE_PUSH_PULL); common_hal_digitalio_digitalinout_switch_to_output(&display_on, false, DRIVE_MODE_PUSH_PULL);
common_hal_digitalio_digitalinout_never_reset(&display_on); common_hal_digitalio_digitalinout_never_reset(&display_on);
busio_i2c_obj_t *i2c = common_hal_board_create_i2c(0); busio_i2c_obj_t *i2c = common_hal_board_create_i2c(0);
@ -48,7 +48,7 @@ static void display_init(void) {
bus, bus,
i2c, i2c,
0x3c, 0x3c,
NULL &pin_GPIO21 // broken-out on V3
); );
busdisplay_busdisplay_obj_t *display = &allocate_display()->display; busdisplay_busdisplay_obj_t *display = &allocate_display()->display;

View file

@ -8,3 +8,6 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP_USB_SERIAL_JTAG = 0 CIRCUITPY_ESP_USB_SERIAL_JTAG = 0
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 0 CIRCUITPY_ESP_USB_SERIAL_JTAG = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -7,10 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE=qio
CIRCUITPY_ESP_FLASH_FREQ=80m CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
# Not enough flash
CIRCUITPY_SOCKETPOOL_IPV6 = 0
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
CIRCUITPY_TILEPALETTEMAPPER = 0

View file

@ -7,12 +7,7 @@ CIRCUITPY_ESP_FLASH_MODE=qio
CIRCUITPY_ESP_FLASH_FREQ=80m CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
# Not enough flash
CIRCUITPY_SOCKETPOOL_IPV6 = 0
# Include these Python libraries in firmware. # Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

View file

@ -7,7 +7,6 @@
# #
# LWIP # LWIP
# #
# CONFIG_LWIP_IPV6 is not set
# end of LWIP # end of LWIP
# end of Component config # end of Component config

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=80m CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=80m CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 0 CIRCUITPY_ESP_USB_SERIAL_JTAG = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0

View file

@ -0,0 +1,95 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
//
// SPDX-License-Identifier: MIT
#include "mpconfigboard.h"
#include "supervisor/board.h"
#include "supervisor/shared/serial.h"
#include "shared-bindings/busio/SPI.h"
#include "shared-bindings/fourwire/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"
#include "py/runtime.h"
#include "py/ringbuf.h"
#include "shared/runtime/interrupt_char.h"
#define DELAY 0x80
uint8_t display_init_sequence[] = {
// SWRESET and Delay 140ms
0x01, 0 | DELAY, 140,
// SLPOUT and Delay 10ms
0x11, 0 | DELAY, 10,
// COLMOD 65k colors and 16 bit 5-6-5
0x3A, 1, 0x55,
// INVON Iiversion on
0x21, 0,
// NORON normal operation (full update)
0x13, 0,
// MADCTL columns RTL, page/column reverse order
0x36, 1, 0x60,
// RAMCTRL color word little endian
0xB0, 2, 0x00, 0xF8,
// DIPON display on
0x29, 0,
};
// Overrides the weakly linked function from supervisor/shared/board.c
void board_init(void) {
busio_spi_obj_t *spi = common_hal_board_create_spi(0);
fourwire_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
bus->base.type = &fourwire_fourwire_type;
// see here for inspiration: https://github.com/m5stack/M5GFX/blob/33d7d3135e816a86a008fae8ab3757938cee95d2/src/M5GFX.cpp#L1350
common_hal_fourwire_fourwire_construct(
bus,
spi,
&pin_GPIO34, // DC
&pin_GPIO37, // CS
&pin_GPIO33, // RST
40000000, // baudrate
0, // polarity
0 // phase
);
busdisplay_busdisplay_obj_t *display = &allocate_display()->display;
display->base.type = &busdisplay_busdisplay_type;
common_hal_busdisplay_busdisplay_construct(
display,
bus,
240, // width (after rotation)
135, // height (after rotation)
40, // column start
53, // 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
false, // 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_GPIO38, // backlight pin
NO_BRIGHTNESS_COMMAND,
1.0f, // brightness
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60, // native_frames_per_second
true, // backlight_on_high
false, // SH1107_addressing
350 // backlight pwm frequency
);
}
// TODO: Should we turn off the display when asleep, in board_deinit() ?

View file

@ -0,0 +1,238 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2016 Scott Shawcroft
//
// SPDX-License-Identifier: MIT
#include "py/obj.h"
#include "py/objstr.h"
#include "py/runtime.h"
#include "supervisor/shared/serial.h"
#include "shared-bindings/keypad/EventQueue.h"
#include "shared-bindings/keypad_demux/DemuxKeyMatrix.h"
#include "shared-bindings/microcontroller/Pin.h"
#include "shared-module/keypad/EventQueue.h"
#include "shared-module/keypad_demux/DemuxKeyMatrix.h"
#include "supervisor/shared/reload.h"
#include "keymap.h"
//| """M5Stack Cardputer keyboard integration.
//| """
//|
//| """The KEYBOARD object is an instance of DemuxKeyMatrix, configured with correct pins.
//| The pins cannot be used for any other purposes (even though exposed in the board module).
//| By default all keyboard events are consumed and routed to the standard input - there is
//| not much use of the KEYBOARD object in this configuration - just read the input via sys.stdin.
//|
//| If you need to manually process individual key up / key down events via KEYBOARD.events,
//| call `detach_serial()`.
//| """"
//| KEYBOARD: keypad_demux.DemuxKeymatrix
//|
keypad_demux_demuxkeymatrix_obj_t cardputer_keyboard_obj;
bool cardputer_keyboard_serial_attached = false;
void cardputer_keyboard_init(void);
void keyboard_seq(const char *seq);
void update_keyboard(keypad_eventqueue_obj_t *queue);
//| def detach_serial() -> None:
//| """Stops consuming keyboard events and routing them to sys.stdin."""
//| ...
//|
static mp_obj_t detach_serial(void) {
cardputer_keyboard_serial_attached = false;
common_hal_keypad_eventqueue_set_event_handler(cardputer_keyboard_obj.events, NULL);
return mp_const_none;
}
static MP_DEFINE_CONST_FUN_OBJ_0(detach_serial_obj, detach_serial);
//| def attach_serial() -> None:
//| """Starts consuming keyboard events and routing them to sys.stdin."""
//| ...
//|
static mp_obj_t attach_serial(void) {
common_hal_keypad_eventqueue_set_event_handler(cardputer_keyboard_obj.events, update_keyboard);
cardputer_keyboard_serial_attached = true;
return mp_const_none;
}
static MP_DEFINE_CONST_FUN_OBJ_0(attach_serial_obj, attach_serial);
//| def key_to_char(key: int, shifted: bool) -> str | None:
//| """Converts a key index to the respective key (with or without shift modifier).
//| Returns None for functional & modifier keys or whenever not 0 <= key < 56.
//| """
//| ...
//|
static mp_obj_t key_to_char(mp_obj_t key_obj, mp_obj_t shifted_obj) {
mp_int_t key = mp_obj_get_int(key_obj);
if (key < 0 || key > (mp_int_t)(sizeof keymap / sizeof *keymap) || keymap[key] == 0) {
return mp_const_none;
} else if (shifted_obj == mp_const_true) {
return mp_obj_new_str(&keymap_shifted[key], 1);
} else {
return mp_obj_new_str(&keymap[key], 1);
}
}
static MP_DEFINE_CONST_FUN_OBJ_2(key_to_char_obj, key_to_char);
// Ring buffer of characters consumed from keyboard events (when serial attached)
ringbuf_t keyqueue;
char keybuf[32];
keypad_event_obj_t event;
char keystate[56];
// Keyboard pins
const mcu_pin_obj_t *row_addr_pins[] = {
&pin_GPIO8,
&pin_GPIO9,
&pin_GPIO11,
};
const mcu_pin_obj_t *column_pins[] = {
&pin_GPIO13,
&pin_GPIO15,
&pin_GPIO3,
&pin_GPIO4,
&pin_GPIO5,
&pin_GPIO6,
&pin_GPIO7
};
void cardputer_keyboard_init(void) {
cardputer_keyboard_obj.base.type = &keypad_demux_demuxkeymatrix_type;
common_hal_keypad_demux_demuxkeymatrix_construct(
&cardputer_keyboard_obj, // self
3, // num_row_addr_pins
row_addr_pins, // row_addr_pins
7, // num_column_pins
column_pins, // column_pins
true, // columns_to_anodes
false, // transpose
0.01f, // interval
20, // max_events
2 // debounce_threshold
);
demuxkeymatrix_never_reset(&cardputer_keyboard_obj);
ringbuf_init(&keyqueue, (uint8_t *)keybuf, sizeof(keybuf));
attach_serial();
}
// Overrides the weakly linked function from supervisor/shared/serial.c
void board_serial_init(void) {
cardputer_keyboard_init();
}
// Overrides the weakly linked function from supervisor/shared/serial.c
bool board_serial_connected(void) {
return cardputer_keyboard_serial_attached;
}
// Overrides the weakly linked function from supervisor/shared/serial.c
uint32_t board_serial_bytes_available(void) {
if (cardputer_keyboard_serial_attached) {
return ringbuf_num_filled(&keyqueue);
} else {
return 0;
}
}
// Overrides the weakly linked function from supervisor/shared/serial.c
char board_serial_read(void) {
if (cardputer_keyboard_serial_attached) {
return ringbuf_get(&keyqueue);
} else {
return 0;
}
}
void keyboard_seq(const char *seq) {
while (*seq) {
ringbuf_put(&keyqueue, *seq++);
}
}
void update_keyboard(keypad_eventqueue_obj_t *queue) {
uint8_t ascii = 0;
if (common_hal_keypad_eventqueue_get_length(queue) == 0) {
return;
}
while (common_hal_keypad_eventqueue_get_into(queue, &event)) {
if (event.pressed) {
keystate[event.key_number] = 1;
if (keystate[KEY_CTRL]) {
if (keystate[KEY_ALT] && keystate[KEY_BACKSPACE]) {
reload_initiate(RUN_REASON_REPL_RELOAD);
}
ascii = keymap[event.key_number];
if (ascii >= 'a' && ascii <= 'z') {
ascii -= 'a' - 1;
}
if (ascii == mp_interrupt_char) {
mp_sched_keyboard_interrupt();
}
} else if (keystate[KEY_SHIFT]) {
ascii = keymap_shifted[event.key_number];
} else if (keystate[KEY_FN] && event.key_number != KEY_FN) {
switch (event.key_number | FN_MOD)
{
case KEY_DOWN:
keyboard_seq("\e[B");
break;
case KEY_UP:
keyboard_seq("\e[A");
break;
case KEY_DELETE:
keyboard_seq("\e[3~");
break;
case KEY_LEFT:
keyboard_seq("\e[D");
break;
case KEY_RIGHT:
keyboard_seq("\e[C");
break;
case KEY_ESC:
ringbuf_put(&keyqueue, '\e');
break;
}
} else {
ascii = keymap[event.key_number];
}
if (ascii > 0) {
if (keystate[KEY_ALT]) {
ringbuf_put(&keyqueue, '\e');
} else if (keystate[KEY_OPT]) {
ringbuf_put(&keyqueue, '\x10');
}
ringbuf_put(&keyqueue, ascii);
}
} else {
keystate[event.key_number] = 0;
}
}
}
static const mp_rom_map_elem_t cardputer_keyboard_module_globals_table[] = {
{MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_cardputer_keyboard)},
{MP_ROM_QSTR(MP_QSTR_KEYBOARD), MP_ROM_PTR(&cardputer_keyboard_obj)},
{MP_ROM_QSTR(MP_QSTR_attach_serial), MP_ROM_PTR(&attach_serial_obj)},
{MP_ROM_QSTR(MP_QSTR_detach_serial), MP_ROM_PTR(&detach_serial_obj)},
{MP_ROM_QSTR(MP_QSTR_key_to_char), MP_ROM_PTR(&key_to_char_obj)},
};
MP_DEFINE_CONST_DICT(cardputer_keyboard_module_globals, cardputer_keyboard_module_globals_table);
const mp_obj_module_t cardputer_keyboard_module = {
.base = {&mp_type_module},
.globals = (mp_obj_dict_t *)&cardputer_keyboard_module_globals,
};
MP_REGISTER_MODULE(MP_QSTR_cardputer_keyboard, cardputer_keyboard_module);

View file

@ -0,0 +1,214 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
//
// SPDX-License-Identifier: MIT
#pragma once
#define SHIFT_MOD 0x40
#define FN_MOD 0x80
#define KEY_OPT 0
#define KEY_Z 1
#define KEY_C 2
#define KEY_B 3
#define KEY_M 4
#define KEY_DOT 5
#define KEY_SPACE 6
#define KEY_SHIFT 7
#define KEY_S 8
#define KEY_F 9
#define KEY_H 10
#define KEY_K 11
#define KEY_SEMICOLON 12
#define KEY_ENTER 13
#define KEY_Q 14
#define KEY_E 15
#define KEY_T 16
#define KEY_U 17
#define KEY_O 18
#define KEY_LEFT_BRACKET 19
#define KEY_BACKSLASH 20
#define KEY_1 21
#define KEY_3 22
#define KEY_5 23
#define KEY_7 24
#define KEY_9 25
#define KEY_UNDERSCORE 26
#define KEY_BACKSPACE 27
#define KEY_CTRL 28
#define KEY_ALT 29
#define KEY_X 30
#define KEY_V 31
#define KEY_N 32
#define KEY_COMMA 33
#define KEY_SLASH 34
#define KEY_FN 35
#define KEY_A 36
#define KEY_D 37
#define KEY_G 38
#define KEY_J 39
#define KEY_L 40
#define KEY_APOSTROPHE 41
#define KEY_TAB 42
#define KEY_W 43
#define KEY_R 44
#define KEY_Y 45
#define KEY_I 46
#define KEY_P 47
#define KEY_RIGHT_BRACKET 48
#define KEY_GRAVE 49
#define KEY_2 50
#define KEY_4 51
#define KEY_6 52
#define KEY_8 53
#define KEY_0 54
#define KEY_EQUALS 55
#define KEY_GREATER (5 | SHIFT_MOD)
#define KEY_COLON (12 | SHIFT_MOD)
#define KEY_LEFT_CURLY_BRACKET (19 | SHIFT_MOD)
#define KEY_PIPE (20 | SHIFT_MOD)
#define KEY_EXCLAMATION (21 | SHIFT_MOD)
#define KEY_HASH (22 | SHIFT_MOD)
#define KEY_PERCENT (23 | SHIFT_MOD)
#define KEY_AMPERSAND (24 | SHIFT_MOD)
#define KEY_OPEN_PARENTHESIS (25 | SHIFT_MOD)
#define KEY_MINUS (26 | SHIFT_MOD)
#define KEY_LESS (33 | SHIFT_MOD)
#define KEY_QUESTION (34 | SHIFT_MOD)
#define KEY_DOUBLE_QUOTE (41 | SHIFT_MOD)
#define KEY_RIGHT_CURLY_BRACKET (48 | SHIFT_MOD)
#define KEY_TILDE (49 | SHIFT_MOD)
#define KEY_AT (50 | SHIFT_MOD)
#define KEY_DOLLAR (51 | SHIFT_MOD)
#define KEY_CARET (52 | SHIFT_MOD)
#define KEY_ASTERISK (53 | SHIFT_MOD)
#define KEY_CLOSE_PARENTHESIS (54 | SHIFT_MOD)
#define KEY_PLUS (55 | SHIFT_MOD)
#define KEY_DOWN (5 | FN_MOD)
#define KEY_UP (12 | FN_MOD)
#define KEY_DELETE (27 | FN_MOD)
#define KEY_LEFT (33 | FN_MOD)
#define KEY_RIGHT (34 | FN_MOD)
#define KEY_ESC (49 | FN_MOD)
const char keymap[56] = {
0, // KEY_OPT
'z', // KEY_Z
'c', // KEY_C
'b', // KEY_B
'm', // KEY_M
'.', // KEY_DOT
' ', // KEY_SPACE
0, // KEY_SHIFT
's', // KEY_S
'f', // KEY_F
'h', // KEY_H
'k', // KEY_K
';', // KEY_SEMICOLON
'\r',// KEY_ENTER
'q', // KEY_Q
'e', // KEY_E
't', // KEY_T
'u', // KEY_U
'o', // KEY_O
'[', // KEY_LEFT_BRACKET
'\\',// KEY_BACKSLASH
'1', // KEY_1
'3', // KEY_3
'5', // KEY_5
'7', // KEY_7
'9', // KEY_9
'_', // KEY_UNDERSCORE
'\b',// KEY_BACKSPACE
0, // KEY_CTRL
0, // KEY_ALT
'x', // KEY_X
'v', // KEY_V
'n', // KEY_N
',', // KEY_COMMA
'/', // KEY_SLASH
0, // KEY_FN
'a', // KEY_A
'd', // KEY_D
'g', // KEY_G
'j', // KEY_J
'l', // KEY_L
'\'',// KEY_APOSTROPHE
'\t',// KEY_TAB
'w', // KEY_W
'r', // KEY_R
'y', // KEY_Y
'i', // KEY_I
'p', // KEY_P
']', // KEY_RIGHT_BRACKET
'`', // KEY_GRAVE
'2', // KEY_2
'4', // KEY_4
'6', // KEY_6
'8', // KEY_8
'0', // KEY_0
'=' // KEY_EQUALS
};
const char keymap_shifted[56] = {
0, // KEY_OPT
'Z', // KEY_Z
'C', // KEY_C
'B', // KEY_B
'M', // KEY_M
'>', // KEY_DOT -> '>'
' ', // KEY_SPACE
0, // KEY_SHIFT
'S', // KEY_S
'F', // KEY_F
'H', // KEY_H
'K', // KEY_K
':', // KEY_SEMICOLON -> ':'
'\r',// KEY_ENTER
'Q', // KEY_Q
'E', // KEY_E
'T', // KEY_T
'U', // KEY_U
'O', // KEY_O
'{', // KEY_LEFT_BRACKET -> '{'
'|', // KEY_BACKSLASH -> '|'
'!', // KEY_1 -> '!'
'#', // KEY_3 -> '#'
'%', // KEY_5 -> '%'
'&', // KEY_7 -> '&'
'(', // KEY_9 -> '('
'-', // KEY_UNDERSCORE -> '-'
'\b',// KEY_BACKSPACE
0, // KEY_CTRL
0, // KEY_ALT
'X', // KEY_X
'V', // KEY_V
'N', // KEY_N
'<', // KEY_COMMA -> '<'
'?', // KEY_SLASH -> '?'
0, // KEY_FN
'A', // KEY_A
'D', // KEY_D
'G', // KEY_G
'J', // KEY_J
'L', // KEY_L
'"', // KEY_APOSTROPHE -> '"'
'\t',// KEY_TAB
'W', // KEY_W
'R', // KEY_R
'Y', // KEY_Y
'I', // KEY_I
'P', // KEY_P
'}', // KEY_RIGHT_BRACKET -> '}'
'~', // KEY_GRAVE -> '~'
'@', // KEY_2 -> '@'
'$', // KEY_4 -> '$'
'^', // KEY_6 -> '^'
'*', // KEY_8 -> '*'
')', // KEY_0 -> ')'
'+' // KEY_EQUALS -> '+'
};

View file

@ -0,0 +1,19 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
//
// SPDX-License-Identifier: MIT
#pragma once
// Micropython setup
#define MICROPY_HW_BOARD_NAME "M5Stack Cardputer (ROS version)"
#define MICROPY_HW_MCU_NAME "ESP32S3"
#define MICROPY_HW_NEOPIXEL (&pin_GPIO21)
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO1)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO2)
#define CIRCUITPY_BOARD_SPI (2)
#define CIRCUITPY_BOARD_SPI_PIN {{.clock = &pin_GPIO36, .mosi = &pin_GPIO35}, \
{.clock = &pin_GPIO40, .mosi = &pin_GPIO14, .miso = &pin_GPIO39}}

View file

@ -0,0 +1,17 @@
USB_VID = 0x303A
USB_PID = 0x81DA
USB_PRODUCT = "M5Stack Cardputer - Circuitpython/ROS"
USB_MANUFACTURER = "M5STACK"
IDF_TARGET = esp32s3
CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 8MB
CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_RCLCPY = 1
CIRCUITPY_GIFIO = 1
CIRCUITPY_MAX3421E = 0
SRC_C += boards/$(BOARD)/cardputer_keyboard.c

View file

@ -0,0 +1,86 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
//
// SPDX-License-Identifier: MIT
#include "shared-bindings/board/__init__.h"
#include "shared-module/displayio/__init__.h"
CIRCUITPY_BOARD_BUS_SINGLETON(sd_spi, spi, 1)
static const mp_rom_map_elem_t board_module_globals_table[] = {
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
// Port A
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_PORTA1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_G1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_PORTA2), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_G2), MP_ROM_PTR(&pin_GPIO2) },
// Keyboard
{ MP_ROM_QSTR(MP_QSTR_KB_COL_0), MP_ROM_PTR(&pin_GPIO13) },
{ MP_ROM_QSTR(MP_QSTR_KB_COL_1), MP_ROM_PTR(&pin_GPIO15) },
{ MP_ROM_QSTR(MP_QSTR_KB_COL_2), MP_ROM_PTR(&pin_GPIO3) },
{ MP_ROM_QSTR(MP_QSTR_KB_COL_3), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_KB_COL_4), MP_ROM_PTR(&pin_GPIO5) },
{ MP_ROM_QSTR(MP_QSTR_KB_COL_5), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_KB_COL_6), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_KB_A_0), MP_ROM_PTR(&pin_GPIO8) },
{ MP_ROM_QSTR(MP_QSTR_KB_A_1), MP_ROM_PTR(&pin_GPIO9) },
{ MP_ROM_QSTR(MP_QSTR_KB_A_2), MP_ROM_PTR(&pin_GPIO11) },
// Neopixel
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO21) },
// Speaker
{ MP_ROM_QSTR(MP_QSTR_I2S_BIT_CLOCK), MP_ROM_PTR(&pin_GPIO41) },
{ MP_ROM_QSTR(MP_QSTR_I2S_DATA), MP_ROM_PTR(&pin_GPIO42) },
{ MP_ROM_QSTR(MP_QSTR_I2S_WORD_SELECT), MP_ROM_PTR(&pin_GPIO43) },
// Mic
{ MP_ROM_QSTR(MP_QSTR_MIC_DATA), MP_ROM_PTR(&pin_GPIO46) },
{ MP_ROM_QSTR(MP_QSTR_MIC_CLK), MP_ROM_PTR(&pin_GPIO43) },
// IR
{ MP_ROM_QSTR(MP_QSTR_IR_TX), MP_ROM_PTR(&pin_GPIO44) },
// SD
{ MP_ROM_QSTR(MP_QSTR_SD_MOSI), MP_ROM_PTR(&pin_GPIO14) },
{ MP_ROM_QSTR(MP_QSTR_SD_SCK), MP_ROM_PTR(&pin_GPIO40) },
{ MP_ROM_QSTR(MP_QSTR_SD_MISO), MP_ROM_PTR(&pin_GPIO39) },
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_GPIO12) },
// Display
{ MP_ROM_QSTR(MP_QSTR_TFT_RST), MP_ROM_PTR(&pin_GPIO33) },
{ MP_ROM_QSTR(MP_QSTR_TFT_RESET), MP_ROM_PTR(&pin_GPIO33) },
{ MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO34) },
{ MP_ROM_QSTR(MP_QSTR_TFT_RS), MP_ROM_PTR(&pin_GPIO34) },
{ MP_ROM_QSTR(MP_QSTR_TFT_MOSI), MP_ROM_PTR(&pin_GPIO35) },
{ MP_ROM_QSTR(MP_QSTR_TFT_DATA), MP_ROM_PTR(&pin_GPIO35) },
{ MP_ROM_QSTR(MP_QSTR_TFT_SCK), MP_ROM_PTR(&pin_GPIO36) },
{ MP_ROM_QSTR(MP_QSTR_TFT_CS), MP_ROM_PTR(&pin_GPIO37) },
{ MP_ROM_QSTR(MP_QSTR_TFT_BACKLIGHT), MP_ROM_PTR(&pin_GPIO38) },
{ MP_ROM_QSTR(MP_QSTR_TFT_BL), MP_ROM_PTR(&pin_GPIO38) },
// Button
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_BOOT0), MP_ROM_PTR(&pin_GPIO0) },
// Battery
{ MP_ROM_QSTR(MP_QSTR_BAT_ADC), MP_ROM_PTR(&pin_GPIO10) },
// Other
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_TFT_SPI), MP_ROM_PTR(&board_spi_obj) },
{ MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) },
// Display object
{ MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)},
};
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

View file

@ -0,0 +1,14 @@
#
# Espressif IoT Development Framework Configuration
#
#
# Component config
#
#
# LWIP
#
# end of LWIP
# end of Component config
# end of Espressif IoT Development Framework Configuration

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE=qio
CIRCUITPY_ESP_FLASH_FREQ=80m CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 0 CIRCUITPY_ESP_USB_SERIAL_JTAG = 0

View file

@ -6,8 +6,7 @@ IDF_TARGET = esp32
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
SRC_C += pmic/axp192/axp192.c SRC_C += pmic/axp192/axp192.c

View file

@ -6,8 +6,7 @@ IDF_TARGET = esp32
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
SRC_C += pmic/axp192/axp192.c SRC_C += pmic/axp192/axp192.c

View file

@ -10,5 +10,3 @@ CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP_PSRAM_SIZE = 8MB CIRCUITPY_ESP_PSRAM_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_MODE = opi CIRCUITPY_ESP_PSRAM_MODE = opi
CIRCUITPY_ESP_PSRAM_FREQ = 80m CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -7,13 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=80m CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
# Not enough flash space. (TEMP - may remove later)
CIRCUITPY_CODEOP = 0
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
# Not enough pins. (TEMP - may remove later)
CIRCUITPY_PARALLELDISPLAYBUS = 0
CIRCUITPY_RGBMATRIX = 0

View file

@ -6,3 +6,6 @@ IDF_TARGET = esp32c6
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -7,7 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
CIRCUITPY_TILEPALETTEMAPPER = 0

View file

@ -6,3 +6,6 @@ IDF_TARGET = esp32c2
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 60m CIRCUITPY_ESP_FLASH_FREQ = 60m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1

View file

@ -6,3 +6,6 @@ IDF_TARGET = esp32c6
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -8,4 +8,3 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -1,13 +1,10 @@
CIRCUITPY_CREATOR_ID = 0x4496E3F4 CIRCUITPY_CREATOR_ID = 0x4496E3F4
CIRCUITPY_CREATION_ID = 0x00320024 CIRCUITPY_CREATION_ID = 0x00320024
IDF_TARGET = esp32
CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_ESP_FLASH_MODE=dio CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=40m CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1 CIRCUITPY_ESPCAMERA = 0
IDF_TARGET = esp32

View file

@ -7,8 +7,6 @@ CIRCUITPY_ESP_FLASH_MODE=qio
CIRCUITPY_ESP_FLASH_FREQ=80m CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_ESP_USB_SERIAL_JTAG = 1 CIRCUITPY_ESP_USB_SERIAL_JTAG = 1
# Not enough flash space. # Not enough flash space.

View file

@ -8,7 +8,3 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_BUILD_EXTENSIONS = bin

View file

@ -8,5 +8,3 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -10,5 +10,3 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_PSRAM_SIZE = 8MB CIRCUITPY_ESP_PSRAM_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_MODE = qio CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -10,5 +10,3 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_PSRAM_SIZE = 8MB CIRCUITPY_ESP_PSRAM_SIZE = 8MB
CIRCUITPY_ESP_PSRAM_MODE = qio CIRCUITPY_ESP_PSRAM_MODE = qio
CIRCUITPY_ESP_PSRAM_FREQ = 80m CIRCUITPY_ESP_PSRAM_FREQ = 80m
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -6,3 +6,6 @@ IDF_TARGET = esp32c6
CIRCUITPY_ESP_FLASH_MODE = qio CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
# Board was originally defined with a 2MB firmware, almost 2MB user filesystem. Leave it that way.
CIRCUITPY_4MB_FLASH_LARGE_USER_FS_LAYOUT = 1

View file

@ -152,8 +152,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) }, { MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO21) }, { MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO21) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, // UART - using TX RX on silkscreen
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) } { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

View file

@ -7,6 +7,4 @@ CIRCUITPY_ESP_FLASH_MODE = qio
CIRCUITPY_ESP_FLASH_FREQ = 80m CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1
CIRCUITPY_AUDIOMP3 = 0 CIRCUITPY_AUDIOMP3 = 0

View file

@ -8,5 +8,3 @@ CIRCUITPY_ESP_FLASH_FREQ = 80m
CIRCUITPY_ESP_FLASH_SIZE = 4MB CIRCUITPY_ESP_FLASH_SIZE = 4MB
CIRCUITPY_ESPCAMERA = 0 CIRCUITPY_ESPCAMERA = 0
CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT = 1

View file

@ -80,8 +80,9 @@ void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self, const mcu
} }
// We add one to the maxlen version to ensure that two symbols at lease are // We add one to the maxlen version to ensure that two symbols at lease are
// captured because we may skip the first portion of a symbol. // captured because we may skip the first portion of a symbol.
self->raw_symbols_size = MIN(64, maxlen / 2 + 1) * sizeof(rmt_symbol_word_t); self->raw_symbols_size = (maxlen / 2 + 1) * sizeof(rmt_symbol_word_t);
self->raw_symbols = (rmt_symbol_word_t *)m_malloc_without_collect(self->raw_symbols_size); // RMT DMA mode cannot access PSRAM -> ensure raw_symbols is in internal ram
self->raw_symbols = (rmt_symbol_word_t *)port_malloc(self->raw_symbols_size, true);
if (self->raw_symbols == NULL) { if (self->raw_symbols == NULL) {
m_free(self->buffer); m_free(self->buffer);
m_malloc_fail(self->raw_symbols_size); m_malloc_fail(self->raw_symbols_size);
@ -109,17 +110,26 @@ void common_hal_pulseio_pulsein_construct(pulseio_pulsein_obj_t *self, const mcu
.clk_src = RMT_CLK_SRC_DEFAULT, .clk_src = RMT_CLK_SRC_DEFAULT,
// 2 us resolution so we can capture 65ms pulses. The RMT period is only 15 bits. // 2 us resolution so we can capture 65ms pulses. The RMT period is only 15 bits.
.resolution_hz = 1000000 / 2, .resolution_hz = 1000000 / 2,
.mem_block_symbols = SOC_RMT_MEM_WORDS_PER_CHANNEL, .mem_block_symbols = self->raw_symbols_size,
.flags.with_dma = 1
}; };
// If we fail here, the buffers allocated above will be garbage collected. // If we fail here, the self->buffer will be garbage collected.
CHECK_ESP_RESULT(rmt_new_rx_channel(&config, &self->channel)); esp_err_t result = rmt_new_rx_channel(&config, &self->channel);
if (result != ESP_OK) {
port_free(self->raw_symbols);
raise_esp_error(result);
}
rmt_rx_event_callbacks_t rx_callback = { rmt_rx_event_callbacks_t rx_callback = {
.on_recv_done = _done_callback .on_recv_done = _done_callback
}; };
rmt_rx_register_event_callbacks(self->channel, &rx_callback, self); rmt_rx_register_event_callbacks(self->channel, &rx_callback, self);
rmt_enable(self->channel); rmt_enable(self->channel);
rmt_receive(self->channel, self->raw_symbols, self->raw_symbols_size, &rx_config); result = rmt_receive(self->channel, self->raw_symbols, self->raw_symbols_size, &rx_config);
if (result != ESP_OK) {
port_free(self->raw_symbols);
raise_esp_error(result);
}
} }
bool common_hal_pulseio_pulsein_deinited(pulseio_pulsein_obj_t *self) { bool common_hal_pulseio_pulsein_deinited(pulseio_pulsein_obj_t *self) {

View file

@ -0,0 +1,47 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2025 Lucian Copeland
//
// SPDX-License-Identifier: MIT
#include "shared-bindings/rclcpy/Node.h"
#include "shared-bindings/rclcpy/__init__.h"
#include "esp_log.h"
void common_hal_rclcpy_node_construct(rclcpy_node_obj_t *self,
const char *node_name, const char *node_namespace) {
rclc_node_init_default(&self->rcl_node, node_name, node_namespace, &rclcpy_default_context.rcl_support);
if (!rcl_node_is_valid(&self->rcl_node)) {
mp_raise_RuntimeError(MP_ERROR_TEXT("ROS node failed to initialize"));
}
self->deinited = false;
}
bool common_hal_rclcpy_node_deinited(rclcpy_node_obj_t *self) {
return self->deinited;
}
void common_hal_rclcpy_node_deinit(rclcpy_node_obj_t *self) {
if (common_hal_rclcpy_node_deinited(self)) {
return;
}
// Clean up Micro-ROS object
rcl_ret_t ret = rcl_node_fini(&self->rcl_node);
if (ret != RCL_RET_OK) {
// TODO: node_fini returns a fail here, but doesn't impede microros
// from restarting. Debug left for future investigation.
ESP_LOGW("RCLCPY", "Node cleanup error: %d", ret);
// rclcpy_default_context.critical_fail=RCLCPY_NODE_FAIL;
}
self->deinited = true;
}
const char *common_hal_rclcpy_node_get_name(rclcpy_node_obj_t *self) {
return rcl_node_get_name(&self->rcl_node);
}
const char *common_hal_rclcpy_node_get_namespace(rclcpy_node_obj_t *self) {
return rcl_node_get_namespace(&self->rcl_node);
}

View file

@ -0,0 +1,23 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2025 Lucian Copeland
//
// SPDX-License-Identifier: MIT
#pragma once
#include "py/obj.h"
#include "py/runtime.h"
#include <rcl/error_handling.h>
#include <rcl/rcl.h>
#include <rclc/executor.h>
#include <rclc/rclc.h>
#include <stdio.h>
typedef struct {
mp_obj_base_t base;
bool deinited;
rcl_node_t rcl_node;
} rclcpy_node_obj_t;

View file

@ -0,0 +1,64 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2025 Lucian Copeland
//
// SPDX-License-Identifier: MIT
#include "shared-bindings/rclcpy/Publisher.h"
#include "esp_log.h"
void common_hal_rclcpy_publisher_construct(rclcpy_publisher_obj_t *self, rclcpy_node_obj_t *node,
const char *topic_name) {
// Create Int32 type object
// TODO: support other message types through class imports
const rosidl_message_type_support_t *type_support = ROSIDL_GET_MSG_TYPE_SUPPORT(std_msgs, msg, Int32);
// Creates a reliable Int32 publisher
rcl_ret_t rc = rclc_publisher_init_default(
&self->rcl_publisher, &node->rcl_node,
type_support, topic_name);
if (RCL_RET_OK != rc) {
mp_raise_RuntimeError(MP_ERROR_TEXT("ROS topic failed to initialize"));
}
self->node = node;
}
bool common_hal_rclcpy_publisher_deinited(rclcpy_publisher_obj_t *self) {
return self->node == NULL;
}
void common_hal_rclcpy_publisher_deinit(rclcpy_publisher_obj_t *self) {
if (common_hal_rclcpy_publisher_deinited(self)) {
return;
}
// Clean up Micro-ROS object
rcl_ret_t ret = rcl_publisher_fini(&self->rcl_publisher, &self->node->rcl_node);
if (ret != RCL_RET_OK) {
// TODO: publisher_fini returns a fail here, but doesn't impede microros
// from restarting. Debug left for future investigation.
ESP_LOGW("RCLCPY", "Publisher cleanup error: %d", ret);
// rclcpy_default_context.critical_fail=RCLCPY_PUB_FAIL;
}
self->node = NULL;
}
void common_hal_rclcpy_publisher_publish_int32(rclcpy_publisher_obj_t *self, int32_t data) {
// Int32 message object
std_msgs__msg__Int32 msg;
// Set message value
msg.data = data;
// Publish message
rcl_ret_t rc = rcl_publish(&self->rcl_publisher, &msg, NULL);
if (RCL_RET_OK != rc) {
mp_raise_RuntimeError(MP_ERROR_TEXT("Could not publish to ROS topic"));
}
}
const char *common_hal_rclcpy_publisher_get_topic_name(rclcpy_publisher_obj_t *self) {
return rcl_publisher_get_topic_name(&self->rcl_publisher);
}

View file

@ -0,0 +1,26 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2025 Lucian Copeland
//
// SPDX-License-Identifier: MIT
#pragma once
#include "py/obj.h"
#include "common-hal/rclcpy/Node.h"
#include "common-hal/rclcpy/__init__.h"
#include <rcl/error_handling.h>
#include <rcl/rcl.h>
#include <rclc/executor.h>
#include <rclc/rclc.h>
#include <stdio.h>
#include <std_msgs/msg/int32.h>
typedef struct {
mp_obj_base_t base;
rclcpy_node_obj_t *node;
rcl_publisher_t rcl_publisher;
} rclcpy_publisher_obj_t;

View file

@ -0,0 +1,122 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2025 Lucian Copeland
//
// SPDX-License-Identifier: MIT
#include "shared-bindings/rclcpy/__init__.h"
#include "esp_log.h"
#define RCLCPY_SUPPORT_FAIL 1
#define RCLCPY_OPTIONS_FAIL 2
rclcpy_context_t rclcpy_default_context = {
.initialized = false,
.critical_fail = 0,
};
static void *microros_allocate(size_t size, void *state) {
(void)state;
return m_malloc(size);
}
static void microros_deallocate(void *pointer, void *state) {
(void)state;
m_free(pointer);
}
static void *microros_reallocate(void *pointer, size_t size, void *state) {
(void)state;
return m_realloc(pointer, size);
}
static void *microros_zero_allocate(size_t number_of_elements, size_t size_of_element, void *state) {
(void)state;
size_t total_size = number_of_elements * size_of_element;
void *ptr = m_malloc(total_size);
if (ptr != NULL) {
memset(ptr, 0, total_size);
}
return ptr;
}
void rclcpy_reset(void) {
if (rclcpy_default_context.initialized) {
// Clean up micro-ROS objects
rcl_ret_t ret = rclc_support_fini(&rclcpy_default_context.rcl_support);
if (ret != RCL_RET_OK) {
// ESP_LOGW("RCLCPY", "Support cleanup error: %d", ret);
rclcpy_default_context.critical_fail = RCLCPY_SUPPORT_FAIL;
}
ret = rcl_init_options_fini(&rclcpy_default_context.init_options);
if (ret != RCL_RET_OK) {
// ESP_LOGW("RCLCPY", "Init options cleanup error: %d", ret);
rclcpy_default_context.critical_fail = RCLCPY_OPTIONS_FAIL;
}
// Reset context state
memset(&rclcpy_default_context, 0, sizeof(rclcpy_default_context));
rclcpy_default_context.initialized = false;
}
}
void common_hal_rclcpy_init(const char *agent_ip, const char *agent_port, int16_t domain_id) {
if (rclcpy_default_context.critical_fail != 0) {
mp_raise_RuntimeError_varg(MP_ERROR_TEXT("Critical ROS failure during soft reboot, reset required: %d"), rclcpy_default_context.critical_fail);
}
// Set up circuitpython-friendly allocator
rcl_allocator_t custom_allocator = rcutils_get_zero_initialized_allocator();
custom_allocator.allocate = microros_allocate;
custom_allocator.deallocate = microros_deallocate;
custom_allocator.reallocate = microros_reallocate;
custom_allocator.zero_allocate = microros_zero_allocate;
if (!rcutils_set_default_allocator(&custom_allocator)) {
mp_raise_RuntimeError(MP_ERROR_TEXT("ROS memory allocator failure"));
}
rclcpy_default_context.rcl_allocator = custom_allocator;
rcl_ret_t ret;
// Micro-ROS options initialization
rclcpy_default_context.init_options = rcl_get_zero_initialized_init_options();
ret = rcl_init_options_init(&rclcpy_default_context.init_options, rclcpy_default_context.rcl_allocator);
if (ret != RCL_RET_OK) {
mp_raise_RuntimeError(MP_ERROR_TEXT("ROS internal setup failure"));
}
if (domain_id < 0) {
mp_raise_RuntimeError(MP_ERROR_TEXT("Invalid ROS domain ID"));
}
ret = rcl_init_options_set_domain_id(&rclcpy_default_context.init_options, domain_id);
if (ret != RCL_RET_OK) {
mp_raise_RuntimeError(MP_ERROR_TEXT("ROS internal setup failure"));
}
// Set up Micro-ROS Agent
rclcpy_default_context.rmw_options = rcl_init_options_get_rmw_init_options(&rclcpy_default_context.init_options);
ret = rmw_uros_options_set_udp_address(agent_ip, agent_port, rclcpy_default_context.rmw_options);
if (ret != RCL_RET_OK) {
mp_raise_RuntimeError(MP_ERROR_TEXT("ROS internal setup failure"));
}
// Final support object init requires a connected agent
ret = rclc_support_init_with_options(&rclcpy_default_context.rcl_support,
0,
NULL,
&rclcpy_default_context.init_options,
&rclcpy_default_context.rcl_allocator);
if (ret != RCL_RET_OK) {
mp_raise_RuntimeError(MP_ERROR_TEXT("ROS failed to initialize. Is agent connected?"));
} else {
rclcpy_default_context.initialized = true;
}
}
rclcpy_context_t *common_hal_rclcpy_get_default_context(void) {
return &rclcpy_default_context;
}
bool common_hal_rclcpy_default_context_is_initialized(void) {
return rclcpy_default_context.initialized;
}

View file

@ -0,0 +1,30 @@
// This file is part of the CircuitPython project: https://circuitpython.org
//
// SPDX-FileCopyrightText: Copyright (c) 2025 Lucian Copeland
//
// SPDX-License-Identifier: MIT
#pragma once
#include "py/obj.h"
#include "py/runtime.h"
#include <stdio.h>
#include <rcl/rcl.h>
#include <rcl/error_handling.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>
#include <rmw_microros/rmw_microros.h>
typedef struct {
bool initialized;
uint8_t critical_fail;
rcl_allocator_t rcl_allocator;
rclc_support_t rcl_support;
rcl_init_options_t init_options;
rmw_init_options_t *rmw_options;
} rclcpy_context_t;
extern rclcpy_context_t rclcpy_default_context;
void rclcpy_reset(void);

Some files were not shown because too many files have changed in this diff Show more