Merge remote-tracking branch 'upstream/main' into stm32-i2cstart
This commit is contained in:
commit
a061768ceb
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -18,6 +18,7 @@
|
||||
*.deb binary
|
||||
*.zip binary
|
||||
*.pdf binary
|
||||
*.wav binary
|
||||
|
||||
# These should also not be modified by git.
|
||||
tests/basics/string_cr_conversion.py -text
|
||||
|
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@ -208,6 +208,7 @@ jobs:
|
||||
- "datum_imu"
|
||||
- "datum_light"
|
||||
- "datum_weather"
|
||||
- "dynalora_usb"
|
||||
- "dynossat_edu_eps"
|
||||
- "dynossat_edu_obc"
|
||||
- "electronut_labs_blip"
|
||||
|
94
WEBUSB_README.md
Normal file
94
WEBUSB_README.md
Normal file
@ -0,0 +1,94 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
# WebUSB Serial Support
|
||||
|
||||
To date, this has only been tested on one port (esp32s2), on one board (espressif_kaluga_1).
|
||||
|
||||
## What it does
|
||||
|
||||
If you have ever used CircuitPython on a platform with a graphical LCD display, you have probably
|
||||
already seen multiple "consoles" in use (although the LCD console is "output only").
|
||||
|
||||
New compile-time option CIRCUITPY_USB_VENDOR enables an additional "console" that can be used in
|
||||
parallel with the original (CDC) serial console.
|
||||
|
||||
Web pages that support the WebUSB standard can connect to the "vendor" interface and activate
|
||||
this WebUSB serial console at any time.
|
||||
|
||||
You can type into either console, and CircuitPython output is sent to all active consoles.
|
||||
|
||||
One example of a web page you can use to test drive this feature can be found at:
|
||||
|
||||
https://adafruit.github.io/Adafruit_TinyUSB_Arduino/examples/webusb-serial/index.html
|
||||
|
||||
## How to enable
|
||||
|
||||
Update your platform's mpconfigboard.mk file to enable and disable specific types of USB interfaces.
|
||||
|
||||
CIRCUITPY_USB_HID = xxx
|
||||
CIRCUITPY_USB_MIDI = xxx
|
||||
CIRCUITPY_USB_VENDOR = xxx
|
||||
|
||||
On at least some of the hardware platforms, the maximum number of USB endpoints is fixed.
|
||||
For example, on the ESP32S2, you must pick only one of the above 3 interfaces to be enabled.
|
||||
|
||||
Original espressif_kaluga_1 mpconfigboard.mk settings:
|
||||
|
||||
CIRCUITPY_USB_HID = 1
|
||||
CIRCUITPY_USB_MIDI = 0
|
||||
CIRCUITPY_USB_VENDOR = 0
|
||||
|
||||
Settings to enable WebUSB instead:
|
||||
|
||||
CIRCUITPY_USB_HID = 0
|
||||
CIRCUITPY_USB_MIDI = 0
|
||||
CIRCUITPY_USB_VENDOR = 1
|
||||
|
||||
Notice that to enable VENDOR on ESP32-S2, we had to give up HID. There may be platforms that can have both, or even all three.
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
CircuitPython uses the tinyusb library.
|
||||
|
||||
The tinyusb library already has support for WebUSB serial.
|
||||
The tinyusb examples already include a "WebUSB serial" example.
|
||||
|
||||
Sidenote - The use of the term "vendor" instead of "WebUSB" was done to match tinyusb.
|
||||
|
||||
Basically, this feature was ported into CircuitPython by pulling code snippets out of the
|
||||
tinyusb example, and putting them where they best belonged in the CircuitPython codebase.
|
||||
|
||||
There was one complication:
|
||||
|
||||
tinyusb uses C preprocessor macros to define things like USB descriptors.
|
||||
|
||||
CircuitPython uses a Python program (tools/gen_usb_descriptor.py) to create USB descriptors (etc.)
|
||||
using "helper objects" from another repo (adafruit_usb_descriptor). This means some of the example
|
||||
code had to be adapted to the new programing model, and gen_usb_descriptor gained new command-line
|
||||
options to control the generated code.
|
||||
|
||||
The generated files go into the "build" directory, look for autogen_usb_descriptor.c and
|
||||
genhdr/autogen_usb_descriptor.h.
|
||||
|
||||
|
||||
Also worth pointing out - the re-use of the CDC connect/disconnect mechanism is not actually part
|
||||
of the WebUSB standard, it's more of "common idiom". We make use of it here because we need to know
|
||||
when we should be paying attention to the WebUSB serial interface, and when we should ignore it..
|
||||
|
||||
## Possible future work areas
|
||||
|
||||
The current code uses the existing Python infrastructure to create the Interface descriptor, but
|
||||
simply outputs the code snippets from the original tinyusb demo code to create the WEBUSB_URL,
|
||||
BOS, and MS_OS_20 descriptors. I suppose additional work could be done to add these to the
|
||||
adafruit_usb_descriptor project, and then gen_usb_descriptor.py could be modified to make use
|
||||
of them.
|
||||
|
||||
Program gen_usb_descriptor.py creates objects for most interface types, regardless of whether or
|
||||
not they are actually enabled. This increases the size of a generated string table. I made the
|
||||
new vendor-interface-related code not do this (because some of the ARM platforms would no longer
|
||||
build), but I did not go back and do this for the other interface types (CDC, MIDI, HID, etc.)
|
||||
Some FLASH savings are probably possible if this is done.
|
@ -46,6 +46,7 @@ Full Table of Contents
|
||||
../BUILDING
|
||||
../CODE_OF_CONDUCT
|
||||
../license.rst
|
||||
../WEBUSB_README
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
201
locale/ID.po
201
locale/ID.po
@ -344,6 +344,10 @@ msgstr "Semua perangkat UART sedang digunakan"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Semua channel event sedang digunakan"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Semua channel event yang disinkronisasi sedang digunakan"
|
||||
@ -392,6 +396,7 @@ msgstr "AnalogIn tidak didukung pada pin yang diberikan"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "fungsionalitas AnalogOut tidak didukung"
|
||||
|
||||
@ -593,6 +598,7 @@ msgstr "Tidak dapat menghapus nilai"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Tidak bisa mendapatkan pull pada saat mode output"
|
||||
|
||||
@ -636,6 +642,10 @@ msgstr ""
|
||||
"Tidak dapat melakukan reset ke bootloader karena tidak ada bootloader yang "
|
||||
"terisi"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "Tidak dapat menetapkan nilai saat arah input."
|
||||
@ -878,11 +888,12 @@ msgstr "Channel EXTINT sedang digunakan"
|
||||
msgid "Error in regex"
|
||||
msgstr "Error pada regex"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -936,7 +947,7 @@ msgstr "FFT didefinisikan hanya untuk ndarrays"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1064,6 +1075,10 @@ msgstr "operasi I/O pada file tertutup"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "Gagal Inisialisasi I2C"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
@ -1089,6 +1104,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "Ukuran penyangga salah"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
@ -1101,6 +1120,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr "Kesalahan input/output"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Otentikasi tidak cukup"
|
||||
@ -1152,7 +1196,7 @@ msgstr "Pin DAC yang diberikan tidak valid"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Frekuensi PWM tidak valid"
|
||||
|
||||
@ -1246,6 +1290,8 @@ msgstr "Pin untuk channel kanan tidak valid"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Pin-pin tidak valid"
|
||||
|
||||
@ -1274,7 +1320,7 @@ msgstr "security_mode tidak valid"
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1282,10 +1328,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "Suara tidak valid"
|
||||
@ -1302,10 +1344,6 @@ msgstr "File wave tidak valid"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "Panjang kata/bit tidak valid"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "Panjang kunci harus 16, 24, atau 32 byte"
|
||||
@ -1367,6 +1405,36 @@ msgstr "Penundaan mulai mikrofon harus dalam kisaran 0,0 hingga 1,0"
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "Tidak menemukan Pin MISO atau MOSI"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Harus berupa subclass %q."
|
||||
@ -1420,14 +1488,14 @@ msgstr "Tidak ada Pin MOSI"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Tidak pin RX"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Tidak ada pin TX"
|
||||
|
||||
@ -1484,6 +1552,16 @@ msgstr "Tidak ada lagi penghitung waktu yang tersedia pada pin ini."
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "Tidak ada pull-down pada pin; 1Mohm direkomendasikan"
|
||||
@ -1541,6 +1619,10 @@ msgstr "Parity ganjil tidak didukung"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Hanya 8 atau 16 bit mono dengan "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1594,7 +1676,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1619,6 +1701,7 @@ msgstr ""
|
||||
"konstruksi."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "ParallelBus belum didukung"
|
||||
@ -1631,11 +1714,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr "Izin ditolak"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Pin tidak mempunya kemampuan untuk ADC (Analog Digital Converter)"
|
||||
@ -1699,10 +1791,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Pull tidak digunakan saat arah output."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "Kesalahan DeInit RNG"
|
||||
@ -1711,6 +1827,10 @@ msgstr "Kesalahan DeInit RNG"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "Kesalahan Init RNG"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1718,6 +1838,7 @@ msgstr "Pembalikan RS485 ditentukan saat tidak dalam mode RS485"
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "Kalibrasi RTC tidak didukung pada board ini"
|
||||
|
||||
@ -1726,7 +1847,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "RTC tidak didukung di board ini"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "RTS/CTS/RS485 Belum didukung pada perangkat ini"
|
||||
|
||||
@ -1784,11 +1905,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA atau SCL membutuhkan pull up"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1807,6 +1923,10 @@ msgstr "Kesalahan Init SPI"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "Kesalahan Inisialisasi ulang SPI"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Tingkat sampel harus positif"
|
||||
@ -1837,6 +1957,14 @@ msgstr "Serializer sedang digunakan"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -2009,6 +2137,10 @@ msgstr "Kesalahan Init UART"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "Kesalahan Re-init UART"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "Kesalahan penulisan UART"
|
||||
@ -2072,7 +2204,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Tipe urf nrfx tak sesuai"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2115,7 +2247,8 @@ msgstr ""
|
||||
"perangkat lain ditolak atau diabaikan."
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Baudrate tidak didukung"
|
||||
|
||||
@ -2167,6 +2300,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "PERINGATAN: Nama file kode anda mempunyai dua ekstensi\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2379,7 +2513,7 @@ msgstr ""
|
||||
msgid "buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3540,6 +3674,10 @@ msgstr "Muncul dari PulseIn yang kosong"
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr ""
|
||||
@ -3556,6 +3694,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3573,6 +3712,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "antrian meluap (overflow)"
|
||||
@ -3776,6 +3923,7 @@ msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
|
||||
@ -4059,6 +4207,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA atau SCL membutuhkan pull up"
|
||||
|
||||
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||
#~ msgstr "pin alamat %d dan pin rgb %d menunjukkan tinggi %d, bukan %d"
|
||||
|
||||
|
@ -363,6 +363,7 @@ msgstr ""
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseIn.c ports/nrf/peripherals/nrf/timers.c
|
||||
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
|
||||
#: ports/stm/peripherals/timers.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "All timers in use"
|
||||
msgstr ""
|
||||
@ -629,6 +630,10 @@ msgstr ""
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr ""
|
||||
@ -865,7 +870,7 @@ msgstr ""
|
||||
msgid "Error in regex"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
@ -924,7 +929,7 @@ msgstr ""
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1295,7 +1300,7 @@ msgstr ""
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1303,10 +1308,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr ""
|
||||
@ -1323,10 +1324,6 @@ msgstr ""
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr ""
|
||||
@ -1450,9 +1447,14 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
|
||||
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
|
||||
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "No DMA channel found"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "No DMA pacing timer found"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/adafruit_bus_device/I2CDevice.c
|
||||
#, c-format
|
||||
msgid "No I2C device at address: %x"
|
||||
@ -1539,6 +1541,12 @@ msgstr ""
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr ""
|
||||
@ -1647,7 +1655,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1722,6 +1730,10 @@ msgid ""
|
||||
"constructor"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Pins must share PWM slice"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinhelp.c
|
||||
msgid "Plus any modules on the filesystem\n"
|
||||
msgstr ""
|
||||
@ -1793,6 +1805,10 @@ msgstr ""
|
||||
msgid "RNG Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1800,6 +1816,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
@ -1808,7 +1825,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
@ -1865,12 +1882,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1962,6 +1973,14 @@ msgstr ""
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Stereo left must be on PWM channel A"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Stereo right must be on PWM channel B"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/multiterminal/__init__.c
|
||||
msgid "Stream missing readinto() or write() method."
|
||||
msgstr ""
|
||||
@ -2125,6 +2144,7 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
|
||||
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
|
||||
#: ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
|
||||
msgid "Unable to allocate buffers for signed conversion"
|
||||
msgstr ""
|
||||
|
||||
@ -2162,7 +2182,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2461,7 +2481,7 @@ msgstr ""
|
||||
msgid "buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3621,6 +3641,10 @@ msgstr ""
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr ""
|
||||
|
198
locale/cs.po
198
locale/cs.po
@ -342,6 +342,10 @@ msgstr ""
|
||||
msgid "All event channels in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr ""
|
||||
@ -390,6 +394,7 @@ msgstr ""
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr ""
|
||||
|
||||
@ -589,6 +594,7 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr ""
|
||||
|
||||
@ -626,6 +632,10 @@ msgstr ""
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr ""
|
||||
@ -862,11 +872,12 @@ msgstr ""
|
||||
msgid "Error in regex"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -920,7 +931,7 @@ msgstr ""
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1048,6 +1059,10 @@ msgstr ""
|
||||
msgid "I2C Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
@ -1071,6 +1086,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
@ -1083,6 +1102,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr ""
|
||||
@ -1134,7 +1178,7 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr ""
|
||||
|
||||
@ -1228,6 +1272,8 @@ msgstr ""
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr ""
|
||||
|
||||
@ -1256,7 +1302,7 @@ msgstr ""
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1264,10 +1310,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr ""
|
||||
@ -1284,10 +1326,6 @@ msgstr ""
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr ""
|
||||
@ -1349,6 +1387,36 @@ msgstr ""
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
@ -1402,14 +1470,14 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr ""
|
||||
|
||||
@ -1466,6 +1534,16 @@ msgstr ""
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr ""
|
||||
@ -1521,6 +1599,10 @@ msgstr ""
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1570,7 +1652,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1593,6 +1675,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr ""
|
||||
@ -1605,11 +1688,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr ""
|
||||
@ -1670,10 +1762,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr ""
|
||||
@ -1682,6 +1798,10 @@ msgstr ""
|
||||
msgid "RNG Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1689,6 +1809,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
@ -1697,7 +1818,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
@ -1754,11 +1875,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1777,6 +1893,10 @@ msgstr ""
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr ""
|
||||
@ -1807,6 +1927,14 @@ msgstr ""
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -1971,6 +2099,10 @@ msgstr ""
|
||||
msgid "UART Re-init error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr ""
|
||||
@ -2034,7 +2166,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2075,7 +2207,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr ""
|
||||
|
||||
@ -2126,6 +2259,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2331,7 +2465,7 @@ msgstr ""
|
||||
msgid "buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3491,6 +3625,10 @@ msgstr ""
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr ""
|
||||
@ -3507,6 +3645,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3524,6 +3663,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr ""
|
||||
@ -3727,6 +3874,7 @@ msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
|
||||
|
259
locale/de_DE.po
259
locale/de_DE.po
@ -6,14 +6,14 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-01-07 18:01+0000\n"
|
||||
"Last-Translator: Dennis Schweer <dennis.schweer@ruhr-uni-bochum.de>\n"
|
||||
"PO-Revision-Date: 2021-02-05 15:41+0000\n"
|
||||
"Last-Translator: Jeff Epler <jepler@gmail.com>\n"
|
||||
"Language: de_DE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.4.1-dev\n"
|
||||
"X-Generator: Weblate 4.5-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -120,7 +120,8 @@ msgstr "%q sollte ein integer sein"
|
||||
|
||||
#: py/bc.c py/objnamedtuple.c
|
||||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben"
|
||||
msgstr ""
|
||||
"%q() nimmt %d Argumente ohne Schlüsselwort an, aber es wurden %d angegeben"
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
@ -235,7 +236,7 @@ msgstr "'await' außerhalb einer Funktion"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "'await', 'async for' or 'async with' outside async function"
|
||||
msgstr ""
|
||||
msgstr "'await', 'async for' oder 'async with' außerhalb einer async Funktion"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "'break' outside loop"
|
||||
@ -267,7 +268,7 @@ msgstr "'return' außerhalb einer Funktion"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "'yield from' inside async function"
|
||||
msgstr ""
|
||||
msgstr "'yield from' innerhalb einer async Funktion"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "'yield' outside function"
|
||||
@ -313,7 +314,7 @@ msgstr "Adresstyp außerhalb des zulässigen Bereichs"
|
||||
|
||||
#: ports/esp32s2/common-hal/canio/CAN.c
|
||||
msgid "All CAN peripherals are in use"
|
||||
msgstr ""
|
||||
msgstr "Alle CAN Schnittstellen sind in Benutzung"
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "All I2C peripherals are in use"
|
||||
@ -329,7 +330,7 @@ msgstr "Alle PCNT Einheiten sind in Benutzung"
|
||||
#: ports/esp32s2/common-hal/canio/Listener.c
|
||||
#: ports/stm/common-hal/canio/Listener.c
|
||||
msgid "All RX FIFOs in use"
|
||||
msgstr ""
|
||||
msgstr "Alle RX FIFOs sind in Benutzung"
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
|
||||
msgid "All SPI peripherals are in use"
|
||||
@ -343,6 +344,10 @@ msgstr "Alle UART-Peripheriegeräte sind in Benutzung"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Alle event Kanäle werden benutzt"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Alle sync event Kanäle werden benutzt"
|
||||
@ -391,6 +396,7 @@ msgstr "AnalogIn ist an diesem Pin nicht unterstützt"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "AnalogOut-Funktion wird nicht unterstützt"
|
||||
|
||||
@ -536,7 +542,7 @@ msgstr "Puffer zu groß und kann nicht reserviert werden"
|
||||
#: shared-bindings/_bleio/PacketBuffer.c
|
||||
#, c-format
|
||||
msgid "Buffer too short by %d bytes"
|
||||
msgstr "Buffer um %d Bytes zu kurz"
|
||||
msgstr "Puffer um %d Bytes zu kurz"
|
||||
|
||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||
@ -594,6 +600,7 @@ msgstr "Kann Werte nicht löschen"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Pull up im Ausgabemodus nicht möglich"
|
||||
|
||||
@ -632,6 +639,10 @@ msgstr "Kann '/' nicht remounten when USB aktiv ist."
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr "Reset zum bootloader nicht möglich da bootloader nicht vorhanden."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "Der Wert kann nicht gesetzt werden, wenn die Richtung input ist."
|
||||
@ -685,7 +696,7 @@ msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "CircuitPython was unable to allocate the heap.\n"
|
||||
msgstr ""
|
||||
msgstr "CircuitPython war es nicht möglich heap-Speicher zu allozieren.\n"
|
||||
|
||||
#: shared-module/bitbangio/SPI.c
|
||||
msgid "Clock pin init failed."
|
||||
@ -763,7 +774,7 @@ msgstr "PWM konnte nicht neu gestartet werden"
|
||||
|
||||
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
|
||||
msgid "Could not retrieve clock"
|
||||
msgstr ""
|
||||
msgstr "Clock konnte nicht ermittelt werden"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Could not set address"
|
||||
@ -801,7 +812,7 @@ msgstr "Absturz in den HardFault_Handler."
|
||||
|
||||
#: ports/stm/common-hal/analogio/AnalogOut.c
|
||||
msgid "DAC Channel Init Error"
|
||||
msgstr "DAC Kanal Intialisierungs Fehler"
|
||||
msgstr "DAC Kanal Initialisierungsfehler"
|
||||
|
||||
#: ports/stm/common-hal/analogio/AnalogOut.c
|
||||
msgid "DAC Device Init Error"
|
||||
@ -874,11 +885,12 @@ msgstr "EXTINT Kanal ist schon in Benutzung"
|
||||
msgid "Error in regex"
|
||||
msgstr "Fehler in regex"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -933,7 +945,7 @@ msgstr "FFT ist nur für ndarrays definiert"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr "FFT ist nur für lineare Arrays implementiert"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr "SSL Handshake fehlgeschlagen"
|
||||
|
||||
@ -966,7 +978,7 @@ msgstr "Zuweisung des Wifi Speichers ist fehlgeschlagen"
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
|
||||
msgid "Failed to allocate wifi scan memory"
|
||||
msgstr ""
|
||||
msgstr "Zuweisung des Wifi Scan Speichers ist fehlgeschlagen"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||
msgid "Failed to connect: internal error"
|
||||
@ -982,7 +994,7 @@ msgstr "Wifi Initialisierung ist fehlgeschlagen"
|
||||
|
||||
#: shared-module/audiomp3/MP3Decoder.c
|
||||
msgid "Failed to parse MP3 file"
|
||||
msgstr "Parsen der MP3 Datei fehlgeschlagen"
|
||||
msgstr "MP3-Datei konnte nicht analysiert werden"
|
||||
|
||||
#: ports/nrf/sd_mutex.c
|
||||
#, c-format
|
||||
@ -1005,7 +1017,7 @@ msgstr "Filter zu komplex"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
msgstr "Firmware Image ist ungültig"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
@ -1063,6 +1075,10 @@ msgstr "Lese/Schreibe-operation an geschlossener Datei"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "I2C-Init-Fehler"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut nicht verfügbar"
|
||||
@ -1088,6 +1104,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "Inkorrekte Puffergröße"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr "Initialisierung aufgrund von Speichermangel fehlgeschlagen"
|
||||
@ -1100,6 +1120,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr "Eingabe-/Ausgabefehler"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Unzureichende Authentifizierung"
|
||||
@ -1151,7 +1196,7 @@ msgstr "Ungültiger DAC-Pin angegeben"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Ungültige PWM Frequenz"
|
||||
|
||||
@ -1245,6 +1290,8 @@ msgstr "Ungültiger Pin für rechten Kanal"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Ungültige Pins"
|
||||
|
||||
@ -1273,7 +1320,7 @@ msgstr "Ungültiger security_mode"
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1281,10 +1328,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "Ungültige Stimme"
|
||||
@ -1301,10 +1344,6 @@ msgstr "Ungültige wave Datei"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "Ungültige Wort- / Bitlänge"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "Der Schlüssel muss 16, 24 oder 32 Byte lang sein"
|
||||
@ -1368,6 +1407,36 @@ msgstr ""
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "Fehlender MISO- oder MOSI-Pin"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Muss eine %q Unterklasse sein."
|
||||
@ -1421,14 +1490,14 @@ msgstr "Kein MOSI Pin"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Kein RX Pin"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Kein TX Pin"
|
||||
|
||||
@ -1485,6 +1554,16 @@ msgstr "An diesem Pin sind keine Timer mehr verfügbar."
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "Kein Pulldown Widerstand am Pin; 1Mohm wird vorgeschlagen"
|
||||
@ -1542,6 +1621,10 @@ msgstr "Eine ungerade Parität wird nicht unterstützt"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Nur 8 oder 16 bit mono mit "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1595,7 +1678,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1618,6 +1701,7 @@ msgid ""
|
||||
msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "ParallelBus wird noch nicht unterstützt"
|
||||
@ -1630,11 +1714,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr "Zugang verweigert"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Pin hat keine ADC Funktionalität"
|
||||
@ -1698,10 +1791,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Pull wird nicht verwendet, wenn die Richtung output ist."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "RNG DeInit-Fehler"
|
||||
@ -1710,6 +1827,10 @@ msgstr "RNG DeInit-Fehler"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "RNG Init Fehler"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1717,6 +1838,7 @@ msgstr "RS485-Inversion angegeben, wenn nicht im RS485-Modus"
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "Die RTC-Kalibrierung wird auf diesem Board nicht unterstützt"
|
||||
|
||||
@ -1725,7 +1847,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "Eine RTC wird auf diesem Board nicht unterstützt"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "RTS / CTS / RS485 Wird von diesem Gerät noch nicht unterstützt"
|
||||
|
||||
@ -1782,11 +1904,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA oder SCL brauchen pull up"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1805,6 +1922,10 @@ msgstr "SPI-Init-Fehler"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "SPI-Neuinitialisierungsfehler"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Abtastrate muss positiv sein"
|
||||
@ -1835,6 +1956,14 @@ msgstr "Serializer wird benutzt"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -2013,6 +2142,10 @@ msgstr "UART Init Fehler"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "UART Re-Init-Fehler"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "UART-Schreibfehler"
|
||||
@ -2076,7 +2209,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Unerwarteter nrfx uuid-Typ"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2121,7 +2254,8 @@ msgstr ""
|
||||
"Eingabeaufforderung auf dem anderen Gerät abgelehnt oder ignoriert."
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Baudrate wird nicht unterstützt"
|
||||
|
||||
@ -2173,6 +2307,7 @@ msgstr ""
|
||||
"WARNUNG: Der Dateiname deines Programms hat zwei Dateityperweiterungen\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2388,7 +2523,7 @@ msgstr "Puffersegmente müssen gleich lang sein"
|
||||
msgid "buffer too small"
|
||||
msgstr "Der Puffer ist zu klein"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -2769,7 +2904,7 @@ msgstr "erwarte tuple/list"
|
||||
|
||||
#: py/modthread.c
|
||||
msgid "expecting a dict for keyword args"
|
||||
msgstr "erwarte ein dict als Keyword-Argumente"
|
||||
msgstr "erwarte ein dict als Schlüsselwort-Argumente"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "expecting an assembler instruction"
|
||||
@ -2789,11 +2924,11 @@ msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "extra keyword arguments given"
|
||||
msgstr "Es wurden zusätzliche Keyword-Argumente angegeben"
|
||||
msgstr "Es wurden zusätzliche Schlüsselwort-Argumente angegeben"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "extra positional arguments given"
|
||||
msgstr "Es wurden zusätzliche Argumente ohne Keyword angegeben"
|
||||
msgstr "Es wurden zusätzliche Argumente ohne Schlüsselwort angegeben"
|
||||
|
||||
#: py/parse.c
|
||||
msgid "f-string expression part cannot include a '#'"
|
||||
@ -2874,7 +3009,7 @@ msgstr "voll"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "function does not take keyword arguments"
|
||||
msgstr "Funktion akzeptiert keine Keyword-Argumente"
|
||||
msgstr "Funktion akzeptiert keine Schlüsselwort-Argumente"
|
||||
|
||||
#: py/argcheck.c
|
||||
#, c-format
|
||||
@ -2896,26 +3031,27 @@ msgstr ""
|
||||
#: py/argcheck.c
|
||||
#, c-format
|
||||
msgid "function missing %d required positional arguments"
|
||||
msgstr "Funktion vermisst %d benötigte Argumente ohne Keyword"
|
||||
msgstr "Funktion vermisst %d benötigte Argumente ohne Schlüsselwort"
|
||||
|
||||
#: py/bc.c
|
||||
msgid "function missing keyword-only argument"
|
||||
msgstr "Funktion vermisst Keyword-only-Argument"
|
||||
msgstr "Funktion vermisst Nur-Schlüsselwort-Argument"
|
||||
|
||||
#: py/bc.c
|
||||
msgid "function missing required keyword argument '%q'"
|
||||
msgstr "Funktion vermisst benötigtes Keyword-Argumente '%q'"
|
||||
msgstr "Funktion vermisst benötigtes Schlüsselwort-Argumente '%q'"
|
||||
|
||||
#: py/bc.c
|
||||
#, c-format
|
||||
msgid "function missing required positional argument #%d"
|
||||
msgstr "Funktion vermisst benötigtes Argumente ohne Keyword #%d"
|
||||
msgstr "Funktion vermisst benötigtes Argumente ohne Schlüsselwort #%d"
|
||||
|
||||
#: py/argcheck.c py/bc.c py/objnamedtuple.c shared-bindings/time/__init__.c
|
||||
#, c-format
|
||||
msgid "function takes %d positional arguments but %d were given"
|
||||
msgstr ""
|
||||
"Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben"
|
||||
"Funktion nimmt %d Argumente ohne Schlüsselwort an, aber es wurden %d "
|
||||
"angegeben"
|
||||
|
||||
#: shared-bindings/time/__init__.c
|
||||
msgid "function takes exactly 9 arguments"
|
||||
@ -3145,8 +3281,8 @@ msgstr ""
|
||||
#: py/argcheck.c
|
||||
msgid "keyword argument(s) not yet implemented - use normal args instead"
|
||||
msgstr ""
|
||||
"Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen "
|
||||
"normale Argumente"
|
||||
"Schlüsselwort-Argument(e) noch nicht implementiert - verwenden Sie "
|
||||
"stattdessen normale Argumente"
|
||||
|
||||
#: py/bc.c
|
||||
msgid "keywords must be strings"
|
||||
@ -3571,6 +3707,10 @@ msgstr "pop von einem leeren PulseIn"
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "pow() drittes Argument darf nicht 0 sein"
|
||||
@ -3587,6 +3727,7 @@ msgstr "pow () mit 3 Argumenten erfordert Integer"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3604,6 +3745,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "Warteschlangenüberlauf"
|
||||
@ -3810,6 +3959,7 @@ msgstr "time.struct_time() nimmt eine 9-Sequenz an"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr "Das Zeitlimit hat den maximal zulässigen Wert überschritten"
|
||||
|
||||
@ -3926,11 +4076,11 @@ msgstr ""
|
||||
|
||||
#: py/bc.c
|
||||
msgid "unexpected keyword argument"
|
||||
msgstr "unerwartetes Keyword-Argument"
|
||||
msgstr "unerwartetes Schlüsselwort-Argument"
|
||||
|
||||
#: py/bc.c py/objnamedtuple.c
|
||||
msgid "unexpected keyword argument '%q'"
|
||||
msgstr "unerwartetes Keyword-Argument '%q'"
|
||||
msgstr "unerwartetes Schlüsselwort-Argument '%q'"
|
||||
|
||||
#: py/lexer.c
|
||||
msgid "unicode name escapes"
|
||||
@ -4096,6 +4246,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA oder SCL brauchen pull up"
|
||||
|
||||
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||
#~ msgstr ""
|
||||
#~ "%d Adress-Pins und %d rgb-Pins zeigen eine Höhe von %d, nicht von %d"
|
||||
|
198
locale/el.po
198
locale/el.po
@ -339,6 +339,10 @@ msgstr ""
|
||||
msgid "All event channels in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr ""
|
||||
@ -387,6 +391,7 @@ msgstr ""
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr ""
|
||||
|
||||
@ -586,6 +591,7 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr ""
|
||||
|
||||
@ -623,6 +629,10 @@ msgstr ""
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr ""
|
||||
@ -859,11 +869,12 @@ msgstr ""
|
||||
msgid "Error in regex"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -917,7 +928,7 @@ msgstr ""
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1045,6 +1056,10 @@ msgstr ""
|
||||
msgid "I2C Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
@ -1068,6 +1083,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
@ -1080,6 +1099,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr ""
|
||||
@ -1131,7 +1175,7 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr ""
|
||||
|
||||
@ -1225,6 +1269,8 @@ msgstr ""
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr ""
|
||||
|
||||
@ -1253,7 +1299,7 @@ msgstr ""
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1261,10 +1307,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr ""
|
||||
@ -1281,10 +1323,6 @@ msgstr ""
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr ""
|
||||
@ -1346,6 +1384,36 @@ msgstr ""
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
@ -1399,14 +1467,14 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr ""
|
||||
|
||||
@ -1463,6 +1531,16 @@ msgstr ""
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr ""
|
||||
@ -1518,6 +1596,10 @@ msgstr ""
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1567,7 +1649,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1590,6 +1672,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr ""
|
||||
@ -1602,11 +1685,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr ""
|
||||
@ -1667,10 +1759,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr ""
|
||||
@ -1679,6 +1795,10 @@ msgstr ""
|
||||
msgid "RNG Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1686,6 +1806,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
@ -1694,7 +1815,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
@ -1751,11 +1872,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1774,6 +1890,10 @@ msgstr ""
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr ""
|
||||
@ -1804,6 +1924,14 @@ msgstr ""
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -1968,6 +2096,10 @@ msgstr ""
|
||||
msgid "UART Re-init error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr ""
|
||||
@ -2031,7 +2163,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2072,7 +2204,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr ""
|
||||
|
||||
@ -2123,6 +2256,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2328,7 +2462,7 @@ msgstr ""
|
||||
msgid "buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3488,6 +3622,10 @@ msgstr ""
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr ""
|
||||
@ -3504,6 +3642,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3521,6 +3660,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr ""
|
||||
@ -3724,6 +3871,7 @@ msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
|
||||
|
223
locale/es.po
223
locale/es.po
@ -8,27 +8,31 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2020-12-30 22:25+0000\n"
|
||||
"Last-Translator: Hugo Dahl <hugo@code-jedi.com>\n"
|
||||
"PO-Revision-Date: 2021-02-08 21:21+0000\n"
|
||||
"Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.4.1-dev\n"
|
||||
"X-Generator: Weblate 4.5-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code done running.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"El código terminó de ejecutar.\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"El código fue detenido por el auto-reiniciado.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -50,7 +54,7 @@ msgstr " Archivo \"%q\", línea %d"
|
||||
|
||||
#: py/builtinhelp.c
|
||||
msgid " is of type %q\n"
|
||||
msgstr ""
|
||||
msgstr " es de tipo %q\n"
|
||||
|
||||
#: main.c
|
||||
msgid " output:\n"
|
||||
@ -126,7 +130,7 @@ msgstr "%q() toma %d argumentos posicionales pero %d fueron dados"
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
msgstr ""
|
||||
msgstr "%s error 0x%x"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "'%q' argument required"
|
||||
@ -292,7 +296,7 @@ msgstr "pow() con 3 argumentos no soportado"
|
||||
|
||||
#: shared-module/msgpack/__init__.c
|
||||
msgid "64 bit types"
|
||||
msgstr ""
|
||||
msgstr "tipos de 64 bit"
|
||||
|
||||
#: ports/atmel-samd/common-hal/countio/Counter.c
|
||||
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
|
||||
@ -344,6 +348,10 @@ msgstr "Todos los periféricos UART están siendo usados"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Todos los canales de eventos estan siendo usados"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr "Todas las máquinas de estado en uso"
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr ""
|
||||
@ -394,6 +402,7 @@ msgstr "El pin proporcionado no soporta AnalogIn"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "Funcionalidad AnalogOut no soportada"
|
||||
|
||||
@ -562,7 +571,7 @@ msgstr "Los bloques CBC deben ser múltiplos de 16 bytes"
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
msgid "CRC or checksum was invalid"
|
||||
msgstr ""
|
||||
msgstr "CRC o suma de comprobación inválida"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "Call super().__init__() before accessing native object."
|
||||
@ -597,6 +606,7 @@ msgstr "No se puede eliminar valores"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "No puede ser pull mientras este en modo de salida"
|
||||
|
||||
@ -636,6 +646,10 @@ msgstr "No se puede volver a montar '/' cuando el USB esta activo."
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr "No se puede reiniciar a bootloader porque no hay bootloader presente."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr "No se pueden definir opciones para enchufe"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "No se puede asignar un valor cuando la dirección es input."
|
||||
@ -876,11 +890,12 @@ msgstr "El canal EXTINT ya está siendo utilizado"
|
||||
msgid "Error in regex"
|
||||
msgstr "Error en regex"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -934,7 +949,7 @@ msgstr "FFT se define solo para ndarrays"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr "FFT solo esta implementado para arrays lineales"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr "Fallo en saludo SSL"
|
||||
|
||||
@ -1006,7 +1021,7 @@ msgstr "Filtros muy complejos"
|
||||
|
||||
#: ports/esp32s2/common-hal/dualbank/__init__.c
|
||||
msgid "Firmware image is invalid"
|
||||
msgstr ""
|
||||
msgstr "La imagen de firmware es inválida"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Format not supported"
|
||||
@ -1029,7 +1044,7 @@ msgstr "La función requiere lock"
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
msgid "Generic Failure"
|
||||
msgstr ""
|
||||
msgstr "Fallo Genérico"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/displayio/EPaperDisplay.c
|
||||
@ -1063,6 +1078,10 @@ msgstr "Operación I/O en archivo cerrado"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "I2C Error de inicio"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr "Dispositivo I2C en uso"
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut no disponible"
|
||||
@ -1088,6 +1107,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "Tamaño incorrecto del buffer"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr "Inicializacion fallida por falta de memoria"
|
||||
@ -1100,6 +1123,31 @@ msgstr "La entrada está durando mucho tiempo"
|
||||
msgid "Input/output error"
|
||||
msgstr "error Input/output"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Autenticación insuficiente"
|
||||
@ -1151,7 +1199,7 @@ msgstr "Pin suministrado inválido para DAC"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Frecuencia PWM inválida"
|
||||
|
||||
@ -1245,6 +1293,8 @@ msgstr "Pin inválido para canal derecho"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "pines inválidos"
|
||||
|
||||
@ -1273,7 +1323,7 @@ msgstr "'security_mode' no válido"
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1281,10 +1331,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "Voz inválida"
|
||||
@ -1301,10 +1347,6 @@ msgstr "Archivo wave inválido"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "Tamaño no válido de palabra/bit"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "La llave debe tener 16, 24 o 32 bytes de longitud"
|
||||
@ -1366,6 +1408,36 @@ msgstr "Micrófono demora de inicio debe estar en el rango 0.0 a 1.0"
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "Falta el pin MISO o MOSI"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Debe de ser una subclase de %q."
|
||||
@ -1419,14 +1491,14 @@ msgstr "Sin pin MOSI"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Sin pin RX"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Sin pin TX"
|
||||
|
||||
@ -1483,6 +1555,16 @@ msgstr "No hay más temporizadores disponibles en este pin."
|
||||
msgid "No network with that ssid"
|
||||
msgstr "No hay una red con ese ssid"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "No hay pulldown en el pin; 1Mohm recomendado"
|
||||
@ -1540,6 +1622,10 @@ msgstr "Paridad impar no soportada"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Solo mono de 8 ó 16 bit con "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr "Solo hay capacidad para direcciones IPv4"
|
||||
@ -1593,7 +1679,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr "Se acabaron los enchufes"
|
||||
|
||||
@ -1618,6 +1704,7 @@ msgstr ""
|
||||
"construcción."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "ParallelBus todavía no soportado"
|
||||
@ -1630,11 +1717,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr "Permiso denegado"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Pin no tiene capacidad ADC"
|
||||
@ -1702,10 +1798,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Pull no se usa cuando la dirección es output."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "Error de desinicialización de RNG"
|
||||
@ -1714,6 +1834,10 @@ msgstr "Error de desinicialización de RNG"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "Error de inicialización de RNG"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1721,6 +1845,7 @@ msgstr "Se especifica inversión de RS485 si no está en modo RS485"
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "Calibración de RTC no es soportada en esta placa"
|
||||
|
||||
@ -1729,7 +1854,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "RTC no soportado en esta placa"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "Sin capacidad de RTS/CTS/RS485 para este dispositivo"
|
||||
|
||||
@ -1786,11 +1911,6 @@ msgstr "¡Corriendo en modo seguro! "
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr "Sin capacidad para formato CSD para tarjeta SD"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA o SCL necesitan una pull up"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1809,6 +1929,10 @@ msgstr "Error de inicio de SPI"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "Error de reinicialización de SPI"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Sample rate debe ser positivo"
|
||||
@ -1839,6 +1963,14 @@ msgstr "Serializer está siendo utilizado"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr "El contexto del lado del servidor no puede tener un hostname"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr "Sin capacidades para el tamaño"
|
||||
@ -2017,6 +2149,10 @@ msgstr "Error de inicialización de UART"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "Error de reinicialización de UART"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "Error de escritura UART"
|
||||
@ -2080,7 +2216,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Tipo de uuid nrfx inesperado"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr "Error no manejado de ESP TLS %d %d %x %d"
|
||||
@ -2123,7 +2259,8 @@ msgstr ""
|
||||
"dispositivo fue denegada o ignorada."
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Baudrate no soportado"
|
||||
|
||||
@ -2174,6 +2311,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "ADVERTENCIA: El nombre de archivo de tu código tiene dos extensiones\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
"WatchDogTimer no se puede desinicializar luego de definirse en modo RESET"
|
||||
@ -2388,7 +2526,7 @@ msgstr "Las secciones del buffer necesitan tener longitud igual"
|
||||
msgid "buffer too small"
|
||||
msgstr "buffer demasiado pequeño"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr "búfer muy pequeño para los bytes solicitados"
|
||||
|
||||
@ -3561,6 +3699,10 @@ msgstr "pop de un PulseIn vacío"
|
||||
msgid "pop from empty %q"
|
||||
msgstr "pop desde %q vacía"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "el 3er argumento de pow() no puede ser 0"
|
||||
@ -3577,6 +3719,7 @@ msgstr "pow() con 3 argumentos requiere enteros"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3594,6 +3737,14 @@ msgstr "presionando botón de arranque al inicio.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "presionando ambos botones al inicio.\n"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "desbordamiento de cola(queue)"
|
||||
@ -3799,6 +3950,7 @@ msgstr "time.struct_time() toma un sequencio 9"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
"la duración de tiempo de espera ha excedido la capacidad máxima del valor"
|
||||
@ -4082,6 +4234,9 @@ msgstr "zi debe ser de tipo flotante"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi debe ser una forma (n_section,2)"
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA o SCL necesitan una pull up"
|
||||
|
||||
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||
#~ msgstr ""
|
||||
#~ "%d pines de dirección y %d pines rgb indican una altura de %d, no de %d"
|
||||
|
201
locale/fil.po
201
locale/fil.po
@ -342,6 +342,10 @@ msgstr "Lahat ng I2C peripherals ginagamit"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Lahat ng event channels ginagamit"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Lahat ng sync event channels ay ginagamit"
|
||||
@ -390,6 +394,7 @@ msgstr ""
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "Hindi supportado ang AnalogOut"
|
||||
|
||||
@ -592,6 +597,7 @@ msgstr "Hindi mabura ang values"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Hindi makakakuha ng pull habang nasa output mode"
|
||||
|
||||
@ -630,6 +636,10 @@ msgstr "Hindi ma-remount '/' kapag aktibo ang USB."
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr "Hindi ma-reset sa bootloader dahil walang bootloader."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "Hindi ma i-set ang value kapag ang direksyon ay input."
|
||||
@ -870,11 +880,12 @@ msgstr "Ginagamit na ang EXTINT channel"
|
||||
msgid "Error in regex"
|
||||
msgstr "May pagkakamali sa REGEX"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -930,7 +941,7 @@ msgstr ""
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1058,6 +1069,10 @@ msgstr "I/O operasyon sa saradong file"
|
||||
msgid "I2C Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
@ -1083,6 +1098,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
@ -1095,6 +1114,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr "May mali sa Input/Output"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr ""
|
||||
@ -1146,7 +1190,7 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Mali ang PWM frequency"
|
||||
|
||||
@ -1240,6 +1284,8 @@ msgstr "Mali ang pin para sa kanang channel"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Mali ang pins"
|
||||
|
||||
@ -1268,7 +1314,7 @@ msgstr ""
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1276,10 +1322,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr ""
|
||||
@ -1296,10 +1338,6 @@ msgstr "May hindi tama sa wave file"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr ""
|
||||
@ -1361,6 +1399,36 @@ msgstr "Ang delay ng startup ng mikropono ay dapat na nasa 0.0 hanggang 1.0"
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
@ -1414,14 +1482,14 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Walang RX pin"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Walang TX pin"
|
||||
|
||||
@ -1478,6 +1546,16 @@ msgstr ""
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr ""
|
||||
@ -1536,6 +1614,10 @@ msgstr "Odd na parity ay hindi supportado"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Tanging 8 o 16 na bit mono na may "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1585,7 +1667,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1609,6 +1691,7 @@ msgstr ""
|
||||
"PWM frequency hindi writable kapag variable_frequency ay False sa pag buo."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr ""
|
||||
@ -1621,11 +1704,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr "Walang pahintulot"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Ang pin ay walang kakayahan sa ADC"
|
||||
@ -1686,10 +1778,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Pull hindi ginagamit kapag ang direksyon ay output."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr ""
|
||||
@ -1698,6 +1814,10 @@ msgstr ""
|
||||
msgid "RNG Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1705,6 +1825,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "RTC calibration ay hindi supportado ng board na ito"
|
||||
|
||||
@ -1713,7 +1834,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "Hindi supportado ang RTC sa board na ito"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
@ -1771,11 +1892,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "Kailangan ng pull up resistors ang SDA o SCL"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1794,6 +1910,10 @@ msgstr ""
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Sample rate ay dapat positibo"
|
||||
@ -1824,6 +1944,14 @@ msgstr "Serializer ginagamit"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -1988,6 +2116,10 @@ msgstr ""
|
||||
msgid "UART Re-init error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr ""
|
||||
@ -2052,7 +2184,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "hindi inaasahang indent"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2093,7 +2225,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Hindi supportadong baudrate"
|
||||
|
||||
@ -2147,6 +2280,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "BABALA: Ang pangalan ng file ay may dalawang extension\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2359,7 +2493,7 @@ msgstr "aarehas na haba dapat ang buffer slices"
|
||||
msgid "buffer too small"
|
||||
msgstr "masyadong maliit ang buffer"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3537,6 +3671,10 @@ msgstr "pop mula sa walang laman na PulseIn"
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "pow() 3rd argument ay hindi maaring 0"
|
||||
@ -3553,6 +3691,7 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3570,6 +3709,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "puno na ang pila (overflow)"
|
||||
@ -3776,6 +3923,7 @@ msgstr "time.struct_time() kumukuha ng 9-sequence"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
|
||||
@ -4061,6 +4209,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "Kailangan ng pull up resistors ang SDA o SCL"
|
||||
|
||||
#~ msgid "tuple index out of range"
|
||||
#~ msgstr "indeks ng tuple wala sa sakop"
|
||||
|
||||
|
229
locale/fr.po
229
locale/fr.po
@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: 0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-01-17 12:55+0000\n"
|
||||
"Last-Translator: Hugo Dahl <hugo@code-jedi.com>\n"
|
||||
"PO-Revision-Date: 2021-01-30 02:32+0000\n"
|
||||
"Last-Translator: Antonin ENFRUN <antonin.e@me.com>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
@ -54,7 +54,7 @@ msgstr " Fichier \"%q\", ligne %d"
|
||||
|
||||
#: py/builtinhelp.c
|
||||
msgid " is of type %q\n"
|
||||
msgstr ""
|
||||
msgstr " est de type %q\n"
|
||||
|
||||
#: main.c
|
||||
msgid " output:\n"
|
||||
@ -70,6 +70,8 @@ msgstr "%%c nécessite un chiffre entier 'int' ou un caractère 'char'"
|
||||
msgid ""
|
||||
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||
msgstr ""
|
||||
"%d broches d'adresse, %d broches RGB et %d pour tile indique une hauteur de "
|
||||
"%d, et non %d"
|
||||
|
||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||
msgid "%q failure: %d"
|
||||
@ -348,6 +350,10 @@ msgstr "Tous les périphériques UART sont utilisés"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Tous les canaux d'événements sont utilisés"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Tous les canaux d'événements sync (sync event channels) sont utilisés"
|
||||
@ -396,6 +402,7 @@ msgstr "'AnalogOut' n'est pas supporté sur la broche indiquée"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "Fonctionnalité AnalogOut non supportée"
|
||||
|
||||
@ -606,6 +613,7 @@ msgstr "Impossible de supprimer les valeurs"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Ne peut être tiré ('pull') en mode sortie ('output')"
|
||||
|
||||
@ -646,6 +654,10 @@ msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
"Ne peut être redémarré vers le bootloader car il n'y a pas de bootloader."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr ""
|
||||
@ -832,7 +844,7 @@ msgstr "La broche 'Data 0' doit être aligné sur l'octet"
|
||||
|
||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||
msgid "Data 0 pin must be byte aligned."
|
||||
msgstr ""
|
||||
msgstr "La broche Data 0 doit être aligné sur l'octet."
|
||||
|
||||
#: shared-module/audiocore/WaveFile.c
|
||||
msgid "Data chunk must follow fmt chunk"
|
||||
@ -889,11 +901,12 @@ msgstr "Canal EXTINT déjà utilisé"
|
||||
msgid "Error in regex"
|
||||
msgstr "Erreur dans l'expression régulière"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
msgstr "Erreur : Impossible de lier"
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -948,7 +961,7 @@ msgstr "La FFT est définie uniquement pour les ndarrays"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr "FFT n'est implémenté que pour les tableaux linéaires"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr "Échec du handshake SSL"
|
||||
|
||||
@ -1078,6 +1091,10 @@ msgstr "Opération d'E/S sur un fichier fermé"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "Erreur d'initialisation I2C"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut n'est pas disponible"
|
||||
@ -1103,6 +1120,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "Taille de tampon incorrecte"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr "Échec d'initialisation par manque de mémoire"
|
||||
@ -1115,6 +1136,31 @@ msgstr "L'entrée prend trop de temps"
|
||||
msgid "Input/output error"
|
||||
msgstr "Erreur d'entrée/sortie"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Authentification insuffisante"
|
||||
@ -1166,7 +1212,7 @@ msgstr "Broche DAC non valide fournie"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Fréquence de PWM invalide"
|
||||
|
||||
@ -1260,6 +1306,8 @@ msgstr "Broche invalide pour le canal droit"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Broches invalides"
|
||||
|
||||
@ -1288,18 +1336,14 @@ msgstr "'security_mode' invalide"
|
||||
msgid "Invalid size"
|
||||
msgstr "Taille invalide"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
msgstr "Socket non valide pour TLS"
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
msgid "Invalid state"
|
||||
msgstr "État invalide"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "Voix invalide"
|
||||
@ -1316,10 +1360,6 @@ msgstr "Fichier WAVE invalide"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "Longueur de mot / bit invalide"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "La clé doit comporter 16, 24 ou 32 octets"
|
||||
@ -1381,6 +1421,36 @@ msgstr "Le délais au démarrage du micro doit être entre 0.0 et 1.0"
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "Broche MISO ou MOSI manquante"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Doit être une sous-classe de %q."
|
||||
@ -1434,14 +1504,14 @@ msgstr "Pas de broche MOSI"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Pas de broche RX"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Pas de broche TX"
|
||||
|
||||
@ -1498,6 +1568,16 @@ msgstr "Plus de minuteurs disponibles sur cette broche."
|
||||
msgid "No network with that ssid"
|
||||
msgstr "Aucun réseau avec ce ssid"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "Pas de pulldown sur la broche ; 1Mohm recommandé"
|
||||
@ -1555,6 +1635,10 @@ msgstr "Parité impaire non supportée"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Uniquement 8 ou 16 bit mono avec "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr "Seulement les adresses IPv4 sont supportées"
|
||||
@ -1608,7 +1692,7 @@ msgstr "Timeout de l'opération"
|
||||
msgid "Out of memory"
|
||||
msgstr "Hors de mémoire"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr "Plus de sockets"
|
||||
|
||||
@ -1635,6 +1719,7 @@ msgstr ""
|
||||
"à la construction."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "ParallelBus pas encore supporté"
|
||||
@ -1647,11 +1732,20 @@ msgstr "Périphérique en utilisation"
|
||||
msgid "Permission denied"
|
||||
msgstr "Permission refusée"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "La broche 'pin' ne supporte pas les capacitées ADC"
|
||||
@ -1722,10 +1816,34 @@ msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
"Feinte de someil profond jusqu'à l'alarme, CTRL-C ou écriture au fichier.\n"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Le tirage 'pull' n'est pas utilisé quand la direction est 'output'."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "Erreur de désinitiation du RNG (RNG DeInit)"
|
||||
@ -1734,6 +1852,10 @@ msgstr "Erreur de désinitiation du RNG (RNG DeInit)"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "Erreur d'initialisation du RNG (RNG Init)"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1741,6 +1863,7 @@ msgstr "Inversion RS485 spécifiée sans être en mode RS485"
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "La calibration du RTC non supportée sur cette carte"
|
||||
|
||||
@ -1749,7 +1872,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "RTC non supporté sur cette carte"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "RTS / CTS / RS485 Pas encore supporté sur cet appareil"
|
||||
|
||||
@ -1806,11 +1929,6 @@ msgstr "Exécution en mode sécurisé! "
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr "Le format de carte SD CSD n'est pas supporté"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1829,6 +1947,10 @@ msgstr "Erreur d'initialisation SPI"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "Erreur de réinitialisation SPI"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Le taux d'échantillonage doit être positif"
|
||||
@ -1859,6 +1981,14 @@ msgstr "Sérialiseur en cours d'utilisation"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr "Un contexte niveau serveur ne peut avoir de hostname"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr "Taille n'est pas supportée"
|
||||
@ -2035,6 +2165,10 @@ msgstr "Erreur d'initialisation UART"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "Erreur de réinitialisation UART"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "Erreur d'écriture UART"
|
||||
@ -2101,7 +2235,7 @@ msgstr "Écriture impossible vers sleep_memory."
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Type inattendu pour l'uuid nrfx"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr "Erreur ESP TLS non gérée %d %d %x %d"
|
||||
@ -2145,7 +2279,8 @@ msgstr ""
|
||||
"appareil ait été refusée ou ignorée."
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Débit en bauds non supporté"
|
||||
|
||||
@ -2197,6 +2332,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "ATTENTION : le nom de fichier de votre code a deux extensions\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
"WatchDogTimer ne peut pas être désinitialisé une fois que le mode est réglé "
|
||||
@ -2411,7 +2547,7 @@ msgstr "les tranches de tampon doivent être de longueurs égales"
|
||||
msgid "buffer too small"
|
||||
msgstr "tampon trop petit"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr "tampon trop petit pour le nombre d'octets demandé"
|
||||
|
||||
@ -3423,7 +3559,7 @@ msgstr "le nombre de points doit être d'au moins 2"
|
||||
|
||||
#: py/builtinhelp.c
|
||||
msgid "object "
|
||||
msgstr ""
|
||||
msgstr "objet "
|
||||
|
||||
#: py/obj.c
|
||||
msgid "object '%q' is not a tuple or list"
|
||||
@ -3596,6 +3732,10 @@ msgstr "'pop' d'une entrée PulseIn vide"
|
||||
msgid "pop from empty %q"
|
||||
msgstr "pop sur %q vide"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "le 3e argument de pow() ne peut être 0"
|
||||
@ -3612,6 +3752,7 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3629,6 +3770,14 @@ msgstr "bouton boot appuyé lors du démarrage.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "les deux boutons appuyés lors du démarrage.\n"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "dépassement de file"
|
||||
@ -3827,7 +3976,7 @@ msgstr "le seuil doit être dans la portée 0-65536"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
msgid "tile must be greater than zero"
|
||||
msgstr ""
|
||||
msgstr "tile doit être plus que zéro"
|
||||
|
||||
#: shared-bindings/time/__init__.c
|
||||
msgid "time.struct_time() takes a 9-sequence"
|
||||
@ -3835,6 +3984,7 @@ msgstr "time.struct_time() prend une séquence de longueur 9"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr "le délai d'expiration a dépassé la valeur maximale prise en charge"
|
||||
|
||||
@ -4047,11 +4197,11 @@ msgstr "watchdog timeout doit être supérieur à 0"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
msgid "width must be greater than zero"
|
||||
msgstr "width doit être plus grand que zero"
|
||||
msgstr "width doit être plus que zero"
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/Radio.c
|
||||
msgid "wifi is not enabled"
|
||||
msgstr ""
|
||||
msgstr "wifi n’est pas activé"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "window must be <= interval"
|
||||
@ -4117,6 +4267,15 @@ msgstr "zi doit être de type float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi doit être de forme (n_section, 2)"
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')"
|
||||
|
||||
#~ msgid "Invalid use of TLS Socket"
|
||||
#~ msgstr "Utilisation incorrecte de socket TLS"
|
||||
|
||||
#~ msgid "Issue setting SO_REUSEADDR"
|
||||
#~ msgstr "Problème en activant SO_REUSEADDR"
|
||||
|
||||
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||
#~ msgstr ""
|
||||
#~ "Les broches d'adresse %d et les broches RVB %d indiquent une hauteur de "
|
||||
|
198
locale/hi.po
198
locale/hi.po
@ -339,6 +339,10 @@ msgstr ""
|
||||
msgid "All event channels in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr ""
|
||||
@ -387,6 +391,7 @@ msgstr ""
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr ""
|
||||
|
||||
@ -586,6 +591,7 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr ""
|
||||
|
||||
@ -623,6 +629,10 @@ msgstr ""
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr ""
|
||||
@ -859,11 +869,12 @@ msgstr ""
|
||||
msgid "Error in regex"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -917,7 +928,7 @@ msgstr ""
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1045,6 +1056,10 @@ msgstr ""
|
||||
msgid "I2C Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
@ -1068,6 +1083,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
@ -1080,6 +1099,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr ""
|
||||
@ -1131,7 +1175,7 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr ""
|
||||
|
||||
@ -1225,6 +1269,8 @@ msgstr ""
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr ""
|
||||
|
||||
@ -1253,7 +1299,7 @@ msgstr ""
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1261,10 +1307,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr ""
|
||||
@ -1281,10 +1323,6 @@ msgstr ""
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr ""
|
||||
@ -1346,6 +1384,36 @@ msgstr ""
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
@ -1399,14 +1467,14 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr ""
|
||||
|
||||
@ -1463,6 +1531,16 @@ msgstr ""
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr ""
|
||||
@ -1518,6 +1596,10 @@ msgstr ""
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1567,7 +1649,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1590,6 +1672,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr ""
|
||||
@ -1602,11 +1685,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr ""
|
||||
@ -1667,10 +1759,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr ""
|
||||
@ -1679,6 +1795,10 @@ msgstr ""
|
||||
msgid "RNG Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1686,6 +1806,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
@ -1694,7 +1815,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
@ -1751,11 +1872,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1774,6 +1890,10 @@ msgstr ""
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr ""
|
||||
@ -1804,6 +1924,14 @@ msgstr ""
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -1968,6 +2096,10 @@ msgstr ""
|
||||
msgid "UART Re-init error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr ""
|
||||
@ -2031,7 +2163,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2072,7 +2204,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr ""
|
||||
|
||||
@ -2123,6 +2256,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2328,7 +2462,7 @@ msgstr ""
|
||||
msgid "buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3488,6 +3622,10 @@ msgstr ""
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr ""
|
||||
@ -3504,6 +3642,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3521,6 +3660,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr ""
|
||||
@ -3724,6 +3871,7 @@ msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
|
||||
|
201
locale/it_IT.po
201
locale/it_IT.po
@ -341,6 +341,10 @@ msgstr "Tutte le periferiche I2C sono in uso"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Tutti i canali eventi utilizati"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Tutti i canali di eventi sincronizzati in uso"
|
||||
@ -389,6 +393,7 @@ msgstr ""
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "funzionalità AnalogOut non supportata"
|
||||
|
||||
@ -592,6 +597,7 @@ msgstr "Impossibile cancellare valori"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "non si può tirare quando nella modalita output"
|
||||
|
||||
@ -631,6 +637,10 @@ msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
"Impossibile resettare nel bootloader poiché nessun bootloader è presente."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "non si può impostare un valore quando direzione è input"
|
||||
@ -870,11 +880,12 @@ msgstr "Canale EXTINT già in uso"
|
||||
msgid "Error in regex"
|
||||
msgstr "Errore nella regex"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -930,7 +941,7 @@ msgstr ""
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1058,6 +1069,10 @@ msgstr "operazione I/O su file chiuso"
|
||||
msgid "I2C Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
@ -1083,6 +1098,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
@ -1095,6 +1114,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr "Errore input/output"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr ""
|
||||
@ -1146,7 +1190,7 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Frequenza PWM non valida"
|
||||
|
||||
@ -1242,6 +1286,8 @@ msgstr "Pin non valido per il canale destro"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Pin non validi"
|
||||
|
||||
@ -1270,7 +1316,7 @@ msgstr ""
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1278,10 +1324,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr ""
|
||||
@ -1299,10 +1341,6 @@ msgstr "File wave non valido"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr ""
|
||||
@ -1365,6 +1403,36 @@ msgstr ""
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
@ -1418,14 +1486,14 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Nessun pin RX"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Nessun pin TX"
|
||||
|
||||
@ -1482,6 +1550,16 @@ msgstr ""
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr ""
|
||||
@ -1541,6 +1619,10 @@ msgstr "operazione I2C non supportata"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1590,7 +1672,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1618,6 +1700,7 @@ msgstr ""
|
||||
"impostato nel costruttore a False."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr ""
|
||||
@ -1630,11 +1713,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr "Permesso negato"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Il pin non ha capacità di ADC"
|
||||
@ -1696,10 +1788,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr ""
|
||||
@ -1708,6 +1824,10 @@ msgstr ""
|
||||
msgid "RNG Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1715,6 +1835,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "calibrazione RTC non supportata su questa scheda"
|
||||
|
||||
@ -1723,7 +1844,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "RTC non supportato su questa scheda"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
@ -1781,11 +1902,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA o SCL necessitano un pull-up"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1804,6 +1920,10 @@ msgstr ""
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
#, fuzzy
|
||||
msgid "Sample rate must be positive"
|
||||
@ -1836,6 +1956,14 @@ msgstr "Serializer in uso"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -2000,6 +2128,10 @@ msgstr ""
|
||||
msgid "UART Re-init error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr ""
|
||||
@ -2064,7 +2196,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "indentazione inaspettata"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2105,7 +2237,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "baudrate non supportato"
|
||||
|
||||
@ -2157,6 +2290,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "ATTENZIONE: Il nome del sorgente ha due estensioni\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2365,7 +2499,7 @@ msgstr "slice del buffer devono essere della stessa lunghezza"
|
||||
msgid "buffer too small"
|
||||
msgstr "buffer troppo piccolo"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3545,6 +3679,10 @@ msgstr "pop sun un PulseIn vuoto"
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "il terzo argomento di pow() non può essere 0"
|
||||
@ -3561,6 +3699,7 @@ msgstr "pow() con 3 argomenti richiede interi"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3578,6 +3717,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "overflow della coda"
|
||||
@ -3784,6 +3931,7 @@ msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
|
||||
@ -4069,6 +4217,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA o SCL necessitano un pull-up"
|
||||
|
||||
#~ msgid "tuple index out of range"
|
||||
#~ msgstr "indice della tupla fuori intervallo"
|
||||
|
||||
|
201
locale/ja.po
201
locale/ja.po
@ -344,6 +344,10 @@ msgstr "全てのUART周辺機器が使用中"
|
||||
msgid "All event channels in use"
|
||||
msgstr "全てのイベントチャネルが使用中"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "全ての同期イベントチャネルが使用中"
|
||||
@ -392,6 +396,7 @@ msgstr "指定のピンはAnalogInに対応していません"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "AnalogOut機能に対応していません"
|
||||
|
||||
@ -595,6 +600,7 @@ msgstr "値を削除できません"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "出力モード時はpullを取得できません"
|
||||
|
||||
@ -632,6 +638,10 @@ msgstr "USBがアクティブの時に'/'を再マウントできません"
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr "ブートローダが存在しないためブートローダへとリセットできません"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "方向がinputのときは値を設定できません"
|
||||
@ -870,11 +880,12 @@ msgstr "EXTINTチャネルはすでに使用されています"
|
||||
msgid "Error in regex"
|
||||
msgstr "正規表現にエラーがあります"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -928,7 +939,7 @@ msgstr "FFTはndarrayでのみ使えます"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1056,6 +1067,10 @@ msgstr "閉じられたファイルへのI/O操作"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "I2C初期化エラー"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOutが利用できません"
|
||||
@ -1081,6 +1096,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "バッファサイズが正しくありません"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
@ -1093,6 +1112,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr "入力/出力エラー"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "認証が不十分"
|
||||
@ -1144,7 +1188,7 @@ msgstr "不正なDACピンが与えられました"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "無効なPWM周波数"
|
||||
|
||||
@ -1238,6 +1282,8 @@ msgstr "右チャネルのピンが不正"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "ピンが不正"
|
||||
|
||||
@ -1266,7 +1312,7 @@ msgstr "不正なsecurity_mode"
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1274,10 +1320,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "不正なボイス"
|
||||
@ -1294,10 +1336,6 @@ msgstr "不正なwaveファイル"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "不正なワード/ビット長"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "Keyの長さは、16, 24, 32バイトのいずれかでなければなりません"
|
||||
@ -1359,6 +1397,36 @@ msgstr "マイクのスタートアップディレイは 0.0 から 1.0 の間
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "MISOまたはMOSIピンがありません"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "%q のサブクラスでなければなりません"
|
||||
@ -1412,14 +1480,14 @@ msgstr "MOSIピンがありません"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "RXピンがありません"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "TXピンがありません"
|
||||
|
||||
@ -1476,6 +1544,16 @@ msgstr "このピンには使えるタイマーがもうありません"
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "ピンにプルダウンがありません。1Mオーム推奨"
|
||||
@ -1533,6 +1611,10 @@ msgstr "奇数パリティには対応していません"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "8または16ビットの "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1582,7 +1664,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1606,6 +1688,7 @@ msgid ""
|
||||
msgstr "PWM周波数は生成時のvariable_frequencyがFalseのとき書き換え不可"
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "ParallelBusにはまだ対応していません"
|
||||
@ -1618,11 +1701,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr "パーミッション拒否"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "ピンにADCの能力がありません"
|
||||
@ -1683,10 +1775,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "方向がoutputのときpullは使われません"
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "RNG解体エラー"
|
||||
@ -1695,6 +1811,10 @@ msgstr "RNG解体エラー"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "乱数生成器の初期化エラー"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1702,6 +1822,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "このボードはRTCのキャリブレーションに非対応"
|
||||
|
||||
@ -1710,7 +1831,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "このボードはRTCに対応していません"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "RTS/CTS/RS485はこのデバイスでは未対応"
|
||||
|
||||
@ -1767,11 +1888,6 @@ msgstr "セーフモードで実行中! "
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr "SDカードのCSDフォーマットは非対応"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDAとSCLにプルアップが必要"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1790,6 +1906,10 @@ msgstr "SPI初期化エラー"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "SPI再初期化エラー"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "サンプルレートは正数でなければなりません"
|
||||
@ -1820,6 +1940,14 @@ msgstr "シリアライザは使用中"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr "サイズは対応していません"
|
||||
@ -1990,6 +2118,10 @@ msgstr "UARTの初期化エラー"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "UARTの再初期化エラー"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "UART書き込みエラー"
|
||||
@ -2054,7 +2186,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "想定されていないnrfx UUID型"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2095,7 +2227,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "非対応のbaudrate"
|
||||
|
||||
@ -2146,6 +2279,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2351,7 +2485,7 @@ msgstr "バッファのスライスは同じ長さでなければなりません
|
||||
msgid "buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3518,6 +3652,10 @@ msgstr ""
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "pow()の3つ目の引数は0にできません"
|
||||
@ -3534,6 +3672,7 @@ msgstr "pow()の第3引数には整数が必要"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3551,6 +3690,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "キューがオーバーフローしました"
|
||||
@ -3755,6 +3902,7 @@ msgstr "time.struct_time()は9要素のシーケンスを受け取ります"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr "タイムアウト長は対応する最大値を超えています"
|
||||
|
||||
@ -4037,6 +4185,9 @@ msgstr "ziはfloat値でなければなりません"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDAとSCLにプルアップが必要"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code done running. Waiting for reload.\n"
|
||||
|
198
locale/ko.po
198
locale/ko.po
@ -340,6 +340,10 @@ msgstr "사용중인 모든 UART주변 기기"
|
||||
msgid "All event channels in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr ""
|
||||
@ -388,6 +392,7 @@ msgstr ""
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr ""
|
||||
|
||||
@ -589,6 +594,7 @@ msgstr "값을 삭제할 수 없습니다"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr ""
|
||||
|
||||
@ -626,6 +632,10 @@ msgstr ""
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr ""
|
||||
@ -862,11 +872,12 @@ msgstr ""
|
||||
msgid "Error in regex"
|
||||
msgstr "Regex에 오류가 있습니다."
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -920,7 +931,7 @@ msgstr ""
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1048,6 +1059,10 @@ msgstr ""
|
||||
msgid "I2C Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr ""
|
||||
@ -1071,6 +1086,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr ""
|
||||
@ -1083,6 +1102,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr ""
|
||||
@ -1134,7 +1178,7 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr ""
|
||||
|
||||
@ -1228,6 +1272,8 @@ msgstr "오른쪽 채널 핀이 잘못되었습니다"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "핀이 유효하지 않습니다"
|
||||
|
||||
@ -1256,7 +1302,7 @@ msgstr ""
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1264,10 +1310,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr ""
|
||||
@ -1284,10 +1326,6 @@ msgstr ""
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr ""
|
||||
@ -1349,6 +1387,36 @@ msgstr ""
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
@ -1402,14 +1470,14 @@ msgstr ""
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr ""
|
||||
|
||||
@ -1466,6 +1534,16 @@ msgstr ""
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr ""
|
||||
@ -1521,6 +1599,10 @@ msgstr ""
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1570,7 +1652,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1593,6 +1675,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr ""
|
||||
@ -1605,11 +1688,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr ""
|
||||
@ -1670,10 +1762,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr ""
|
||||
@ -1682,6 +1798,10 @@ msgstr ""
|
||||
msgid "RNG Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1689,6 +1809,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
@ -1697,7 +1818,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
@ -1754,11 +1875,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1777,6 +1893,10 @@ msgstr ""
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr ""
|
||||
@ -1807,6 +1927,14 @@ msgstr ""
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -1971,6 +2099,10 @@ msgstr ""
|
||||
msgid "UART Re-init error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr ""
|
||||
@ -2035,7 +2167,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2076,7 +2208,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr ""
|
||||
|
||||
@ -2127,6 +2260,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2332,7 +2466,7 @@ msgstr ""
|
||||
msgid "buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3492,6 +3626,10 @@ msgstr ""
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr ""
|
||||
@ -3508,6 +3646,7 @@ msgstr ""
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3525,6 +3664,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr ""
|
||||
@ -3728,6 +3875,7 @@ msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
|
||||
|
201
locale/nl.po
201
locale/nl.po
@ -342,6 +342,10 @@ msgstr "Alle UART peripherals zijn in gebruik"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Alle event kanalen zijn in gebruik"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Alle sync event kanalen zijn in gebruik"
|
||||
@ -390,6 +394,7 @@ msgstr "AnalogIn niet ondersteund door gegeven pin"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "AnalogOut functionaliteit niet ondersteund"
|
||||
|
||||
@ -591,6 +596,7 @@ msgstr "Kan waardes niet verwijderen"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "get pull kan niet gedurende output mode"
|
||||
|
||||
@ -630,6 +636,10 @@ msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
"Kan niet resetten naar bootloader omdat er geen bootloader aanwezig is."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "Kan de waarde niet toewijzen als de richting input is."
|
||||
@ -870,11 +880,12 @@ msgstr "EXTINT kanaal al in gebruik"
|
||||
msgid "Error in regex"
|
||||
msgstr "Fout in regex"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -928,7 +939,7 @@ msgstr "FFT alleen voor ndarrays gedefineerd"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr "FFT is alleen geïmplementeerd voor lineaire arrays"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr "SSL handdruk mislukt"
|
||||
|
||||
@ -1057,6 +1068,10 @@ msgstr "I/O actie op gesloten bestand"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "I2C Init Fout"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut is niet beschikbaar"
|
||||
@ -1082,6 +1097,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "Incorrecte buffer grootte"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr "De initialisatie is mislukt vanwege een gebrek aan geheugen"
|
||||
@ -1094,6 +1113,31 @@ msgstr "Invoer duurt te lang"
|
||||
msgid "Input/output error"
|
||||
msgstr "Input/Output fout"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Onvoldoende authenticatie"
|
||||
@ -1145,7 +1189,7 @@ msgstr "Ongeldige DAC pin opgegeven"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Ongeldige PWM frequentie"
|
||||
|
||||
@ -1239,6 +1283,8 @@ msgstr "Ongeldige pin voor rechter kanaal"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Ongeldige pinnen"
|
||||
|
||||
@ -1267,7 +1313,7 @@ msgstr "Ongeldige security_mode"
|
||||
msgid "Invalid size"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1275,10 +1321,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "Ongeldige stem"
|
||||
@ -1295,10 +1337,6 @@ msgstr "Ongeldig wave bestand"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "Ongeldig woord/bit lengte"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "Sleutel moet 16, 24, of 32 bytes lang zijn"
|
||||
@ -1360,6 +1398,36 @@ msgstr "Microfoon opstart vertraging moet in bereik van 0.0 tot 1.0 zijn"
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "Ontbrekende MISO of MOSI Pin"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "%q moet een subklasse zijn."
|
||||
@ -1413,14 +1481,14 @@ msgstr "Geen MOSI pin"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Geen RX pin"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Geen TX pin"
|
||||
|
||||
@ -1477,6 +1545,16 @@ msgstr "Geen timers meer beschikbaar op deze pin."
|
||||
msgid "No network with that ssid"
|
||||
msgstr "Geen netwerk met dat SSID gevonden"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "Geen pulldown op pin; 1MOhm aangeraden"
|
||||
@ -1534,6 +1612,10 @@ msgstr "Oneven pariteit is niet ondersteund"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Alleen 8 of 16 bit mono met "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr "Alleen IPv4 adressen worden ondersteund"
|
||||
@ -1587,7 +1669,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr "Geen sockets meer beschikbaar"
|
||||
|
||||
@ -1613,6 +1695,7 @@ msgstr ""
|
||||
"tijdens constructie."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "ParallelBus nog niet ondersteund"
|
||||
@ -1625,11 +1708,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr "Toegang geweigerd"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Pin heeft geen ADC mogelijkheden"
|
||||
@ -1699,10 +1791,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Pull niet gebruikt wanneer de richting output is."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "RNG DeInit Fout"
|
||||
@ -1711,6 +1827,10 @@ msgstr "RNG DeInit Fout"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "RNG Init Fout"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1718,6 +1838,7 @@ msgstr "RS485 inversie gespecificeerd terwijl niet in RS485 modus"
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "RTC calibratie niet ondersteund door dit board"
|
||||
|
||||
@ -1726,7 +1847,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "RTC is niet ondersteund door dit board"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "RTS/CTS/RS485 Nog niet ondersteund door dit apparaat"
|
||||
|
||||
@ -1783,11 +1904,6 @@ msgstr "Veilige modus wordt uitgevoerd! "
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr "SD kaart CSD formaat niet ondersteund"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA of SCL hebben een pullup nodig"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1806,6 +1922,10 @@ msgstr "SPI Init Fout"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "SPI Herinitialisatie Fout"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Sample rate moet positief zijn"
|
||||
@ -1836,6 +1956,14 @@ msgstr "Serializer in gebruik"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr "Context aan de serverkant kan geen hostnaam hebben"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr "Afmeting niet ondersteund"
|
||||
@ -2010,6 +2138,10 @@ msgstr "UART Init Fout"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "UART Re-init Fout"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "UART schrijf fout"
|
||||
@ -2073,7 +2205,7 @@ msgstr "Kan niet naar sleep_memory schrijven."
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Onverwacht mrfx uuid type"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr "Niet behandelde ESP TLS fout %d %d %x %d"
|
||||
@ -2116,7 +2248,8 @@ msgstr ""
|
||||
"apparaat geweigerd of genegeerd werd."
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Niet-ondersteunde baudsnelheid"
|
||||
|
||||
@ -2167,6 +2300,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "WAARSCHUWING: De bestandsnaam van de code heeft twee extensies\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
"WatchDogTimer kan niet worden gedeïnitialiseerd zodra de modus in ingesteld "
|
||||
@ -2381,7 +2515,7 @@ msgstr "buffer slices moeten van gelijke grootte zijn"
|
||||
msgid "buffer too small"
|
||||
msgstr "buffer te klein"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr "buffer te klein voor gevraagde bytes"
|
||||
|
||||
@ -3550,6 +3684,10 @@ msgstr "pop van een lege PulseIn"
|
||||
msgid "pop from empty %q"
|
||||
msgstr "pop van een lege %q"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "derde argument van pow() mag geen 0 zijn"
|
||||
@ -3566,6 +3704,7 @@ msgstr "pow() met 3 argumenten vereist integers"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3583,6 +3722,14 @@ msgstr "druk bootknop in bij opstarten.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "druk beide knoppen in bij opstarten.\n"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "wachtrij overloop"
|
||||
@ -3788,6 +3935,7 @@ msgstr "time.struct_time() accepteert een 9-rij"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr "time-outduur is groter dan de ondersteunde maximale waarde"
|
||||
|
||||
@ -4070,6 +4218,9 @@ msgstr "zi moet van type float zijn"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi moet vorm (n_section, 2) hebben"
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA of SCL hebben een pullup nodig"
|
||||
|
||||
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||
#~ msgstr "%d adres pins en %d RGB pins geven een hoogte van %d aan, niet %d"
|
||||
|
||||
|
209
locale/pl.po
209
locale/pl.po
@ -7,7 +7,7 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-01-27 01:31+0000\n"
|
||||
"PO-Revision-Date: 2021-02-10 21:50+0000\n"
|
||||
"Last-Translator: Maciej Stankiewicz <tawezik@gmail.com>\n"
|
||||
"Language-Team: pl\n"
|
||||
"Language: pl\n"
|
||||
@ -344,6 +344,10 @@ msgstr "Wszystkie peryferia UART w użyciu"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Wszystkie kanały zdarzeń w użyciu"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Wszystkie kanały zdarzeń synchronizacji w użyciu"
|
||||
@ -392,6 +396,7 @@ msgstr "AnalogIn nie jest obsługiwany na danym pinie"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "AnalogOut jest niewspierane"
|
||||
|
||||
@ -593,6 +598,7 @@ msgstr "Nie można usunąć"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Nie ma podciągnięcia w trybie wyjścia"
|
||||
|
||||
@ -630,6 +636,10 @@ msgstr "Nie można przemontować '/' gdy USB działa."
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr "Nie można zrestartować -- nie ma bootloadera."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "Nie można ustawić wartości w trybie wejścia."
|
||||
@ -870,11 +880,12 @@ msgstr "Kanał EXTINT w użyciu"
|
||||
msgid "Error in regex"
|
||||
msgstr "Błąd w regex"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr ""
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -928,7 +939,7 @@ msgstr ""
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr ""
|
||||
|
||||
@ -1056,6 +1067,10 @@ msgstr "Operacja I/O na zamkniętym pliku"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "Błąd inicjalizacji I2C"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut niedostępne"
|
||||
@ -1081,6 +1096,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "Niewłaściwa wielkość bufora"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr "Inicjalizacja nie powiodła się z powodu braku pamięci"
|
||||
@ -1093,6 +1112,31 @@ msgstr ""
|
||||
msgid "Input/output error"
|
||||
msgstr "Błąd I/O"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Niewystarczające uwierzytelnienie"
|
||||
@ -1144,7 +1188,7 @@ msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Zła częstotliwość PWM"
|
||||
|
||||
@ -1238,6 +1282,8 @@ msgstr "Zła nóżka dla prawego kanału"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Złe nóżki"
|
||||
|
||||
@ -1266,7 +1312,7 @@ msgstr "Nieprawidłowy security_mode"
|
||||
msgid "Invalid size"
|
||||
msgstr "Nieprawidłowy rozmiar"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr ""
|
||||
|
||||
@ -1274,10 +1320,6 @@ msgstr ""
|
||||
msgid "Invalid state"
|
||||
msgstr "Nieprawidłowy stan"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr ""
|
||||
@ -1294,10 +1336,6 @@ msgstr "Zły plik wave"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "Niepoprawna długość słowa/bitu"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "Klucz musi mieć długość 16, 24 lub 32 bajtów"
|
||||
@ -1360,6 +1398,36 @@ msgstr "Opóźnienie włączenia mikrofonu musi być w zakresie od 0.0 do 1.0"
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "Brak pinu MISO lub MOSI"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
@ -1413,14 +1481,14 @@ msgstr "Brak pinu MOSI"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Brak nóżki RX"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Brak nóżki TX"
|
||||
|
||||
@ -1477,6 +1545,16 @@ msgstr ""
|
||||
msgid "No network with that ssid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr ""
|
||||
@ -1532,6 +1610,10 @@ msgstr "Nieparzysta parzystość nie jest wspierana"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Tylko 8 lub 16 bitów mono z "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr ""
|
||||
@ -1581,7 +1663,7 @@ msgstr ""
|
||||
msgid "Out of memory"
|
||||
msgstr "Brak pamięci"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr ""
|
||||
|
||||
@ -1604,6 +1686,7 @@ msgid ""
|
||||
msgstr "Nie można zmienić częstotliwości PWM gdy variable_frequency=False."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "ParallelBus nie jest jeszcze obsługiwany"
|
||||
@ -1616,11 +1699,20 @@ msgstr ""
|
||||
msgid "Permission denied"
|
||||
msgstr "Odmowa dostępu"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Nóżka nie obsługuje ADC"
|
||||
@ -1681,10 +1773,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Podciągnięcie nieużywane w trybie wyjścia."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr ""
|
||||
@ -1693,6 +1809,10 @@ msgstr ""
|
||||
msgid "RNG Init Error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1700,6 +1820,7 @@ msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "Brak obsługi kalibracji RTC"
|
||||
|
||||
@ -1708,7 +1829,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "Brak obsługi RTC"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr ""
|
||||
|
||||
@ -1765,11 +1886,6 @@ msgstr ""
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA lub SCL wymagają podciągnięcia"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1788,6 +1904,10 @@ msgstr "Błąd inicjowania SPI"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "Błąd ponownej inicjalizacji SPI"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Częstotliwość próbkowania musi być dodatnia"
|
||||
@ -1818,6 +1938,14 @@ msgstr "Serializator w użyciu"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
@ -1982,6 +2110,10 @@ msgstr ""
|
||||
msgid "UART Re-init error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "Błąd zapisu UART"
|
||||
@ -2045,7 +2177,7 @@ msgstr ""
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Nieoczekiwany typ nrfx uuid"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr ""
|
||||
@ -2086,7 +2218,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Zła szybkość transmisji"
|
||||
|
||||
@ -2137,6 +2270,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "UWAGA: Nazwa pliku ma dwa rozszerzenia\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
|
||||
@ -2348,7 +2482,7 @@ msgstr "fragmenty bufora muszą mieć tę samą długość"
|
||||
msgid "buffer too small"
|
||||
msgstr "zbyt mały bufor"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr ""
|
||||
|
||||
@ -3510,6 +3644,10 @@ msgstr "pop z pustego PulseIn"
|
||||
msgid "pop from empty %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "trzeci argument pow() nie może być 0"
|
||||
@ -3526,6 +3664,7 @@ msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3543,6 +3682,14 @@ msgstr ""
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "przepełnienie kolejki"
|
||||
@ -3747,6 +3894,7 @@ msgstr "time.struct_time() wymaga 9-elementowej sekwencji"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr ""
|
||||
|
||||
@ -3959,7 +4107,7 @@ msgstr ""
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
msgid "width must be greater than zero"
|
||||
msgstr ""
|
||||
msgstr "szerokość musi być większa niż zero"
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/Radio.c
|
||||
msgid "wifi is not enabled"
|
||||
@ -3979,7 +4127,7 @@ msgstr ""
|
||||
|
||||
#: extmod/ulab/code/vector/vectorise.c
|
||||
msgid "wrong input type"
|
||||
msgstr ""
|
||||
msgstr "nieprawidłowy typ wejścia"
|
||||
|
||||
#: extmod/ulab/code/ulab_create.c py/objstr.c
|
||||
msgid "wrong number of arguments"
|
||||
@ -3995,7 +4143,7 @@ msgstr "zły typ operandu"
|
||||
|
||||
#: extmod/ulab/code/vector/vectorise.c
|
||||
msgid "wrong output type"
|
||||
msgstr ""
|
||||
msgstr "nieprawidłowy typ wyjścia"
|
||||
|
||||
#: shared-module/displayio/Shape.c
|
||||
msgid "x value out of bounds"
|
||||
@ -4029,6 +4177,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA lub SCL wymagają podciągnięcia"
|
||||
|
||||
#~ msgid "tuple index out of range"
|
||||
#~ msgstr "indeks krotki poza zakresem"
|
||||
|
||||
|
218
locale/pt_BR.po
218
locale/pt_BR.po
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-01-22 15:30+0000\n"
|
||||
"PO-Revision-Date: 2021-02-09 14:03+0000\n"
|
||||
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt_BR\n"
|
||||
@ -68,6 +68,8 @@ msgstr "%%c requer int ou char"
|
||||
msgid ""
|
||||
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||
msgstr ""
|
||||
"%d pinos de endereço, %d pinos rgb e %d blocos indicam uma altura com %d, "
|
||||
"não %d"
|
||||
|
||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||
msgid "%q failure: %d"
|
||||
@ -350,6 +352,10 @@ msgstr "Todos os periféricos UART estão em uso"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Todos os canais de eventos em uso"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr "O estado de todas as máquinas em uso"
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Todos os canais dos eventos de sincronização em uso"
|
||||
@ -398,6 +404,7 @@ msgstr "O AnalogIn não é compatível no pino informado"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "Funcionalidade AnalogOut não suportada"
|
||||
|
||||
@ -606,6 +613,7 @@ msgstr "Não é possível excluir valores"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Não é possível obter (pull) enquanto estiver no modo saída"
|
||||
|
||||
@ -646,6 +654,10 @@ msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
"Não é possível redefinir para o bootloader porque o mesmo não está presente."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr "Não foi possível definir as opções do socket"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "Não é possível definir o valor quando a direção é inserida."
|
||||
@ -830,7 +842,7 @@ msgstr "O pino de dados 0 deve ser alinhado por bytes"
|
||||
|
||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||
msgid "Data 0 pin must be byte aligned."
|
||||
msgstr ""
|
||||
msgstr "O pino de dados 0 deve ser alinhado por bytes."
|
||||
|
||||
#: shared-module/audiocore/WaveFile.c
|
||||
msgid "Data chunk must follow fmt chunk"
|
||||
@ -886,11 +898,12 @@ msgstr "Canal EXTINT em uso"
|
||||
msgid "Error in regex"
|
||||
msgstr "Erro no regex"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr "Erro: Falha na vinculação"
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -944,7 +957,7 @@ msgstr "O FFT é definido apenas para ndarrays"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr "O FFT é implementado apenas para matrizes lineares"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr "Houve uma falha no handshake do SSL"
|
||||
|
||||
@ -1073,6 +1086,10 @@ msgstr "Operação I/O no arquivo fechado"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "Erro de inicialização do I2C"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr "Periférico I2C em uso"
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "O I2SOut não está disponível"
|
||||
@ -1098,6 +1115,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "O tamanho do buffer está incorreto"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr "O tamanho do programa Init é inválido"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr "A inicialização falhou devido à falta de memória"
|
||||
@ -1110,6 +1131,31 @@ msgstr "A entrada está demorando demais"
|
||||
msgid "Input/output error"
|
||||
msgstr "Erro de entrada/saída"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr "A instrução %d salta no pino"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr "A instrução %d muda com mais bits do que a quantidade dos pinos"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr "A instrução %d desloca mais bits do que a quantidade dos pinos"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr "A instrução %d usa um pino extra"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr "A instrução %d aguarda a entrada de fora da contagem"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Autenticação insuficiente"
|
||||
@ -1161,7 +1207,7 @@ msgstr "O pino DAC informado é inválido"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Frequência PWM inválida"
|
||||
|
||||
@ -1255,6 +1301,8 @@ msgstr "Pino inválido para canal direito"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Pinos inválidos"
|
||||
|
||||
@ -1283,7 +1331,7 @@ msgstr "O Security_mode é inválido"
|
||||
msgid "Invalid size"
|
||||
msgstr "Tamanho inválido"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Soquete inválido para o TLS"
|
||||
|
||||
@ -1291,10 +1339,6 @@ msgstr "Soquete inválido para o TLS"
|
||||
msgid "Invalid state"
|
||||
msgstr "Estado inválido"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr "Uso inválido do soquete TLS"
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "A voz é inválida"
|
||||
@ -1311,10 +1355,6 @@ msgstr "Aqruivo de ondas inválido"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "O comprimento do bit/palavra são inválidos"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr "Problema na configuração do SO_REUSEADDR"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "A chave deve ter 16, 24 ou 32 bytes de comprimento"
|
||||
@ -1376,6 +1416,36 @@ msgstr "O atraso na inicialização do microfone deve estar entre 0,0 e 1,0"
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "O pino MISO ou MOSI está ausente"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr "Faltando first_in_pin. A instrução %d lê pinos(s)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr "Faltando first_in_pin. A instrução %d muda a partir do(s) pino(s)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr "Faltando first_in_pin. A instrução %d aguarda com base no pino"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr "Faltando first_out_pin. A instrução %d muda para o(s) pinos(s)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr "Faltando first_out_pin. A instrução %d escreve nos pinos(s)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "Faltando first_set_pin. A instrução %d define os pinos(s)"
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Deve ser uma subclasse %q."
|
||||
@ -1429,14 +1499,14 @@ msgstr "Nenhum pino MOSI"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Nenhum pino RX"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Nenhum pino TX"
|
||||
|
||||
@ -1493,6 +1563,18 @@ msgstr "Não há mais temporizadores disponíveis neste pino."
|
||||
msgid "No network with that ssid"
|
||||
msgstr "Não há rede com este ssid"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr "Sem saída no programa"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr ""
|
||||
"Nenhum pull up foi encontrado no SDA ou no SCL; verifique o fio das suas "
|
||||
"conexões"
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "Não há pulldown no pino; É recomendável utilizar um resistor de 1M ohm"
|
||||
@ -1549,6 +1631,10 @@ msgstr "A paridade ímpar não é compatível"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Apenas mono com 8 ou 16 bits com "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr "Somente IN/OUT de até 8 suportados"
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr "Somente os endereços IPv4 são suportados"
|
||||
@ -1602,7 +1688,7 @@ msgstr "A operação expirou"
|
||||
msgid "Out of memory"
|
||||
msgstr "Sem memória"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr "Sem soquetes"
|
||||
|
||||
@ -1629,6 +1715,7 @@ msgstr ""
|
||||
"na construção."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "O ParallelBus ainda não é compatível"
|
||||
@ -1641,11 +1728,20 @@ msgstr "O periférico está em uso"
|
||||
msgid "Permission denied"
|
||||
msgstr "Permissão negada"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr "A contagem dos pinos deve ser com pelo menos 1"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr "A contagem dos pinos é muito grande"
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "O pino não tem recursos de ADC"
|
||||
@ -1718,10 +1814,34 @@ msgstr ""
|
||||
"Tentando entrar no deep sleep até o alarme, pressione CTRL-C ou grave o "
|
||||
"arquivo.\n"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr "O programa faz IN sem carregar o ISR"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr "O programa faz OUT sem carregar o OSR"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr "O programa deve conter pelo menos uma instrução com 16 bits."
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr "O tamanho do programa é inválido"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr "O programa é muito grande"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "O Pull não foi usado quando a direção for gerada."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr "O modo RAISE não foi implementado"
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "Erro DeInit RNG"
|
||||
@ -1730,6 +1850,10 @@ msgstr "Erro DeInit RNG"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "Houve um erro na inicialização do RNG"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr "Ainda não há suporte para o RS485 neste dispositivo"
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1737,6 +1861,7 @@ msgstr "A definição da inversão do RS485 quando não está no modo RS485"
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "A calibração RTC não é suportada nesta placa"
|
||||
|
||||
@ -1745,7 +1870,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "O RTC não é suportado nesta placa"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "RTS/CTS/RS485 Ainda não é compatível neste dispositivo"
|
||||
|
||||
@ -1802,11 +1927,6 @@ msgstr "Executando no modo de segurança! "
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr "O formato CSD do Cartão SD não é compatível"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA ou SCL precisa de um pull up"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1825,6 +1945,10 @@ msgstr "Houve um erro na inicialização SPI"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "Houve um erro na reinicialização SPI"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr "O periférico SPI está em uso"
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "A taxa de amostragem deve ser positiva"
|
||||
@ -1855,6 +1979,15 @@ msgstr "Serializer em uso"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr "O contexto do lado do servidor não pode ter nome de host"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr "A definição da contagem dos pinos deve estar entre 1 e 5"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr ""
|
||||
"A definição da contagem dos pinos do conjunto lateral deve estar entre 1 e 5"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr "O tamanho não é suportado"
|
||||
@ -2033,6 +2166,10 @@ msgstr "Houve um erro na inicialização do UART"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "Houve um erro na reinicialização do UART"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr "O UART ainda não é suportado"
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "Houve um erro na gravação UART"
|
||||
@ -2096,7 +2233,7 @@ msgstr "Não foi possível escrever no sleep_memory."
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Tipo uuid nrfx inesperado"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr "Erro não tratado do ESP TLS %d %d %x %d"
|
||||
@ -2139,7 +2276,8 @@ msgstr ""
|
||||
"dispositivo tenha sido recusado ou ignorado."
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Taxa de transmissão não suportada"
|
||||
|
||||
@ -2190,6 +2328,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "AVISO: Seu arquivo de código tem duas extensões\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr ""
|
||||
"O WatchDogTimer não pode ser não-inicializado uma vez que o modo é definido "
|
||||
@ -2405,7 +2544,7 @@ msgstr "as fatias do buffer devem ter o mesmo comprimento"
|
||||
msgid "buffer too small"
|
||||
msgstr "o buffer é muito pequeno"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr "o buffer é pequeno demais para os bytes requisitados"
|
||||
|
||||
@ -3585,6 +3724,10 @@ msgstr "pop a partir de um PulseIn vazio"
|
||||
msgid "pop from empty %q"
|
||||
msgstr "pop a partir do %q vazio"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr "a porta deve ser > = 0"
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "O terceiro argumento pow() não pode ser 0"
|
||||
@ -3601,6 +3744,7 @@ msgstr "o pow() com 3 argumentos requer números inteiros"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3618,6 +3762,14 @@ msgstr "pressionando o botão de boot na inicialização.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "pressionando ambos os botões durante a inicialização.\n"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr "O pull_threshold deve ser entre 1 e 32"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr "O pull_threshold deve ser entre 1 e 32"
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "estouro de fila"
|
||||
@ -3815,7 +3967,7 @@ msgstr "Limite deve estar no alcance de 0-65536"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
msgid "tile must be greater than zero"
|
||||
msgstr ""
|
||||
msgstr "o bloco deve ser maior que zero"
|
||||
|
||||
#: shared-bindings/time/__init__.c
|
||||
msgid "time.struct_time() takes a 9-sequence"
|
||||
@ -3823,6 +3975,7 @@ msgstr "time.struct_time() leva uma sequência com 9"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr "a duração do tempo limite excedeu o valor máximo suportado"
|
||||
|
||||
@ -4105,6 +4258,15 @@ msgstr "zi deve ser de um tipo float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi deve estar na forma (n_section, 2)"
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA ou SCL precisa de um pull up"
|
||||
|
||||
#~ msgid "Invalid use of TLS Socket"
|
||||
#~ msgstr "Uso inválido do soquete TLS"
|
||||
|
||||
#~ msgid "Issue setting SO_REUSEADDR"
|
||||
#~ msgstr "Problema na configuração do SO_REUSEADDR"
|
||||
|
||||
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||
#~ msgstr ""
|
||||
#~ "%d endereços dos pinos e %d pinos rgb indicam uma altura do %d, não %d"
|
||||
|
214
locale/sv.po
214
locale/sv.po
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-01-25 19:32+0000\n"
|
||||
"PO-Revision-Date: 2021-02-05 19:47+0000\n"
|
||||
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: sv\n"
|
||||
@ -68,6 +68,7 @@ msgstr "%%c kräver int eller char"
|
||||
msgid ""
|
||||
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||
msgstr ""
|
||||
"%d adresspinnar, %d rgb-stift och %d brickor anger en höjd på %d, inte %d"
|
||||
|
||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||
msgid "%q failure: %d"
|
||||
@ -346,6 +347,10 @@ msgstr "Alla UART-kringutrustning används"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Alla händelsekanaler används"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr "Alla tillståndsmaskiner används"
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Alla händelsekanaler används"
|
||||
@ -394,6 +399,7 @@ msgstr "AnalogIn stöds inte på angiven pinne"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "AnalogOut-funktionalitet stöds inte"
|
||||
|
||||
@ -596,6 +602,7 @@ msgstr "Kan inte radera värden"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Kan inte ange pull i output-läge"
|
||||
|
||||
@ -635,6 +642,10 @@ msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr ""
|
||||
"Det går inte att återställa till bootloader eftersom bootloader saknas."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr "Det går inte att ange socketalternativ"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "Kan inte sätta värde när riktning är input."
|
||||
@ -819,7 +830,7 @@ msgstr "Datapinne 0 måste vara bytejusterad"
|
||||
|
||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||
msgid "Data 0 pin must be byte aligned."
|
||||
msgstr ""
|
||||
msgstr "Datapinne 0 måste vara byte-justerad."
|
||||
|
||||
#: shared-module/audiocore/WaveFile.c
|
||||
msgid "Data chunk must follow fmt chunk"
|
||||
@ -875,11 +886,12 @@ msgstr "EXTINT-kanalen används redan"
|
||||
msgid "Error in regex"
|
||||
msgstr "Fel i regex"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr "Fel: Bind misslyckades"
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -933,7 +945,7 @@ msgstr "FFT är enbart definierade för ndarrays"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr "FTT är enbart implementerad för linjära matriser"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr "Misslyckad SSL-handskakning"
|
||||
|
||||
@ -1061,6 +1073,10 @@ msgstr "I/O-operation på stängd fil"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "I2C init-fel"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr "I2C-enhet används redan"
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut är inte tillgängligt"
|
||||
@ -1086,6 +1102,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "Fel buffertstorlek"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr "Storlek på init-program ogiltigt"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr "Initieringen misslyckades på grund av minnesbrist"
|
||||
@ -1098,6 +1118,31 @@ msgstr "Indata tar för lång tid"
|
||||
msgid "Input/output error"
|
||||
msgstr "Indata-/utdatafel"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr "Instruktion %d hoppar på pinne"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr "Instruktion %d skiftar fler bitar än antalet pinnar"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr "Instruktion %d skiftar fler bitar än antal pinnar"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr "Instruktion %d använder extra pinne"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr "Instruktion %d väntar på inmatning utanför intervallet"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Otillräcklig autentisering"
|
||||
@ -1149,7 +1194,7 @@ msgstr "Ogiltig DAC-pinne angiven"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Ogiltig PWM-frekvens"
|
||||
|
||||
@ -1243,6 +1288,8 @@ msgstr "Ogiltig pinne för höger kanal"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Ogiltiga pinnar"
|
||||
|
||||
@ -1271,7 +1318,7 @@ msgstr "Ogiltigt säkerhetsläge"
|
||||
msgid "Invalid size"
|
||||
msgstr "Ogiltig storlek"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "Ogiltig socket för TLS"
|
||||
|
||||
@ -1279,10 +1326,6 @@ msgstr "Ogiltig socket för TLS"
|
||||
msgid "Invalid state"
|
||||
msgstr "Ogiltigt tillstånd"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr "Ogiltig användning av TLS Socket"
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "Ogiltig kanal"
|
||||
@ -1299,10 +1342,6 @@ msgstr "Ogiltig wave-fil"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "Ogiltig word-/bitlängd"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr "Misslyckades att sätta SO_REUSEADDR"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "Nyckeln måste vara 16, 24 eller 32 byte lång"
|
||||
@ -1365,6 +1404,36 @@ msgstr ""
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "MISO- eller MOSI-pinne saknas"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr "Saknad first_in_pin. Instruktion %d läser pinnar"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr "Saknad first_in_pin. Instruktion %d skiftar in från pinnar"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr "Saknad first_in_pin. Instruktion %d väntar baserat på pinne"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr "Saknad first_out_pin. Instruktion %d skiftar ut till pinnar"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr "Saknad first_out_pin. Instruktion %d skriver till pinnar"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "Saknad first_set_pin. Instruktion %d sätter pinnar"
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Måste vara en %q-subklass."
|
||||
@ -1418,14 +1487,14 @@ msgstr "Ingen MOSI-pinne"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Ingen RX-pinne"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Ingen TX-pinne"
|
||||
|
||||
@ -1482,6 +1551,16 @@ msgstr "Inga fler timers tillgängliga på denna pinne."
|
||||
msgid "No network with that ssid"
|
||||
msgstr "Inget nätverk med sådant ssid"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr "Inget out i programmet"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr "Ingen pull-up hittades på SDA eller SCL; kontrollera inkopplingen"
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "Ingen pulldown på pinnen; 1Mohm rekommenderas"
|
||||
@ -1539,6 +1618,10 @@ msgstr "Udda paritet stöds inte"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Endast 8 eller 16 bitars mono med "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr "Endast IN/OUT på upp till 8 stöds"
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr "Endast IPv4-adresser stöds"
|
||||
@ -1591,7 +1674,7 @@ msgstr "Åtgärden orsakade timeout"
|
||||
msgid "Out of memory"
|
||||
msgstr "Slut på minne"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr "Slut på sockets"
|
||||
|
||||
@ -1616,6 +1699,7 @@ msgstr ""
|
||||
"skapandet."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "ParallelBus stöds ännu inte"
|
||||
@ -1628,11 +1712,20 @@ msgstr "Periferi i bruk"
|
||||
msgid "Permission denied"
|
||||
msgstr "Åtkomst nekad"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr "Antalet pinnar måste vara minst 1"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr "Antal pinnar för stort"
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Pinnen har inte ADC-funktionalitet"
|
||||
@ -1702,10 +1795,34 @@ msgstr ""
|
||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||
msgstr "Fingerar djup sömn tills larm, Ctrl-C eller filskrivning.\n"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr "Program gör IN utan att ladda ISR"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr "Program gör OUT utan att läsa in OSR"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr "Programmet måste innehålla minst en 16-bitars instruktion."
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr "Programstorlek ogiltig"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr "Programmet är för stort"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Pull används inte när riktningen är output."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr "RAISE-läge är inte implementerat"
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "RNG DeInit-fel"
|
||||
@ -1714,6 +1831,10 @@ msgstr "RNG DeInit-fel"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "RNG Init-fel"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr "RS485 stöds ännu inte på den här enheten"
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1721,6 +1842,7 @@ msgstr "RS485-inversion specificerad när den inte är i RS485-läge"
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "RTC-kalibrering stöds inte av detta kort"
|
||||
|
||||
@ -1729,7 +1851,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "RTC stöds inte av detta kort"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "RTS/CTS/RS485 Stöds ännu inte på den här enheten"
|
||||
|
||||
@ -1786,11 +1908,6 @@ msgstr "Kör i säkert läge! "
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr "SD-kort CSD-format stöds inte"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA eller SCL behöver en pullup"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1809,6 +1926,10 @@ msgstr "SPI Init-fel"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "SPI reinitialiseringsfel"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr "SPI-enhet används redan"
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Samplingsfrekvensen måste vara positiv"
|
||||
@ -1839,6 +1960,14 @@ msgstr "Serializern används redan"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr "Serversidans kontext kan inte ha värdnamn"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr "Inställt antal pinnar måste vara mellan 1 och 5"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr "Sido-setets antal pinnar måste vara mellan 1 och 5"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr "Storleken stöds inte"
|
||||
@ -2013,6 +2142,10 @@ msgstr "UART Init-fel"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "UART reinit-fel"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr "UART stöds ännu inte"
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "UART skrivfel"
|
||||
@ -2076,7 +2209,7 @@ msgstr "Det gick inte att skriva till sleep_memory."
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Oväntad nrfx uuid-typ"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr "Ej hanterat ESP TLS-fel %d-%d-%x-%d"
|
||||
@ -2119,7 +2252,8 @@ msgstr ""
|
||||
"eller ignorerades."
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Baudrate stöd inte"
|
||||
|
||||
@ -2170,6 +2304,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "VARNING: Ditt filnamn för kod har två tillägg\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr "WatchDogTimer kan inte avinitialiseras när läget är inställt på RESET"
|
||||
|
||||
@ -2381,7 +2516,7 @@ msgstr "buffertsegmenten måste vara lika långa"
|
||||
msgid "buffer too small"
|
||||
msgstr "buffert för liten"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr "buffert för liten för begärd längd"
|
||||
|
||||
@ -3550,6 +3685,10 @@ msgstr "pop från en tom PulseIn"
|
||||
msgid "pop from empty %q"
|
||||
msgstr "pop från tom %q"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "pow() 3: e argument kan inte vara 0"
|
||||
@ -3566,6 +3705,7 @@ msgstr "pow() med 3 argument kräver heltal"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3583,6 +3723,14 @@ msgstr "trycka på startknappen vid start.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "trycka båda knapparna vid uppstart.\n"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr "pull_threshold måste vara mellan 1 och 32"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr "push_threshold måste vara mellan 1 och 32"
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "köstorlek överskreds"
|
||||
@ -3780,7 +3928,7 @@ msgstr "tröskelvärdet måste ligga i intervallet 0-65536"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
msgid "tile must be greater than zero"
|
||||
msgstr ""
|
||||
msgstr "tile måste vara större än noll"
|
||||
|
||||
#: shared-bindings/time/__init__.c
|
||||
msgid "time.struct_time() takes a 9-sequence"
|
||||
@ -3788,6 +3936,7 @@ msgstr "time.struct_time() kräver en 9-sekvens"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr "timeout-längd överskred det maximala värde som stöds"
|
||||
|
||||
@ -4070,6 +4219,15 @@ msgstr "zi måste vara av typ float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi måste vara i formen (n_section, 2)"
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA eller SCL behöver en pullup"
|
||||
|
||||
#~ msgid "Invalid use of TLS Socket"
|
||||
#~ msgstr "Ogiltig användning av TLS Socket"
|
||||
|
||||
#~ msgid "Issue setting SO_REUSEADDR"
|
||||
#~ msgstr "Misslyckades att sätta SO_REUSEADDR"
|
||||
|
||||
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||
#~ msgstr "%d adresspinnar och %d RGB-pinnar indikerar en höjd av %d, inte %d"
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgstr ""
|
||||
"Project-Id-Version: circuitpython-cn\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-01-25 19:32+0000\n"
|
||||
"PO-Revision-Date: 2021-02-09 14:03+0000\n"
|
||||
"Last-Translator: hexthat <hexthat@gmail.com>\n"
|
||||
"Language-Team: Chinese Hanyu Pinyin\n"
|
||||
"Language: zh_Latn_pinyin\n"
|
||||
@ -69,6 +69,8 @@ msgstr "%%c xūyào zhěngshù huò char"
|
||||
msgid ""
|
||||
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||
msgstr ""
|
||||
"%d de zhǐ yǐn jiǎo , %d rgb yǐn jiǎo hé %d qiē piàn biǎo shì %d de gāo dù, "
|
||||
"ér bù shì %d"
|
||||
|
||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||
msgid "%q failure: %d"
|
||||
@ -347,6 +349,10 @@ msgstr "Suǒyǒu UART wàiwéi zhèngzài shǐyòng"
|
||||
msgid "All event channels in use"
|
||||
msgstr "Suǒyǒu shǐyòng de shìjiàn píndào"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "All state machines in use"
|
||||
msgstr "suǒ yǒu zhèng zài shǐ yòng de zhuàng tài jī"
|
||||
|
||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||
msgid "All sync event channels in use"
|
||||
msgstr "Suǒyǒu tóngbù shìjiàn píndào shǐyòng"
|
||||
@ -395,6 +401,7 @@ msgstr "Gěi dìng de yǐn jiǎo bù zhīchí AnalogIn"
|
||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||
msgid "AnalogOut functionality not supported"
|
||||
msgstr "Bù zhīchí AnalogOut gōngnéng"
|
||||
|
||||
@ -598,6 +605,7 @@ msgstr "Wúfǎ shānchú zhí"
|
||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||
msgid "Cannot get pull while in output mode"
|
||||
msgstr "Zài shūchū móshì xià wúfǎ huòqǔ lādòng"
|
||||
|
||||
@ -635,6 +643,10 @@ msgstr "USB jīhuó shí wúfǎ chóngxīn bǎng ding '/'."
|
||||
msgid "Cannot reset into bootloader because no bootloader is present."
|
||||
msgstr "Wúfǎ chóng zhì wèi bootloader, yīnwèi méiyǒu bootloader cúnzài."
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Cannot set socket options"
|
||||
msgstr "wú fǎ shè zhì tào jiē zì xuǎn xiàng"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Cannot set value when direction is input."
|
||||
msgstr "Dāng fāngxiàng xiàng nèi shí, bùnéng shèzhì gāi zhí."
|
||||
@ -817,7 +829,7 @@ msgstr "Shùjù 0 de yǐn jiǎo bìxū shì zì jié duìqí"
|
||||
|
||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||
msgid "Data 0 pin must be byte aligned."
|
||||
msgstr ""
|
||||
msgstr "shù jù 0 yǐn jiǎo bì xū àn zì jié duì qí."
|
||||
|
||||
#: shared-module/audiocore/WaveFile.c
|
||||
msgid "Data chunk must follow fmt chunk"
|
||||
@ -873,11 +885,12 @@ msgstr "EXTINT píndào yǐjīng shǐyòng"
|
||||
msgid "Error in regex"
|
||||
msgstr "Zhèngzé biǎodá shì cuòwù"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "Error: Failure to bind"
|
||||
msgstr "cuò wù: bǎng dìng shī bài"
|
||||
|
||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||
#: shared-bindings/neopixel_write/__init__.c
|
||||
#: shared-bindings/terminalio/Terminal.c
|
||||
@ -931,7 +944,7 @@ msgstr "FFT jǐn wéi ndarrays dìng yì"
|
||||
msgid "FFT is implemented for linear arrays only"
|
||||
msgstr "FFT jǐn shì yòng yú xiàn xìng zhèn liè"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
msgid "Failed SSL handshake"
|
||||
msgstr "SSL wòshǒu shībài"
|
||||
|
||||
@ -1059,6 +1072,10 @@ msgstr "Wénjiàn shàng de I/ O cāozuò"
|
||||
msgid "I2C Init Error"
|
||||
msgstr "I2C chūshǐhuà cuòwù"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "I2C peripheral in use"
|
||||
msgstr "I2C wài shè zhèng zài shǐ yòng zhōng"
|
||||
|
||||
#: shared-bindings/audiobusio/I2SOut.c
|
||||
msgid "I2SOut not available"
|
||||
msgstr "I2SOut bù kě yòng"
|
||||
@ -1084,6 +1101,10 @@ msgstr ""
|
||||
msgid "Incorrect buffer size"
|
||||
msgstr "Huǎnchōng qū dàxiǎo bù zhèngquè"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Init program size invalid"
|
||||
msgstr "Init chéng xù dà xiǎo wú xiào"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "Initialization failed due to lack of memory"
|
||||
msgstr "yóu yú nèi cún bù zú, chū shǐ huà shī bài"
|
||||
@ -1096,6 +1117,31 @@ msgstr "Shūrù shíjiānguò zhǎng"
|
||||
msgid "Input/output error"
|
||||
msgstr "Shūrù/shūchū cuòwù"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d jumps on pin"
|
||||
msgstr "zhǐ lìng %d zài yǐn jiǎo shàng tiào zhuǎn"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
msgstr "zhǐ lìng %d yí wèi chāo guò yǐn jiǎo jì shù"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts out more bits than pin count"
|
||||
msgstr "zhǐ lìng %d yí chū de wèi bǐ yǐn jiǎo shù duō"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d uses extra pin"
|
||||
msgstr "zhǐ lìng %d shǐ yòng é wài de yǐn jiǎo"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d waits on input outside of count"
|
||||
msgstr "zhǐ lìng %d děng dài jì shù zhī wài de shū rù"
|
||||
|
||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||
msgid "Insufficient authentication"
|
||||
msgstr "Rènzhèng bùzú"
|
||||
@ -1147,7 +1193,7 @@ msgstr "Tí gōng liǎo wúxiào de DAC yǐn jiǎo"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||
#: shared-bindings/pwmio/PWMOut.c
|
||||
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||
msgid "Invalid PWM frequency"
|
||||
msgstr "Wúxiào de PWM pínlǜ"
|
||||
|
||||
@ -1241,6 +1287,8 @@ msgstr "Yòuxián tōngdào yǐn jiǎo wúxiào"
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "Invalid pins"
|
||||
msgstr "Wúxiào de yǐn jiǎo"
|
||||
|
||||
@ -1269,7 +1317,7 @@ msgstr "Ānquán móshì wúxiào"
|
||||
msgid "Invalid size"
|
||||
msgstr "dà xiǎo wú xiào"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLContext.c
|
||||
msgid "Invalid socket for TLS"
|
||||
msgstr "TLS de chā zuò wú xiào"
|
||||
|
||||
@ -1277,10 +1325,6 @@ msgstr "TLS de chā zuò wú xiào"
|
||||
msgid "Invalid state"
|
||||
msgstr "wú xiào zhuàng tài"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Invalid use of TLS Socket"
|
||||
msgstr "TLS tào jiē zì de wú xiào shǐ yòng"
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Invalid voice"
|
||||
msgstr "Yǔyīn wúxiào"
|
||||
@ -1297,10 +1341,6 @@ msgstr "Wúxiào de làng làngcháo wénjiàn"
|
||||
msgid "Invalid word/bit length"
|
||||
msgstr "Wúxiào de zì/wèi chángdù"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
msgid "Issue setting SO_REUSEADDR"
|
||||
msgstr "wèn tí shè zhì SO_REUSEADDR"
|
||||
|
||||
#: shared-bindings/aesio/aes.c
|
||||
msgid "Key must be 16, 24, or 32 bytes long"
|
||||
msgstr "mì yào bì xū wéi 16, 24 huò 32 zì jié cháng"
|
||||
@ -1362,6 +1402,37 @@ msgstr "Màikèfēng qǐdòng yánchí bìxū zài 0.0 Dào 1.0 De fànwéi nèi
|
||||
msgid "Missing MISO or MOSI Pin"
|
||||
msgstr "Quēshǎo MISO huò MOSI yǐn jiǎo"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||
msgstr "shǒu xiān zài yǐn jiǎo zhōng quē shī. zhǐ lìng %d dú qǔ yǐn jiǎo"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||
msgstr "shǒu xiān zài yǐn jiǎo zhōng quē shī. zhǐ lìng %d cóng yǐn jiǎo yí wèi"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||
msgstr ""
|
||||
"shǒu xiān zài yǐn jiǎo zhōng quē shī. jī yú yǐn jiǎo de zhǐ lìng %d děng dài"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||
msgstr "xiān lòu chū yǐn jiǎo. zhǐ lìng %d yí chū dào yǐn jiǎo"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||
msgstr "xiān lòu chū yǐn jiǎo. zhǐ lìng %d xiě rù yǐn jiǎo"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "quē shǎo dì yī zǔ yǐn jiǎo. zhǐ lìng %d shè zhì yǐn jiǎo"
|
||||
|
||||
#: shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Bìxū shì %q zi lèi."
|
||||
@ -1415,14 +1486,14 @@ msgstr "Méiyǒu MOSI yǐn jiǎo"
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No RX pin"
|
||||
msgstr "Wèi zhǎodào RX yǐn jiǎo"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
msgid "No TX pin"
|
||||
msgstr "Wèi zhǎodào TX yǐn jiǎo"
|
||||
|
||||
@ -1479,6 +1550,16 @@ msgstr "Gāi yǐn jiǎo shàng méiyǒu kěyòng de dìngshí qì."
|
||||
msgid "No network with that ssid"
|
||||
msgstr "Méiyǒu wǎngluò yǔ gāi ssid"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "No out in program"
|
||||
msgstr "chéng xù zhōng wèi tuì chū"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
msgid "No pull up found on SDA or SCL; check your wiring"
|
||||
msgstr "zài SDA huò SCL shàng wèi zhǎo dào shàng lā; jiǎn chá nín de xiàn lù"
|
||||
|
||||
#: shared-module/touchio/TouchIn.c
|
||||
msgid "No pulldown on pin; 1Mohm recommended"
|
||||
msgstr "Yǐn jiǎo shàng méiyǒu xiàlā; 1Mohm tuījiàn"
|
||||
@ -1535,6 +1616,10 @@ msgstr "Bù zhīchí jīshù"
|
||||
msgid "Only 8 or 16 bit mono with "
|
||||
msgstr "Zhǐyǒu 8 huò 16 wèi dānwèi "
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Only IN/OUT of up to 8 supported"
|
||||
msgstr "jǐn zhī chí zuì duō 8 gè IN/OUT"
|
||||
|
||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||
msgid "Only IPv4 addresses supported"
|
||||
msgstr "Jǐn zhīchí IPv4 dìzhǐ"
|
||||
@ -1588,7 +1673,7 @@ msgstr "cāo zuò yǐ fēn shí"
|
||||
msgid "Out of memory"
|
||||
msgstr "nèi cún bù zú"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
|
||||
msgid "Out of sockets"
|
||||
msgstr "tào jiē zì wài"
|
||||
|
||||
@ -1612,6 +1697,7 @@ msgid ""
|
||||
msgstr "Dāng biànliàng_pínlǜ shì False zài jiànzhú shí PWM pínlǜ bùkě xiě."
|
||||
|
||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||
msgid "ParallelBus not yet supported"
|
||||
msgstr "Shàng bù zhīchí ParallelBus"
|
||||
@ -1624,11 +1710,20 @@ msgstr "shǐ yòng zhōng de wài shè"
|
||||
msgid "Permission denied"
|
||||
msgstr "Quánxiàn bèi jùjué"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Pin count must be at least 1"
|
||||
msgstr "yǐn jiǎo jì shù bì xū zhì shǎo wéi 1"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Pin count too large"
|
||||
msgstr "yǐn jiǎo jì shù tài dà"
|
||||
|
||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||
msgid "Pin does not have ADC capabilities"
|
||||
msgstr "Pin méiyǒu ADC nénglì"
|
||||
@ -1695,10 +1790,34 @@ msgstr ""
|
||||
"jiǎ zhuāng shēn dù shuì mián , zhí dào bào jǐng , CTRL-C huò wén jiàn xiě "
|
||||
"rù .\n"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does IN without loading ISR"
|
||||
msgstr "chéng xù zài bù jiā zǎi ISR de qíng kuàng xià wán chéng"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
msgid "Program does OUT without loading OSR"
|
||||
msgstr "chéng xù zài bù jiā zǎi Osr de qíng kuàng xià zhí xíng OUT"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program must contain at least one 16-bit instruction."
|
||||
msgstr "chéng xù bì xū zhì shǎo bāo hán yí gè 16 wèi zhǐ lìng ."
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program size invalid"
|
||||
msgstr "chéng xù dà xiǎo wú xiào"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Program too large"
|
||||
msgstr "chéng xù tài dà"
|
||||
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "Pull not used when direction is output."
|
||||
msgstr "Fāngxiàng shūchū shí Pull méiyǒu shǐyòng."
|
||||
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "RAISE mode is not implemented"
|
||||
msgstr "wèi shí xiàn tí shēng mó shì"
|
||||
|
||||
#: ports/stm/common-hal/os/__init__.c
|
||||
msgid "RNG DeInit Error"
|
||||
msgstr "RNG qǔxiāo chūshǐhuà cuòwù"
|
||||
@ -1707,6 +1826,10 @@ msgstr "RNG qǔxiāo chūshǐhuà cuòwù"
|
||||
msgid "RNG Init Error"
|
||||
msgstr "RNG chūshǐhuà cuòwù"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c
|
||||
msgid "RS485 Not yet supported on this device"
|
||||
msgstr "RS485 cǐ shè bèi shàng bù zhī chí"
|
||||
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/UART.c
|
||||
msgid "RS485 inversion specified when not in RS485 mode"
|
||||
@ -1714,6 +1837,7 @@ msgstr "Wèi chǔyú RS485 móshì shí zhǐdìngle RS485 fǎn zhuǎn"
|
||||
|
||||
#: ports/cxd56/common-hal/rtc/RTC.c ports/esp32s2/common-hal/rtc/RTC.c
|
||||
#: ports/mimxrt10xx/common-hal/rtc/RTC.c ports/nrf/common-hal/rtc/RTC.c
|
||||
#: ports/raspberrypi/common-hal/rtc/RTC.c
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "Cǐ bǎn bù zhīchí RTC jiàozhǔn"
|
||||
|
||||
@ -1722,7 +1846,7 @@ msgid "RTC is not supported on this board"
|
||||
msgstr "Cǐ bǎn bù zhīchí RTC"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
|
||||
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "RTS/CTS/RS485 Not yet supported on this device"
|
||||
msgstr "RTS/CTS/RS485 gāi shèbèi shàng bù zhīchí"
|
||||
|
||||
@ -1779,11 +1903,6 @@ msgstr "Zài ānquán móshì xià yùnxíng! "
|
||||
msgid "SD card CSD format not supported"
|
||||
msgstr "Bù zhīchí SD kǎ CSD géshì"
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||
msgid "SDA or SCL needs a pull up"
|
||||
msgstr "SDA huò SCL xūyào lādòng"
|
||||
|
||||
#: ports/stm/common-hal/sdioio/SDCard.c
|
||||
#, c-format
|
||||
msgid "SDIO GetCardInfo Error %d"
|
||||
@ -1802,6 +1921,10 @@ msgstr "SPI chūshǐhuà cuòwù"
|
||||
msgid "SPI Re-initialization error"
|
||||
msgstr "SPI chóngxīn chūshǐhuà cuòwù"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
msgid "SPI peripheral in use"
|
||||
msgstr "SPI wài shè zhèng zài shǐ yòng zhōng"
|
||||
|
||||
#: shared-bindings/audiomixer/Mixer.c
|
||||
msgid "Sample rate must be positive"
|
||||
msgstr "Cǎiyàng lǜ bìxū wèi zhèng shù"
|
||||
@ -1832,6 +1955,14 @@ msgstr "Xùliè huà yǐjīng shǐyòngguò"
|
||||
msgid "Server side context cannot have hostname"
|
||||
msgstr "Fúwùqì duān shàngxiàwén bùnéng jùyǒu zhǔjī míng"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Set pin count must be between 1 and 5"
|
||||
msgstr "shè zhì yǐn jiǎo shù bì xū jiè yú 1 hé 5 zhī jiān"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "Side set pin count must be between 1 and 5"
|
||||
msgstr "cè miàn shè zhì yǐn jiǎo shù bì xū jiè yú 1 hé 5 zhī jiān"
|
||||
|
||||
#: ports/cxd56/common-hal/camera/Camera.c
|
||||
msgid "Size not supported"
|
||||
msgstr "bù zhī chí dà xiǎo"
|
||||
@ -2005,6 +2136,10 @@ msgstr "UART chūshǐhuà cuòwù"
|
||||
msgid "UART Re-init error"
|
||||
msgstr "UART chóngxīn chūshǐhuà cuòwù"
|
||||
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||
msgid "UART not yet supported"
|
||||
msgstr "UART shàng wèi shòu zhī chí"
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "UART write error"
|
||||
msgstr "UART xiě cuòwù"
|
||||
@ -2068,7 +2203,7 @@ msgstr "wú fǎ xiě rù sleep_memory。"
|
||||
msgid "Unexpected nrfx uuid type"
|
||||
msgstr "Yìwài de nrfx uuid lèixíng"
|
||||
|
||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||
#: ports/esp32s2/common-hal/ssl/SSLSocket.c
|
||||
#, c-format
|
||||
msgid "Unhandled ESP TLS error %d %d %x %d"
|
||||
msgstr "Wèi chǔlǐ de ESP TLS cuòwù %d %d %x %d"
|
||||
@ -2111,7 +2246,8 @@ msgstr ""
|
||||
"huò hūlüè."
|
||||
|
||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
||||
#: ports/esp32s2/common-hal/busio/UART.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||
msgid "Unsupported baudrate"
|
||||
msgstr "Bù zhīchí de baudrate"
|
||||
|
||||
@ -2162,6 +2298,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
||||
msgstr "Jǐnggào: Nǐ de dàimǎ wénjiàn míng yǒu liǎng gè kuòzhǎn míng\n"
|
||||
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||
msgstr "Yīdàn jiāng móshì shèzhì wèi RESET, jiù wúfǎ chūshǐhuà WatchDog Timer"
|
||||
|
||||
@ -2374,7 +2511,7 @@ msgstr "huǎnchōng qū qiēpiàn bìxū chángdù xiāngděng"
|
||||
msgid "buffer too small"
|
||||
msgstr "huǎnchōng qū tài xiǎo"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "buffer too small for requested bytes"
|
||||
msgstr "huǎn chōng qū tài xiǎo, duì yú qǐng qiú de zì jié"
|
||||
|
||||
@ -3541,6 +3678,10 @@ msgstr "cóng kōng mài chōng tán chū"
|
||||
msgid "pop from empty %q"
|
||||
msgstr "cóng kōng %q dànchū"
|
||||
|
||||
#: shared-bindings/socketpool/Socket.c shared-bindings/ssl/SSLSocket.c
|
||||
msgid "port must be >= 0"
|
||||
msgstr "duān kǒu bì xū wéi >= 0"
|
||||
|
||||
#: py/objint_mpz.c
|
||||
msgid "pow() 3rd argument cannot be 0"
|
||||
msgstr "pow() 3 cān shǔ bùnéng wéi 0"
|
||||
@ -3557,6 +3698,7 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
|
||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||
@ -3574,6 +3716,14 @@ msgstr "Zài qǐdòng shí àn qǐdòng ànniǔ.\n"
|
||||
msgid "pressing both buttons at start up.\n"
|
||||
msgstr "zài qǐdòng shí tóngshí àn xià liǎng gè ànniǔ.\n"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "pull_threshold must be between 1 and 32"
|
||||
msgstr "lā lì yù zhí bì xū jiè yú 1 hé 32 zhī jiān"
|
||||
|
||||
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||
msgid "push_threshold must be between 1 and 32"
|
||||
msgstr "tuī sòng yù zhí bì xū jiè yú 1 hé 32 zhī jiān"
|
||||
|
||||
#: extmod/modutimeq.c
|
||||
msgid "queue overflow"
|
||||
msgstr "duìliè yìchū"
|
||||
@ -3771,7 +3921,7 @@ msgstr "yùzhí bìxū zài fànwéi 0-65536"
|
||||
|
||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||
msgid "tile must be greater than zero"
|
||||
msgstr ""
|
||||
msgstr "cí tiē bì xū dà yú líng"
|
||||
|
||||
#: shared-bindings/time/__init__.c
|
||||
msgid "time.struct_time() takes a 9-sequence"
|
||||
@ -3779,6 +3929,7 @@ msgstr "time.struct_time() xūyào 9 xùliè"
|
||||
|
||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||
msgid "timeout duration exceeded the maximum supported value"
|
||||
msgstr "chāoshí shíjiān chāoguò zuìdà zhīchí zhí"
|
||||
|
||||
@ -4061,6 +4212,15 @@ msgstr "zi bìxū wèi fú diǎn xíng"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
|
||||
|
||||
#~ msgid "SDA or SCL needs a pull up"
|
||||
#~ msgstr "SDA huò SCL xūyào lādòng"
|
||||
|
||||
#~ msgid "Invalid use of TLS Socket"
|
||||
#~ msgstr "TLS tào jiē zì de wú xiào shǐ yòng"
|
||||
|
||||
#~ msgid "Issue setting SO_REUSEADDR"
|
||||
#~ msgstr "wèn tí shè zhì SO_REUSEADDR"
|
||||
|
||||
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||
#~ msgstr ""
|
||||
#~ "%d dìzhǐ yǐn jiǎo hé %d rgb yǐn jiǎo jiāng gāodù biǎoshì wèi %d, ér bùshì "
|
||||
|
1
main.c
1
main.c
@ -184,6 +184,7 @@ STATIC void stop_mp(void) {
|
||||
#endif
|
||||
|
||||
background_callback_reset();
|
||||
usb_background();
|
||||
|
||||
gc_deinit();
|
||||
}
|
||||
|
@ -11,3 +11,4 @@ LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
SUPEROPT_GC = 0
|
||||
SUPEROPT_VM = 0
|
||||
|
37
ports/atmel-samd/boards/dynalora_usb/board.c
Normal file
37
ports/atmel-samd/boards/dynalora_usb/board.c
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
36
ports/atmel-samd/boards/dynalora_usb/mpconfigboard.h
Normal file
36
ports/atmel-samd/boards/dynalora_usb/mpconfigboard.h
Normal file
@ -0,0 +1,36 @@
|
||||
#define MICROPY_HW_BOARD_NAME "DynaLoRa_USB"
|
||||
#define MICROPY_HW_MCU_NAME "samd21e18"
|
||||
|
||||
#define MICROPY_HW_LED_STATUS (&pin_PA27)
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PA19)
|
||||
|
||||
#define SPI_FLASH_MOSI_PIN &pin_PA04
|
||||
#define SPI_FLASH_MISO_PIN &pin_PA05
|
||||
#define SPI_FLASH_SCK_PIN &pin_PA07
|
||||
#define SPI_FLASH_CS_PIN &pin_PA06
|
||||
|
||||
// These are pins not to reset.
|
||||
#define MICROPY_PORT_A (0)
|
||||
#define MICROPY_PORT_B (0)
|
||||
#define MICROPY_PORT_C (0)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_PA01)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_PA00)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_PA17)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_PA16)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_PA18)
|
||||
|
||||
#define DEFAULT_UART_BUS_RX (&pin_PA00)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_PA01)
|
||||
|
||||
// USB is always used internally so skip the pin objects for it.
|
||||
#define IGNORE_PIN_PA23 1
|
||||
#define IGNORE_PIN_PA24 1
|
||||
|
||||
// Not connected
|
||||
#define IGNORE_PIN_PA08 1
|
||||
#define IGNORE_PIN_PA14 1
|
||||
#define IGNORE_PIN_PA21 1
|
||||
#define IGNORE_PIN_PA22 1
|
||||
#define IGNORE_PIN_PA28 1
|
39
ports/atmel-samd/boards/dynalora_usb/mpconfigboard.mk
Normal file
39
ports/atmel-samd/boards/dynalora_usb/mpconfigboard.mk
Normal file
@ -0,0 +1,39 @@
|
||||
USB_VID = 0x04D8
|
||||
USB_PID = 0xEA2A
|
||||
USB_PRODUCT = "DynaLoRa_USB"
|
||||
USB_MANUFACTURER = "BHDynamics"
|
||||
|
||||
CHIP_VARIANT = SAMD21E18A
|
||||
CHIP_FAMILY = samd21
|
||||
|
||||
SPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICE_COUNT = 1
|
||||
EXTERNAL_FLASH_DEVICES = GD25Q32C
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY_AUDIOBUSIO = 0
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
CIRCUITPY_GAMEPAD = 0
|
||||
CIRCUITPY_DISPLAYIO = 0
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
SUPEROPT_GC = 0
|
||||
|
||||
CFLAGS_BOARD = --param max-inline-insns-auto=15
|
||||
ifeq ($(TRANSLATION), zh_Latn_pinyin)
|
||||
RELEASE_NEEDS_CLEAN_BUILD = 1
|
||||
CFLAGS_INLINE_LIMIT = 35
|
||||
endif
|
||||
ifeq ($(TRANSLATION), ja)
|
||||
RELEASE_NEEDS_CLEAN_BUILD = 1
|
||||
CFLAGS_INLINE_LIMIT = 35
|
||||
endif
|
||||
ifeq ($(TRANSLATION), de_DE)
|
||||
RELEASE_NEEDS_CLEAN_BUILD = 1
|
||||
CFLAGS_INLINE_LIMIT = 35
|
||||
SUPEROPT_VM = 0
|
||||
endif
|
||||
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM9x
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
41
ports/atmel-samd/boards/dynalora_usb/pins.c
Normal file
41
ports/atmel-samd/boards/dynalora_usb/pins.c
Normal file
@ -0,0 +1,41 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA00) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA01) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA02) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA30) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA31) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA00) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA01) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA02) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RADIO_CS), MP_ROM_PTR(&pin_PA11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RADIO_INT), MP_ROM_PTR(&pin_PA09) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RADIO_RESET), MP_ROM_PTR(&pin_PA10) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_PA03) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA01) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA00) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA01) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA00) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI1), MP_ROM_PTR(&pin_PA00) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO1), MP_ROM_PTR(&pin_PA02) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK1), MP_ROM_PTR(&pin_PA01) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA27) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_PA15) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
@ -11,3 +11,4 @@ LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
SUPEROPT_GC = 0
|
||||
SUPEROPT_VM = 0
|
||||
|
@ -11,14 +11,5 @@ LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
SUPEROPT_GC = 0
|
||||
|
||||
CFLAGS_BOARD = --param max-inline-insns-auto=15
|
||||
ifeq ($(TRANSLATION), zh_Latn_pinyin)
|
||||
RELEASE_NEEDS_CLEAN_BUILD = 1
|
||||
CFLAGS_INLINE_LIMIT = 35
|
||||
endif
|
||||
ifeq ($(TRANSLATION), de_DE)
|
||||
RELEASE_NEEDS_CLEAN_BUILD = 1
|
||||
CFLAGS_INLINE_LIMIT = 35
|
||||
SUPEROPT_VM = 0
|
||||
endif
|
||||
CFLAGS_INLINE_LIMIT = 45
|
||||
|
@ -40,6 +40,7 @@
|
||||
|
||||
|
||||
static uint8_t pewpew_tc_index = 0xff;
|
||||
static volatile uint16_t pewpew_ticks = 0;
|
||||
|
||||
|
||||
void pewpew_interrupt_handler(uint8_t index) {
|
||||
@ -52,6 +53,7 @@ void pewpew_interrupt_handler(uint8_t index) {
|
||||
}
|
||||
|
||||
pew_tick();
|
||||
++pewpew_ticks;
|
||||
|
||||
// Clear the interrupt bit.
|
||||
tc->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0;
|
||||
@ -123,3 +125,7 @@ void pew_reset(void) {
|
||||
}
|
||||
MP_STATE_VM(pew_singleton) = NULL;
|
||||
}
|
||||
|
||||
uint16_t pew_get_ticks() {
|
||||
return pewpew_ticks;
|
||||
}
|
||||
|
@ -44,5 +44,6 @@ typedef struct {
|
||||
void pew_init(void);
|
||||
void pewpew_interrupt_handler(uint8_t index);
|
||||
void pew_reset(void);
|
||||
uint16_t pew_get_ticks(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_PEW_PEWPEW_H
|
||||
|
@ -97,7 +97,7 @@ void common_hal_busio_i2c_construct(busio_i2c_obj_t *self,
|
||||
if (!gpio_get_pin_level(sda->number) || !gpio_get_pin_level(scl->number)) {
|
||||
reset_pin_number(sda->number);
|
||||
reset_pin_number(scl->number);
|
||||
mp_raise_RuntimeError(translate("SDA or SCL needs a pull up"));
|
||||
mp_raise_RuntimeError(translate("No pull up found on SDA or SCL; check your wiring"));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -164,7 +164,9 @@ LIBS += -lm
|
||||
endif
|
||||
|
||||
# TinyUSB defines
|
||||
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_ESP32S2 -DCFG_TUSB_OS=OPT_OS_FREERTOS -DCFG_TUD_CDC_RX_BUFSIZE=1024 -DCFG_TUD_CDC_TX_BUFSIZE=1024 -DCFG_TUD_MSC_BUFSIZE=4096 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_MIDI_TX_BUFSIZE=128
|
||||
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_ESP32S2 -DCFG_TUSB_OS=OPT_OS_FREERTOS -DCFG_TUD_CDC_RX_BUFSIZE=1024 -DCFG_TUD_CDC_TX_BUFSIZE=1024
|
||||
CFLAGS += -DCFG_TUD_MSC_BUFSIZE=4096 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_MIDI_TX_BUFSIZE=128
|
||||
CFLAGS += -DCFG_TUD_VENDOR_RX_BUFSIZE=128 -DCFG_TUD_VENDOR_TX_BUFSIZE=128
|
||||
|
||||
|
||||
######################################
|
||||
|
@ -14,4 +14,10 @@ CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
# We only have enough endpoints available in hardware to
|
||||
# enable ONE of these at a time.
|
||||
CIRCUITPY_USB_MIDI = 1
|
||||
CIRCUITPY_USB_HID = 0
|
||||
CIRCUITPY_USB_VENDOR = 0
|
||||
|
||||
CIRCUITPY_MODULE=wrover
|
||||
|
@ -27,6 +27,109 @@
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
#include "shared-module/displayio/mipi_constants.h"
|
||||
|
||||
#define DELAY 0x80
|
||||
|
||||
// display init sequence according to LilyGO example app
|
||||
uint8_t display_init_sequence[] = {
|
||||
// sw reset
|
||||
0x01, 0 | DELAY, 150,
|
||||
// sleep out
|
||||
0x11, 0 | DELAY, 255,
|
||||
// normal display mode on
|
||||
0x13, 0,
|
||||
// display and color format settings
|
||||
0x36, 1, 0x08,
|
||||
0xB6, 2, 0x0A, 0x82,
|
||||
0x3A, 1 | DELAY, 0x55, 10,
|
||||
// ST7789V frame rate setting
|
||||
0xB2, 5, 0x0C, 0x0C, 0x00, 0x33, 0x33,
|
||||
// voltages: VGH / VGL
|
||||
0xB7, 1, 0x35,
|
||||
// ST7789V power setting
|
||||
0xBB, 1, 0x28,
|
||||
0xC0, 1, 0x0C,
|
||||
0xC2, 2, 0x01, 0xFF,
|
||||
0xC3, 1, 0x10,
|
||||
0xC4, 1, 0x20,
|
||||
0xC6, 1, 0x0F,
|
||||
0xD0, 2, 0xA4, 0xA1,
|
||||
// ST7789V gamma setting
|
||||
0xE0, 14, 0xD0, 0x00, 0x02, 0x07, 0x0A, 0x28, 0x32, 0x44, 0x42, 0x06, 0x0E, 0x12, 0x14, 0x17,
|
||||
0xE1, 14, 0xD0, 0x00, 0x02, 0x07, 0x0A, 0x28, 0x31, 0x54, 0x47, 0x0E, 0x1C, 0x17, 0x1B, 0x1E,
|
||||
0x21, 0,
|
||||
// display on
|
||||
0x29, 0 | DELAY, 255,
|
||||
};
|
||||
|
||||
static void display_init(void) {
|
||||
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
|
||||
|
||||
common_hal_busio_spi_construct(
|
||||
spi,
|
||||
&pin_GPIO36, // CLK
|
||||
&pin_GPIO35, // MOSI
|
||||
NULL // MISO not connected
|
||||
);
|
||||
|
||||
common_hal_busio_spi_never_reset(spi);
|
||||
|
||||
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;
|
||||
bus->base.type = &displayio_fourwire_type;
|
||||
|
||||
common_hal_displayio_fourwire_construct(
|
||||
bus,
|
||||
spi,
|
||||
&pin_GPIO37, // DC
|
||||
&pin_GPIO34, // CS
|
||||
&pin_GPIO38, // RST
|
||||
40000000, // baudrate
|
||||
0, // polarity
|
||||
0 // phase
|
||||
);
|
||||
|
||||
displayio_display_obj_t* display = &displays[0].display;
|
||||
display->base.type = &displayio_display_type;
|
||||
|
||||
// workaround as board_init() is called before reset_port() in main.c
|
||||
pwmout_reset();
|
||||
|
||||
common_hal_displayio_display_construct(
|
||||
display,
|
||||
bus,
|
||||
240, // width (after rotation)
|
||||
135, // height (after rotation)
|
||||
52, // column start
|
||||
40, // row start
|
||||
90, // rotation
|
||||
16, // color depth
|
||||
false, // grayscale
|
||||
false, // pixels in a byte share a row. Only valid for depths < 8
|
||||
1, // bytes per cell. Only valid for depths < 8
|
||||
false, // reverse_pixels_in_byte. Only valid for depths < 8
|
||||
true, // reverse_pixels_in_word
|
||||
MIPI_COMMAND_SET_COLUMN_ADDRESS, // set column command
|
||||
MIPI_COMMAND_SET_PAGE_ADDRESS, // set row command
|
||||
MIPI_COMMAND_WRITE_MEMORY_START, // write memory command
|
||||
0x37, // set vertical scroll command
|
||||
display_init_sequence,
|
||||
sizeof(display_init_sequence),
|
||||
&pin_GPIO33, // backlight pin
|
||||
NO_BRIGHTNESS_COMMAND,
|
||||
1.0f, // brightness (ignored)
|
||||
false, // auto_brightness
|
||||
false, // single_byte_bounds
|
||||
false, // data_as_commands
|
||||
true, // auto_refresh
|
||||
60, // native_frames_per_second
|
||||
true, // backlight_on_high
|
||||
false // SH1107_addressing
|
||||
);
|
||||
|
||||
common_hal_never_reset_pin(&pin_GPIO33); // backlight pin
|
||||
}
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
@ -38,6 +141,9 @@ void board_init(void) {
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
|
||||
// Display
|
||||
display_init();
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
@ -41,13 +42,13 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_GPIO10) },
|
||||
|
||||
// 1.14 inch LCD ST7789
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_MISO), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_CLK), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_BCKL), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) },
|
||||
|
||||
// Peripheral Power control
|
||||
{ MP_ROM_QSTR(MP_QSTR_PE_POWER), MP_ROM_PTR(&pin_GPIO14) },
|
||||
|
@ -150,6 +150,14 @@ void common_hal_alarm_set_deep_sleep_alarms(size_t n_alarms, const mp_obj_t *ala
|
||||
void NORETURN alarm_enter_deep_sleep(void) {
|
||||
alarm_pin_pinalarm_prepare_for_deep_sleep();
|
||||
alarm_touch_touchalarm_prepare_for_deep_sleep();
|
||||
|
||||
// Disable brownout detection, which appears to be triggered sometimes when
|
||||
// waking from deep sleep.
|
||||
// See https://www.esp32.com/viewtopic.php?f=13&t=19208#p71084
|
||||
// and https://github.com/adafruit/circuitpython/issues/4025#issuecomment-771027606
|
||||
// TODO: We can remove this workaround when ESP-IDF handles this.
|
||||
CLEAR_PERI_REG_MASK(RTC_CNTL_BROWN_OUT_REG, RTC_CNTL_BROWN_OUT_RST_ENA);
|
||||
|
||||
// The ESP-IDF caches the deep sleep settings and applies them before sleep.
|
||||
// We don't need to worry about resetting them in the interim.
|
||||
esp_deep_sleep_start();
|
||||
|
@ -63,6 +63,9 @@ void common_hal_audiobusio_i2sout_construct(audiobusio_i2sout_obj_t* self,
|
||||
self->bit_clock = bit_clock;
|
||||
self->word_select = word_select;
|
||||
self->data = data;
|
||||
claim_pin(bit_clock);
|
||||
claim_pin(word_select);
|
||||
claim_pin(data);
|
||||
}
|
||||
|
||||
bool common_hal_audiobusio_i2sout_deinited(audiobusio_i2sout_obj_t* self) {
|
||||
|
@ -85,7 +85,7 @@ void common_hal_busio_i2c_construct(busio_i2c_obj_t *self,
|
||||
if (gpio_get_level(sda->number) == 0 || gpio_get_level(scl->number) == 0) {
|
||||
reset_pin_number(sda->number);
|
||||
reset_pin_number(scl->number);
|
||||
mp_raise_RuntimeError(translate("SDA or SCL needs a pull up"));
|
||||
mp_raise_RuntimeError(translate("No pull up found on SDA or SCL; check your wiring"));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
* Copyright (c) 2020 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
@ -38,16 +37,15 @@
|
||||
#include "components/lwip/lwip/src/include/lwip/sys.h"
|
||||
#include "components/lwip/lwip/src/include/lwip/netdb.h"
|
||||
|
||||
STATIC socketpool_socket_obj_t * open_socket_handles[CONFIG_LWIP_MAX_SOCKETS]; // 4 on the wrover/wroom
|
||||
STATIC socketpool_socket_obj_t * open_socket_handles[CONFIG_LWIP_MAX_SOCKETS];
|
||||
|
||||
void socket_reset(void) {
|
||||
for (size_t i = 0; i < MP_ARRAY_SIZE(open_socket_handles); i++) {
|
||||
if (open_socket_handles[i]) {
|
||||
if (open_socket_handles[i]->num > 0) {
|
||||
// Close automatically clears socket handle
|
||||
common_hal_socketpool_socket_close(open_socket_handles[i]);
|
||||
open_socket_handles[i] = NULL;
|
||||
} else {
|
||||
// accidentally got a TCP socket in here, or something.
|
||||
open_socket_handles[i] = NULL;
|
||||
}
|
||||
}
|
||||
@ -64,73 +62,14 @@ bool register_open_socket(socketpool_socket_obj_t* self) {
|
||||
return false;
|
||||
}
|
||||
|
||||
STATIC void _lazy_init_LWIP(socketpool_socket_obj_t* self) {
|
||||
if (self->num != -1) {
|
||||
return; //safe to call on existing socket
|
||||
}
|
||||
if (self->tls != NULL) {
|
||||
mp_raise_RuntimeError(translate("Invalid use of TLS Socket"));
|
||||
}
|
||||
int socknum = -1;
|
||||
socknum = lwip_socket(self->family, self->type, self->ipproto);
|
||||
if (socknum < 0 || !register_open_socket(self)) {
|
||||
mp_raise_RuntimeError(translate("Out of sockets"));
|
||||
}
|
||||
self->num = socknum;
|
||||
lwip_fcntl(socknum, F_SETFL, O_NONBLOCK);
|
||||
}
|
||||
|
||||
STATIC void _lazy_init_TLS(socketpool_socket_obj_t* self) {
|
||||
if (self->type != SOCK_STREAM || self->num != -1) {
|
||||
mp_raise_RuntimeError(translate("Invalid socket for TLS"));
|
||||
}
|
||||
esp_tls_t* tls_handle = esp_tls_init();
|
||||
if (tls_handle == NULL) {
|
||||
mp_raise_espidf_MemoryError();
|
||||
}
|
||||
self->tls = tls_handle;
|
||||
}
|
||||
|
||||
void common_hal_socketpool_socket_settimeout(socketpool_socket_obj_t* self, mp_uint_t timeout_ms) {
|
||||
self->timeout_ms = timeout_ms;
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_bind(socketpool_socket_obj_t* self,
|
||||
const char* host, size_t hostlen, uint8_t port) {
|
||||
_lazy_init_LWIP(self);
|
||||
|
||||
struct sockaddr_in bind_addr;
|
||||
bind_addr.sin_addr.s_addr = inet_addr(host);
|
||||
bind_addr.sin_family = AF_INET;
|
||||
bind_addr.sin_port = htons(port);
|
||||
|
||||
int opt = 1;
|
||||
int err = lwip_setsockopt(self->num, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
|
||||
if (err != 0) {
|
||||
mp_raise_RuntimeError(translate("Issue setting SO_REUSEADDR"));
|
||||
}
|
||||
int result = lwip_bind(self->num, (struct sockaddr *)&bind_addr, sizeof(bind_addr)) == 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_listen(socketpool_socket_obj_t* self, int backlog) {
|
||||
return lwip_listen(self->num, backlog) == 0;
|
||||
}
|
||||
|
||||
socketpool_socket_obj_t* common_hal_socketpool_socket_accept(socketpool_socket_obj_t* self,
|
||||
uint8_t* ip, uint *port) {
|
||||
uint8_t* ip, uint32_t *port) {
|
||||
struct sockaddr_in accept_addr;
|
||||
socklen_t socklen = sizeof(accept_addr);
|
||||
int newsoc = -1;
|
||||
bool timed_out = false;
|
||||
uint64_t start_ticks = supervisor_ticks_ms64();
|
||||
|
||||
if (self->timeout_ms != (uint)-1) {
|
||||
mp_printf(&mp_plat_print, "will timeout");
|
||||
} else {
|
||||
mp_printf(&mp_plat_print, "won't timeout");
|
||||
}
|
||||
|
||||
// Allow timeouts and interrupts
|
||||
while (newsoc == -1 &&
|
||||
!timed_out &&
|
||||
@ -140,7 +79,7 @@ socketpool_socket_obj_t* common_hal_socketpool_socket_accept(socketpool_socket_o
|
||||
}
|
||||
RUN_BACKGROUND_TASKS;
|
||||
newsoc = lwip_accept(self->num, (struct sockaddr *)&accept_addr, &socklen);
|
||||
// In non-blocking mode, fail instead of looping
|
||||
// In non-blocking mode, fail instead of timing out
|
||||
if (newsoc == -1 && self->timeout_ms == 0) {
|
||||
mp_raise_OSError(MP_EAGAIN);
|
||||
}
|
||||
@ -159,9 +98,8 @@ socketpool_socket_obj_t* common_hal_socketpool_socket_accept(socketpool_socket_o
|
||||
socketpool_socket_obj_t *sock = m_new_obj_with_finaliser(socketpool_socket_obj_t);
|
||||
sock->base.type = &socketpool_socket_type;
|
||||
sock->num = newsoc;
|
||||
sock->tls = NULL;
|
||||
sock->ssl_context = NULL;
|
||||
sock->pool = self->pool;
|
||||
sock->connected = true;
|
||||
|
||||
if (!register_open_socket(sock)) {
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
@ -175,182 +113,97 @@ socketpool_socket_obj_t* common_hal_socketpool_socket_accept(socketpool_socket_o
|
||||
}
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_bind(socketpool_socket_obj_t* self,
|
||||
const char* host, size_t hostlen, uint32_t port) {
|
||||
struct sockaddr_in bind_addr;
|
||||
bind_addr.sin_addr.s_addr = inet_addr(host);
|
||||
bind_addr.sin_family = AF_INET;
|
||||
bind_addr.sin_port = htons(port);
|
||||
|
||||
int opt = 1;
|
||||
int err = lwip_setsockopt(self->num, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
|
||||
if (err != 0) {
|
||||
mp_raise_RuntimeError(translate("Cannot set socket options"));
|
||||
}
|
||||
int result = lwip_bind(self->num, (struct sockaddr *)&bind_addr, sizeof(bind_addr)) == 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
void common_hal_socketpool_socket_close(socketpool_socket_obj_t* self) {
|
||||
self->connected = false;
|
||||
if (self->num >= 0) {
|
||||
lwip_shutdown(self->num, 0);
|
||||
lwip_close(self->num);
|
||||
self->num = -1;
|
||||
}
|
||||
// Remove socket record
|
||||
for (size_t i = 0; i < MP_ARRAY_SIZE(open_socket_handles); i++) {
|
||||
if (open_socket_handles[i] == self) {
|
||||
open_socket_handles[i] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_connect(socketpool_socket_obj_t* self,
|
||||
const char* host, mp_uint_t hostlen, mp_int_t port) {
|
||||
// For simplicity we use esp_tls for all TCP connections. If it's not SSL, ssl_context will be
|
||||
// NULL and should still work. This makes regular TCP connections more memory expensive but TLS
|
||||
// should become more and more common. Therefore, we optimize for the TLS case.
|
||||
|
||||
// Todo: move to SSL Wrapper and add lwip_connect()
|
||||
_lazy_init_TLS(self);
|
||||
|
||||
esp_tls_cfg_t* tls_config = NULL;
|
||||
if (self->ssl_context != NULL) {
|
||||
tls_config = &self->ssl_context->ssl_config;
|
||||
}
|
||||
int result = esp_tls_conn_new_sync(host, hostlen, port, tls_config, self->tls);
|
||||
self->connected = result >= 0;
|
||||
if (result < 0) {
|
||||
int esp_tls_code;
|
||||
int flags;
|
||||
esp_err_t err = esp_tls_get_and_clear_last_error(self->tls->error_handle, &esp_tls_code, &flags);
|
||||
|
||||
if (err == ESP_ERR_MBEDTLS_SSL_SETUP_FAILED) {
|
||||
mp_raise_espidf_MemoryError();
|
||||
} else if (ESP_ERR_MBEDTLS_SSL_HANDSHAKE_FAILED) {
|
||||
mp_raise_OSError_msg_varg(translate("Failed SSL handshake"));
|
||||
} else {
|
||||
mp_raise_OSError_msg_varg(translate("Unhandled ESP TLS error %d %d %x %d"), esp_tls_code, flags, err, result);
|
||||
}
|
||||
} else {
|
||||
// Connection successful, set the timeout on the underlying socket. We can't rely on the IDF
|
||||
// to do it because the config structure is only used for TLS connections. Generally, we
|
||||
// shouldn't hit this timeout because we try to only read available data. However, there is
|
||||
// always a chance that we try to read something that is used internally.
|
||||
int fd;
|
||||
esp_tls_get_conn_sockfd(self->tls, &fd);
|
||||
struct timeval tv;
|
||||
tv.tv_sec = 2 * 60; // Two minutes
|
||||
tv.tv_usec = 0;
|
||||
setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
|
||||
setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
|
||||
}
|
||||
|
||||
return self->connected;
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_get_connected(socketpool_socket_obj_t* self) {
|
||||
return self->connected;
|
||||
}
|
||||
|
||||
mp_uint_t common_hal_socketpool_socket_send(socketpool_socket_obj_t* self, const uint8_t* buf, mp_uint_t len) {
|
||||
int sent = -1;
|
||||
if (self->num != -1) {
|
||||
// LWIP Socket
|
||||
// TODO: deal with potential failure/add timeout?
|
||||
sent = lwip_send(self->num, buf, len, 0);
|
||||
} else if (self->tls != NULL) {
|
||||
// TLS Socket
|
||||
sent = esp_tls_conn_write(self->tls, buf, len);
|
||||
}
|
||||
|
||||
if (sent < 0) {
|
||||
mp_raise_OSError(MP_ENOTCONN);
|
||||
}
|
||||
return sent;
|
||||
}
|
||||
|
||||
mp_uint_t common_hal_socketpool_socket_recv_into(socketpool_socket_obj_t* self, const uint8_t* buf, mp_uint_t len) {
|
||||
int received = 0;
|
||||
bool timed_out = false;
|
||||
|
||||
if (self->num != -1) {
|
||||
// LWIP Socket
|
||||
uint64_t start_ticks = supervisor_ticks_ms64();
|
||||
received = -1;
|
||||
while (received == -1 &&
|
||||
!timed_out &&
|
||||
!mp_hal_is_interrupted()) {
|
||||
if (self->timeout_ms != (uint)-1 && self->timeout_ms != 0) {
|
||||
timed_out = supervisor_ticks_ms64() - start_ticks >= self->timeout_ms;
|
||||
}
|
||||
RUN_BACKGROUND_TASKS;
|
||||
received = lwip_recv(self->num, (void*) buf, len - 1, 0);
|
||||
|
||||
// In non-blocking mode, fail instead of looping
|
||||
if (received == -1 && self->timeout_ms == 0) {
|
||||
mp_raise_OSError(MP_EAGAIN);
|
||||
}
|
||||
}
|
||||
} else if (self->tls != NULL) {
|
||||
// TLS Socket
|
||||
int status = 0;
|
||||
uint64_t start_ticks = supervisor_ticks_ms64();
|
||||
int sockfd;
|
||||
esp_err_t err = esp_tls_get_conn_sockfd(self->tls, &sockfd);
|
||||
if (err != ESP_OK) {
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
while (received == 0 &&
|
||||
status >= 0 &&
|
||||
!timed_out &&
|
||||
!mp_hal_is_interrupted()) {
|
||||
if (self->timeout_ms != (uint)-1) {
|
||||
timed_out = self->timeout_ms == 0 || supervisor_ticks_ms64() - start_ticks >= self->timeout_ms;
|
||||
}
|
||||
RUN_BACKGROUND_TASKS;
|
||||
size_t available = esp_tls_get_bytes_avail(self->tls);
|
||||
if (available == 0) {
|
||||
// This reads the raw socket buffer and is used for non-TLS connections
|
||||
// and between encrypted TLS blocks.
|
||||
status = lwip_ioctl(sockfd, FIONREAD, &available);
|
||||
}
|
||||
size_t remaining = len - received;
|
||||
if (available > remaining) {
|
||||
available = remaining;
|
||||
}
|
||||
if (available > 0) {
|
||||
status = esp_tls_conn_read(self->tls, (void*) buf + received, available);
|
||||
if (status == 0) {
|
||||
// Reading zero when something is available indicates a closed
|
||||
// connection. (The available bytes could have been TLS internal.)
|
||||
break;
|
||||
}
|
||||
if (status > 0) {
|
||||
received += status;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Socket does not have a valid descriptor of either type
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
|
||||
if (timed_out) {
|
||||
mp_raise_OSError(ETIMEDOUT);
|
||||
}
|
||||
return received;
|
||||
}
|
||||
|
||||
mp_uint_t common_hal_socketpool_socket_sendto(socketpool_socket_obj_t* self,
|
||||
const char* host, size_t hostlen, uint8_t port, const uint8_t* buf, mp_uint_t len) {
|
||||
|
||||
_lazy_init_LWIP(self);
|
||||
|
||||
// Get the IP address string
|
||||
const char* host, size_t hostlen, uint32_t port) {
|
||||
const struct addrinfo hints = {
|
||||
.ai_family = AF_INET,
|
||||
.ai_socktype = SOCK_STREAM,
|
||||
};
|
||||
struct addrinfo *result;
|
||||
int error = lwip_getaddrinfo(host, NULL, &hints, &result);
|
||||
if (error != 0 || result == NULL) {
|
||||
return 0;
|
||||
struct addrinfo *result_i;
|
||||
int error = lwip_getaddrinfo(host, NULL, &hints, &result_i);
|
||||
if (error != 0 || result_i == NULL) {
|
||||
mp_raise_OSError(EHOSTUNREACH);
|
||||
}
|
||||
|
||||
// Set parameters
|
||||
struct sockaddr_in dest_addr;
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wcast-align"
|
||||
dest_addr.sin_addr.s_addr = ((struct sockaddr_in *)result->ai_addr)->sin_addr.s_addr;
|
||||
dest_addr.sin_addr.s_addr = ((struct sockaddr_in *)result_i->ai_addr)->sin_addr.s_addr;
|
||||
#pragma GCC diagnostic pop
|
||||
freeaddrinfo(result);
|
||||
freeaddrinfo(result_i);
|
||||
|
||||
dest_addr.sin_family = AF_INET;
|
||||
dest_addr.sin_port = htons(port);
|
||||
|
||||
int bytes_sent = lwip_sendto(self->num, buf, len, 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
|
||||
if (bytes_sent < 0) {
|
||||
mp_raise_BrokenPipeError();
|
||||
return 0;
|
||||
// Replace above with function call -----
|
||||
|
||||
// Switch to blocking mode for this one call
|
||||
int opts;
|
||||
opts = lwip_fcntl(self->num,F_GETFL,0);
|
||||
opts = opts & (~O_NONBLOCK);
|
||||
lwip_fcntl(self->num, F_SETFL, opts);
|
||||
|
||||
int result = -1;
|
||||
result = lwip_connect(self->num, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr_in));
|
||||
|
||||
// Switch back once complete
|
||||
opts = opts | O_NONBLOCK;
|
||||
lwip_fcntl(self->num, F_SETFL, opts);
|
||||
|
||||
if (result >= 0) {
|
||||
self->connected = true;
|
||||
return true;
|
||||
} else {
|
||||
mp_raise_OSError(errno);
|
||||
}
|
||||
return bytes_sent;
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_get_closed(socketpool_socket_obj_t* self) {
|
||||
return self->num < 0;
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_get_connected(socketpool_socket_obj_t* self) {
|
||||
return self->connected;
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_listen(socketpool_socket_obj_t* self, int backlog) {
|
||||
return lwip_listen(self->num, backlog) == 0;
|
||||
}
|
||||
|
||||
mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* self,
|
||||
uint8_t* buf, mp_uint_t len, uint8_t* ip, uint *port) {
|
||||
|
||||
_lazy_init_LWIP(self);
|
||||
uint8_t* buf, uint32_t len, uint8_t* ip, uint *port) {
|
||||
|
||||
struct sockaddr_in source_addr;
|
||||
socklen_t socklen = sizeof(source_addr);
|
||||
@ -362,7 +215,7 @@ mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* se
|
||||
while (received == -1 &&
|
||||
!timed_out &&
|
||||
!mp_hal_is_interrupted()) {
|
||||
if (self->timeout_ms != (uint)-1 && self->timeout_ms != 0) {
|
||||
if (self->timeout_ms != (uint)-1 && self->timeout_ms != 0) {
|
||||
timed_out = supervisor_ticks_ms64() - start_ticks >= self->timeout_ms;
|
||||
}
|
||||
RUN_BACKGROUND_TASKS;
|
||||
@ -389,24 +242,87 @@ mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* se
|
||||
return received;
|
||||
}
|
||||
|
||||
void common_hal_socketpool_socket_close(socketpool_socket_obj_t* self) {
|
||||
self->connected = false;
|
||||
if (self->tls != NULL) {
|
||||
esp_tls_conn_destroy(self->tls);
|
||||
self->tls = NULL;
|
||||
mp_uint_t common_hal_socketpool_socket_recv_into(socketpool_socket_obj_t* self, const uint8_t* buf, uint32_t len) {
|
||||
int received = 0;
|
||||
bool timed_out = false;
|
||||
|
||||
if (self->num != -1) {
|
||||
// LWIP Socket
|
||||
uint64_t start_ticks = supervisor_ticks_ms64();
|
||||
received = -1;
|
||||
while (received == -1 &&
|
||||
!timed_out &&
|
||||
!mp_hal_is_interrupted()) {
|
||||
if (self->timeout_ms != (uint)-1 && self->timeout_ms != 0) {
|
||||
timed_out = supervisor_ticks_ms64() - start_ticks >= self->timeout_ms;
|
||||
}
|
||||
RUN_BACKGROUND_TASKS;
|
||||
received = lwip_recv(self->num, (void*) buf, len, 0);
|
||||
|
||||
// In non-blocking mode, fail instead of looping
|
||||
if (received == -1 && self->timeout_ms == 0) {
|
||||
mp_raise_OSError(MP_EAGAIN);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
if (self->num >= 0) {
|
||||
lwip_shutdown(self->num, 0);
|
||||
lwip_close(self->num);
|
||||
self->num = -1;
|
||||
|
||||
if (timed_out) {
|
||||
mp_raise_OSError(ETIMEDOUT);
|
||||
}
|
||||
return received;
|
||||
}
|
||||
|
||||
bool common_hal_socketpool_socket_get_closed(socketpool_socket_obj_t* self) {
|
||||
return self->tls == NULL && self->num < 0;
|
||||
mp_uint_t common_hal_socketpool_socket_send(socketpool_socket_obj_t* self, const uint8_t* buf, uint32_t len) {
|
||||
int sent = -1;
|
||||
if (self->num != -1) {
|
||||
// LWIP Socket
|
||||
// TODO: deal with potential failure/add timeout?
|
||||
sent = lwip_send(self->num, buf, len, 0);
|
||||
} else {
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
|
||||
if (sent < 0) {
|
||||
mp_raise_OSError(errno);
|
||||
}
|
||||
return sent;
|
||||
}
|
||||
|
||||
mp_uint_t common_hal_socketpool_socket_sendto(socketpool_socket_obj_t* self,
|
||||
const char* host, size_t hostlen, uint32_t port, const uint8_t* buf, uint32_t len) {
|
||||
|
||||
mp_uint_t common_hal_socketpool_socket_get_hash(socketpool_socket_obj_t* self) {
|
||||
return self->num;
|
||||
// Set parameters
|
||||
const struct addrinfo hints = {
|
||||
.ai_family = AF_INET,
|
||||
.ai_socktype = SOCK_STREAM,
|
||||
};
|
||||
struct addrinfo *result_i;
|
||||
int error = lwip_getaddrinfo(host, NULL, &hints, &result_i);
|
||||
if (error != 0 || result_i == NULL) {
|
||||
mp_raise_OSError(EHOSTUNREACH);
|
||||
}
|
||||
|
||||
// Set parameters
|
||||
struct sockaddr_in dest_addr;
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wcast-align"
|
||||
dest_addr.sin_addr.s_addr = ((struct sockaddr_in *)result_i->ai_addr)->sin_addr.s_addr;
|
||||
#pragma GCC diagnostic pop
|
||||
freeaddrinfo(result_i);
|
||||
|
||||
dest_addr.sin_family = AF_INET;
|
||||
dest_addr.sin_port = htons(port);
|
||||
|
||||
int bytes_sent = lwip_sendto(self->num, buf, len, 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
|
||||
if (bytes_sent < 0) {
|
||||
mp_raise_BrokenPipeError();
|
||||
return 0;
|
||||
}
|
||||
return bytes_sent;
|
||||
}
|
||||
|
||||
void common_hal_socketpool_socket_settimeout(socketpool_socket_obj_t* self, uint32_t timeout_ms) {
|
||||
self->timeout_ms = timeout_ms;
|
||||
}
|
||||
|
@ -41,8 +41,6 @@ typedef struct {
|
||||
int family;
|
||||
int ipproto;
|
||||
bool connected;
|
||||
esp_tls_t* tls;
|
||||
ssl_sslcontext_obj_t* ssl_context;
|
||||
socketpool_socketpool_obj_t* pool;
|
||||
mp_uint_t timeout_ms;
|
||||
} socketpool_socket_obj_t;
|
||||
|
@ -25,6 +25,7 @@
|
||||
*/
|
||||
|
||||
#include "shared-bindings/socketpool/SocketPool.h"
|
||||
#include "common-hal/socketpool/Socket.h"
|
||||
|
||||
#include "py/runtime.h"
|
||||
#include "shared-bindings/wifi/__init__.h"
|
||||
@ -65,23 +66,23 @@ socketpool_socket_obj_t* common_hal_socketpool_socket(socketpool_socketpool_obj_
|
||||
mp_raise_NotImplementedError(translate("Only IPv4 sockets supported"));
|
||||
}
|
||||
|
||||
// Consider LWIP and MbedTLS "variant" sockets to be incompatible (for now)
|
||||
// The variant of the socket is determined by whether the socket is wrapped
|
||||
// by SSL. If no TLS handle is set in sslcontext_wrap_socket, the first call
|
||||
// of bind() or connect() will create a LWIP socket with a corresponding
|
||||
// socketnum.
|
||||
// TODO: move MbedTLS to its own duplicate Socket or Server API, maybe?
|
||||
socketpool_socket_obj_t *sock = m_new_obj_with_finaliser(socketpool_socket_obj_t);
|
||||
sock->base.type = &socketpool_socket_type;
|
||||
sock->num = -1;
|
||||
sock->type = socket_type;
|
||||
sock->family = addr_family;
|
||||
sock->ipproto = ipproto;
|
||||
sock->pool = self;
|
||||
sock->timeout_ms = (uint)-1;
|
||||
|
||||
sock->tls = NULL;
|
||||
sock->ssl_context = NULL;
|
||||
sock->pool = self;
|
||||
// Create LWIP socket
|
||||
int socknum = -1;
|
||||
socknum = lwip_socket(sock->family, sock->type, sock->ipproto);
|
||||
if (socknum < 0 || !register_open_socket(sock)) {
|
||||
mp_raise_RuntimeError(translate("Out of sockets"));
|
||||
}
|
||||
sock->num = socknum;
|
||||
// Sockets should be nonblocking in most cases
|
||||
lwip_fcntl(socknum, F_SETFL, O_NONBLOCK);
|
||||
return sock;
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,9 @@
|
||||
*/
|
||||
|
||||
#include "shared-bindings/ssl/SSLContext.h"
|
||||
#include "shared-bindings/ssl/SSLSocket.h"
|
||||
|
||||
#include "bindings/espidf/__init__.h"
|
||||
|
||||
#include "py/runtime.h"
|
||||
|
||||
@ -32,10 +35,26 @@ void common_hal_ssl_sslcontext_construct(ssl_sslcontext_obj_t* self) {
|
||||
|
||||
}
|
||||
|
||||
socketpool_socket_obj_t* common_hal_ssl_sslcontext_wrap_socket(ssl_sslcontext_obj_t* self,
|
||||
ssl_sslsocket_obj_t* common_hal_ssl_sslcontext_wrap_socket(ssl_sslcontext_obj_t* self,
|
||||
socketpool_socket_obj_t* socket, bool server_side, const char* server_hostname) {
|
||||
|
||||
socket->ssl_context = self;
|
||||
if (socket->type != SOCK_STREAM) {
|
||||
mp_raise_RuntimeError(translate("Invalid socket for TLS"));
|
||||
}
|
||||
|
||||
ssl_sslsocket_obj_t *sock = m_new_obj_with_finaliser(ssl_sslsocket_obj_t);
|
||||
sock->base.type = &ssl_sslsocket_type;
|
||||
sock->ssl_context = self;
|
||||
sock->sock = socket;
|
||||
|
||||
esp_tls_t* tls_handle = esp_tls_init();
|
||||
if (tls_handle == NULL) {
|
||||
mp_raise_espidf_MemoryError();
|
||||
}
|
||||
sock->tls = tls_handle;
|
||||
|
||||
// TODO: do something with the original socket? Don't call a close on the internal LWIP.
|
||||
|
||||
// Should we store server hostname on the socket in case connect is called with an ip?
|
||||
return socket;
|
||||
return sock;
|
||||
}
|
||||
|
176
ports/esp32s2/common-hal/ssl/SSLSocket.c
Normal file
176
ports/esp32s2/common-hal/ssl/SSLSocket.c
Normal file
@ -0,0 +1,176 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
* Copyright (c) 2021 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/ssl/SSLSocket.h"
|
||||
#include "shared-bindings/socketpool/Socket.h"
|
||||
#include "shared-bindings/ssl/SSLContext.h"
|
||||
|
||||
#include "bindings/espidf/__init__.h"
|
||||
#include "lib/utils/interrupt_char.h"
|
||||
#include "py/mperrno.h"
|
||||
#include "py/runtime.h"
|
||||
#include "supervisor/shared/tick.h"
|
||||
|
||||
ssl_sslsocket_obj_t* common_hal_ssl_sslsocket_accept(ssl_sslsocket_obj_t* self,
|
||||
uint8_t* ip, uint32_t *port) {
|
||||
socketpool_socket_obj_t * sock = common_hal_socketpool_socket_accept(self->sock, ip, port);
|
||||
ssl_sslsocket_obj_t * sslsock = common_hal_ssl_sslcontext_wrap_socket(self->ssl_context, sock, false, NULL);
|
||||
return sslsock;
|
||||
}
|
||||
|
||||
bool common_hal_ssl_sslsocket_bind(ssl_sslsocket_obj_t* self,
|
||||
const char* host, size_t hostlen, uint32_t port) {
|
||||
return common_hal_socketpool_socket_bind(self->sock, host, hostlen, port);
|
||||
}
|
||||
|
||||
void common_hal_ssl_sslsocket_close(ssl_sslsocket_obj_t* self) {
|
||||
common_hal_socketpool_socket_close(self->sock);
|
||||
esp_tls_conn_destroy(self->tls);
|
||||
self->tls = NULL;
|
||||
}
|
||||
|
||||
bool common_hal_ssl_sslsocket_connect(ssl_sslsocket_obj_t* self,
|
||||
const char* host, size_t hostlen, uint32_t port) {
|
||||
esp_tls_cfg_t* tls_config = NULL;
|
||||
tls_config = &self->ssl_context->ssl_config;
|
||||
int result = esp_tls_conn_new_sync(host, hostlen, port, tls_config, self->tls);
|
||||
self->sock->connected = result >= 0;
|
||||
if (result < 0) {
|
||||
int esp_tls_code;
|
||||
int flags;
|
||||
esp_err_t err = esp_tls_get_and_clear_last_error(self->tls->error_handle, &esp_tls_code, &flags);
|
||||
|
||||
if (err == ESP_ERR_MBEDTLS_SSL_SETUP_FAILED) {
|
||||
mp_raise_espidf_MemoryError();
|
||||
} else if (ESP_ERR_MBEDTLS_SSL_HANDSHAKE_FAILED) {
|
||||
mp_raise_OSError_msg_varg(translate("Failed SSL handshake"));
|
||||
} else {
|
||||
mp_raise_OSError_msg_varg(translate("Unhandled ESP TLS error %d %d %x %d"), esp_tls_code, flags, err, result);
|
||||
}
|
||||
} else {
|
||||
// Connection successful, set the timeout on the underlying socket. We can't rely on the IDF
|
||||
// to do it because the config structure is only used for TLS connections. Generally, we
|
||||
// shouldn't hit this timeout because we try to only read available data. However, there is
|
||||
// always a chance that we try to read something that is used internally.
|
||||
int fd;
|
||||
esp_tls_get_conn_sockfd(self->tls, &fd);
|
||||
struct timeval tv;
|
||||
tv.tv_sec = 2 * 60; // Two minutes
|
||||
tv.tv_usec = 0;
|
||||
setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));
|
||||
setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
|
||||
}
|
||||
|
||||
return self->sock->connected;
|
||||
}
|
||||
|
||||
bool common_hal_ssl_sslsocket_get_closed(ssl_sslsocket_obj_t* self) {
|
||||
return self->tls == NULL && self->sock->num < 0;
|
||||
}
|
||||
|
||||
bool common_hal_ssl_sslsocket_get_connected(ssl_sslsocket_obj_t* self) {
|
||||
return self->sock->connected;
|
||||
}
|
||||
|
||||
bool common_hal_ssl_sslsocket_listen(ssl_sslsocket_obj_t* self, int backlog) {
|
||||
return common_hal_socketpool_socket_listen(self->sock, backlog);
|
||||
}
|
||||
|
||||
mp_uint_t common_hal_ssl_sslsocket_recv_into(ssl_sslsocket_obj_t* self, const uint8_t* buf, uint32_t len) {
|
||||
int received = 0;
|
||||
bool timed_out = false;
|
||||
int status = 0;
|
||||
uint64_t start_ticks = supervisor_ticks_ms64();
|
||||
int sockfd;
|
||||
esp_err_t err = esp_tls_get_conn_sockfd(self->tls, &sockfd);
|
||||
if (err != ESP_OK) {
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
while (received == 0 &&
|
||||
status >= 0 &&
|
||||
!timed_out &&
|
||||
!mp_hal_is_interrupted()) {
|
||||
if (self->sock->timeout_ms != (uint)-1 && self->sock->timeout_ms != 0) {
|
||||
timed_out = self->sock->timeout_ms == 0 || supervisor_ticks_ms64() - start_ticks >= self->sock->timeout_ms;
|
||||
}
|
||||
RUN_BACKGROUND_TASKS;
|
||||
size_t available = esp_tls_get_bytes_avail(self->tls);
|
||||
if (available == 0) {
|
||||
// This reads the raw socket buffer and is used for non-TLS connections
|
||||
// and between encrypted TLS blocks.
|
||||
status = lwip_ioctl(sockfd, FIONREAD, &available);
|
||||
}
|
||||
size_t remaining = len - received;
|
||||
if (available > remaining) {
|
||||
available = remaining;
|
||||
}
|
||||
if (available > 0) {
|
||||
status = esp_tls_conn_read(self->tls, (void*) buf + received, available);
|
||||
if (status == 0) {
|
||||
// Reading zero when something is available indicates a closed
|
||||
// connection. (The available bytes could have been TLS internal.)
|
||||
break;
|
||||
}
|
||||
if (status > 0) {
|
||||
received += status;
|
||||
}
|
||||
}
|
||||
// In non-blocking mode, fail instead of timing out
|
||||
if (received==0 && self->sock->timeout_ms == 0) {
|
||||
mp_raise_OSError(MP_EAGAIN);
|
||||
}
|
||||
}
|
||||
|
||||
if (timed_out) {
|
||||
mp_raise_OSError(ETIMEDOUT);
|
||||
}
|
||||
return received;
|
||||
}
|
||||
|
||||
mp_uint_t common_hal_ssl_sslsocket_send(ssl_sslsocket_obj_t* self, const uint8_t* buf, uint32_t len) {
|
||||
int sent = -1;
|
||||
sent = esp_tls_conn_write(self->tls, buf, len);
|
||||
|
||||
if (sent < 0) {
|
||||
int esp_tls_code;
|
||||
int flags;
|
||||
esp_err_t err = esp_tls_get_and_clear_last_error(self->tls->error_handle, &esp_tls_code, &flags);
|
||||
|
||||
if (err == ESP_ERR_MBEDTLS_SSL_SETUP_FAILED) {
|
||||
mp_raise_espidf_MemoryError();
|
||||
} else if (ESP_ERR_MBEDTLS_SSL_HANDSHAKE_FAILED) {
|
||||
mp_raise_OSError_msg_varg(translate("Failed SSL handshake"));
|
||||
} else {
|
||||
mp_raise_OSError_msg_varg(translate("Unhandled ESP TLS error %d %d %x %d"), esp_tls_code, flags, err, sent);
|
||||
}
|
||||
}
|
||||
return sent;
|
||||
}
|
||||
|
||||
void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t* self, uint32_t timeout_ms) {
|
||||
self->sock->timeout_ms = timeout_ms;
|
||||
}
|
44
ports/esp32s2/common-hal/ssl/SSLSocket.h
Normal file
44
ports/esp32s2/common-hal/ssl/SSLSocket.h
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_ESP32S2_COMMON_HAL_SSL_SSLSOCKET_H
|
||||
#define MICROPY_INCLUDED_ESP32S2_COMMON_HAL_SSL_SSLSOCKET_H
|
||||
|
||||
#include "py/obj.h"
|
||||
|
||||
#include "common-hal/ssl/SSLContext.h"
|
||||
#include "common-hal/socketpool/Socket.h"
|
||||
|
||||
#include "components/esp-tls/esp_tls.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
socketpool_socket_obj_t * sock;
|
||||
esp_tls_t* tls;
|
||||
ssl_sslcontext_obj_t* ssl_context;
|
||||
} ssl_sslsocket_obj_t;
|
||||
|
||||
#endif // MICROPY_INCLUDED_ESP32S2_COMMON_HAL_SSL_SSLSOCKET_H
|
@ -29,7 +29,10 @@ CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_ROTARYIO = 1
|
||||
CIRCUITPY_NVM = 1
|
||||
# We don't have enough endpoints to include MIDI.
|
||||
CIRCUITPY_USB_MIDI = 0
|
||||
CIRCUITPY_USB_MIDI ?= 0
|
||||
CIRCUITPY_USB_HID ?= 1
|
||||
# We have borrowed the VENDOR nomenclature from tinyusb. VENDOR AKA WEBUSB
|
||||
CIRCUITPY_USB_VENDOR ?= 0
|
||||
CIRCUITPY_WIFI = 1
|
||||
CIRCUITPY_WATCHDOG ?= 1
|
||||
CIRCUITPY_ESPIDF = 1
|
||||
|
@ -110,7 +110,7 @@ void common_hal_busio_i2c_construct(busio_i2c_obj_t *self,
|
||||
if( !GPIO_PinRead(sda->gpio, sda->number) || !GPIO_PinRead(scl->gpio, scl->number)) {
|
||||
common_hal_reset_pin(sda);
|
||||
common_hal_reset_pin(scl);
|
||||
mp_raise_RuntimeError(translate("SDA or SCL needs a pull up"));
|
||||
mp_raise_RuntimeError(translate("No pull up found on SDA or SCL; check your wiring"));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -38,6 +38,8 @@
|
||||
|
||||
#define LPSPI_MASTER_CLK_FREQ (CLOCK_GetFreq(kCLOCK_Usb1PllPfd0Clk) / (CLOCK_GetDiv(kCLOCK_LpspiDiv) + 1))
|
||||
|
||||
#define MAX_SPI_BUSY_RETRIES 100
|
||||
|
||||
//arrays use 0 based numbering: SPI1 is stored at index 0
|
||||
#define MAX_SPI 4
|
||||
STATIC bool reserved_spi[MAX_SPI];
|
||||
@ -289,7 +291,12 @@ bool common_hal_busio_spi_write(busio_spi_obj_t *self,
|
||||
xfer.dataSize = len;
|
||||
xfer.configFlags = kLPSPI_MasterPcs0;
|
||||
|
||||
const status_t status = LPSPI_MasterTransferBlocking(self->spi, &xfer);
|
||||
status_t status;
|
||||
int retries = MAX_SPI_BUSY_RETRIES;
|
||||
do {
|
||||
status = LPSPI_MasterTransferBlocking(self->spi, &xfer);
|
||||
} while (status == kStatus_LPSPI_Busy && --retries > 0);
|
||||
|
||||
if (status != kStatus_Success)
|
||||
printf("%s: status %ld\r\n", __func__, status);
|
||||
|
||||
@ -311,7 +318,12 @@ bool common_hal_busio_spi_read(busio_spi_obj_t *self,
|
||||
xfer.rxData = data;
|
||||
xfer.dataSize = len;
|
||||
|
||||
const status_t status = LPSPI_MasterTransferBlocking(self->spi, &xfer);
|
||||
status_t status;
|
||||
int retries = MAX_SPI_BUSY_RETRIES;
|
||||
do {
|
||||
status = LPSPI_MasterTransferBlocking(self->spi, &xfer);
|
||||
} while (status == kStatus_LPSPI_Busy && --retries > 0);
|
||||
|
||||
if (status != kStatus_Success)
|
||||
printf("%s: status %ld\r\n", __func__, status);
|
||||
|
||||
@ -333,7 +345,12 @@ bool common_hal_busio_spi_transfer(busio_spi_obj_t *self, const uint8_t *data_ou
|
||||
xfer.rxData = data_in;
|
||||
xfer.dataSize = len;
|
||||
|
||||
const status_t status = LPSPI_MasterTransferBlocking(self->spi, &xfer);
|
||||
status_t status;
|
||||
int retries = MAX_SPI_BUSY_RETRIES;
|
||||
do {
|
||||
status = LPSPI_MasterTransferBlocking(self->spi, &xfer);
|
||||
} while (status == kStatus_LPSPI_Busy && --retries > 0);
|
||||
|
||||
if (status != kStatus_Success)
|
||||
printf("%s: status %ld\r\n", __func__, status);
|
||||
|
||||
|
@ -3,6 +3,8 @@ USB_PID = 0xc051
|
||||
USB_PRODUCT = "Simmel"
|
||||
USB_MANUFACTURER = "Betrusted"
|
||||
|
||||
CIRCUITPY_DEVICES="CDC,MSC,HID"
|
||||
|
||||
MCU_CHIP = nrf52833
|
||||
|
||||
# SPI_FLASH_FILESYSTEM = 1
|
||||
@ -29,6 +31,7 @@ CIRCUITPY_RTC = 1
|
||||
CIRCUITPY_SDCARDIO = 0
|
||||
CIRCUITPY_TOUCHIO = 0
|
||||
CIRCUITPY_ULAB = 0
|
||||
CIRCUITPY_USB_MIDI = 0
|
||||
CIRCUITPY_WATCHDOG = 1
|
||||
|
||||
# Enable micropython.native
|
||||
|
@ -131,7 +131,7 @@ void common_hal_busio_i2c_construct(busio_i2c_obj_t *self, const mcu_pin_obj_t *
|
||||
if (!nrf_gpio_pin_read(sda->number) || !nrf_gpio_pin_read(scl->number)) {
|
||||
reset_pin_number(sda->number);
|
||||
reset_pin_number(scl->number);
|
||||
mp_raise_RuntimeError(translate("SDA or SCL needs a pull up"));
|
||||
mp_raise_RuntimeError(translate("No pull up found on SDA or SCL; check your wiring"));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
#include "nrfx_uarte.h"
|
||||
#include "nrf_gpio.h"
|
||||
#include <string.h>
|
||||
|
||||
// expression to examine, and return value in case of failing
|
||||
@ -98,10 +99,16 @@ static void uart_callback_irq (const nrfx_uarte_event_t * event, void * context)
|
||||
|
||||
switch ( event->type ) {
|
||||
case NRFX_UARTE_EVT_RX_DONE:
|
||||
ringbuf_put_n(&self->ringbuf, event->data.rxtx.p_data, event->data.rxtx.bytes);
|
||||
if (ringbuf_num_empty(&self->ringbuf) >= event->data.rxtx.bytes) {
|
||||
ringbuf_put_n(&self->ringbuf, event->data.rxtx.p_data, event->data.rxtx.bytes);
|
||||
// keep receiving
|
||||
(void) nrfx_uarte_rx(self->uarte, &self->rx_char, 1);
|
||||
} else {
|
||||
// receive buffer full, suspend
|
||||
self->rx_paused = true;
|
||||
nrf_gpio_pin_write(self->rts_pin_number, true);
|
||||
}
|
||||
|
||||
// keep receiving
|
||||
(void) nrfx_uarte_rx(self->uarte, &self->rx_char, 1);
|
||||
break;
|
||||
|
||||
case NRFX_UARTE_EVT_TX_DONE:
|
||||
@ -137,8 +144,8 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
|
||||
mp_float_t timeout, uint16_t receiver_buffer_size, byte* receiver_buffer,
|
||||
bool sigint_enabled) {
|
||||
|
||||
if ((rts != NULL) || (cts != NULL) || (rs485_dir != NULL) || (rs485_invert)) {
|
||||
mp_raise_ValueError(translate("RTS/CTS/RS485 Not yet supported on this device"));
|
||||
if ((rs485_dir != NULL) || (rs485_invert)) {
|
||||
mp_raise_ValueError(translate("RS485 Not yet supported on this device"));
|
||||
}
|
||||
|
||||
// Find a free UART peripheral.
|
||||
@ -166,16 +173,18 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
|
||||
mp_raise_ValueError(translate("Odd parity is not supported"));
|
||||
}
|
||||
|
||||
bool hwfc = rts != NULL || cts != NULL;
|
||||
|
||||
nrfx_uarte_config_t config = {
|
||||
.pseltxd = (tx == NULL) ? NRF_UARTE_PSEL_DISCONNECTED : tx->number,
|
||||
.pselrxd = (rx == NULL) ? NRF_UARTE_PSEL_DISCONNECTED : rx->number,
|
||||
.pselcts = NRF_UARTE_PSEL_DISCONNECTED,
|
||||
.pselrts = NRF_UARTE_PSEL_DISCONNECTED,
|
||||
.pselcts = (cts == NULL) ? NRF_UARTE_PSEL_DISCONNECTED : cts->number,
|
||||
.pselrts = (rts == NULL) ? NRF_UARTE_PSEL_DISCONNECTED : rts->number,
|
||||
.p_context = self,
|
||||
.baudrate = get_nrf_baud(baudrate),
|
||||
.interrupt_priority = 7,
|
||||
.hal_cfg = {
|
||||
.hwfc = NRF_UARTE_HWFC_DISABLED,
|
||||
.hwfc = hwfc ? NRF_UARTE_HWFC_ENABLED : NRF_UARTE_HWFC_DISABLED,
|
||||
.parity = (parity == BUSIO_UART_PARITY_NONE) ? NRF_UARTE_PARITY_EXCLUDED : NRF_UARTE_PARITY_INCLUDED
|
||||
}
|
||||
};
|
||||
@ -207,9 +216,25 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
|
||||
self->tx_pin_number = NO_PIN;
|
||||
}
|
||||
|
||||
if ( rts != NULL ) {
|
||||
self->rts_pin_number = rts->number;
|
||||
claim_pin(rts);
|
||||
} else {
|
||||
self->rts_pin_number = NO_PIN;
|
||||
}
|
||||
|
||||
if ( cts != NULL ) {
|
||||
self->cts_pin_number = cts->number;
|
||||
claim_pin(cts);
|
||||
} else {
|
||||
self->cts_pin_number = NO_PIN;
|
||||
}
|
||||
|
||||
self->baudrate = baudrate;
|
||||
self->timeout_ms = timeout * 1000;
|
||||
|
||||
self->rx_paused = false;
|
||||
|
||||
// Initial wait for incoming byte
|
||||
_VERIFY_ERR(nrfx_uarte_rx(self->uarte, &self->rx_char, 1));
|
||||
}
|
||||
@ -223,8 +248,12 @@ void common_hal_busio_uart_deinit(busio_uart_obj_t *self) {
|
||||
nrfx_uarte_uninit(self->uarte);
|
||||
reset_pin_number(self->tx_pin_number);
|
||||
reset_pin_number(self->rx_pin_number);
|
||||
reset_pin_number(self->rts_pin_number);
|
||||
reset_pin_number(self->cts_pin_number);
|
||||
self->tx_pin_number = NO_PIN;
|
||||
self->rx_pin_number = NO_PIN;
|
||||
self->rts_pin_number = NO_PIN;
|
||||
self->cts_pin_number = NO_PIN;
|
||||
ringbuf_free(&self->ringbuf);
|
||||
}
|
||||
}
|
||||
@ -237,6 +266,13 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t
|
||||
|
||||
uint64_t start_ticks = supervisor_ticks_ms64();
|
||||
|
||||
// check removed to reduce code size
|
||||
/*
|
||||
if (len > ringbuf_capacity(&self->ringbuf)) {
|
||||
mp_raise_ValueError(translate("Reading >receiver_buffer_size bytes is not supported"));
|
||||
}
|
||||
*/
|
||||
|
||||
// Wait for all bytes received or timeout
|
||||
while ( (ringbuf_num_filled(&self->ringbuf) < len) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms) ) {
|
||||
RUN_BACKGROUND_TASKS;
|
||||
@ -252,6 +288,16 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t
|
||||
// Copy as much received data as available, up to len bytes.
|
||||
size_t rx_bytes = ringbuf_get_n(&self->ringbuf, data, len);
|
||||
|
||||
// restart reader, if stopped
|
||||
if (self->rx_paused) {
|
||||
// the character that did not fit in ringbuf is in rx_char
|
||||
ringbuf_put_n(&self->ringbuf, &self->rx_char, 1);
|
||||
// keep receiving
|
||||
(void) nrfx_uarte_rx(self->uarte, &self->rx_char, 1);
|
||||
nrf_gpio_pin_write(self->rts_pin_number, false);
|
||||
self->rx_paused = false;
|
||||
}
|
||||
|
||||
NVIC_EnableIRQ(nrfx_get_irq_number(self->uarte->p_reg));
|
||||
|
||||
return rx_bytes;
|
||||
|
@ -42,10 +42,13 @@ typedef struct {
|
||||
uint32_t timeout_ms;
|
||||
|
||||
ringbuf_t ringbuf;
|
||||
uint8_t rx_char; // EasyDMA buf
|
||||
uint8_t rx_char; // EasyDMA buf
|
||||
bool rx_paused; // set by irq if no space in rbuf
|
||||
|
||||
uint8_t tx_pin_number;
|
||||
uint8_t rx_pin_number;
|
||||
uint8_t cts_pin_number;
|
||||
uint8_t rts_pin_number;
|
||||
} busio_uart_obj_t;
|
||||
|
||||
void uart_reset(void);
|
||||
|
@ -84,6 +84,7 @@ INC += -I. \
|
||||
-isystem sdk/src/rp2_common/hardware_pio/include/ \
|
||||
-isystem sdk/src/rp2_common/hardware_pll/include/ \
|
||||
-isystem sdk/src/rp2_common/hardware_resets/include/ \
|
||||
-isystem sdk/src/rp2_common/hardware_rtc/include/ \
|
||||
-isystem sdk/src/rp2_common/hardware_spi/include/ \
|
||||
-isystem sdk/src/rp2_common/hardware_sync/include/ \
|
||||
-isystem sdk/src/rp2_common/hardware_timer/include/ \
|
||||
@ -98,6 +99,7 @@ INC += -I. \
|
||||
-isystem sdk/src/rp2_common/pico_platform/include/ \
|
||||
-isystem sdk/src/rp2_common/pico_runtime/printf/include/ \
|
||||
-isystem sdk/src/rp2_common/pico_bootrom/include/ \
|
||||
-isystem sdk/src/rp2_common/pico_unique_id/include/ \
|
||||
-Isdk_config \
|
||||
-I../../lib/tinyusb/src \
|
||||
-I../../supervisor/shared/usb \
|
||||
@ -166,6 +168,7 @@ SRC_SDK := \
|
||||
src/rp2_common/hardware_irq/irq.c \
|
||||
src/rp2_common/hardware_pio/pio.c \
|
||||
src/rp2_common/hardware_pll/pll.c \
|
||||
src/rp2_common/hardware_rtc/rtc.c \
|
||||
src/rp2_common/hardware_spi/spi.c \
|
||||
src/rp2_common/hardware_sync/sync.c \
|
||||
src/rp2_common/hardware_timer/timer.c \
|
||||
@ -182,6 +185,7 @@ SRC_SDK := \
|
||||
src/rp2_common/pico_printf/printf.c \
|
||||
src/rp2_common/pico_runtime/runtime.c \
|
||||
src/rp2_common/pico_stdio/stdio.c \
|
||||
src/rp2_common/pico_unique_id/unique_id.c \
|
||||
|
||||
SRC_SDK := $(addprefix sdk/, $(SRC_SDK))
|
||||
|
||||
@ -192,6 +196,7 @@ SRC_C += \
|
||||
bindings/rp2pio/__init__.c \
|
||||
common-hal/rp2pio/StateMachine.c \
|
||||
common-hal/rp2pio/__init__.c \
|
||||
audio_dma.c \
|
||||
background.c \
|
||||
peripherals/pins.c \
|
||||
fatfs_port.c \
|
||||
|
383
ports/raspberrypi/audio_dma.c
Normal file
383
ports/raspberrypi/audio_dma.c
Normal file
@ -0,0 +1,383 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "audio_dma.h"
|
||||
|
||||
#include "shared-bindings/audiocore/RawSample.h"
|
||||
#include "shared-bindings/audiocore/WaveFile.h"
|
||||
#include "supervisor/background_callback.h"
|
||||
|
||||
#include "py/mpstate.h"
|
||||
#include "py/runtime.h"
|
||||
|
||||
#include "src/rp2_common/hardware_irq/include/hardware/irq.h"
|
||||
|
||||
#if CIRCUITPY_AUDIOPWMIO || CIRCUITPY_AUDIOBUSIO
|
||||
|
||||
#define AUDIO_DMA_CHANNEL_COUNT NUM_DMA_CHANNELS
|
||||
|
||||
void audio_dma_convert_signed(audio_dma_t* dma, uint8_t* buffer, uint32_t buffer_length,
|
||||
uint8_t** output_buffer, uint32_t* output_buffer_length) {
|
||||
if (dma->first_buffer_free) {
|
||||
*output_buffer = dma->first_buffer;
|
||||
} else {
|
||||
*output_buffer = dma->second_buffer;
|
||||
}
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wcast-align"
|
||||
if (dma->signed_to_unsigned ||
|
||||
dma->unsigned_to_signed ||
|
||||
dma->sample_spacing > 1 ||
|
||||
(dma->sample_resolution != dma->output_resolution)) {
|
||||
*output_buffer_length = buffer_length / dma->sample_spacing;
|
||||
uint32_t out_i = 0;
|
||||
if (dma->sample_resolution <= 8 && dma->output_resolution > 8) {
|
||||
size_t shift = dma->output_resolution - dma->sample_resolution;
|
||||
|
||||
for (uint32_t i = 0; i < buffer_length; i += dma->sample_spacing) {
|
||||
if (dma->signed_to_unsigned) {
|
||||
((uint16_t*) *output_buffer)[out_i] = ((uint16_t) ((int8_t*) buffer)[i] + 0x80) << shift;
|
||||
} else if (dma->unsigned_to_signed) {
|
||||
((int16_t*) *output_buffer)[out_i] = ((int16_t) ((uint8_t*) buffer)[i] - 0x80) << shift;
|
||||
} else {
|
||||
((uint16_t*) *output_buffer)[out_i] = ((uint16_t) ((uint8_t*) buffer)[i]) << shift;
|
||||
}
|
||||
out_i += 1;
|
||||
}
|
||||
} else if (dma->sample_resolution <= 8 && dma->output_resolution <= 8) {
|
||||
for (uint32_t i = 0; i < buffer_length; i += dma->sample_spacing) {
|
||||
if (dma->signed_to_unsigned) {
|
||||
((uint8_t*) *output_buffer)[out_i] = ((int8_t*) buffer)[i] + 0x80;
|
||||
} else if (dma->unsigned_to_signed) {
|
||||
((int8_t*) *output_buffer)[out_i] = ((uint8_t*) buffer)[i] - 0x80;
|
||||
} else {
|
||||
((uint8_t*) *output_buffer)[out_i] = ((uint8_t*) buffer)[i];
|
||||
}
|
||||
out_i += 1;
|
||||
}
|
||||
} else if (dma->sample_resolution > 8 && dma->output_resolution > 8) {
|
||||
size_t shift = 16 - dma->output_resolution;
|
||||
for (uint32_t i = 0; i < buffer_length / 2; i += dma->sample_spacing) {
|
||||
if (dma->signed_to_unsigned) {
|
||||
((uint16_t*) *output_buffer)[out_i] = ((int16_t*) buffer)[i] + 0x8000;
|
||||
} else if (dma->unsigned_to_signed) {
|
||||
((int16_t*) *output_buffer)[out_i] = ((uint16_t*) buffer)[i] - 0x8000;
|
||||
} else {
|
||||
((uint16_t*) *output_buffer)[out_i] = ((uint16_t*) buffer)[i];
|
||||
}
|
||||
if (dma->output_resolution < 16) {
|
||||
if (dma->output_signed) {
|
||||
((int16_t*) *output_buffer)[out_i] = ((int16_t*) *output_buffer)[out_i] >> shift;
|
||||
} else {
|
||||
((uint16_t*) *output_buffer)[out_i] = ((uint16_t*) *output_buffer)[out_i] >> shift;
|
||||
}
|
||||
}
|
||||
out_i += 1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
*output_buffer = buffer;
|
||||
*output_buffer_length = buffer_length;
|
||||
}
|
||||
#pragma GCC diagnostic pop
|
||||
dma->first_buffer_free = !dma->first_buffer_free;
|
||||
}
|
||||
|
||||
void audio_dma_load_next_block(audio_dma_t* dma) {
|
||||
uint8_t dma_channel = dma->channel[1];
|
||||
if (dma->first_channel_free) {
|
||||
dma_channel = dma->channel[0];
|
||||
}
|
||||
dma->first_channel_free = !dma->first_channel_free;
|
||||
|
||||
uint8_t* output_buffer;
|
||||
uint32_t output_buffer_length;
|
||||
audioio_get_buffer_result_t get_buffer_result;
|
||||
uint8_t* buffer;
|
||||
uint32_t buffer_length;
|
||||
get_buffer_result = audiosample_get_buffer(dma->sample,
|
||||
dma->single_channel, dma->audio_channel, &buffer, &buffer_length);
|
||||
|
||||
if (get_buffer_result == GET_BUFFER_ERROR) {
|
||||
audio_dma_stop(dma);
|
||||
return;
|
||||
}
|
||||
|
||||
audio_dma_convert_signed(dma, buffer, buffer_length, &output_buffer, &output_buffer_length);
|
||||
|
||||
// If we don't have an output buffer, save the pointer to first_buffer for use in the single
|
||||
// buffer special case.
|
||||
if (dma->first_buffer == NULL) {
|
||||
dma->first_buffer = output_buffer;
|
||||
}
|
||||
|
||||
dma_channel_set_trans_count(dma_channel, output_buffer_length / dma->output_size, false /* trigger */);
|
||||
dma_channel_set_read_addr(dma_channel, output_buffer, false /* trigger */);
|
||||
if (get_buffer_result == GET_BUFFER_DONE) {
|
||||
if (dma->loop) {
|
||||
audiosample_reset_buffer(dma->sample, dma->single_channel, dma->audio_channel);
|
||||
} else {
|
||||
// Set channel trigger to ourselves so we don't keep going.
|
||||
dma_channel_hw_t* c = &dma_hw->ch[dma_channel];
|
||||
c->al1_ctrl = (c->al1_ctrl & ~DMA_CH0_CTRL_TRIG_CHAIN_TO_BITS) | (dma_channel << DMA_CH0_CTRL_TRIG_CHAIN_TO_LSB);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Playback should be shutdown before calling this.
|
||||
audio_dma_result audio_dma_setup_playback(audio_dma_t* dma,
|
||||
mp_obj_t sample,
|
||||
bool loop,
|
||||
bool single_channel,
|
||||
uint8_t audio_channel,
|
||||
bool output_signed,
|
||||
uint8_t output_resolution,
|
||||
uint32_t output_register_address,
|
||||
uint8_t dma_trigger_source) {
|
||||
// Use two DMA channels to because the DMA can't wrap to itself without the
|
||||
// buffer being power of two aligned.
|
||||
dma->channel[0] = dma_claim_unused_channel(false);
|
||||
dma->channel[1] = dma_claim_unused_channel(false);
|
||||
if (dma->channel[0] == NUM_DMA_CHANNELS || dma->channel[1] == NUM_DMA_CHANNELS) {
|
||||
if (dma->channel[0] < NUM_DMA_CHANNELS) {
|
||||
dma_channel_unclaim(dma->channel[0]);
|
||||
}
|
||||
return AUDIO_DMA_DMA_BUSY;
|
||||
}
|
||||
|
||||
dma->sample = sample;
|
||||
dma->loop = loop;
|
||||
dma->single_channel = single_channel;
|
||||
dma->audio_channel = audio_channel;
|
||||
dma->signed_to_unsigned = false;
|
||||
dma->unsigned_to_signed = false;
|
||||
dma->output_signed = output_signed;
|
||||
dma->sample_spacing = 1;
|
||||
dma->first_channel_free = true;
|
||||
dma->output_resolution = output_resolution;
|
||||
dma->sample_resolution = audiosample_bits_per_sample(sample);
|
||||
audiosample_reset_buffer(sample, single_channel, audio_channel);
|
||||
|
||||
bool single_buffer;
|
||||
bool samples_signed;
|
||||
uint32_t max_buffer_length;
|
||||
audiosample_get_buffer_structure(sample, single_channel, &single_buffer, &samples_signed,
|
||||
&max_buffer_length, &dma->sample_spacing);
|
||||
|
||||
// Check to see if we have to scale the resolution up.
|
||||
if (dma->sample_resolution <= 8 && dma->output_resolution > 8) {
|
||||
max_buffer_length *= 2;
|
||||
}
|
||||
if (output_signed != samples_signed ||
|
||||
dma->sample_spacing > 1 ||
|
||||
(dma->sample_resolution != dma->output_resolution)) {
|
||||
max_buffer_length /= dma->sample_spacing;
|
||||
dma->first_buffer = (uint8_t*) m_realloc(dma->first_buffer, max_buffer_length);
|
||||
if (dma->first_buffer == NULL) {
|
||||
return AUDIO_DMA_MEMORY_ERROR;
|
||||
}
|
||||
|
||||
dma->first_buffer_free = true;
|
||||
if (!single_buffer) {
|
||||
dma->second_buffer = (uint8_t*) m_realloc(dma->second_buffer, max_buffer_length);
|
||||
if (dma->second_buffer == NULL) {
|
||||
return AUDIO_DMA_MEMORY_ERROR;
|
||||
}
|
||||
}
|
||||
dma->signed_to_unsigned = !output_signed && samples_signed;
|
||||
dma->unsigned_to_signed = output_signed && !samples_signed;
|
||||
}
|
||||
|
||||
if (output_resolution > 8) {
|
||||
dma->output_size = 2;
|
||||
} else {
|
||||
dma->output_size = 1;
|
||||
}
|
||||
// Transfer both channels at once.
|
||||
if (!single_channel && audiosample_channel_count(sample) == 2) {
|
||||
dma->output_size *= 2;
|
||||
}
|
||||
|
||||
enum dma_channel_transfer_size dma_size = DMA_SIZE_8;
|
||||
if (dma->output_size == 2) {
|
||||
dma_size = DMA_SIZE_16;
|
||||
} else if (dma->output_size == 4) {
|
||||
dma_size = DMA_SIZE_32;
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < 2; i++) {
|
||||
dma_channel_config c = dma_channel_get_default_config(dma->channel[i]);
|
||||
channel_config_set_transfer_data_size(&c, dma_size);
|
||||
channel_config_set_dreq(&c, dma_trigger_source);
|
||||
channel_config_set_read_increment(&c, true);
|
||||
channel_config_set_write_increment(&c, false);
|
||||
// Chain to the other channel by default.
|
||||
channel_config_set_chain_to(&c, dma->channel[(i + 1) % 2]);
|
||||
dma_channel_set_config(dma->channel[i], &c, false /* trigger */);
|
||||
dma_channel_set_write_addr(dma->channel[i], (void*) output_register_address, false /* trigger */);
|
||||
}
|
||||
|
||||
// We keep the audio_dma_t for internal use and the sample as a root pointer because it
|
||||
// contains the audiodma structure.
|
||||
MP_STATE_PORT(playing_audio)[dma->channel[0]] = dma;
|
||||
MP_STATE_PORT(playing_audio)[dma->channel[1]] = dma;
|
||||
|
||||
// Load the first two blocks up front.
|
||||
audio_dma_load_next_block(dma);
|
||||
if (!single_buffer) {
|
||||
audio_dma_load_next_block(dma);
|
||||
}
|
||||
|
||||
// Special case the DMA for a single buffer. It's commonly used for a single wave length of sound
|
||||
// and may be short. Therefore, we use DMA chaining to loop quickly without involving interrupts.
|
||||
// On the RP2040 we chain by having a second DMA writing to the config registers of the first.
|
||||
// Read and write addresses change with DMA so we need to reset the read address back to the
|
||||
// start of the sample.
|
||||
if (single_buffer) {
|
||||
dma_channel_config c = dma_channel_get_default_config(dma->channel[1]);
|
||||
channel_config_set_transfer_data_size(&c, DMA_SIZE_32);
|
||||
channel_config_set_dreq(&c, 0x3f); // dma as fast as possible
|
||||
channel_config_set_read_increment(&c, false);
|
||||
channel_config_set_write_increment(&c, false);
|
||||
channel_config_set_chain_to(&c, dma->channel[1]); // Chain to ourselves so we stop.
|
||||
dma_channel_configure(dma->channel[1], &c,
|
||||
&dma_hw->ch[dma->channel[0]].al3_read_addr_trig, // write address
|
||||
&dma->first_buffer, // read address
|
||||
1, // transaction count
|
||||
false); // trigger
|
||||
} else {
|
||||
// Enable our DMA channels on DMA0 to the CPU. This will wake us up when
|
||||
// we're WFI.
|
||||
dma_hw->inte0 |= (1 << dma->channel[0]) | (1 << dma->channel[1]);
|
||||
irq_set_mask_enabled(1 << DMA_IRQ_0, true);
|
||||
}
|
||||
|
||||
dma_channel_start(dma->channel[0]);
|
||||
|
||||
return AUDIO_DMA_OK;
|
||||
}
|
||||
|
||||
void audio_dma_stop(audio_dma_t* dma) {
|
||||
// Disable our interrupts.
|
||||
dma_hw->inte0 &= ~((1 << dma->channel[0]) | (1 << dma->channel[1]));
|
||||
irq_set_mask_enabled(1 << DMA_IRQ_0, false);
|
||||
|
||||
// Run any remaining audio tasks because we remove ourselves from
|
||||
// playing_audio.
|
||||
RUN_BACKGROUND_TASKS;
|
||||
|
||||
for (size_t i = 0; i < 2; i++) {
|
||||
size_t channel = dma->channel[i];
|
||||
|
||||
if (dma_channel_is_busy(channel)) {
|
||||
dma_channel_abort(channel);
|
||||
}
|
||||
dma_channel_unclaim(channel);
|
||||
MP_STATE_PORT(playing_audio)[channel] = NULL;
|
||||
dma->channel[i] = NUM_DMA_CHANNELS;
|
||||
}
|
||||
|
||||
// Hold onto our buffers.
|
||||
}
|
||||
|
||||
// To pause we simply stop the DMA. It is the responsibility of the output peripheral
|
||||
// to hold the previous value.
|
||||
void audio_dma_pause(audio_dma_t* dma) {
|
||||
dma_hw->ch[dma->channel[0]].al1_ctrl &= ~DMA_CH0_CTRL_TRIG_EN_BITS;
|
||||
dma_hw->ch[dma->channel[1]].al1_ctrl &= ~DMA_CH0_CTRL_TRIG_EN_BITS;
|
||||
}
|
||||
|
||||
void audio_dma_resume(audio_dma_t* dma) {
|
||||
// Always re-enable the non-busy channel first so it's ready to continue when the busy channel
|
||||
// finishes and chains to it. (An interrupt could make the time between enables long.)
|
||||
size_t first = 0;
|
||||
size_t second = 1;
|
||||
if (dma_channel_is_busy(dma->channel[0])) {
|
||||
first = 1;
|
||||
second = 0;
|
||||
}
|
||||
dma_hw->ch[dma->channel[first]].al1_ctrl |= DMA_CH0_CTRL_TRIG_EN_BITS;
|
||||
dma_hw->ch[dma->channel[second]].al1_ctrl |= DMA_CH0_CTRL_TRIG_EN_BITS;
|
||||
}
|
||||
|
||||
bool audio_dma_get_paused(audio_dma_t* dma) {
|
||||
if (dma->channel[0] >= AUDIO_DMA_CHANNEL_COUNT) {
|
||||
return false;
|
||||
}
|
||||
uint32_t control = dma_hw->ch[dma->channel[0]].ctrl_trig;
|
||||
|
||||
return (control & DMA_CH0_CTRL_TRIG_EN_BITS) == 0;
|
||||
}
|
||||
|
||||
void audio_dma_init(audio_dma_t* dma) {
|
||||
dma->first_buffer = NULL;
|
||||
dma->second_buffer = NULL;
|
||||
}
|
||||
|
||||
void audio_dma_deinit(audio_dma_t* dma) {
|
||||
m_free(dma->first_buffer);
|
||||
dma->first_buffer = NULL;
|
||||
|
||||
m_free(dma->second_buffer);
|
||||
dma->second_buffer = NULL;
|
||||
}
|
||||
|
||||
bool audio_dma_get_playing(audio_dma_t* dma) {
|
||||
if (dma->channel[0] == NUM_DMA_CHANNELS) {
|
||||
return false;
|
||||
}
|
||||
if (!dma_channel_is_busy(dma->channel[0]) &&
|
||||
!dma_channel_is_busy(dma->channel[1])) {
|
||||
audio_dma_stop(dma);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// WARN(tannewt): DO NOT print from here, or anything it calls. Printing calls
|
||||
// background tasks such as this and causes a stack overflow.
|
||||
STATIC void dma_callback_fun(void *arg) {
|
||||
audio_dma_t* dma = arg;
|
||||
if (dma == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
audio_dma_load_next_block(dma);
|
||||
}
|
||||
|
||||
void isr_dma_0(void) {
|
||||
for (size_t i = 0; i < NUM_DMA_CHANNELS; i++) {
|
||||
uint32_t mask = 1 << i;
|
||||
if ((dma_hw->intr & mask) != 0 && MP_STATE_PORT(playing_audio)[i] != NULL) {
|
||||
audio_dma_t* dma = MP_STATE_PORT(playing_audio)[i];
|
||||
background_callback_add(&dma->callback, dma_callback_fun, (void*)dma);
|
||||
dma_hw->ints0 = mask;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
91
ports/raspberrypi/audio_dma.h
Normal file
91
ports/raspberrypi/audio_dma.h
Normal file
@ -0,0 +1,91 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_RASPBERRYPI_AUDIO_DMA_OUT_H
|
||||
#define MICROPY_INCLUDED_RASPBERRYPI_AUDIO_DMA_OUT_H
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "supervisor/background_callback.h"
|
||||
|
||||
#include "src/rp2_common/hardware_dma/include/hardware/dma.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_t sample;
|
||||
uint8_t channel[2];
|
||||
uint8_t audio_channel;
|
||||
uint8_t output_size;
|
||||
uint8_t sample_spacing;
|
||||
bool loop;
|
||||
bool single_channel;
|
||||
bool signed_to_unsigned;
|
||||
bool unsigned_to_signed;
|
||||
bool output_signed;
|
||||
bool first_channel_free;
|
||||
bool first_buffer_free;
|
||||
uint8_t output_resolution; // in bits
|
||||
uint8_t sample_resolution; // in bits
|
||||
uint8_t* first_buffer;
|
||||
uint8_t* second_buffer;
|
||||
background_callback_t callback;
|
||||
} audio_dma_t;
|
||||
|
||||
typedef enum {
|
||||
AUDIO_DMA_OK,
|
||||
AUDIO_DMA_DMA_BUSY,
|
||||
AUDIO_DMA_MEMORY_ERROR,
|
||||
} audio_dma_result;
|
||||
|
||||
|
||||
void audio_dma_init(audio_dma_t* dma);
|
||||
void audio_dma_deinit(audio_dma_t* dma);
|
||||
void audio_dma_reset(void);
|
||||
|
||||
// This sets everything up but doesn't start the timer.
|
||||
// Sample is the python object for the sample to play.
|
||||
// loop is true if we should loop the sample.
|
||||
// single_channel is true if we only output a single channel. When false, all channels will be
|
||||
// output.
|
||||
// audio_channel is the index of the channel to dma. single_channel must be false in this case.
|
||||
// output_signed is true if the dma'd data should be signed. False and it will be unsigned.
|
||||
// output_register_address is the address to copy data to.
|
||||
// dma_trigger_source is the DMA trigger source which cause another copy
|
||||
audio_dma_result audio_dma_setup_playback(audio_dma_t* dma,
|
||||
mp_obj_t sample,
|
||||
bool loop,
|
||||
bool single_channel,
|
||||
uint8_t audio_channel,
|
||||
bool output_signed,
|
||||
uint8_t output_resolution,
|
||||
uint32_t output_register_address,
|
||||
uint8_t dma_trigger_source);
|
||||
|
||||
void audio_dma_stop(audio_dma_t* dma);
|
||||
bool audio_dma_get_playing(audio_dma_t* dma);
|
||||
void audio_dma_pause(audio_dma_t* dma);
|
||||
void audio_dma_resume(audio_dma_t* dma);
|
||||
bool audio_dma_get_paused(audio_dma_t* dma);
|
||||
|
||||
#endif // MICROPY_INCLUDED_RASPBERRYPI_AUDIO_DMA_OUT_H
|
@ -25,20 +25,11 @@
|
||||
*/
|
||||
#include "background.h"
|
||||
|
||||
#include "supervisor/filesystem.h"
|
||||
#include "supervisor/shared/tick.h"
|
||||
#include "supervisor/usb.h"
|
||||
|
||||
#include "py/runtime.h"
|
||||
#include "shared-module/network/__init__.h"
|
||||
#include "supervisor/shared/stack.h"
|
||||
#include "supervisor/port.h"
|
||||
|
||||
#if CIRCUITPY_DISPLAYIO
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
#endif
|
||||
|
||||
void port_start_background_task(void) {}
|
||||
void port_finish_background_task(void) {}
|
||||
|
||||
void port_background_task(void) {}
|
||||
void port_background_task(void) {
|
||||
}
|
||||
|
@ -189,7 +189,7 @@ STATIC mp_obj_t rp2pio_statemachine_make_new(const mp_obj_type_t *type, size_t n
|
||||
if (bufinfo.len % 2 != 0) {
|
||||
mp_raise_ValueError(translate("Program size invalid"));
|
||||
}
|
||||
if (bufinfo.len > 32) {
|
||||
if (bufinfo.len > 64) {
|
||||
mp_raise_ValueError(translate("Program too large"));
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP22), MP_ROM_PTR(&pin_GPIO22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SMPS_MODE), MP_ROM_PTR(&pin_GPIO23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP25), MP_ROM_PTR(&pin_GPIO25) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP26_A0), MP_ROM_PTR(&pin_GPIO26) },
|
||||
@ -35,5 +36,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP28_A2), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_GP28), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO28) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO29) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_GPIO29) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
||||
|
@ -1,20 +1,23 @@
|
||||
// Padded and checksummed version of: /Users/graham/dev/mu/pico_sdk/cmake-build-debug-mu/src/rp2_common/boot_stage2/bs2_default.bin
|
||||
// Padded and checksummed version of: /home/pi/pico/pico-examples/build/pico-sdk/src/rp2_common/boot_stage2/bs2_default.bin
|
||||
|
||||
.section .boot2, "a"
|
||||
.cpu cortex-m0plus
|
||||
.thumb
|
||||
|
||||
.byte 0x00, 0xb5, 0x2f, 0x4b, 0x21, 0x20, 0x58, 0x60, 0x98, 0x68, 0x02, 0x21, 0x88, 0x43, 0x98, 0x60
|
||||
.byte 0xd8, 0x60, 0x18, 0x61, 0x58, 0x61, 0x2b, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x02, 0x21, 0x59, 0x61
|
||||
.byte 0x01, 0x21, 0xf0, 0x22, 0x99, 0x50, 0x28, 0x49, 0x19, 0x60, 0x01, 0x21, 0x99, 0x60, 0x35, 0x20
|
||||
.byte 0x00, 0xf0, 0x3e, 0xf8, 0x02, 0x22, 0x90, 0x42, 0x14, 0xd0, 0x06, 0x21, 0x19, 0x66, 0x00, 0xf0
|
||||
.byte 0x2e, 0xf8, 0x19, 0x6e, 0x01, 0x21, 0x19, 0x66, 0x00, 0x20, 0x18, 0x66, 0x1a, 0x66, 0x00, 0xf0
|
||||
.byte 0x26, 0xf8, 0x19, 0x6e, 0x19, 0x6e, 0x19, 0x6e, 0x05, 0x20, 0x00, 0xf0, 0x29, 0xf8, 0x01, 0x21
|
||||
.byte 0x08, 0x42, 0xf9, 0xd1, 0x00, 0x21, 0x99, 0x60, 0x18, 0x49, 0x19, 0x60, 0x00, 0x21, 0x59, 0x60
|
||||
.byte 0x17, 0x49, 0x18, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xeb, 0x21, 0x19, 0x66, 0xa0, 0x21
|
||||
.byte 0x19, 0x66, 0x00, 0xf0, 0x0c, 0xf8, 0x00, 0x21, 0x99, 0x60, 0x13, 0x49, 0x11, 0x48, 0x01, 0x60
|
||||
.byte 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28, 0x00, 0xd1, 0x10, 0x48, 0x00, 0x47, 0x03, 0xb5
|
||||
.byte 0x99, 0x6a, 0x04, 0x20, 0x01, 0x42, 0xfb, 0xd0, 0x01, 0x20, 0x01, 0x42, 0xf8, 0xd1, 0x03, 0xbd
|
||||
.byte 0x02, 0xb5, 0x18, 0x66, 0x18, 0x66, 0xff, 0xf7, 0xf2, 0xff, 0x18, 0x6e, 0x18, 0x6e, 0x02, 0xbd
|
||||
.byte 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0x5f, 0x00
|
||||
.byte 0x21, 0x22, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x18, 0x22, 0x20, 0x00, 0xa0, 0x01, 0x01, 0x00, 0x10
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x27, 0x2a, 0x60
|
||||
.section .boot2, "ax"
|
||||
|
||||
.byte 0x00, 0xb5, 0x32, 0x4b, 0x21, 0x20, 0x58, 0x60, 0x98, 0x68, 0x02, 0x21, 0x88, 0x43, 0x98, 0x60
|
||||
.byte 0xd8, 0x60, 0x18, 0x61, 0x58, 0x61, 0x2e, 0x4b, 0x00, 0x21, 0x99, 0x60, 0x02, 0x21, 0x59, 0x61
|
||||
.byte 0x01, 0x21, 0xf0, 0x22, 0x99, 0x50, 0x2b, 0x49, 0x19, 0x60, 0x01, 0x21, 0x99, 0x60, 0x35, 0x20
|
||||
.byte 0x00, 0xf0, 0x44, 0xf8, 0x02, 0x22, 0x90, 0x42, 0x14, 0xd0, 0x06, 0x21, 0x19, 0x66, 0x00, 0xf0
|
||||
.byte 0x34, 0xf8, 0x19, 0x6e, 0x01, 0x21, 0x19, 0x66, 0x00, 0x20, 0x18, 0x66, 0x1a, 0x66, 0x00, 0xf0
|
||||
.byte 0x2c, 0xf8, 0x19, 0x6e, 0x19, 0x6e, 0x19, 0x6e, 0x05, 0x20, 0x00, 0xf0, 0x2f, 0xf8, 0x01, 0x21
|
||||
.byte 0x08, 0x42, 0xf9, 0xd1, 0x00, 0x21, 0x99, 0x60, 0x1b, 0x49, 0x19, 0x60, 0x00, 0x21, 0x59, 0x60
|
||||
.byte 0x1a, 0x49, 0x1b, 0x48, 0x01, 0x60, 0x01, 0x21, 0x99, 0x60, 0xeb, 0x21, 0x19, 0x66, 0xa0, 0x21
|
||||
.byte 0x19, 0x66, 0x00, 0xf0, 0x12, 0xf8, 0x00, 0x21, 0x99, 0x60, 0x16, 0x49, 0x14, 0x48, 0x01, 0x60
|
||||
.byte 0x01, 0x21, 0x99, 0x60, 0x01, 0xbc, 0x00, 0x28, 0x00, 0xd0, 0x00, 0x47, 0x12, 0x48, 0x13, 0x49
|
||||
.byte 0x08, 0x60, 0x03, 0xc8, 0x80, 0xf3, 0x08, 0x88, 0x08, 0x47, 0x03, 0xb5, 0x99, 0x6a, 0x04, 0x20
|
||||
.byte 0x01, 0x42, 0xfb, 0xd0, 0x01, 0x20, 0x01, 0x42, 0xf8, 0xd1, 0x03, 0xbd, 0x02, 0xb5, 0x18, 0x66
|
||||
.byte 0x18, 0x66, 0xff, 0xf7, 0xf2, 0xff, 0x18, 0x6e, 0x18, 0x6e, 0x02, 0xbd, 0x00, 0x00, 0x02, 0x40
|
||||
.byte 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x07, 0x00, 0x00, 0x03, 0x5f, 0x00, 0x21, 0x22, 0x00, 0x00
|
||||
.byte 0xf4, 0x00, 0x00, 0x18, 0x22, 0x20, 0x00, 0xa0, 0x00, 0x01, 0x00, 0x10, 0x08, 0xed, 0x00, 0xe0
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0xb2, 0x4e, 0x7a
|
||||
|
235
ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
Normal file
235
ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.c
Normal file
@ -0,0 +1,235 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Jeff Epler for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "common-hal/audiopwmio/PWMAudioOut.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "extmod/vfs_fat.h"
|
||||
#include "py/gc.h"
|
||||
#include "py/mperrno.h"
|
||||
#include "py/runtime.h"
|
||||
#include "shared-bindings/pwmio/PWMOut.h"
|
||||
#include "shared-bindings/audiopwmio/PWMAudioOut.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "shared-bindings/microcontroller/Processor.h"
|
||||
#include "supervisor/shared/tick.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
#include "src/rp2040/hardware_structs/include/hardware/structs/dma.h"
|
||||
#include "src/rp2_common/hardware_pwm/include/hardware/pwm.h"
|
||||
|
||||
#define NUM_DMA_TIMERS 4
|
||||
|
||||
void audiopwmout_reset() {
|
||||
for (size_t i = 0; i < NUM_DMA_TIMERS; i++) {
|
||||
dma_hw->timer[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Caller validates that pins are free.
|
||||
void common_hal_audiopwmio_pwmaudioout_construct(audiopwmio_pwmaudioout_obj_t* self,
|
||||
const mcu_pin_obj_t* left_channel, const mcu_pin_obj_t* right_channel, uint16_t quiescent_value) {
|
||||
if (left_channel != NULL && right_channel != NULL) {
|
||||
if (pwm_gpio_to_slice_num(left_channel->number) != pwm_gpio_to_slice_num(right_channel->number)) {
|
||||
mp_raise_ValueError(translate("Pins must share PWM slice"));
|
||||
}
|
||||
if (pwm_gpio_to_channel(left_channel->number) != 0) {
|
||||
mp_raise_ValueError(translate("Stereo left must be on PWM channel A"));
|
||||
}
|
||||
if (pwm_gpio_to_channel(right_channel->number) != 1) {
|
||||
mp_raise_ValueError(translate("Stereo right must be on PWM channel B"));
|
||||
}
|
||||
}
|
||||
|
||||
// Typically pwmout doesn't let us change frequency with two objects on the
|
||||
// same PWM slice. However, we have private access to it so we can do what
|
||||
// we want. ;-) We mark ourselves variable only if we're a mono output to
|
||||
// prevent other PWM use on the other channel. If stereo, we say fixed
|
||||
// frequency so we can allocate with ourselves.
|
||||
bool mono = right_channel == NULL;
|
||||
|
||||
// We don't actually know our frequency yet so just pick one that shouldn't
|
||||
// match anyone else. (We'll only know the frequency once we play something
|
||||
// back.)
|
||||
uint32_t frequency = 12500;
|
||||
|
||||
// Make sure the PWMOut's are "deinited" by default.
|
||||
self->left_pwm.pin = NULL;
|
||||
self->right_pwm.pin = NULL;
|
||||
|
||||
pwmout_result_t result = common_hal_pwmio_pwmout_construct(&self->left_pwm,
|
||||
left_channel, 0, frequency, mono);
|
||||
if (result == PWMOUT_OK && right_channel != NULL) {
|
||||
result = common_hal_pwmio_pwmout_construct(&self->right_pwm,
|
||||
right_channel, 0, frequency, false);
|
||||
if (result != PWMOUT_OK) {
|
||||
common_hal_pwmio_pwmout_deinit(&self->left_pwm);
|
||||
}
|
||||
}
|
||||
if (result != PWMOUT_OK) {
|
||||
mp_raise_RuntimeError(translate("All timers in use"));
|
||||
}
|
||||
|
||||
claim_pin(left_channel);
|
||||
if (right_channel != NULL) {
|
||||
claim_pin(right_channel);
|
||||
}
|
||||
|
||||
audio_dma_init(&self->dma);
|
||||
|
||||
self->quiescent_value = quiescent_value;
|
||||
}
|
||||
|
||||
bool common_hal_audiopwmio_pwmaudioout_deinited(audiopwmio_pwmaudioout_obj_t* self) {
|
||||
return common_hal_pwmio_pwmout_deinited(&self->left_pwm);
|
||||
}
|
||||
|
||||
void common_hal_audiopwmio_pwmaudioout_deinit(audiopwmio_pwmaudioout_obj_t* self) {
|
||||
if (common_hal_audiopwmio_pwmaudioout_deinited(self)) {
|
||||
return;
|
||||
}
|
||||
if (common_hal_audiopwmio_pwmaudioout_get_playing(self)) {
|
||||
common_hal_audiopwmio_pwmaudioout_stop(self);
|
||||
}
|
||||
|
||||
// TODO: ramp the pwm down from quiescent value to 0
|
||||
common_hal_pwmio_pwmout_deinit(&self->left_pwm);
|
||||
common_hal_pwmio_pwmout_deinit(&self->right_pwm);
|
||||
|
||||
audio_dma_deinit(&self->dma);
|
||||
}
|
||||
|
||||
void common_hal_audiopwmio_pwmaudioout_play(audiopwmio_pwmaudioout_obj_t* self, mp_obj_t sample, bool loop) {
|
||||
if (common_hal_audiopwmio_pwmaudioout_get_playing(self)) {
|
||||
common_hal_audiopwmio_pwmaudioout_stop(self);
|
||||
}
|
||||
|
||||
// TODO: Share pacing timers based on frequency.
|
||||
size_t pacing_timer = NUM_DMA_TIMERS;
|
||||
for (size_t i = 0; i < NUM_DMA_TIMERS; i++) {
|
||||
if (dma_hw->timer[i] == 0) {
|
||||
pacing_timer = i;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (pacing_timer == NUM_DMA_TIMERS) {
|
||||
mp_raise_RuntimeError(translate("No DMA pacing timer found"));
|
||||
}
|
||||
uint32_t tx_register = (uint32_t) &pwm_hw->slice[self->left_pwm.slice].cc;
|
||||
if (common_hal_pwmio_pwmout_deinited(&self->right_pwm)) {
|
||||
// Shift the destination if we are outputting to the second PWM channel.
|
||||
tx_register += self->left_pwm.channel * sizeof(uint16_t);
|
||||
}
|
||||
|
||||
pwmio_pwmout_set_top(&self->left_pwm, 1023);
|
||||
|
||||
audio_dma_result result = audio_dma_setup_playback(
|
||||
&self->dma,
|
||||
sample,
|
||||
loop,
|
||||
false, // single channel
|
||||
0, // audio channel
|
||||
false, // output signed
|
||||
10,
|
||||
(uint32_t) tx_register, // output register
|
||||
0x3b + pacing_timer); // data request line
|
||||
|
||||
if (result == AUDIO_DMA_DMA_BUSY) {
|
||||
// common_hal_audiobusio_i2sout_stop(self);
|
||||
mp_raise_RuntimeError(translate("No DMA channel found"));
|
||||
} else if (result == AUDIO_DMA_MEMORY_ERROR) {
|
||||
// common_hal_audiobusio_i2sout_stop(self);
|
||||
mp_raise_RuntimeError(translate("Unable to allocate buffers for signed conversion"));
|
||||
}
|
||||
|
||||
// OK! We got all of the resources we need and dma is ready.
|
||||
self->pacing_timer = pacing_timer;
|
||||
|
||||
// Playback with two independent clocks. One is the sample rate which
|
||||
// determines when we push a new sample to the PWM slice. The second is the
|
||||
// PWM frequency itself.
|
||||
|
||||
// Determine the DMA divisor. The RP2040 has four pacing timers we can use
|
||||
// to trigger the DMA. Each has a 16 bit fractional divisor system clock * X / Y where X and Y
|
||||
// are 16-bit.
|
||||
|
||||
uint32_t sample_rate = audiosample_sample_rate(sample);
|
||||
uint32_t system_clock = common_hal_mcu_processor_get_frequency();
|
||||
uint32_t best_numerator = 0;
|
||||
uint32_t best_denominator = 0;
|
||||
uint32_t best_error = system_clock;
|
||||
|
||||
for (uint32_t denominator = 0xffff; denominator > 0; denominator--) {
|
||||
uint32_t numerator = (denominator * sample_rate) / system_clock;
|
||||
uint32_t remainder = (denominator * sample_rate) % system_clock;
|
||||
if (remainder > (system_clock / 2)) {
|
||||
numerator += 1;
|
||||
remainder = system_clock - remainder;
|
||||
}
|
||||
if (remainder < best_error) {
|
||||
best_denominator = denominator;
|
||||
best_numerator = numerator;
|
||||
best_error = remainder;
|
||||
// Stop early if we can't do better.
|
||||
if (remainder == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dma_hw->timer[pacing_timer] = best_numerator << 16 | best_denominator;
|
||||
}
|
||||
|
||||
void common_hal_audiopwmio_pwmaudioout_stop(audiopwmio_pwmaudioout_obj_t* self) {
|
||||
dma_hw->timer[self->pacing_timer] = 0;
|
||||
self->pacing_timer = NUM_DMA_TIMERS;
|
||||
|
||||
audio_dma_stop(&self->dma);
|
||||
}
|
||||
|
||||
bool common_hal_audiopwmio_pwmaudioout_get_playing(audiopwmio_pwmaudioout_obj_t* self) {
|
||||
bool playing = audio_dma_get_playing(&self->dma);
|
||||
if (!playing && self->pacing_timer < NUM_DMA_TIMERS) {
|
||||
dma_hw->timer[self->pacing_timer] = 0;
|
||||
self->pacing_timer = NUM_DMA_TIMERS;
|
||||
}
|
||||
return playing;
|
||||
}
|
||||
|
||||
void common_hal_audiopwmio_pwmaudioout_pause(audiopwmio_pwmaudioout_obj_t* self) {
|
||||
audio_dma_pause(&self->dma);
|
||||
}
|
||||
|
||||
void common_hal_audiopwmio_pwmaudioout_resume(audiopwmio_pwmaudioout_obj_t* self) {
|
||||
audio_dma_resume(&self->dma);
|
||||
}
|
||||
|
||||
bool common_hal_audiopwmio_pwmaudioout_get_paused(audiopwmio_pwmaudioout_obj_t* self) {
|
||||
return audio_dma_get_paused(&self->dma);
|
||||
}
|
47
ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.h
Normal file
47
ports/raspberrypi/common-hal/audiopwmio/PWMAudioOut.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Jeff Epler for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_AUDIOPWMIO_PWMAUDIOOUT_H
|
||||
#define MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_AUDIOPWMIO_PWMAUDIOOUT_H
|
||||
|
||||
#include "common-hal/pwmio/PWMOut.h"
|
||||
|
||||
#include "audio_dma.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
pwmio_pwmout_obj_t left_pwm;
|
||||
pwmio_pwmout_obj_t right_pwm;
|
||||
audio_dma_t dma;
|
||||
uint16_t quiescent_value;
|
||||
uint8_t pacing_timer;
|
||||
} audiopwmio_pwmaudioout_obj_t;
|
||||
|
||||
void audiopwmout_reset(void);
|
||||
|
||||
void audiopwmout_background(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_AUDIOPWMIO_PWMAUDIOOUT_H
|
0
ports/raspberrypi/common-hal/audiopwmio/__init__.c
Normal file
0
ports/raspberrypi/common-hal/audiopwmio/__init__.c
Normal file
@ -90,7 +90,7 @@ void common_hal_busio_i2c_construct(busio_i2c_obj_t *self,
|
||||
if (!gpio_get(sda->number) || !gpio_get(scl->number)) {
|
||||
reset_pin_number(sda->number);
|
||||
reset_pin_number(scl->number);
|
||||
mp_raise_RuntimeError(translate("SDA or SCL needs a pull up"));
|
||||
mp_raise_RuntimeError(translate("No pull up found on SDA or SCL; check your wiring"));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "py/mphal.h"
|
||||
#include "common-hal/microcontroller/Processor.h"
|
||||
@ -53,12 +54,9 @@ uint32_t common_hal_mcu_processor_get_frequency(void) {
|
||||
}
|
||||
|
||||
void common_hal_mcu_processor_get_uid(uint8_t raw_id[]) {
|
||||
// TODO: get the unique id from the flash. The chip itself doesn't have one.
|
||||
// for (int i=0; i<4; i++) {
|
||||
// for (int k=0; k<4; k++) {
|
||||
// raw_id[4 * i + k] = (*(id_addresses[i]) >> k * 8) & 0xff;
|
||||
// }
|
||||
// }
|
||||
pico_unique_board_id_t retrieved_id;
|
||||
pico_get_unique_board_id(&retrieved_id);
|
||||
memcpy(raw_id, retrieved_id.id, COMMON_HAL_MCU_PROCESSOR_UID_LENGTH);
|
||||
}
|
||||
|
||||
mcu_reset_reason_t common_hal_mcu_processor_get_reset_reason(void) {
|
||||
|
@ -27,7 +27,9 @@
|
||||
#ifndef MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_MICROCONTROLLER_PROCESSOR_H
|
||||
#define MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_MICROCONTROLLER_PROCESSOR_H
|
||||
|
||||
#define COMMON_HAL_MCU_PROCESSOR_UID_LENGTH 16
|
||||
#include "src/rp2_common/pico_unique_id/include/pico/unique_id.h"
|
||||
|
||||
#define COMMON_HAL_MCU_PROCESSOR_UID_LENGTH PICO_UNIQUE_BOARD_ID_SIZE_BYTES
|
||||
|
||||
#include "py/obj.h"
|
||||
|
||||
|
@ -35,12 +35,16 @@
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "shared-bindings/microcontroller/Processor.h"
|
||||
#include "supervisor/filesystem.h"
|
||||
#include "supervisor/port.h"
|
||||
#include "supervisor/shared/safe_mode.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
#include "src/rp2040/hardware_structs/include/hardware/structs/sio.h"
|
||||
#include "src/rp2_common/hardware_sync/include/hardware/sync.h"
|
||||
|
||||
#include "hardware/watchdog.h"
|
||||
|
||||
void common_hal_mcu_delay_us(uint32_t delay) {
|
||||
mp_hal_delay_us(delay);
|
||||
}
|
||||
@ -66,8 +70,11 @@ void common_hal_mcu_enable_interrupts(void) {
|
||||
asm volatile ("cpsie i" : : : "memory");
|
||||
}
|
||||
|
||||
static bool next_reset_to_bootloader = false;
|
||||
|
||||
void common_hal_mcu_on_next_reset(mcu_runmode_t runmode) {
|
||||
if (runmode == RUNMODE_BOOTLOADER) {
|
||||
next_reset_to_bootloader = true;
|
||||
} else {
|
||||
}
|
||||
if (runmode == RUNMODE_SAFE_MODE) {
|
||||
@ -76,10 +83,17 @@ void common_hal_mcu_on_next_reset(mcu_runmode_t runmode) {
|
||||
}
|
||||
|
||||
void common_hal_mcu_reset(void) {
|
||||
filesystem_flush();
|
||||
if (next_reset_to_bootloader) {
|
||||
reset_to_bootloader();
|
||||
} else {
|
||||
reset_cpu();
|
||||
}
|
||||
}
|
||||
|
||||
// The singleton microcontroller.Processor object, bound to microcontroller.cpu
|
||||
// It currently only has properties, and no state.
|
||||
#if CIRCUITPY_PROCESSOR_COUNT > 1
|
||||
static const mcu_processor_obj_t processor0 = {
|
||||
.base = {
|
||||
.type = &mcu_processor_type,
|
||||
@ -92,7 +106,7 @@ static const mcu_processor_obj_t processor1 = {
|
||||
},
|
||||
};
|
||||
|
||||
const mp_rom_obj_tuple_t common_hal_mcu_processor_obj = {
|
||||
const mp_rom_obj_tuple_t common_hal_multi_processor_obj = {
|
||||
{&mp_type_tuple},
|
||||
CIRCUITPY_PROCESSOR_COUNT,
|
||||
{
|
||||
@ -100,6 +114,13 @@ const mp_rom_obj_tuple_t common_hal_mcu_processor_obj = {
|
||||
MP_ROM_PTR(&processor1)
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
const mcu_processor_obj_t common_hal_mcu_processor_obj = {
|
||||
.base = {
|
||||
.type = &mcu_processor_type,
|
||||
},
|
||||
};
|
||||
|
||||
#if CIRCUITPY_NVM && CIRCUITPY_INTERNAL_NVM_SIZE > 0
|
||||
// The singleton nvm.ByteArray object.
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "bindings/rp2pio/StateMachine.h"
|
||||
#include "common-hal/rp2pio/StateMachine.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
#include "shared-bindings/digitalio/DigitalInOut.h"
|
||||
|
||||
#include "supervisor/port.h"
|
||||
|
||||
@ -89,7 +90,11 @@ void common_hal_neopixel_write(const digitalio_digitalinout_obj_t* digitalinout,
|
||||
|
||||
// Use a private deinit of the state machine that doesn't reset the pin.
|
||||
rp2pio_statemachine_deinit(&state_machine, true);
|
||||
|
||||
// Reset the pin and release it from the PIO
|
||||
gpio_init(digitalinout->pin->number);
|
||||
common_hal_digitalio_digitalinout_switch_to_output((digitalio_digitalinout_obj_t*)digitalinout, false, DRIVE_MODE_PUSH_PULL);
|
||||
|
||||
// Update the next start.
|
||||
next_start_raw_ticks = port_get_raw_ticks(NULL) + 1;
|
||||
}
|
||||
|
@ -39,7 +39,7 @@
|
||||
#include "src/rp2_common/hardware_pwm/include/hardware/pwm.h"
|
||||
|
||||
uint32_t target_slice_frequencies[NUM_PWM_SLICES];
|
||||
uint32_t slice_fixed_frequency;
|
||||
uint32_t slice_variable_frequency;
|
||||
|
||||
#define CHANNELS_PER_SLICE 2
|
||||
static uint32_t channel_use;
|
||||
@ -76,7 +76,7 @@ void pwmout_reset(void) {
|
||||
}
|
||||
pwm_set_enabled(slice, false);
|
||||
target_slice_frequencies[slice] = 0;
|
||||
slice_fixed_frequency &= ~(1 << slice);
|
||||
slice_variable_frequency &= ~(1 << slice);
|
||||
}
|
||||
}
|
||||
|
||||
@ -107,8 +107,8 @@ pwmout_result_t common_hal_pwmio_pwmout_construct(pwmio_pwmout_obj_t* self,
|
||||
if (variable_frequency) {
|
||||
return PWMOUT_ALL_TIMERS_ON_PIN_IN_USE;
|
||||
}
|
||||
// If the other user wants to change frequency then we can't share either.
|
||||
if ((slice_fixed_frequency & (1 << slice)) != 0) {
|
||||
// If the other user wants a variable frequency then we can't share either.
|
||||
if ((slice_variable_frequency & (1 << slice)) != 0) {
|
||||
return PWMOUT_ALL_TIMERS_ON_PIN_IN_USE;
|
||||
}
|
||||
// If we're both fixed frequency but we don't match target frequencies then we can't share.
|
||||
@ -118,9 +118,10 @@ pwmout_result_t common_hal_pwmio_pwmout_construct(pwmio_pwmout_obj_t* self,
|
||||
}
|
||||
self->slice = slice;
|
||||
self->channel = channel;
|
||||
|
||||
channel_use |= channel_use_mask;
|
||||
if (!variable_frequency) {
|
||||
slice_fixed_frequency |= 1 << slice;
|
||||
if (variable_frequency) {
|
||||
slice_variable_frequency |= 1 << slice;
|
||||
}
|
||||
|
||||
if (target_slice_frequencies[slice] != frequency) {
|
||||
@ -153,7 +154,7 @@ void common_hal_pwmio_pwmout_deinit(pwmio_pwmout_obj_t* self) {
|
||||
uint32_t slice_mask = ((1 << CHANNELS_PER_SLICE) - 1) << (self->slice * CHANNELS_PER_SLICE + self->channel);
|
||||
if ((channel_use & slice_mask) == 0) {
|
||||
target_slice_frequencies[self->slice] = 0;
|
||||
slice_fixed_frequency &= ~(1 << self->slice);
|
||||
slice_variable_frequency &= ~(1 << self->slice);
|
||||
pwm_set_enabled(self->slice, false);
|
||||
}
|
||||
|
||||
@ -171,6 +172,13 @@ uint16_t common_hal_pwmio_pwmout_get_duty_cycle(pwmio_pwmout_obj_t* self) {
|
||||
return self->duty_cycle;
|
||||
}
|
||||
|
||||
void pwmio_pwmout_set_top(pwmio_pwmout_obj_t* self, uint32_t top) {
|
||||
self->actual_frequency = common_hal_mcu_processor_get_frequency() / top;
|
||||
self->top = top;
|
||||
pwm_set_clkdiv_int_frac(self->slice, 1, 0);
|
||||
pwm_set_wrap(self->slice, self->top - 1);
|
||||
}
|
||||
|
||||
void common_hal_pwmio_pwmout_set_frequency(pwmio_pwmout_obj_t* self, uint32_t frequency) {
|
||||
if (frequency == 0 || frequency > (common_hal_mcu_processor_get_frequency() / 2)) {
|
||||
mp_raise_ValueError(translate("Invalid PWM frequency"));
|
||||
|
@ -43,5 +43,7 @@ typedef struct {
|
||||
} pwmio_pwmout_obj_t;
|
||||
|
||||
void pwmout_reset(void);
|
||||
// Private API for AudioPWMOut.
|
||||
void pwmio_pwmout_set_top(pwmio_pwmout_obj_t* self, uint32_t top);
|
||||
|
||||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_PWMIO_PWMOUT_H
|
||||
|
@ -546,15 +546,23 @@ static bool _transfer(rp2pio_statemachine_obj_t *self,
|
||||
size_t tx_remaining = out_len;
|
||||
|
||||
while (rx_remaining || tx_remaining) {
|
||||
if (tx_remaining && !pio_sm_is_tx_fifo_full(self->pio, self->state_machine)) {
|
||||
*tx_destination = *data_out;
|
||||
data_out++;
|
||||
--tx_remaining;
|
||||
}
|
||||
if (rx_remaining && !pio_sm_is_rx_fifo_empty(self->pio, self->state_machine)) {
|
||||
*data_in = (uint8_t) *rx_source;
|
||||
data_in++;
|
||||
--rx_remaining;
|
||||
for (int i=0; i<32; i++) {
|
||||
bool did_transfer = false;
|
||||
if (tx_remaining && !pio_sm_is_tx_fifo_full(self->pio, self->state_machine)) {
|
||||
*tx_destination = *data_out;
|
||||
data_out++;
|
||||
--tx_remaining;
|
||||
did_transfer = true;
|
||||
}
|
||||
if (rx_remaining && !pio_sm_is_rx_fifo_empty(self->pio, self->state_machine)) {
|
||||
*data_in = (uint8_t) *rx_source;
|
||||
data_in++;
|
||||
--rx_remaining;
|
||||
did_transfer = true;
|
||||
}
|
||||
if (!did_transfer) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
RUN_BACKGROUND_TASKS;
|
||||
if (mp_hal_is_interrupted()) {
|
||||
|
81
ports/raspberrypi/common-hal/rtc/RTC.c
Normal file
81
ports/raspberrypi/common-hal/rtc/RTC.c
Normal file
@ -0,0 +1,81 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright 2020 microDev
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
#include "shared-bindings/rtc/RTC.h"
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
#include "py/runtime.h"
|
||||
#include "src/rp2_common/hardware_rtc/include/hardware/rtc.h"
|
||||
|
||||
void common_hal_rtc_init(void) {
|
||||
rtc_init();
|
||||
}
|
||||
|
||||
void common_hal_rtc_get_time(timeutils_struct_time_t *tm) {
|
||||
datetime_t t;
|
||||
rtc_get_datetime(&t);
|
||||
|
||||
tm->tm_year = t.year;
|
||||
tm->tm_mon = t.month;
|
||||
tm->tm_mday = t.day;
|
||||
tm->tm_wday = t.dotw;
|
||||
tm->tm_hour = t.hour;
|
||||
tm->tm_min = t.min;
|
||||
tm->tm_sec = t.sec;
|
||||
|
||||
if (tm->tm_wday == 0) {
|
||||
tm->tm_wday = 6;
|
||||
} else {
|
||||
tm->tm_wday-=1;
|
||||
}
|
||||
}
|
||||
|
||||
void common_hal_rtc_set_time(timeutils_struct_time_t *tm) {
|
||||
if (tm->tm_wday == 6) {
|
||||
tm->tm_wday = 0;
|
||||
} else {
|
||||
tm->tm_wday+=1;
|
||||
}
|
||||
|
||||
datetime_t t = {
|
||||
.year = tm->tm_year,
|
||||
.month = tm->tm_mon,
|
||||
.day = tm->tm_mday,
|
||||
.dotw = tm->tm_wday,
|
||||
.hour = tm->tm_hour,
|
||||
.min = tm->tm_min,
|
||||
.sec = tm->tm_sec
|
||||
};
|
||||
rtc_set_datetime(&t);
|
||||
}
|
||||
|
||||
int common_hal_rtc_get_calibration(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void common_hal_rtc_set_calibration(int calibration) {
|
||||
mp_raise_NotImplementedError(translate("RTC calibration is not supported on this board"));
|
||||
}
|
32
ports/raspberrypi/common-hal/rtc/RTC.h
Normal file
32
ports/raspberrypi/common-hal/rtc/RTC.h
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 microDev
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_RTC_RTC_H
|
||||
#define MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_RTC_RTC_H
|
||||
|
||||
extern void common_hal_rtc_init(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_RTC_RTC_H
|
1
ports/raspberrypi/common-hal/rtc/__init__.c
Normal file
1
ports/raspberrypi/common-hal/rtc/__init__.c
Normal file
@ -0,0 +1 @@
|
||||
// No RTC module functions
|
@ -59,12 +59,11 @@ SECTIONS
|
||||
*/
|
||||
|
||||
.text : {
|
||||
__reset_start = .;
|
||||
KEEP (*(.reset))
|
||||
. = ALIGN(256);
|
||||
__reset_end = .;
|
||||
ASSERT(__reset_end - __reset_start == 256, "ERROR: reset section should only be 256 bytes");
|
||||
__logical_binary_start = .;
|
||||
KEEP (*(.vectors))
|
||||
KEEP (*(.binary_info_header))
|
||||
__binary_info_header_end = .;
|
||||
KEEP (*(.reset))
|
||||
/* TODO revisit this now memset/memcpy/float in ROM */
|
||||
/* bit of a hack right now to exclude all floating point and time critical (e.g. memset, memcpy) code from
|
||||
* FLASH ... we will include any thing excluded here in .data below by default */
|
||||
@ -246,5 +245,7 @@ SECTIONS
|
||||
|
||||
/* Check if data + heap + stack exceeds RAM limit */
|
||||
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed")
|
||||
|
||||
ASSERT( __binary_info_header_end - __logical_binary_start <= 256, "Binary info must be in first 256 bytes of the binary")
|
||||
/* todo assert on extra code */
|
||||
}
|
||||
|
@ -27,6 +27,8 @@
|
||||
#ifndef __INCLUDED_MPCONFIGPORT_H
|
||||
#define __INCLUDED_MPCONFIGPORT_H
|
||||
|
||||
#include "src/rp2040/hardware_regs/include/hardware/platform_defs.h"
|
||||
|
||||
#define MICROPY_PY_SYS_PLATFORM "RP2040"
|
||||
|
||||
#define CIRCUITPY_INTERNAL_NVM_SIZE 0
|
||||
@ -41,6 +43,7 @@
|
||||
#include "py/circuitpy_mpconfig.h"
|
||||
|
||||
#define MICROPY_PORT_ROOT_POINTERS \
|
||||
mp_obj_t playing_audio[NUM_DMA_CHANNELS]; \
|
||||
CIRCUITPY_COMMON_ROOT_POINTERS;
|
||||
|
||||
#endif // __INCLUDED_MPCONFIGPORT_H
|
||||
|
@ -27,22 +27,26 @@ CIRCUITPY_FULL_BUILD = 1
|
||||
CIRCUITPY_PWMIO = 1
|
||||
|
||||
# Things that need to be implemented.
|
||||
CIRCUITPY_AUDIOBUSIO = 0 # Use PIO interally for I2S
|
||||
CIRCUITPY_AUDIOMP3 = 0
|
||||
CIRCUITPY_COUNTIO = 0 # Use PWM interally
|
||||
CIRCUITPY_FREQUENCYIO = 0 # Use PWM interally
|
||||
CIRCUITPY_I2CPERIPHERAL = 0
|
||||
CIRCUITPY_NVM = 0
|
||||
CIRCUITPY_PULSEIO = 0 # Use PIO interally
|
||||
CIRCUITPY_ROTARYIO = 0 # Use PIO interally
|
||||
CIRCUITPY_RTC = 0
|
||||
CIRCUITPY_WATCHDOG = 1
|
||||
|
||||
# Things that are unsupported by the hardware.
|
||||
# Audio via PWM
|
||||
CIRCUITPY_AUDIOIO = 0
|
||||
CIRCUITPY_AUDIOBUSIO ?= 0 # add this later
|
||||
CIRCUITPY_AUDIOCORE ?= 1
|
||||
CIRCUITPY_AUDIOPWMIO ?= 1
|
||||
|
||||
# These libraries require Cortex M4+ for fancy math instructions.
|
||||
CIRCUITPY_AUDIOMIXER ?= 0
|
||||
CIRCUITPY_AUDIOMP3 ?= 0
|
||||
|
||||
INTERNAL_LIBM = 1
|
||||
|
||||
USB_SERIAL_NUMBER_LENGTH = 32
|
||||
USB_SERIAL_NUMBER_LENGTH = 16
|
||||
|
||||
USB_NUM_EP = 8
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 26653ea81e340cacee55025d110c3e014a252a87
|
||||
Subproject commit 55346c953012ef5b32f392fea3b42814db8df2a5
|
@ -32,6 +32,7 @@
|
||||
|
||||
#include "bindings/rp2pio/StateMachine.h"
|
||||
#include "genhdr/mpversion.h"
|
||||
#include "shared-bindings/audiopwmio/PWMAudioOut.h"
|
||||
#include "shared-bindings/busio/I2C.h"
|
||||
#include "shared-bindings/busio/SPI.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
@ -52,6 +53,8 @@
|
||||
|
||||
#include "tusb.h"
|
||||
|
||||
#include "pico/bootrom.h"
|
||||
#include "hardware/watchdog.h"
|
||||
|
||||
extern volatile bool mp_msc_enabled;
|
||||
|
||||
@ -94,25 +97,37 @@ void reset_port(void) {
|
||||
reset_spi();
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_PWMIO
|
||||
pwmout_reset();
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_RP2PIO
|
||||
reset_rp2pio_statemachine();
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_PWMIO
|
||||
pwmout_reset();
|
||||
#if CIRCUITPY_RTC
|
||||
rtc_reset();
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_AUDIOPWMIO
|
||||
audiopwmout_reset();
|
||||
#endif
|
||||
|
||||
reset_all_pins();
|
||||
}
|
||||
|
||||
void reset_to_bootloader(void) {
|
||||
// reset();
|
||||
reset_usb_boot(0, 0);
|
||||
while (true) {}
|
||||
}
|
||||
|
||||
void reset_cpu(void) {
|
||||
// reset();
|
||||
while (true) {}
|
||||
watchdog_reboot(0, SRAM_END, 0);
|
||||
watchdog_start_tick(12);
|
||||
|
||||
while (true) {
|
||||
__wfi();
|
||||
}
|
||||
}
|
||||
|
||||
bool port_has_fixed_stack(void) {
|
||||
|
@ -292,6 +292,9 @@ endif
|
||||
ifeq ($(CIRCUITPY_USB_MIDI),1)
|
||||
SRC_PATTERNS += usb_midi/%
|
||||
endif
|
||||
ifeq ($(CIRCUITPY_USB_VENDOR),1)
|
||||
SRC_PATTERNS += usb_vendor/%
|
||||
endif
|
||||
ifeq ($(CIRCUITPY_USTACK),1)
|
||||
SRC_PATTERNS += ustack/%
|
||||
endif
|
||||
@ -388,6 +391,7 @@ SRC_COMMON_HAL_ALL = \
|
||||
socketpool/Socket.c \
|
||||
ssl/__init__.c \
|
||||
ssl/SSLContext.c \
|
||||
ssl/SSLSocket.c \
|
||||
supervisor/Runtime.c \
|
||||
supervisor/__init__.c \
|
||||
watchdog/WatchDogMode.c \
|
||||
|
@ -288,6 +288,12 @@ CFLAGS += -DCIRCUITPY_USB_HID=$(CIRCUITPY_USB_HID)
|
||||
CIRCUITPY_USB_MIDI ?= 1
|
||||
CFLAGS += -DCIRCUITPY_USB_MIDI=$(CIRCUITPY_USB_MIDI)
|
||||
|
||||
# Defaulting this to OFF initially because it has only been tested on a
|
||||
# limited number of platforms, and the other platforms do not have this
|
||||
# setting in their mpconfigport.mk and/or mpconfigboard.mk files yet.
|
||||
CIRCUITPY_USB_VENDOR ?= 0
|
||||
CFLAGS += -DCIRCUITPY_USB_VENDOR=$(CIRCUITPY_USB_VENDOR)
|
||||
|
||||
CIRCUITPY_PEW ?= 0
|
||||
CFLAGS += -DCIRCUITPY_PEW=$(CIRCUITPY_PEW)
|
||||
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "PewPew.h"
|
||||
#include "common-hal/_pew/PewPew.h"
|
||||
|
||||
|
||||
STATIC mp_obj_t get_pressed(void) {
|
||||
pew_obj_t *pew = MP_STATE_VM(pew_singleton);
|
||||
if (!pew) {
|
||||
@ -41,12 +42,19 @@ STATIC mp_obj_t get_pressed(void) {
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(get_pressed_obj, get_pressed);
|
||||
|
||||
|
||||
STATIC mp_obj_t get_ticks(void) {
|
||||
return mp_obj_new_int(pew_get_ticks());
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(get_ticks_obj, get_ticks);
|
||||
|
||||
|
||||
//| """LED matrix driver"""
|
||||
//|
|
||||
STATIC const mp_rom_map_elem_t pew_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__pew) },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_PewPew), MP_ROM_PTR(&pewpew_type)},
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_get_pressed), MP_ROM_PTR(&get_pressed_obj)},
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_get_ticks), MP_ROM_PTR(&get_ticks_obj)},
|
||||
};
|
||||
STATIC MP_DEFINE_CONST_DICT(pew_module_globals,
|
||||
pew_module_globals_table);
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "lib/utils/buffer_helper.h"
|
||||
#include "lib/utils/context_manager_helpers.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/smallint.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
|
||||
@ -132,15 +133,20 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_readinto(size_t n_args, const mp_o
|
||||
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
mp_obj_t dest[8];
|
||||
uint8_t num_kws = 1;
|
||||
|
||||
mp_load_method(self->i2c, MP_QSTR_readfrom_into, dest);
|
||||
dest[2] = mp_obj_new_int_from_ull(self->device_address);
|
||||
dest[2] = MP_OBJ_NEW_SMALL_INT(self->device_address);
|
||||
dest[3] = args[ARG_buffer].u_obj;
|
||||
//dest[4] = mp_obj_new_str("start", 5);
|
||||
dest[4] = MP_OBJ_NEW_QSTR(MP_QSTR_start);
|
||||
dest[5] = mp_obj_new_int(args[ARG_start].u_int);
|
||||
dest[6] = MP_OBJ_NEW_QSTR(MP_QSTR_end);
|
||||
dest[7] = mp_obj_new_int(args[ARG_end].u_int);
|
||||
mp_call_method_n_kw(2, 2, dest);
|
||||
dest[5] = MP_OBJ_NEW_SMALL_INT(args[ARG_start].u_int);
|
||||
if (args[ARG_end].u_int != INT_MAX) {
|
||||
dest[6] = MP_OBJ_NEW_QSTR(MP_QSTR_end);
|
||||
dest[7] = MP_OBJ_NEW_SMALL_INT(args[ARG_end].u_int);
|
||||
num_kws++;
|
||||
}
|
||||
mp_call_method_n_kw(2, num_kws, dest);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
@ -170,14 +176,20 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_write(size_t n_args, const mp_obj_
|
||||
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
mp_obj_t dest[8];
|
||||
uint8_t num_kws = 1;
|
||||
|
||||
mp_load_method(self->i2c, MP_QSTR_writeto, dest);
|
||||
dest[2] = mp_obj_new_int_from_ull(self->device_address);
|
||||
dest[2] = MP_OBJ_NEW_SMALL_INT(self->device_address);
|
||||
dest[3] = args[ARG_buffer].u_obj;
|
||||
dest[4] = MP_OBJ_NEW_QSTR(MP_QSTR_start);
|
||||
dest[5] = mp_obj_new_int(args[ARG_start].u_int);
|
||||
dest[6] = MP_OBJ_NEW_QSTR(MP_QSTR_end);
|
||||
dest[7] = mp_obj_new_int(args[ARG_end].u_int);
|
||||
mp_call_method_n_kw(2, 2, dest);
|
||||
dest[5] = MP_OBJ_NEW_SMALL_INT(args[ARG_start].u_int);
|
||||
if (args[ARG_end].u_int != INT_MAX) {
|
||||
dest[6] = MP_OBJ_NEW_QSTR(MP_QSTR_end);
|
||||
dest[7] = MP_OBJ_NEW_SMALL_INT(args[ARG_end].u_int);
|
||||
num_kws++;
|
||||
}
|
||||
|
||||
mp_call_method_n_kw(2, num_kws, dest);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
@ -221,20 +233,29 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_write_then_readinto(size_t n_args,
|
||||
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
mp_obj_t dest[13];
|
||||
mp_load_method(self->i2c, MP_QSTR_writeto_then_readfrom, dest);
|
||||
dest[2] = mp_obj_new_int_from_ull(self->device_address);
|
||||
dest[3] = args[ARG_out_buffer].u_obj;
|
||||
dest[4] = args[ARG_in_buffer].u_obj;
|
||||
dest[5] = MP_OBJ_NEW_QSTR(MP_QSTR_out_start);
|
||||
dest[6] = mp_obj_new_int(args[ARG_out_start].u_int);
|
||||
dest[7] = MP_OBJ_NEW_QSTR(MP_QSTR_out_end);
|
||||
dest[8] = mp_obj_new_int(args[ARG_out_end].u_int);
|
||||
dest[9] = MP_OBJ_NEW_QSTR(MP_QSTR_in_start);
|
||||
dest[10] = mp_obj_new_int(args[ARG_in_start].u_int);
|
||||
dest[11] = MP_OBJ_NEW_QSTR(MP_QSTR_in_end);
|
||||
dest[12] = mp_obj_new_int(args[ARG_in_end].u_int);
|
||||
uint8_t num_kws = 2;
|
||||
uint8_t index = 2;
|
||||
|
||||
mp_call_method_n_kw(3, 4, dest);
|
||||
mp_load_method(self->i2c, MP_QSTR_writeto_then_readfrom, dest);
|
||||
dest[index++] = MP_OBJ_NEW_SMALL_INT(self->device_address);
|
||||
dest[index++] = args[ARG_out_buffer].u_obj;
|
||||
dest[index++] = args[ARG_in_buffer].u_obj;
|
||||
dest[index++] = MP_OBJ_NEW_QSTR(MP_QSTR_out_start);
|
||||
dest[index++] = MP_OBJ_NEW_SMALL_INT(args[ARG_out_start].u_int);
|
||||
if (args[ARG_out_end].u_int != INT_MAX) {
|
||||
dest[index++] = MP_OBJ_NEW_QSTR(MP_QSTR_out_end);
|
||||
dest[index++] = MP_OBJ_NEW_SMALL_INT(args[ARG_out_end].u_int);
|
||||
num_kws++;
|
||||
}
|
||||
dest[index++] = MP_OBJ_NEW_QSTR(MP_QSTR_in_start);
|
||||
dest[index++] = MP_OBJ_NEW_SMALL_INT(args[ARG_in_start].u_int);
|
||||
if (args[ARG_in_end].u_int != INT_MAX) {
|
||||
dest[index++] = MP_OBJ_NEW_QSTR(MP_QSTR_in_end);
|
||||
dest[index++] = MP_OBJ_NEW_SMALL_INT(args[ARG_in_end].u_int);
|
||||
num_kws++;
|
||||
}
|
||||
|
||||
mp_call_method_n_kw(3, num_kws, dest);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
@ -34,6 +34,7 @@
|
||||
|
||||
#include "lib/utils/buffer_helper.h"
|
||||
#include "lib/utils/context_manager_helpers.h"
|
||||
#include "py/objproperty.h"
|
||||
#include "py/runtime.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
@ -100,13 +101,22 @@ STATIC mp_obj_t adafruit_bus_device_spidevice_make_new(const mp_obj_type_t *type
|
||||
return (mp_obj_t)self;
|
||||
}
|
||||
|
||||
//| def __enter__(self) -> busio.SPI:
|
||||
//| """Starts a SPI transaction by configuring the SPI and asserting chip select."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t adafruit_bus_device_spidevice_obj___enter__(mp_obj_t self_in) {
|
||||
adafruit_bus_device_spidevice_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
common_hal_adafruit_bus_device_spidevice_enter(self);
|
||||
return self->spi;
|
||||
return common_hal_adafruit_bus_device_spidevice_enter(self);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(adafruit_bus_device_spidevice___enter___obj, adafruit_bus_device_spidevice_obj___enter__);
|
||||
|
||||
|
||||
//| def __exit__(self) -> None:
|
||||
//| """Ends a SPI transaction by deasserting chip select. See
|
||||
//| :ref:`lifetime-and-contextmanagers` for more info."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t adafruit_bus_device_spidevice_obj___exit__(size_t n_args, const mp_obj_t *args) {
|
||||
common_hal_adafruit_bus_device_spidevice_exit(MP_OBJ_TO_PTR(args[0]));
|
||||
return mp_const_none;
|
||||
|
@ -44,7 +44,7 @@ extern const mp_obj_type_t adafruit_bus_device_spidevice_type;
|
||||
// Initializes the hardware peripheral.
|
||||
extern void common_hal_adafruit_bus_device_spidevice_construct(adafruit_bus_device_spidevice_obj_t *self, busio_spi_obj_t *spi, digitalio_digitalinout_obj_t *cs,
|
||||
uint32_t baudrate, uint8_t polarity, uint8_t phase, uint8_t extra_clocks);
|
||||
extern void common_hal_adafruit_bus_device_spidevice_enter(adafruit_bus_device_spidevice_obj_t *self);
|
||||
extern mp_obj_t common_hal_adafruit_bus_device_spidevice_enter(adafruit_bus_device_spidevice_obj_t *self);
|
||||
extern void common_hal_adafruit_bus_device_spidevice_exit(adafruit_bus_device_spidevice_obj_t *self);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_BUSDEVICE_SPIDEVICE_H
|
||||
|
@ -41,7 +41,15 @@
|
||||
//|
|
||||
//| import microcontroller
|
||||
//| print(microcontroller.cpu.frequency)
|
||||
//| print(microcontroller.cpu.temperature)"""
|
||||
//| print(microcontroller.cpu.temperature)
|
||||
//|
|
||||
//| Note that on chips with more than one cpu (such as the RP2040)
|
||||
//| microcontroller.cpu will return the value for CPU 0.
|
||||
//| To get values from other CPUs use microcontroller.cpus indexed by
|
||||
//| the number of the desired cpu. i.e.
|
||||
//|
|
||||
//| print(microcontroller.cpus[0].temperature)
|
||||
//| print(microcontroller.cpus[1].frequency)"""
|
||||
//|
|
||||
|
||||
//| def __init__(self) -> None:
|
||||
|
@ -53,7 +53,13 @@
|
||||
//| cpu: Processor
|
||||
//| """CPU information and control, such as ``cpu.temperature`` and ``cpu.frequency``
|
||||
//| (clock frequency).
|
||||
//| This object is the sole instance of `microcontroller.Processor`."""
|
||||
//| This object is an instance of `microcontroller.Processor`."""
|
||||
//|
|
||||
|
||||
//| cpus: Processor
|
||||
//| """CPU information and control, such as ``cpus[0].temperature`` and ``cpus[1].frequency``
|
||||
//| (clock frequency) on chips with more than 1 cpu. The index selects which cpu.
|
||||
//| This object is an instance of `microcontroller.Processor`."""
|
||||
//|
|
||||
|
||||
//| def delay_us(delay: int) -> None:
|
||||
@ -155,6 +161,9 @@ const mp_obj_module_t mcu_pin_module = {
|
||||
STATIC const mp_rom_map_elem_t mcu_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_microcontroller) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_cpu), MP_ROM_PTR(&common_hal_mcu_processor_obj) },
|
||||
#if CIRCUITPY_PROCESSOR_COUNT > 1
|
||||
{ MP_ROM_QSTR(MP_QSTR_cpus), MP_ROM_PTR(&common_hal_multi_processor_obj) },
|
||||
#endif
|
||||
{ MP_ROM_QSTR(MP_QSTR_delay_us), MP_ROM_PTR(&mcu_delay_us_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_disable_interrupts), MP_ROM_PTR(&mcu_disable_interrupts_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_enable_interrupts), MP_ROM_PTR(&mcu_enable_interrupts_obj) },
|
||||
|
@ -48,7 +48,8 @@ extern const mp_obj_dict_t mcu_pin_globals;
|
||||
#if CIRCUITPY_PROCESSOR_COUNT == 1
|
||||
extern const mcu_processor_obj_t common_hal_mcu_processor_obj;
|
||||
#elif CIRCUITPY_PROCESSOR_COUNT > 1
|
||||
extern const mp_rom_obj_tuple_t common_hal_mcu_processor_obj;
|
||||
extern const mcu_processor_obj_t common_hal_mcu_processor_obj;
|
||||
extern const mp_rom_obj_tuple_t common_hal_multi_processor_obj;
|
||||
#else
|
||||
#error "Invalid processor count"
|
||||
#endif
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "lib/timeutils/timeutils.h"
|
||||
|
||||
extern void common_hal_rtc_get_time(timeutils_struct_time_t *tm);
|
||||
|
@ -55,6 +55,12 @@
|
||||
//| Data transfers use the specified baurate (rounded down to one that is supported by
|
||||
//| the microcontroller)
|
||||
//|
|
||||
//| .. important::
|
||||
//| If the same SPI bus is shared with other peripherals, it is important that
|
||||
//| the SD card be initialized before accessing any other peripheral on the bus.
|
||||
//| Failure to do so can prevent the SD card from being recognized until it is
|
||||
//| powered off or re-inserted.
|
||||
//|
|
||||
//| Example usage:
|
||||
//|
|
||||
//| .. code-block:: python
|
||||
|
@ -3,8 +3,8 @@
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2014 Damien P. George
|
||||
* 2018 Nick Moore for Adafruit Industries
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
* Copyright (c) 2021 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
@ -64,6 +64,25 @@ STATIC mp_obj_t socketpool_socket___exit__(size_t n_args, const mp_obj_t *args)
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(socketpool_socket___exit___obj, 4, 4, socketpool_socket___exit__);
|
||||
|
||||
//| def accept(self) -> Tuple[Socket, Tuple[str, int]]:
|
||||
//| """Accept a connection on a listening socket of type SOCK_STREAM,
|
||||
//| creating a new socket of type SOCK_STREAM.
|
||||
//| Returns a tuple of (new_socket, remote_address)"""
|
||||
//|
|
||||
STATIC mp_obj_t socketpool_socket_accept(mp_obj_t self_in) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
uint8_t ip[4];
|
||||
uint32_t port;
|
||||
|
||||
socketpool_socket_obj_t * sock = common_hal_socketpool_socket_accept(self, ip, &port);
|
||||
|
||||
mp_obj_t tuple_contents[2];
|
||||
tuple_contents[0] = MP_OBJ_FROM_PTR(sock);
|
||||
tuple_contents[1] = netutils_format_inet_addr(ip, port, NETUTILS_BIG);
|
||||
return mp_obj_new_tuple(2, tuple_contents);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(socketpool_socket_accept_obj, socketpool_socket_accept);
|
||||
|
||||
//| def bind(self, address: Tuple[str, int]) -> None:
|
||||
//| """Bind a socket to an address
|
||||
//|
|
||||
@ -79,8 +98,11 @@ STATIC mp_obj_t socketpool_socket_bind(mp_obj_t self_in, mp_obj_t addr_in) {
|
||||
size_t hostlen;
|
||||
const char* host = mp_obj_str_get_data(addr_items[0], &hostlen);
|
||||
mp_int_t port = mp_obj_get_int(addr_items[1]);
|
||||
if (port < 0) {
|
||||
mp_raise_ValueError(translate("port must be >= 0"));
|
||||
}
|
||||
|
||||
bool ok = common_hal_socketpool_socket_bind(self, host, hostlen, port);
|
||||
bool ok = common_hal_socketpool_socket_bind(self, host, hostlen, (uint32_t)port);
|
||||
if (!ok) {
|
||||
mp_raise_ValueError(translate("Error: Failure to bind"));
|
||||
}
|
||||
@ -89,41 +111,6 @@ STATIC mp_obj_t socketpool_socket_bind(mp_obj_t self_in, mp_obj_t addr_in) {
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_bind_obj, socketpool_socket_bind);
|
||||
|
||||
//| def listen(self, backlog: int) -> None:
|
||||
//| """Set socket to listen for incoming connections
|
||||
//|
|
||||
//| :param ~int backlog: length of backlog queue for waiting connetions"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t socketpool_socket_listen(mp_obj_t self_in, mp_obj_t backlog_in) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
int backlog = mp_obj_get_int(backlog_in);
|
||||
|
||||
common_hal_socketpool_socket_listen(self, backlog);
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_listen_obj, socketpool_socket_listen);
|
||||
|
||||
//| def accept(self) -> Tuple[Socket, Tuple[str, int]]:
|
||||
//| """Accept a connection on a listening socket of type SOCK_STREAM,
|
||||
//| creating a new socket of type SOCK_STREAM.
|
||||
//| Returns a tuple of (new_socket, remote_address)"""
|
||||
//|
|
||||
STATIC mp_obj_t socketpool_socket_accept(mp_obj_t self_in) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
uint8_t ip[4];
|
||||
uint port;
|
||||
|
||||
socketpool_socket_obj_t * sock = common_hal_socketpool_socket_accept(self, ip, &port);
|
||||
|
||||
mp_obj_t tuple_contents[2];
|
||||
tuple_contents[0] = MP_OBJ_FROM_PTR(sock);
|
||||
tuple_contents[1] = netutils_format_inet_addr(ip, port, NETUTILS_BIG);
|
||||
return mp_obj_new_tuple(2, tuple_contents);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(socketpool_socket_accept_obj, socketpool_socket_accept);
|
||||
|
||||
//| def close(self) -> None:
|
||||
//| """Closes this Socket and makes its resources available to its SocketPool."""
|
||||
//|
|
||||
@ -149,8 +136,11 @@ STATIC mp_obj_t socketpool_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
|
||||
size_t hostlen;
|
||||
const char* host = mp_obj_str_get_data(addr_items[0], &hostlen);
|
||||
mp_int_t port = mp_obj_get_int(addr_items[1]);
|
||||
if (port < 0) {
|
||||
mp_raise_ValueError(translate("port must be >= 0"));
|
||||
}
|
||||
|
||||
bool ok = common_hal_socketpool_socket_connect(self, host, hostlen, port);
|
||||
bool ok = common_hal_socketpool_socket_connect(self, host, hostlen, (uint32_t)port);
|
||||
if (!ok) {
|
||||
mp_raise_OSError(0);
|
||||
}
|
||||
@ -159,31 +149,47 @@ STATIC mp_obj_t socketpool_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_connect_obj, socketpool_socket_connect);
|
||||
|
||||
//| def send(self, bytes: ReadableBuffer) -> int:
|
||||
//| """Send some bytes to the connected remote address.
|
||||
//| Suits sockets of type SOCK_STREAM
|
||||
//| def listen(self, backlog: int) -> None:
|
||||
//| """Set socket to listen for incoming connections
|
||||
//|
|
||||
//| :param ~bytes bytes: some bytes to send"""
|
||||
//| :param ~int backlog: length of backlog queue for waiting connetions"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t socketpool_socket_send(mp_obj_t self_in, mp_obj_t buf_in) {
|
||||
STATIC mp_obj_t socketpool_socket_listen(mp_obj_t self_in, mp_obj_t backlog_in) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
if (common_hal_socketpool_socket_get_closed(self)) {
|
||||
// Bad file number.
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
if (!common_hal_socketpool_socket_get_connected(self)) {
|
||||
mp_raise_BrokenPipeError();
|
||||
}
|
||||
mp_buffer_info_t bufinfo;
|
||||
mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_READ);
|
||||
mp_int_t ret = common_hal_socketpool_socket_send(self, bufinfo.buf, bufinfo.len);
|
||||
if (ret == -1) {
|
||||
mp_raise_BrokenPipeError();
|
||||
}
|
||||
return mp_obj_new_int_from_uint(ret);
|
||||
|
||||
int backlog = mp_obj_get_int(backlog_in);
|
||||
|
||||
common_hal_socketpool_socket_listen(self, backlog);
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_send_obj, socketpool_socket_send);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_listen_obj, socketpool_socket_listen);
|
||||
|
||||
//| def recvfrom_into(self, buffer: WriteableBuffer) -> Tuple[int, Tuple[str, int]]:
|
||||
//| """Reads some bytes from a remote address.
|
||||
//|
|
||||
//| Returns a tuple containing
|
||||
//| * the number of bytes received into the given buffer
|
||||
//| * a remote_address, which is a tuple of ip address and port number
|
||||
//|
|
||||
//| :param object buffer: buffer to read into"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t socketpool_socket_recvfrom_into(mp_obj_t self_in, mp_obj_t data_in) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
mp_buffer_info_t bufinfo;
|
||||
mp_get_buffer_raise(data_in, &bufinfo, MP_BUFFER_WRITE);
|
||||
|
||||
byte ip[4];
|
||||
mp_uint_t port;
|
||||
mp_int_t ret = common_hal_socketpool_socket_recvfrom_into(self,
|
||||
(byte*)bufinfo.buf, bufinfo.len, ip, &port);
|
||||
mp_obj_t tuple_contents[2];
|
||||
tuple_contents[0] = mp_obj_new_int_from_uint(ret);
|
||||
tuple_contents[1] = netutils_format_inet_addr(ip, port, NETUTILS_BIG);
|
||||
return mp_obj_new_tuple(2, tuple_contents);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_recvfrom_into_obj, socketpool_socket_recvfrom_into);
|
||||
|
||||
//| def recv_into(self, buffer: WriteableBuffer, bufsize: int) -> int:
|
||||
//| """Reads some bytes from the connected remote address, writing
|
||||
@ -199,7 +205,6 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_send_obj, socketpool_socket_s
|
||||
//| :param int bufsize: optionally, a maximum number of bytes to read."""
|
||||
//| ...
|
||||
//|
|
||||
|
||||
STATIC mp_obj_t socketpool_socket_recv_into(size_t n_args, const mp_obj_t *args) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(args[0]);
|
||||
if (common_hal_socketpool_socket_get_closed(self)) {
|
||||
@ -232,6 +237,32 @@ STATIC mp_obj_t socketpool_socket_recv_into(size_t n_args, const mp_obj_t *args)
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(socketpool_socket_recv_into_obj, 2, 3, socketpool_socket_recv_into);
|
||||
|
||||
//| def send(self, bytes: ReadableBuffer) -> int:
|
||||
//| """Send some bytes to the connected remote address.
|
||||
//| Suits sockets of type SOCK_STREAM
|
||||
//|
|
||||
//| :param ~bytes bytes: some bytes to send"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t socketpool_socket_send(mp_obj_t self_in, mp_obj_t buf_in) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
if (common_hal_socketpool_socket_get_closed(self)) {
|
||||
// Bad file number.
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
if (!common_hal_socketpool_socket_get_connected(self)) {
|
||||
mp_raise_BrokenPipeError();
|
||||
}
|
||||
mp_buffer_info_t bufinfo;
|
||||
mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_READ);
|
||||
mp_int_t ret = common_hal_socketpool_socket_send(self, bufinfo.buf, bufinfo.len);
|
||||
if (ret == -1) {
|
||||
mp_raise_BrokenPipeError();
|
||||
}
|
||||
return mp_obj_new_int_from_uint(ret);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_send_obj, socketpool_socket_send);
|
||||
|
||||
//| def sendto(self, bytes: ReadableBuffer, address: Tuple[str, int]) -> int:
|
||||
//| """Send some bytes to a specific address.
|
||||
//| Suits sockets of type SOCK_DGRAM
|
||||
@ -240,7 +271,6 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(socketpool_socket_recv_into_obj, 2, 3
|
||||
//| :param ~tuple address: tuple of (remote_address, remote_port)"""
|
||||
//| ...
|
||||
//|
|
||||
|
||||
STATIC mp_obj_t socketpool_socket_sendto(mp_obj_t self_in, mp_obj_t data_in, mp_obj_t addr_in) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
@ -254,8 +284,11 @@ STATIC mp_obj_t socketpool_socket_sendto(mp_obj_t self_in, mp_obj_t data_in, mp_
|
||||
size_t hostlen;
|
||||
const char* host = mp_obj_str_get_data(addr_items[0], &hostlen);
|
||||
mp_int_t port = mp_obj_get_int(addr_items[1]);
|
||||
if (port < 0) {
|
||||
mp_raise_ValueError(translate("port must be >= 0"));
|
||||
}
|
||||
|
||||
mp_int_t ret = common_hal_socketpool_socket_sendto(self, host, hostlen, port, bufinfo.buf, bufinfo.len);
|
||||
mp_int_t ret = common_hal_socketpool_socket_sendto(self, host, hostlen, (uint32_t)port, bufinfo.buf, bufinfo.len);
|
||||
if (!ret) {
|
||||
mp_raise_OSError(0);
|
||||
}
|
||||
@ -264,37 +297,28 @@ STATIC mp_obj_t socketpool_socket_sendto(mp_obj_t self_in, mp_obj_t data_in, mp_
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(socketpool_socket_sendto_obj, socketpool_socket_sendto);
|
||||
|
||||
//| def recvfrom_into(self, buffer: WriteableBuffer) -> Tuple[int, Tuple[str, int]]:
|
||||
//| """Reads some bytes from a remote address.
|
||||
//| def setblocking(self, flag: bool) -> Optional[int]:
|
||||
//| """Set the blocking behaviour of this socket.
|
||||
//|
|
||||
//| Returns a tuple containing
|
||||
//| * the number of bytes received into the given buffer
|
||||
//| * a remote_address, which is a tuple of ip address and port number
|
||||
//|
|
||||
//| :param object buffer: buffer to read into"""
|
||||
//| :param ~bool flag: False means non-blocking, True means block indefinitely."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t socketpool_socket_recvfrom_into(mp_obj_t self_in, mp_obj_t data_in) {
|
||||
// method socket.setblocking(flag)
|
||||
STATIC mp_obj_t socketpool_socket_setblocking(mp_obj_t self_in, mp_obj_t blocking) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
mp_buffer_info_t bufinfo;
|
||||
mp_get_buffer_raise(data_in, &bufinfo, MP_BUFFER_WRITE);
|
||||
|
||||
byte ip[4];
|
||||
mp_uint_t port;
|
||||
mp_int_t ret = common_hal_socketpool_socket_recvfrom_into(self,
|
||||
(byte*)bufinfo.buf, bufinfo.len, ip, &port);
|
||||
mp_obj_t tuple_contents[2];
|
||||
tuple_contents[0] = mp_obj_new_int_from_uint(ret);
|
||||
tuple_contents[1] = netutils_format_inet_addr(ip, port, NETUTILS_BIG);
|
||||
return mp_obj_new_tuple(2, tuple_contents);
|
||||
if (mp_obj_is_true(blocking)) {
|
||||
common_hal_socketpool_socket_settimeout(self, -1);
|
||||
} else {
|
||||
common_hal_socketpool_socket_settimeout(self, 0);
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_recvfrom_into_obj, socketpool_socket_recvfrom_into);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_setblocking_obj, socketpool_socket_setblocking);
|
||||
|
||||
// //| def setsockopt(self, level: int, optname: int, value: int) -> None:
|
||||
// //| """Sets socket options"""
|
||||
// //| ...
|
||||
// //|
|
||||
|
||||
// STATIC mp_obj_t socketpool_socket_setsockopt(size_t n_args, const mp_obj_t *args) {
|
||||
// // mod_network_socket_obj_t *self = MP_OBJ_TO_PTR(args[0]);
|
||||
|
||||
@ -324,13 +348,13 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_recvfrom_into_obj, socketpool
|
||||
// }
|
||||
// STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(socketpool_socket_setsockopt_obj, 4, 4, socketpool_socket_setsockopt);
|
||||
|
||||
|
||||
//| def settimeout(self, value: int) -> None:
|
||||
//| """Set the timeout value for this socket.
|
||||
//|
|
||||
//| :param ~int value: timeout in seconds. 0 means non-blocking. None means block indefinitely."""
|
||||
//| ...
|
||||
//|
|
||||
|
||||
STATIC mp_obj_t socketpool_socket_settimeout(mp_obj_t self_in, mp_obj_t timeout_in) {
|
||||
socketpool_socket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
mp_uint_t timeout_ms;
|
||||
@ -348,24 +372,6 @@ STATIC mp_obj_t socketpool_socket_settimeout(mp_obj_t self_in, mp_obj_t timeout_
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_settimeout_obj, socketpool_socket_settimeout);
|
||||
|
||||
// //| def setblocking(self, flag: bool) -> Optional[int]:
|
||||
// //| """Set the blocking behaviour of this socket.
|
||||
// //|
|
||||
// //| :param ~bool flag: False means non-blocking, True means block indefinitely."""
|
||||
// //| ...
|
||||
// //|
|
||||
|
||||
// // method socket.setblocking(flag)
|
||||
// STATIC mp_obj_t socketpool_socket_setblocking(mp_obj_t self_in, mp_obj_t blocking) {
|
||||
// // if (mp_obj_is_true(blocking)) {
|
||||
// // return socket_settimeout(self_in, mp_const_none);
|
||||
// // } else {
|
||||
// // return socket_settimeout(self_in, MP_OBJ_NEW_SMALL_INT(0));
|
||||
// // }
|
||||
// return mp_const_none;
|
||||
// }
|
||||
// STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_setblocking_obj, socketpool_socket_setblocking);
|
||||
|
||||
//| def __hash__(self) -> int:
|
||||
//| """Returns a hash for the Socket."""
|
||||
//| ...
|
||||
@ -373,7 +379,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(socketpool_socket_settimeout_obj, socketpool_so
|
||||
STATIC mp_obj_t socketpool_socket_unary_op(mp_unary_op_t op, mp_obj_t self_in) {
|
||||
switch (op) {
|
||||
case MP_UNARY_OP_HASH: {
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_socketpool_socket_get_hash(MP_OBJ_TO_PTR(self_in)));
|
||||
return mp_obj_id(self_in);
|
||||
}
|
||||
default:
|
||||
return MP_OBJ_NULL; // op not supported
|
||||
@ -384,19 +390,19 @@ STATIC const mp_rom_map_elem_t socketpool_socket_locals_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&socketpool_socket___exit___obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&socketpool_socket_close_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&socketpool_socket_close_obj) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_bind), MP_ROM_PTR(&socketpool_socket_bind_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_listen), MP_ROM_PTR(&socketpool_socket_listen_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_accept), MP_ROM_PTR(&socketpool_socket_accept_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_bind), MP_ROM_PTR(&socketpool_socket_bind_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&socketpool_socket_close_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_connect), MP_ROM_PTR(&socketpool_socket_connect_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_send), MP_ROM_PTR(&socketpool_socket_send_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_sendto), MP_ROM_PTR(&socketpool_socket_sendto_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_listen), MP_ROM_PTR(&socketpool_socket_listen_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_recvfrom_into), MP_ROM_PTR(&socketpool_socket_recvfrom_into_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_recv_into), MP_ROM_PTR(&socketpool_socket_recv_into_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_send), MP_ROM_PTR(&socketpool_socket_send_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_sendto), MP_ROM_PTR(&socketpool_socket_sendto_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_setblocking), MP_ROM_PTR(&socketpool_socket_setblocking_obj) },
|
||||
// { MP_ROM_QSTR(MP_QSTR_setsockopt), MP_ROM_PTR(&socketpool_socket_setsockopt_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_settimeout), MP_ROM_PTR(&socketpool_socket_settimeout_obj) },
|
||||
// { MP_ROM_QSTR(MP_QSTR_setblocking), MP_ROM_PTR(&socketpool_socket_setblocking_obj) },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(socketpool_socket_locals_dict, socketpool_socket_locals_dict_table);
|
||||
|
@ -31,22 +31,20 @@
|
||||
|
||||
extern const mp_obj_type_t socketpool_socket_type;
|
||||
|
||||
void common_hal_socketpool_socket_settimeout(socketpool_socket_obj_t* self, mp_uint_t timeout_ms);
|
||||
|
||||
bool common_hal_socketpool_socket_bind(socketpool_socket_obj_t* self, const char* host, size_t hostlen, uint8_t port);
|
||||
bool common_hal_socketpool_socket_listen(socketpool_socket_obj_t* self, int backlog);
|
||||
socketpool_socket_obj_t * common_hal_socketpool_socket_accept(socketpool_socket_obj_t* self, uint8_t* ip, uint *port);
|
||||
|
||||
bool common_hal_socketpool_socket_connect(socketpool_socket_obj_t* self, const char* host, size_t hostlen, mp_int_t port);
|
||||
mp_uint_t common_hal_socketpool_socket_send(socketpool_socket_obj_t* self, const uint8_t* buf, mp_uint_t len);
|
||||
mp_uint_t common_hal_socketpool_socket_recv_into(socketpool_socket_obj_t* self, const uint8_t* buf, mp_uint_t len);
|
||||
mp_uint_t common_hal_socketpool_socket_sendto(socketpool_socket_obj_t* self,
|
||||
const char* host, size_t hostlen, uint8_t port, const uint8_t* buf, mp_uint_t len);
|
||||
mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* self,
|
||||
uint8_t* buf, mp_uint_t len, uint8_t* ip, uint *port);
|
||||
socketpool_socket_obj_t * common_hal_socketpool_socket_accept(socketpool_socket_obj_t* self, uint8_t* ip, uint32_t *port);
|
||||
bool common_hal_socketpool_socket_bind(socketpool_socket_obj_t* self, const char* host, size_t hostlen, uint32_t port);
|
||||
void common_hal_socketpool_socket_close(socketpool_socket_obj_t* self);
|
||||
bool common_hal_socketpool_socket_connect(socketpool_socket_obj_t* self, const char* host, size_t hostlen, uint32_t port);
|
||||
bool common_hal_socketpool_socket_get_closed(socketpool_socket_obj_t* self);
|
||||
bool common_hal_socketpool_socket_get_connected(socketpool_socket_obj_t* self);
|
||||
mp_uint_t common_hal_socketpool_socket_get_hash(socketpool_socket_obj_t* self);
|
||||
mp_uint_t common_hal_socketpool_socket_get_timeout(socketpool_socket_obj_t* self);
|
||||
bool common_hal_socketpool_socket_listen(socketpool_socket_obj_t* self, int backlog);
|
||||
mp_uint_t common_hal_socketpool_socket_recvfrom_into(socketpool_socket_obj_t* self,
|
||||
uint8_t* buf, uint32_t len, uint8_t* ip, uint32_t *port);
|
||||
mp_uint_t common_hal_socketpool_socket_recv_into(socketpool_socket_obj_t* self, const uint8_t* buf, uint32_t len);
|
||||
mp_uint_t common_hal_socketpool_socket_send(socketpool_socket_obj_t* self, const uint8_t* buf, uint32_t len);
|
||||
mp_uint_t common_hal_socketpool_socket_sendto(socketpool_socket_obj_t* self,
|
||||
const char* host, size_t hostlen, uint32_t port, const uint8_t* buf, uint32_t len);
|
||||
void common_hal_socketpool_socket_settimeout(socketpool_socket_obj_t* self, uint32_t timeout_ms);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_SOCKETPOOL_SOCKET_H
|
||||
|
@ -3,8 +3,7 @@
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* SPDX-FileCopyrightText: Copyright (c) 2014 Damien P. George
|
||||
* 2018 Nick Moore for Adafruit Industries
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -51,7 +51,7 @@ STATIC mp_obj_t ssl_sslcontext_make_new(const mp_obj_type_t *type, size_t n_args
|
||||
return MP_OBJ_FROM_PTR(s);
|
||||
}
|
||||
|
||||
//| def wrap_socket(sock: socketpool.Socket, *, server_side: bool = False, server_hostname: Optional[str] = None) -> socketpool.Socket:
|
||||
//| def wrap_socket(sock: socketpool.Socket, *, server_side: bool = False, server_hostname: Optional[str] = None) -> ssl.SSLSocket:
|
||||
//| """Wraps the socket into a socket-compatible class that handles SSL negotiation.
|
||||
//| The socket must be of type SOCK_STREAM."""
|
||||
//| ...
|
||||
|
@ -30,12 +30,13 @@
|
||||
#include "common-hal/ssl/SSLContext.h"
|
||||
|
||||
#include "shared-bindings/socketpool/Socket.h"
|
||||
#include "shared-bindings/ssl/SSLSocket.h"
|
||||
|
||||
extern const mp_obj_type_t ssl_sslcontext_type;
|
||||
|
||||
void common_hal_ssl_sslcontext_construct(ssl_sslcontext_obj_t* self);
|
||||
|
||||
socketpool_socket_obj_t* common_hal_ssl_sslcontext_wrap_socket(ssl_sslcontext_obj_t* self,
|
||||
ssl_sslsocket_obj_t* common_hal_ssl_sslcontext_wrap_socket(ssl_sslcontext_obj_t* self,
|
||||
socketpool_socket_obj_t* sock, bool server_side, const char* server_hostname);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_SSL_SSLCONTEXT_H
|
||||
|
326
shared-bindings/ssl/SSLSocket.c
Normal file
326
shared-bindings/ssl/SSLSocket.c
Normal file
@ -0,0 +1,326 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/ssl/SSLSocket.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "lib/utils/context_manager_helpers.h"
|
||||
#include "py/objtuple.h"
|
||||
#include "py/objlist.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/mperrno.h"
|
||||
|
||||
#include "lib/netutils/netutils.h"
|
||||
|
||||
//| class SSLSocket:
|
||||
//| """Implements TLS security on a subset of `socketpool.Socket` functions. Cannot be created
|
||||
//| directly. Instead, call `wrap_socket` on an existing socket object.
|
||||
//|
|
||||
//| Provides a subset of CPython's `ssl.SSLSocket` API. It only implements the versions of
|
||||
//| recv that do not allocate bytes objects."""
|
||||
//|
|
||||
|
||||
//| def __enter__(self) -> SSLSocket:
|
||||
//| """No-op used by Context Managers."""
|
||||
//| ...
|
||||
//|
|
||||
// Provided by context manager helper.
|
||||
|
||||
//| def __exit__(self) -> None:
|
||||
//| """Automatically closes the Socket when exiting a context. See
|
||||
//| :ref:`lifetime-and-contextmanagers` for more info."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket___exit__(size_t n_args, const mp_obj_t *args) {
|
||||
(void)n_args;
|
||||
common_hal_ssl_sslsocket_close(args[0]);
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(ssl_sslsocket___exit___obj, 4, 4, ssl_sslsocket___exit__);
|
||||
|
||||
//| def accept(self) -> Tuple[SSLSocket, Tuple[str, int]]:
|
||||
//| """Accept a connection on a listening socket of type SOCK_STREAM,
|
||||
//| creating a new socket of type SOCK_STREAM.
|
||||
//| Returns a tuple of (new_socket, remote_address)"""
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_accept(mp_obj_t self_in) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
uint8_t ip[4];
|
||||
uint32_t port;
|
||||
|
||||
ssl_sslsocket_obj_t * sslsock = common_hal_ssl_sslsocket_accept(self, ip, &port);
|
||||
|
||||
mp_obj_t tuple_contents[2];
|
||||
tuple_contents[0] = MP_OBJ_FROM_PTR(sslsock);
|
||||
tuple_contents[1] = netutils_format_inet_addr(ip, port, NETUTILS_BIG);
|
||||
return mp_obj_new_tuple(2, tuple_contents);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(ssl_sslsocket_accept_obj, ssl_sslsocket_accept);
|
||||
|
||||
//| def bind(self, address: Tuple[str, int]) -> None:
|
||||
//| """Bind a socket to an address
|
||||
//|
|
||||
//| :param ~tuple address: tuple of (remote_address, remote_port)"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_bind(mp_obj_t self_in, mp_obj_t addr_in) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
mp_obj_t *addr_items;
|
||||
mp_obj_get_array_fixed_n(addr_in, 2, &addr_items);
|
||||
|
||||
size_t hostlen;
|
||||
const char* host = mp_obj_str_get_data(addr_items[0], &hostlen);
|
||||
mp_int_t port = mp_obj_get_int(addr_items[1]);
|
||||
if (port < 0) {
|
||||
mp_raise_ValueError(translate("port must be >= 0"));
|
||||
}
|
||||
|
||||
bool ok = common_hal_ssl_sslsocket_bind(self, host, hostlen, (uint32_t)port);
|
||||
if (!ok) {
|
||||
mp_raise_ValueError(translate("Error: Failure to bind"));
|
||||
}
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_bind_obj, ssl_sslsocket_bind);
|
||||
|
||||
//| def close(self) -> None:
|
||||
//| """Closes this Socket"""
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_close(mp_obj_t self_in) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
common_hal_ssl_sslsocket_close(self);
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(ssl_sslsocket_close_obj, ssl_sslsocket_close);
|
||||
|
||||
//| def connect(self, address: Tuple[str, int]) -> None:
|
||||
//| """Connect a socket to a remote address
|
||||
//|
|
||||
//| :param ~tuple address: tuple of (remote_address, remote_port)"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_connect(mp_obj_t self_in, mp_obj_t addr_in) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
mp_obj_t *addr_items;
|
||||
mp_obj_get_array_fixed_n(addr_in, 2, &addr_items);
|
||||
|
||||
size_t hostlen;
|
||||
const char* host = mp_obj_str_get_data(addr_items[0], &hostlen);
|
||||
mp_int_t port = mp_obj_get_int(addr_items[1]);
|
||||
if (port < 0) {
|
||||
mp_raise_ValueError(translate("port must be >= 0"));
|
||||
}
|
||||
|
||||
bool ok = common_hal_ssl_sslsocket_connect(self, host, hostlen, (uint32_t)port);
|
||||
if (!ok) {
|
||||
mp_raise_OSError(0);
|
||||
}
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_connect_obj, ssl_sslsocket_connect);
|
||||
|
||||
//| def listen(self, backlog: int) -> None:
|
||||
//| """Set socket to listen for incoming connections
|
||||
//|
|
||||
//| :param ~int backlog: length of backlog queue for waiting connetions"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_listen(mp_obj_t self_in, mp_obj_t backlog_in) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
int backlog = mp_obj_get_int(backlog_in);
|
||||
|
||||
common_hal_ssl_sslsocket_listen(self, backlog);
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_listen_obj, ssl_sslsocket_listen);
|
||||
|
||||
//| def recv_into(self, buffer: WriteableBuffer, bufsize: int) -> int:
|
||||
//| """Reads some bytes from the connected remote address, writing
|
||||
//| into the provided buffer. If bufsize <= len(buffer) is given,
|
||||
//| a maximum of bufsize bytes will be read into the buffer. If no
|
||||
//| valid value is given for bufsize, the default is the length of
|
||||
//| the given buffer.
|
||||
//|
|
||||
//| Suits sockets of type SOCK_STREAM
|
||||
//| Returns an int of number of bytes read.
|
||||
//|
|
||||
//| :param bytearray buffer: buffer to receive into
|
||||
//| :param int bufsize: optionally, a maximum number of bytes to read."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_recv_into(size_t n_args, const mp_obj_t *args) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(args[0]);
|
||||
if (common_hal_ssl_sslsocket_get_closed(self)) {
|
||||
// Bad file number.
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
// if (!common_hal_ssl_sslsocket_get_connected(self)) {
|
||||
// // not connected
|
||||
// mp_raise_OSError(MP_ENOTCONN);
|
||||
// }
|
||||
mp_buffer_info_t bufinfo;
|
||||
mp_get_buffer_raise(args[1], &bufinfo, MP_BUFFER_WRITE);
|
||||
mp_int_t len = bufinfo.len;
|
||||
if (n_args == 3) {
|
||||
mp_int_t given_len = mp_obj_get_int(args[2]);
|
||||
if (given_len > len) {
|
||||
mp_raise_ValueError(translate("buffer too small for requested bytes"));
|
||||
}
|
||||
if (given_len > 0 && given_len < len) {
|
||||
len = given_len;
|
||||
}
|
||||
}
|
||||
|
||||
if (len == 0) {
|
||||
return MP_OBJ_NEW_SMALL_INT(0);
|
||||
}
|
||||
|
||||
mp_int_t ret = common_hal_ssl_sslsocket_recv_into(self, (byte*)bufinfo.buf, len);
|
||||
return mp_obj_new_int_from_uint(ret);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(ssl_sslsocket_recv_into_obj, 2, 3, ssl_sslsocket_recv_into);
|
||||
|
||||
//| def send(self, bytes: ReadableBuffer) -> int:
|
||||
//| """Send some bytes to the connected remote address.
|
||||
//| Suits sockets of type SOCK_STREAM
|
||||
//|
|
||||
//| :param ~bytes bytes: some bytes to send"""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_send(mp_obj_t self_in, mp_obj_t buf_in) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
if (common_hal_ssl_sslsocket_get_closed(self)) {
|
||||
// Bad file number.
|
||||
mp_raise_OSError(MP_EBADF);
|
||||
}
|
||||
if (!common_hal_ssl_sslsocket_get_connected(self)) {
|
||||
mp_raise_BrokenPipeError();
|
||||
}
|
||||
mp_buffer_info_t bufinfo;
|
||||
mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_READ);
|
||||
mp_int_t ret = common_hal_ssl_sslsocket_send(self, bufinfo.buf, bufinfo.len);
|
||||
if (ret == -1) {
|
||||
mp_raise_BrokenPipeError();
|
||||
}
|
||||
return mp_obj_new_int_from_uint(ret);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_send_obj, ssl_sslsocket_send);
|
||||
|
||||
// //| def setsockopt(self, level: int, optname: int, value: int) -> None:
|
||||
// //| """Sets socket options"""
|
||||
// //| ...
|
||||
// //|
|
||||
// STATIC mp_obj_t ssl_sslsocket_setsockopt(size_t n_args, const mp_obj_t *args) {
|
||||
// }
|
||||
// STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(ssl_sslsocket_setsockopt_obj, 4, 4, ssl_sslsocket_setsockopt);
|
||||
|
||||
//| def settimeout(self, value: int) -> None:
|
||||
//| """Set the timeout value for this socket.
|
||||
//|
|
||||
//| :param ~int value: timeout in seconds. 0 means non-blocking. None means block indefinitely."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_settimeout(mp_obj_t self_in, mp_obj_t timeout_in) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
mp_uint_t timeout_ms;
|
||||
if (timeout_in == mp_const_none) {
|
||||
timeout_ms = -1;
|
||||
} else {
|
||||
#if MICROPY_PY_BUILTINS_FLOAT
|
||||
timeout_ms = 1000 * mp_obj_get_float(timeout_in);
|
||||
#else
|
||||
timeout_ms = 1000 * mp_obj_get_int(timeout_in);
|
||||
#endif
|
||||
}
|
||||
common_hal_ssl_sslsocket_settimeout(self, timeout_ms);
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_settimeout_obj, ssl_sslsocket_settimeout);
|
||||
|
||||
//| def setblocking(self, flag: bool) -> Optional[int]:
|
||||
//| """Set the blocking behaviour of this socket.
|
||||
//|
|
||||
//| :param ~bool flag: False means non-blocking, True means block indefinitely."""
|
||||
//| ...
|
||||
//|
|
||||
// method socket.setblocking(flag)
|
||||
STATIC mp_obj_t ssl_sslsocket_setblocking(mp_obj_t self_in, mp_obj_t blocking) {
|
||||
ssl_sslsocket_obj_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
if (mp_obj_is_true(blocking)) {
|
||||
common_hal_ssl_sslsocket_settimeout(self, -1);
|
||||
} else {
|
||||
common_hal_ssl_sslsocket_settimeout(self, 0);
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(ssl_sslsocket_setblocking_obj, ssl_sslsocket_setblocking);
|
||||
|
||||
//| def __hash__(self) -> int:
|
||||
//| """Returns a hash for the Socket."""
|
||||
//| ...
|
||||
//|
|
||||
STATIC mp_obj_t ssl_sslsocket_unary_op(mp_unary_op_t op, mp_obj_t self_in) {
|
||||
switch (op) {
|
||||
case MP_UNARY_OP_HASH: {
|
||||
return mp_obj_id(self_in);
|
||||
}
|
||||
default:
|
||||
return MP_OBJ_NULL; // op not supported
|
||||
}
|
||||
}
|
||||
|
||||
STATIC const mp_rom_map_elem_t ssl_sslsocket_locals_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&ssl_sslsocket___exit___obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&ssl_sslsocket_close_obj) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_accept), MP_ROM_PTR(&ssl_sslsocket_accept_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_bind), MP_ROM_PTR(&ssl_sslsocket_bind_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&ssl_sslsocket_close_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_connect), MP_ROM_PTR(&ssl_sslsocket_connect_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_listen), MP_ROM_PTR(&ssl_sslsocket_listen_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_recv_into), MP_ROM_PTR(&ssl_sslsocket_recv_into_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_send), MP_ROM_PTR(&ssl_sslsocket_send_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_setblocking), MP_ROM_PTR(&ssl_sslsocket_setblocking_obj) },
|
||||
// { MP_ROM_QSTR(MP_QSTR_setsockopt), MP_ROM_PTR(&ssl_sslsocket_setsockopt_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_settimeout), MP_ROM_PTR(&ssl_sslsocket_settimeout_obj) },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(ssl_sslsocket_locals_dict, ssl_sslsocket_locals_dict_table);
|
||||
|
||||
const mp_obj_type_t ssl_sslsocket_type = {
|
||||
{ &mp_type_type },
|
||||
.name = MP_QSTR_SSLSocket,
|
||||
.locals_dict = (mp_obj_dict_t*)&ssl_sslsocket_locals_dict,
|
||||
.unary_op = ssl_sslsocket_unary_op,
|
||||
};
|
45
shared-bindings/ssl/SSLSocket.h
Normal file
45
shared-bindings/ssl/SSLSocket.h
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Lucian Copeland for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_SSL_SSLSOCKET_H
|
||||
#define MICROPY_INCLUDED_SHARED_BINDINGS_SSL_SSLSOCKET_H
|
||||
|
||||
#include "common-hal/ssl/SSLSocket.h"
|
||||
|
||||
extern const mp_obj_type_t ssl_sslsocket_type;
|
||||
|
||||
ssl_sslsocket_obj_t * common_hal_ssl_sslsocket_accept(ssl_sslsocket_obj_t* self, uint8_t* ip, uint32_t *port);
|
||||
bool common_hal_ssl_sslsocket_bind(ssl_sslsocket_obj_t* self, const char* host, size_t hostlen, uint32_t port);
|
||||
void common_hal_ssl_sslsocket_close(ssl_sslsocket_obj_t* self);
|
||||
bool common_hal_ssl_sslsocket_connect(ssl_sslsocket_obj_t* self, const char* host, size_t hostlen, uint32_t port);
|
||||
bool common_hal_ssl_sslsocket_get_closed(ssl_sslsocket_obj_t* self);
|
||||
bool common_hal_ssl_sslsocket_get_connected(ssl_sslsocket_obj_t* self);
|
||||
bool common_hal_ssl_sslsocket_listen(ssl_sslsocket_obj_t* self, int backlog);
|
||||
mp_uint_t common_hal_ssl_sslsocket_recv_into(ssl_sslsocket_obj_t* self, const uint8_t* buf, uint32_t len);
|
||||
mp_uint_t common_hal_ssl_sslsocket_send(ssl_sslsocket_obj_t* self, const uint8_t* buf, uint32_t len);
|
||||
void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t* self, uint32_t timeout_ms);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_SSL_SSLSOCKET_H
|
@ -71,7 +71,7 @@ void common_hal_adafruit_bus_device_i2cdevice_probe_for_device(adafruit_bus_devi
|
||||
nlr_buf_t nlr;
|
||||
if (nlr_push(&nlr) == 0) {
|
||||
mp_load_method(self->i2c, MP_QSTR_writeto, dest);
|
||||
dest[2] = mp_obj_new_int_from_ull(self->device_address);
|
||||
dest[2] = MP_OBJ_NEW_SMALL_INT(self->device_address);
|
||||
dest[3] = write_buffer;
|
||||
mp_call_method_n_kw(2, 0, dest);
|
||||
nlr_pop();
|
||||
|
@ -41,7 +41,7 @@ void common_hal_adafruit_bus_device_spidevice_construct(adafruit_bus_device_spid
|
||||
self->chip_select = cs;
|
||||
}
|
||||
|
||||
void common_hal_adafruit_bus_device_spidevice_enter(adafruit_bus_device_spidevice_obj_t *self) {
|
||||
mp_obj_t common_hal_adafruit_bus_device_spidevice_enter(adafruit_bus_device_spidevice_obj_t *self) {
|
||||
bool success = false;
|
||||
while (!success) {
|
||||
success = common_hal_busio_spi_try_lock(self->spi);
|
||||
@ -54,6 +54,7 @@ void common_hal_adafruit_bus_device_spidevice_enter(adafruit_bus_device_spidevic
|
||||
if (self->chip_select != MP_OBJ_NULL) {
|
||||
common_hal_digitalio_digitalinout_set_value(MP_OBJ_TO_PTR(self->chip_select), false);
|
||||
}
|
||||
return self->spi;
|
||||
}
|
||||
|
||||
void common_hal_adafruit_bus_device_spidevice_exit(adafruit_bus_device_spidevice_obj_t *self) {
|
||||
|
@ -33,7 +33,7 @@
|
||||
#include "supervisor/shared/tick.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
|
||||
STATIC volatile background_callback_t *callback_head, *callback_tail;
|
||||
STATIC volatile background_callback_t * volatile callback_head, * volatile callback_tail;
|
||||
|
||||
#define CALLBACK_CRITICAL_BEGIN (common_hal_mcu_disable_interrupts())
|
||||
#define CALLBACK_CRITICAL_END (common_hal_mcu_enable_interrupts())
|
||||
@ -50,7 +50,6 @@ void background_callback_add_core(background_callback_t *cb) {
|
||||
cb->prev = (background_callback_t*)callback_tail;
|
||||
if (callback_tail) {
|
||||
callback_tail->next = cb;
|
||||
cb->prev = (background_callback_t*)callback_tail;
|
||||
}
|
||||
if (!callback_head) {
|
||||
callback_head = cb;
|
||||
|
@ -47,6 +47,10 @@ busio_uart_obj_t debug_uart;
|
||||
byte buf_array[64];
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_USB_VENDOR
|
||||
bool tud_vendor_connected(void);
|
||||
#endif
|
||||
|
||||
void serial_early_init(void) {
|
||||
#if defined(DEBUG_UART_TX) && defined(DEBUG_UART_RX)
|
||||
debug_uart.base.type = &busio_uart_type;
|
||||
@ -66,6 +70,12 @@ void serial_init(void) {
|
||||
}
|
||||
|
||||
bool serial_connected(void) {
|
||||
#if CIRCUITPY_USB_VENDOR
|
||||
if (tud_vendor_connected()) {
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(DEBUG_UART_TX) && defined(DEBUG_UART_RX)
|
||||
return true;
|
||||
#else
|
||||
@ -74,6 +84,14 @@ bool serial_connected(void) {
|
||||
}
|
||||
|
||||
char serial_read(void) {
|
||||
#if CIRCUITPY_USB_VENDOR
|
||||
if (tud_vendor_connected() && tud_vendor_available() > 0) {
|
||||
char tiny_buffer;
|
||||
tud_vendor_read(&tiny_buffer, 1);
|
||||
return tiny_buffer;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(DEBUG_UART_TX) && defined(DEBUG_UART_RX)
|
||||
if (tud_cdc_connected() && tud_cdc_available() > 0) {
|
||||
return (char) tud_cdc_read_char();
|
||||
@ -88,6 +106,12 @@ char serial_read(void) {
|
||||
}
|
||||
|
||||
bool serial_bytes_available(void) {
|
||||
#if CIRCUITPY_USB_VENDOR
|
||||
if (tud_vendor_connected() && tud_vendor_available() > 0) {
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(DEBUG_UART_TX) && defined(DEBUG_UART_RX)
|
||||
return common_hal_busio_uart_rx_characters_available(&debug_uart) || (tud_cdc_available() > 0);
|
||||
#else
|
||||
@ -104,6 +128,12 @@ void serial_write_substring(const char* text, uint32_t length) {
|
||||
common_hal_terminalio_terminal_write(&supervisor_terminal, (const uint8_t*) text, length, &errcode);
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_USB_VENDOR
|
||||
if (tud_vendor_connected()) {
|
||||
tud_vendor_write(text, length);
|
||||
}
|
||||
#endif
|
||||
|
||||
uint32_t count = 0;
|
||||
while (count < length && tud_cdc_connected()) {
|
||||
count += tud_cdc_write(text + count, length - count);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user