From b7a79dac5d18244df43f72295c719c742114ffc4 Mon Sep 17 00:00:00 2001 From: Rafa Gould <50337143+rafa-gould@users.noreply.github.com> Date: Tue, 7 May 2019 13:53:55 -0400 Subject: [PATCH 01/79] Created Korean Translations --- locale/ko.po | 2570 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2570 insertions(+) create mode 100644 locale/ko.po diff --git a/locale/ko.po b/locale/ko.po new file mode 100644 index 0000000000..ef6dcd1c38 --- /dev/null +++ b/locale/ko.po @@ -0,0 +1,2570 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# 글라파, 2019. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-04-17 11:24-0700\n" +"PO-Revision-Date: 2019-05-06 14:22-0700\n" +"Last-Translator: \n" +"Language-Team: LANGUAGE \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: main.c +msgid "" +"\n" +"Code done running. Waiting for reload.\n" +msgstr "" +"\n" +"실행 완료 코드. 재장전 을 기다리는 중입니다.\n" + +#: py/obj.c +msgid " File \"%q\"" +msgstr " 파일 \"%q\"" + +#: py/obj.c +msgid " File \"%q\", line %d" +msgstr " 파일 \"%q\", 라인 %d" + +#: main.c +msgid " output:\n" +msgstr " 산출:\n" + +#: py/objstr.c +#, c-format +msgid "%%c requires int or char" +msgstr "%%c int또는 char필요합니다" + +#: shared-bindings/microcontroller/Pin.c +msgid "%q in use" +msgstr "%q 사용 중입니다" + +#: py/obj.c +msgid "%q index out of range" +msgstr "%q 인덱스 범위를 벗어났습니다" + +#: py/obj.c +msgid "%q indices must be integers, not %s" +msgstr "%q 인덱스는 %s 가 아닌 정수 여야합니다" + +#: shared-bindings/bleio/CharacteristicBuffer.c +#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c +msgid "%q must be >= 1" +msgstr "%q 는 >=1이어야합니다" + +#: shared-bindings/fontio/BuiltinFont.c +msgid "%q should be an int" +msgstr "%q 는 정수 여야합니다" + +#: py/bc.c py/objnamedtuple.c +msgid "%q() takes %d positional arguments but %d were given" +msgstr "" + +#: py/argcheck.c +msgid "'%q' argument required" +msgstr "" + +#: py/emitinlinethumb.c py/emitinlinextensa.c +#, c-format +msgid "'%s' expects a label" +msgstr "'%s' 에는 라벨이 필요합니다" + +#: py/emitinlinethumb.c py/emitinlinextensa.c +#, c-format +msgid "'%s' expects a register" +msgstr "'%s%' 에는 레지스터가 필요합니다" + +#: py/emitinlinethumb.c +#, c-format +msgid "'%s' expects a special register" +msgstr "'%s' 에는 특별한 레지스터가 필요합니다" + +#: py/emitinlinethumb.c +#, c-format +msgid "'%s' expects an FPU register" +msgstr "'%s' 에는 FPU레지스터가 필요합니다" + +#: py/emitinlinethumb.c +#, c-format +msgid "'%s' expects an address of the form [a, b]" +msgstr "" + +#: py/emitinlinethumb.c py/emitinlinextensa.c +#, c-format +msgid "'%s' expects an integer" +msgstr "'%s' 는 정수 여야합니다" + +#: py/emitinlinethumb.c +#, c-format +msgid "'%s' expects at most r%d" +msgstr "" + +#: py/emitinlinethumb.c +#, c-format +msgid "'%s' expects {r0, r1, ...}" +msgstr "" + +#: py/emitinlinextensa.c +#, c-format +msgid "'%s' integer %d is not within range %d..%d" +msgstr "" + +#: py/emitinlinethumb.c +#, c-format +msgid "'%s' integer 0x%x does not fit in mask 0x%x" +msgstr "" + +#: py/obj.c +#, c-format +msgid "'%s' object does not support item assignment" +msgstr "'%s' 을 지정할 수 없습니다" + +#: py/obj.c +#, c-format +msgid "'%s' object does not support item deletion" +msgstr "'%s' 은 삭제할 수 없습니다" + +#: py/runtime.c +msgid "'%s' object has no attribute '%q'" +msgstr "" + +#: py/runtime.c +#, c-format +msgid "'%s' object is not an iterator" +msgstr "'%s' 은 수정할 수 없습니다" + +#: py/objtype.c py/runtime.c +#, c-format +msgid "'%s' object is not callable" +msgstr "'%s' 을 검색 할 수 없습니다" + +#: py/runtime.c +#, c-format +msgid "'%s' object is not iterable" +msgstr "'%s' 은 변경할 수 없습니다" + +#: py/obj.c +#, c-format +msgid "'%s' object is not subscriptable" +msgstr "" + +#: py/objstr.c +msgid "'=' alignment not allowed in string format specifier" +msgstr "" + +#: shared-module/struct/__init__.c +msgid "'S' and 'O' are not supported format types" +msgstr "" + +#: py/compile.c +msgid "'align' requires 1 argument" +msgstr "'align' 에는 1 개의 독립변수가 필요합니다" + +#: py/compile.c +msgid "'await' outside function" +msgstr "'await' 는 펑크션 외부에 있습니다" + +#: py/compile.c +msgid "'break' outside loop" +msgstr "'break' 는 루프 외부에 있습니다" + +#: py/compile.c +msgid "'continue' outside loop" +msgstr "'continue' 는 루프 외부에 있습니다" + +#: py/compile.c +msgid "'data' requires at least 2 arguments" +msgstr "'data' 에는 >=2 개의 독립변수가 필요합니다" + +#: py/compile.c +msgid "'data' requires integer arguments" +msgstr "" + +#: py/compile.c +msgid "'label' requires 1 argument" +msgstr "'label' 에는 1 개의 독립변수가 필요합니다" + +#: py/compile.c +msgid "'return' outside function" +msgstr "'return' 는 함수 외부에 존재합니다" + +#: py/compile.c +msgid "'yield' outside function" +msgstr "'yield' 는 함수 외부에 존재합니다" + +#: py/compile.c +msgid "*x must be assignment target" +msgstr "" + +#: py/obj.c +msgid ", in %q\n" +msgstr ", 에서 %q\n" + +#: py/objcomplex.c +msgid "0.0 to a complex power" +msgstr "" + +#: py/modbuiltins.c +msgid "3-arg pow() not supported" +msgstr "" + +#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c +msgid "A hardware interrupt channel is already in use" +msgstr "" + +#: shared-bindings/bleio/Address.c +#, c-format +msgid "Address is not %d bytes long or is in wrong format" +msgstr "" + +#: shared-bindings/bleio/Address.c +#, c-format +msgid "Address must be %d bytes long" +msgstr "" + +#: ports/nrf/common-hal/busio/I2C.c +msgid "All I2C peripherals are in use" +msgstr "사용중인 모든 I2C주변 기기" + +#: ports/nrf/common-hal/busio/SPI.c +msgid "All SPI peripherals are in use" +msgstr "사용중인 모든 SPI주변 기기" + +#: ports/nrf/common-hal/busio/UART.c +msgid "All UART peripherals are in use" +msgstr "사용중인 모든 UART주변 기기" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +msgid "All event channels 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 "" + +#: shared-bindings/pulseio/PWMOut.c +msgid "All timers for this pin are in use" +msgstr "핀의 모든 타이머가 사용 중입니다" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +#: ports/atmel-samd/common-hal/pulseio/PulseOut.c +#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c +#: shared-module/_pew/PewPew.c +msgid "All timers in use" +msgstr "모든 타이머가 사용 중입니다" + +#: ports/nrf/common-hal/analogio/AnalogOut.c +msgid "AnalogOut functionality not supported" +msgstr "" + +#: shared-bindings/analogio/AnalogOut.c +msgid "AnalogOut is only 16 bits. Value must be less than 65536." +msgstr "" + +#: ports/atmel-samd/common-hal/analogio/AnalogOut.c +msgid "AnalogOut not supported on given pin" +msgstr "" + +#: ports/atmel-samd/common-hal/pulseio/PulseOut.c +msgid "Another send is already active" +msgstr "" + +#: shared-bindings/pulseio/PulseOut.c +msgid "Array must contain halfwords (type 'H')" +msgstr "" + +#: shared-bindings/nvm/ByteArray.c +msgid "Array values should be single bytes." +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "Attempted heap allocation when MicroPython VM not running.\n" +msgstr "" + +#: main.c +msgid "Auto-reload is off.\n" +msgstr "자동 재 장전이 꺼져 있습니다" + +#: main.c +msgid "" +"Auto-reload is on. Simply save files over USB to run them or enter REPL to " +"disable.\n" +msgstr "" +"자동 새로 고침이 켜져 있습니다. USB를 통해 파일을 저장하여 실행하십시오. 비활성화하려면 " +"REPL을 입력하십시오" + +#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c +msgid "Bit clock and word select must share a clock unit" +msgstr "" + +#: shared-bindings/audiobusio/PDMIn.c +msgid "Bit depth must be multiple of 8." +msgstr "" + +#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c +msgid "Both pins must support hardware interrupts" +msgstr "" + +#: shared-bindings/supervisor/__init__.c +msgid "Brightness must be between 0 and 255" +msgstr "밝기는 0에서 255 사이 여야합니다" + +#: shared-bindings/displayio/Display.c +msgid "Brightness not adjustable" +msgstr "밝기를 조절할 수 없습니다" + +#: shared-module/usb_hid/Device.c +#, c-format +msgid "Buffer incorrect size. Should be %d bytes." +msgstr "잘못된 크기의 버퍼. %d 바이트 여야합니다." + +#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c +msgid "Buffer must be at least length 1" +msgstr "잘못된 크기의 버퍼. >1 바이트 여야합니다." + +#: ports/atmel-samd/common-hal/displayio/ParallelBus.c +#: ports/nrf/common-hal/displayio/ParallelBus.c +#, c-format +msgid "Bus pin %d is already in use" +msgstr "" + +#: shared-bindings/bleio/UUID.c +msgid "Byte buffer must be 16 bytes." +msgstr "잘못된 크기의 버퍼. 16 바이트 여야합니다." + +#: shared-bindings/nvm/ByteArray.c +msgid "Bytes must be between 0 and 255." +msgstr "바이트는 0에서 255 사이 여야합니다." + +#: shared-bindings/_pixelbuf/PixelBuf.c +#, c-format +msgid "Can not use dotstar with %s" +msgstr "" + +#: shared-bindings/bleio/Device.c +msgid "Can't add services in Central mode" +msgstr "" + +#: shared-bindings/bleio/Device.c +msgid "Can't advertise in Central mode" +msgstr "" + +#: shared-bindings/bleio/Device.c +msgid "Can't change the name in Central mode" +msgstr "" + +#: shared-bindings/bleio/Device.c +msgid "Can't connect in Peripheral mode" +msgstr "" + +#: shared-bindings/displayio/Bitmap.c shared-bindings/pulseio/PulseIn.c +msgid "Cannot delete values" +msgstr "" + +#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c +#: ports/nrf/common-hal/digitalio/DigitalInOut.c +msgid "Cannot get pull while in output mode" +msgstr "" + +#: ports/nrf/common-hal/microcontroller/Processor.c +msgid "Cannot get temperature" +msgstr "온도 데이터를 수신 할 수 없습니다" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +msgid "Cannot output both channels on the same pin" +msgstr "" + +#: shared-module/bitbangio/SPI.c +msgid "Cannot read without MISO pin." +msgstr "MISO핀이 없으면 읽을 수 없습니다" + +#: shared-bindings/audiobusio/PDMIn.c +msgid "Cannot record to a file" +msgstr "파일에 녹음 할 수 없습니다" + +#: shared-module/storage/__init__.c +msgid "Cannot remount '/' when USB is active." +msgstr "" + +#: ports/atmel-samd/common-hal/microcontroller/__init__.c +msgid "Cannot reset into bootloader because no bootloader is present." +msgstr "" + +#: shared-bindings/digitalio/DigitalInOut.c +msgid "Cannot set value when direction is input." +msgstr "" + +#: py/objslice.c +msgid "Cannot subclass slice" +msgstr "" + +#: shared-module/bitbangio/SPI.c +msgid "Cannot transfer without MOSI and MISO pins." +msgstr "" + +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "" + +#: shared-module/bitbangio/SPI.c +msgid "Cannot write without MOSI pin." +msgstr "" + +#: shared-bindings/bleio/Service.c +msgid "Characteristic UUID doesn't match Service UUID" +msgstr "" + +#: ports/nrf/common-hal/bleio/Service.c +msgid "Characteristic already in use by another Service." +msgstr "" + +#: shared-bindings/bleio/CharacteristicBuffer.c +msgid "CharacteristicBuffer writing not provided" +msgstr "" + +#: shared-module/bitbangio/SPI.c +msgid "Clock pin init failed." +msgstr "" + +#: shared-module/bitbangio/I2C.c +msgid "Clock stretch too long" +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c +msgid "Clock unit in use" +msgstr "" + +#: shared-bindings/_pew/PewPew.c +msgid "Column entry must be digitalio.DigitalInOut" +msgstr "" + +#: shared-bindings/displayio/FourWire.c shared-bindings/displayio/ParallelBus.c +msgid "Command must be an int between 0 and 255" +msgstr "명령은 0에서 255 사이의 int 여야합니다" + +#: ports/nrf/common-hal/bleio/UUID.c +#, c-format +msgid "Could not decode ble_uuid, err 0x%04x" +msgstr "" + +#: ports/atmel-samd/common-hal/busio/UART.c +msgid "Could not initialize UART" +msgstr "" + +#: shared-module/audioio/Mixer.c shared-module/audioio/WaveFile.c +msgid "Couldn't allocate first buffer" +msgstr "" + +#: shared-module/audioio/Mixer.c shared-module/audioio/WaveFile.c +msgid "Couldn't allocate second buffer" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "Crash into the HardFault_Handler.\n" +msgstr "" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +msgid "DAC already in use" +msgstr "" + +#: ports/atmel-samd/common-hal/displayio/ParallelBus.c +#: ports/nrf/common-hal/displayio/ParallelBus.c +msgid "Data 0 pin must be byte aligned" +msgstr "" + +#: shared-module/audioio/WaveFile.c +msgid "Data chunk must follow fmt chunk" +msgstr "" + +#: ports/nrf/common-hal/bleio/Broadcaster.c +#: ports/nrf/common-hal/bleio/Peripheral.c +msgid "Data too large for advertisement packet" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Data too large for the advertisement packet" +msgstr "" + +#: shared-bindings/audiobusio/PDMIn.c +msgid "Destination capacity is smaller than destination_length." +msgstr "" + +#: shared-bindings/displayio/Display.c +msgid "Display rotation must be in 90 degree increments" +msgstr "" + +#: shared-bindings/digitalio/DigitalInOut.c +msgid "Drive mode not used when direction is input." +msgstr "" + +#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +#: ports/atmel-samd/common-hal/pulseio/PulseIn.c +msgid "EXTINT channel already in use" +msgstr "" + +#: extmod/modure.c +msgid "Error in regex" +msgstr "" + +#: shared-bindings/microcontroller/Pin.c +#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c +#: shared-bindings/terminalio/Terminal.c +msgid "Expected a %q" +msgstr "%q 이 예상되었습니다." + +#: shared-bindings/bleio/CharacteristicBuffer.c +msgid "Expected a Characteristic" +msgstr "Characteristic이 예상되었습니다." + +#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c +#: shared-bindings/bleio/Service.c +msgid "Expected a UUID" +msgstr "UUID이 예상되었습니다." + +#: shared-module/_pixelbuf/PixelBuf.c +#, c-format +msgid "Expected tuple of length %d, got %d" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to acquire mutex" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c ports/nrf/sd_mutex.c +#, c-format +msgid "Failed to acquire mutex, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Service.c +#, c-format +msgid "Failed to add characteristic, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to add service" +msgstr "" + +#: ports/nrf/common-hal/bleio/Peripheral.c +#, c-format +msgid "Failed to add service, err 0x%04x" +msgstr "" + +#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c +msgid "Failed to allocate RX buffer" +msgstr "" + +#: ports/atmel-samd/common-hal/pulseio/PulseIn.c +#: ports/nrf/common-hal/pulseio/PulseIn.c +#, c-format +msgid "Failed to allocate RX buffer of %d bytes" +msgstr "" + +#: ports/nrf/common-hal/bleio/Adapter.c +msgid "Failed to change softdevice state" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to connect:" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to continue scanning" +msgstr "" + +#: ports/nrf/common-hal/bleio/Scanner.c +#, c-format +msgid "Failed to continue scanning, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to create mutex" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to discover services" +msgstr "" + +#: ports/nrf/common-hal/bleio/Adapter.c +msgid "Failed to get local address" +msgstr "" + +#: ports/nrf/common-hal/bleio/Adapter.c +msgid "Failed to get softdevice state" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c +#, c-format +msgid "Failed to notify or indicate attribute value, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c +#, c-format +msgid "Failed to read CCCD value, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c +#, c-format +msgid "Failed to read attribute value, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c +#, c-format +msgid "Failed to read gatts value, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/UUID.c +#, c-format +msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to release mutex" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c ports/nrf/sd_mutex.c +#, c-format +msgid "Failed to release mutex, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to start advertising" +msgstr "" + +#: ports/nrf/common-hal/bleio/Broadcaster.c +#: ports/nrf/common-hal/bleio/Peripheral.c +#, c-format +msgid "Failed to start advertising, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to start scanning" +msgstr "" + +#: ports/nrf/common-hal/bleio/Scanner.c +#, c-format +msgid "Failed to start scanning, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Device.c +msgid "Failed to stop advertising" +msgstr "" + +#: ports/nrf/common-hal/bleio/Broadcaster.c +#: ports/nrf/common-hal/bleio/Peripheral.c +#, c-format +msgid "Failed to stop advertising, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c +#, c-format +msgid "Failed to write attribute value, err 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c +#, c-format +msgid "Failed to write gatts value, err 0x%04x" +msgstr "" + +#: py/moduerrno.c +msgid "File exists" +msgstr "" + +#: ports/nrf/peripherals/nrf/nvm.c +msgid "Flash erase failed" +msgstr "" + +#: ports/nrf/peripherals/nrf/nvm.c +#, c-format +msgid "Flash erase failed to start, err 0x%04x" +msgstr "" + +#: ports/nrf/peripherals/nrf/nvm.c +msgid "Flash write failed" +msgstr "" + +#: ports/nrf/peripherals/nrf/nvm.c +#, c-format +msgid "Flash write failed to start, err 0x%04x" +msgstr "" + +#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +msgid "Frequency captured is above capability. Capture Paused." +msgstr "" + +#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c +#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c +msgid "Function requires lock" +msgstr "" + +#: shared-module/displayio/Group.c +msgid "Group full" +msgstr "" + +#: extmod/vfs_posix_file.c py/objstringio.c +msgid "I/O operation on closed file" +msgstr "" + +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "" + +#: py/persistentcode.c +msgid "" +"Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" +"mpy-update for more info." +msgstr "" + +#: shared-bindings/_pew/PewPew.c +msgid "Incorrect buffer size" +msgstr "" + +#: py/moduerrno.c +msgid "Input/output error" +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c +#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c +msgid "Invalid %q pin" +msgstr "" + +#: shared-module/displayio/OnDiskBitmap.c +msgid "Invalid BMP file" +msgstr "" + +#: ports/atmel-samd/common-hal/pulseio/PWMOut.c +#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c +msgid "Invalid PWM frequency" +msgstr "" + +#: py/moduerrno.c +msgid "Invalid argument" +msgstr "" + +#: shared-module/displayio/Bitmap.c +msgid "Invalid bits per value" +msgstr "" + +#: ports/nrf/common-hal/busio/UART.c +msgid "Invalid buffer size" +msgstr "" + +#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +msgid "Invalid capture period. Valid range: 1 - 500" +msgstr "" + +#: shared-bindings/audioio/Mixer.c +msgid "Invalid channel count" +msgstr "" + +#: shared-bindings/digitalio/DigitalInOut.c +msgid "Invalid direction." +msgstr "" + +#: shared-module/audioio/WaveFile.c +msgid "Invalid file" +msgstr "" + +#: shared-module/audioio/WaveFile.c +msgid "Invalid format chunk size" +msgstr "" + +#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c +msgid "Invalid number of bits" +msgstr "" + +#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c +msgid "Invalid phase" +msgstr "" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +#: ports/atmel-samd/common-hal/touchio/TouchIn.c +#: shared-bindings/pulseio/PWMOut.c +msgid "Invalid pin" +msgstr "" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +msgid "Invalid pin for left channel" +msgstr "" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +msgid "Invalid pin for right channel" +msgstr "" + +#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/common-hal/busio/SPI.c +#: ports/atmel-samd/common-hal/busio/UART.c +#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c +#: ports/nrf/common-hal/busio/I2C.c +msgid "Invalid pins" +msgstr "" + +#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c +msgid "Invalid polarity" +msgstr "" + +#: shared-bindings/microcontroller/__init__.c +msgid "Invalid run mode." +msgstr "" + +#: shared-bindings/audioio/Mixer.c +msgid "Invalid voice count" +msgstr "" + +#: shared-module/audioio/WaveFile.c +msgid "Invalid wave file" +msgstr "" + +#: py/compile.c +msgid "LHS of keyword arg must be an id" +msgstr "" + +#: shared-module/displayio/Group.c +msgid "Layer must be a Group or TileGrid subclass." +msgstr "" + +#: py/objslice.c +msgid "Length must be an int" +msgstr "" + +#: py/objslice.c +msgid "Length must be non-negative" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "" +"Looks like our core CircuitPython code crashed hard. Whoops!\n" +"Please file an issue at https://github.com/adafruit/circuitpython/issues\n" +" with the contents of your CIRCUITPY drive and this message:\n" +msgstr "" + +#: shared-module/bitbangio/SPI.c +msgid "MISO pin init failed." +msgstr "" + +#: shared-module/bitbangio/SPI.c +msgid "MOSI pin init failed." +msgstr "" + +#: shared-module/displayio/Shape.c +#, c-format +msgid "Maximum x value when mirrored is %d" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "MicroPython NLR jump failed. Likely memory corruption.\n" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "MicroPython fatal error.\n" +msgstr "" + +#: shared-bindings/audiobusio/PDMIn.c +msgid "Microphone startup delay must be in range 0.0 to 1.0" +msgstr "" + +#: shared-bindings/displayio/Display.c +msgid "Must be a Group subclass." +msgstr "" + +#: ports/atmel-samd/common-hal/analogio/AnalogOut.c +msgid "No DAC on chip" +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +msgid "No DMA channel found" +msgstr "" + +#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c +msgid "No RX pin" +msgstr "" + +#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c +msgid "No TX pin" +msgstr "" + +#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +msgid "No available clocks" +msgstr "" + +#: shared-bindings/board/__init__.c +msgid "No default %q bus" +msgstr "" + +#: ports/atmel-samd/common-hal/touchio/TouchIn.c +msgid "No free GCLKs" +msgstr "" + +#: shared-bindings/os/__init__.c +msgid "No hardware random available" +msgstr "" + +#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +#: ports/atmel-samd/common-hal/pulseio/PulseIn.c +msgid "No hardware support on pin" +msgstr "" + +#: py/moduerrno.c +msgid "No space left on device" +msgstr "" + +#: py/moduerrno.c +msgid "No such file/directory" +msgstr "" + +#: shared-bindings/bleio/CharacteristicBuffer.c +msgid "Not connected" +msgstr "" + +#: shared-bindings/audiobusio/I2SOut.c shared-bindings/audioio/AudioOut.c +msgid "Not playing" +msgstr "" + +#: shared-bindings/util.c +msgid "" +"Object has been deinitialized and can no longer be used. Create a new object." +msgstr "" + +#: ports/nrf/common-hal/busio/UART.c +msgid "Odd parity is not supported" +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c +msgid "Only 8 or 16 bit mono with " +msgstr "" + +#: shared-module/displayio/OnDiskBitmap.c +#, c-format +msgid "" +"Only Windows format, uncompressed BMP supported: given header size is %d" +msgstr "" + +#: shared-module/displayio/OnDiskBitmap.c +#, c-format +msgid "" +"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " +"given" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +msgid "Only slices with step=1 (aka None) are supported" +msgstr "" + +#: shared-bindings/audiobusio/PDMIn.c +msgid "Oversample must be multiple of 8." +msgstr "" + +#: shared-bindings/pulseio/PWMOut.c +msgid "" +"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)" +msgstr "" + +#: shared-bindings/pulseio/PWMOut.c +msgid "" +"PWM frequency not writable when variable_frequency is False on construction." +msgstr "" + +#: py/moduerrno.c +msgid "Permission denied" +msgstr "" + +#: ports/atmel-samd/common-hal/analogio/AnalogIn.c +#: ports/nrf/common-hal/analogio/AnalogIn.c +msgid "Pin does not have ADC capabilities" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +msgid "Pixel beyond bounds of buffer" +msgstr "" + +#: py/builtinhelp.c +msgid "Plus any modules on the filesystem\n" +msgstr "" + +#: main.c +msgid "Press any key to enter the REPL. Use CTRL-D to reload." +msgstr "" + +#: shared-bindings/digitalio/DigitalInOut.c +msgid "Pull not used when direction is output." +msgstr "" + +#: ports/nrf/common-hal/rtc/RTC.c +msgid "RTC calibration is not supported on this board" +msgstr "" + +#: shared-bindings/time/__init__.c +msgid "RTC is not supported on this board" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +msgid "Range out of bounds" +msgstr "" + +#: shared-bindings/pulseio/PulseIn.c +msgid "Read-only" +msgstr "" + +#: extmod/vfs_fat.c py/moduerrno.c +msgid "Read-only filesystem" +msgstr "" + +#: shared-module/displayio/Bitmap.c +msgid "Read-only object" +msgstr "" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +msgid "Right channel unsupported" +msgstr "" + +#: shared-bindings/_pew/PewPew.c +msgid "Row entry must be digitalio.DigitalInOut" +msgstr "" + +#: main.c +msgid "Running in safe mode! Auto-reload is off.\n" +msgstr "" + +#: main.c +msgid "Running in safe mode! Not running saved code.\n" +msgstr "" + +#: ports/atmel-samd/common-hal/busio/I2C.c +msgid "SDA or SCL needs a pull up" +msgstr "" + +#: shared-bindings/audioio/Mixer.c +msgid "Sample rate must be positive" +msgstr "" + +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +#, c-format +msgid "Sample rate too high. It must be less than %d" +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c +#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c +msgid "Serializer in use" +msgstr "" + +#: shared-bindings/nvm/ByteArray.c +msgid "Slice and value different lengths." +msgstr "" + +#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c +#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c +msgid "Slices not supported" +msgstr "" + +#: ports/nrf/common-hal/bleio/Adapter.c +#, c-format +msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +msgstr "" + +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "" + +#: shared-bindings/supervisor/__init__.c +msgid "Stack size must be at least 256" +msgstr "" + +#: shared-bindings/multiterminal/__init__.c +msgid "Stream missing readinto() or write() method." +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "" +"The CircuitPython heap was corrupted because the stack was too small.\n" +"Please increase stack size limits and press reset (after ejecting " +"CIRCUITPY).\n" +"If you didn't change the stack, then file an issue here with the contents of " +"your CIRCUITPY drive:\n" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "" +"The microcontroller's power dipped. Please make sure your power supply " +"provides\n" +"enough power for the whole circuit and press reset (after ejecting " +"CIRCUITPY).\n" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "" +"The reset button was pressed while booting CircuitPython. Press again to " +"exit safe mode.\n" +msgstr "" + +#: shared-module/audioio/Mixer.c +msgid "The sample's bits_per_sample does not match the mixer's" +msgstr "" + +#: shared-module/audioio/Mixer.c +msgid "The sample's channel count does not match the mixer's" +msgstr "" + +#: shared-module/audioio/Mixer.c +msgid "The sample's sample rate does not match the mixer's" +msgstr "" + +#: shared-module/audioio/Mixer.c +msgid "The sample's signedness does not match the mixer's" +msgstr "" + +#: shared-bindings/displayio/TileGrid.c +msgid "Tile height must exactly divide bitmap height" +msgstr "" + +#: shared-bindings/displayio/TileGrid.c +msgid "Tile indices must be 0 - 255" +msgstr "" + +#: shared-bindings/displayio/TileGrid.c +msgid "Tile width must exactly divide bitmap width" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "To exit, please reset the board without " +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c +msgid "Too many channels in sample." +msgstr "" + +#: shared-bindings/displayio/FourWire.c shared-bindings/displayio/ParallelBus.c +msgid "Too many display busses" +msgstr "" + +#: shared-bindings/displayio/Display.c +msgid "Too many displays" +msgstr "" + +#: py/obj.c +msgid "Traceback (most recent call last):\n" +msgstr "" + +#: shared-bindings/time/__init__.c +msgid "Tuple or struct_time argument required" +msgstr "" + +#: shared-module/usb_hid/Device.c +msgid "USB Busy" +msgstr "" + +#: shared-module/usb_hid/Device.c +msgid "USB Error" +msgstr "" + +#: shared-bindings/bleio/UUID.c +msgid "UUID integer value not in range 0 to 0xffff" +msgstr "" + +#: shared-bindings/bleio/UUID.c +msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" +msgstr "" + +#: shared-bindings/bleio/UUID.c +msgid "UUID value is not str, int or byte buffer" +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c +#: ports/atmel-samd/common-hal/audioio/AudioOut.c +msgid "Unable to allocate buffers for signed conversion" +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c +#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c +msgid "Unable to find free GCLK" +msgstr "" + +#: py/parse.c +msgid "Unable to init parser" +msgstr "" + +#: shared-module/displayio/OnDiskBitmap.c +msgid "Unable to read color palette data" +msgstr "" + +#: shared-bindings/nvm/ByteArray.c +msgid "Unable to write to nvm." +msgstr "" + +#: ports/nrf/common-hal/bleio/UUID.c +msgid "Unexpected nrfx uuid type" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +#, c-format +msgid "Unmatched number of items on RHS (expected %d, got %d)." +msgstr "" + +#: ports/atmel-samd/common-hal/busio/I2C.c +msgid "Unsupported baudrate" +msgstr "" + +#: shared-module/displayio/Display.c +msgid "Unsupported display bus type" +msgstr "" + +#: shared-module/audioio/WaveFile.c +msgid "Unsupported format" +msgstr "" + +#: py/moduerrno.c +msgid "Unsupported operation" +msgstr "" + +#: shared-bindings/digitalio/DigitalInOut.c +msgid "Unsupported pull value." +msgstr "" + +#: py/emitnative.c +msgid "Viper functions don't currently support more than 4 arguments" +msgstr "" + +#: shared-module/audioio/Mixer.c +msgid "Voice index too high" +msgstr "" + +#: main.c +msgid "WARNING: Your code filename has two extensions\n" +msgstr "" + +#: py/builtinhelp.c +#, c-format +msgid "" +"Welcome to Adafruit CircuitPython %s!\n" +"\n" +"Please visit learn.adafruit.com/category/circuitpython for project guides.\n" +"\n" +"To list built-in modules please do `help(\"modules\")`.\n" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "" +"You are running in safe mode which means something unanticipated happened.\n" +msgstr "" + +#: supervisor/shared/safe_mode.c +msgid "You requested starting safe mode by " +msgstr "" + +#: py/objtype.c +msgid "__init__() should return None" +msgstr "" + +#: py/objtype.c +#, c-format +msgid "__init__() should return None, not '%s'" +msgstr "" + +#: py/objobject.c +msgid "__new__ arg must be a user-type" +msgstr "" + +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "" + +#: shared-bindings/i2cslave/I2CSlave.c +msgid "address out of bounds" +msgstr "" + +#: shared-bindings/i2cslave/I2CSlave.c +msgid "addresses is empty" +msgstr "" + +#: py/modbuiltins.c +msgid "arg is an empty sequence" +msgstr "" + +#: py/runtime.c +msgid "argument has wrong type" +msgstr "" + +#: py/argcheck.c shared-bindings/_stage/__init__.c +#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c +msgid "argument num/types mismatch" +msgstr "" + +#: py/runtime.c +msgid "argument should be a '%q' not a '%q'" +msgstr "" + +#: py/objarray.c shared-bindings/nvm/ByteArray.c +msgid "array/bytes required on right side" +msgstr "" + +#: py/objstr.c +msgid "attributes not supported yet" +msgstr "" + +#: ports/nrf/common-hal/bleio/Characteristic.c +msgid "bad GATT role" +msgstr "" + +#: py/builtinevex.c +msgid "bad compile mode" +msgstr "" + +#: py/objstr.c +msgid "bad conversion specifier" +msgstr "" + +#: py/objstr.c +msgid "bad format string" +msgstr "" + +#: py/binary.c +msgid "bad typecode" +msgstr "" + +#: py/emitnative.c +msgid "binary op %q not implemented" +msgstr "" + +#: shared-bindings/busio/UART.c +msgid "bits must be 7, 8 or 9" +msgstr "" + +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "" + +#: shared-bindings/audioio/Mixer.c +msgid "bits_per_sample must be 8 or 16" +msgstr "" + +#: py/emitinlinethumb.c +msgid "branch not in range" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +#, c-format +msgid "buf is too small. need %d bytes" +msgstr "" + +#: shared-bindings/audioio/RawSample.c +msgid "buffer must be a bytes-like object" +msgstr "" + +#: shared-module/struct/__init__.c +msgid "buffer size must match format" +msgstr "" + +#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c +msgid "buffer slices must be of equal length" +msgstr "" + +#: py/modstruct.c shared-bindings/struct/__init__.c +#: shared-module/struct/__init__.c +msgid "buffer too small" +msgstr "" + +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "" + +#: shared-bindings/_pew/PewPew.c +msgid "buttons must be digitalio.DigitalInOut" +msgstr "" + +#: py/vm.c +msgid "byte code not implemented" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +#, c-format +msgid "byteorder is not an instance of ByteOrder (got a %s)" +msgstr "" + +#: ports/atmel-samd/common-hal/busio/UART.c +msgid "bytes > 8 bits not supported" +msgstr "" + +#: py/objstr.c +msgid "bytes value out of range" +msgstr "" + +#: ports/atmel-samd/bindings/samd/Clock.c +msgid "calibration is out of range" +msgstr "" + +#: ports/atmel-samd/bindings/samd/Clock.c +msgid "calibration is read only" +msgstr "" + +#: ports/atmel-samd/common-hal/rtc/RTC.c +msgid "calibration value out of range +/-127" +msgstr "" + +#: py/emitinlinethumb.c +msgid "can only have up to 4 parameters to Thumb assembly" +msgstr "" + +#: py/emitinlinextensa.c +msgid "can only have up to 4 parameters to Xtensa assembly" +msgstr "" + +#: py/persistentcode.c +msgid "can only save bytecode" +msgstr "" + +#: py/objtype.c +msgid "can't add special method to already-subclassed class" +msgstr "" + +#: py/compile.c +msgid "can't assign to expression" +msgstr "" + +#: py/obj.c +#, c-format +msgid "can't convert %s to complex" +msgstr "" + +#: py/obj.c +#, c-format +msgid "can't convert %s to float" +msgstr "" + +#: py/obj.c +#, c-format +msgid "can't convert %s to int" +msgstr "" + +#: py/objstr.c +msgid "can't convert '%q' object to %q implicitly" +msgstr "" + +#: py/objint.c +msgid "can't convert NaN to int" +msgstr "" + +#: shared-bindings/i2cslave/I2CSlave.c +msgid "can't convert address to int" +msgstr "" + +#: py/objint.c +msgid "can't convert inf to int" +msgstr "" + +#: py/obj.c +msgid "can't convert to complex" +msgstr "" + +#: py/obj.c +msgid "can't convert to float" +msgstr "" + +#: py/obj.c +msgid "can't convert to int" +msgstr "" + +#: py/objstr.c +msgid "can't convert to str implicitly" +msgstr "" + +#: py/compile.c +msgid "can't declare nonlocal in outer code" +msgstr "" + +#: py/compile.c +msgid "can't delete expression" +msgstr "" + +#: py/emitnative.c +msgid "can't do binary op between '%q' and '%q'" +msgstr "" + +#: py/objcomplex.c +msgid "can't do truncated division of a complex number" +msgstr "" + +#: py/compile.c +msgid "can't have multiple **x" +msgstr "" + +#: py/compile.c +msgid "can't have multiple *x" +msgstr "" + +#: py/emitnative.c +msgid "can't implicitly convert '%q' to 'bool'" +msgstr "" + +#: py/emitnative.c +msgid "can't load from '%q'" +msgstr "" + +#: py/emitnative.c +msgid "can't load with '%q' index" +msgstr "" + +#: py/objgenerator.c +msgid "can't pend throw to just-started generator" +msgstr "" + +#: py/objgenerator.c +msgid "can't send non-None value to a just-started generator" +msgstr "" + +#: py/objnamedtuple.c +msgid "can't set attribute" +msgstr "" + +#: py/emitnative.c +msgid "can't store '%q'" +msgstr "" + +#: py/emitnative.c +msgid "can't store to '%q'" +msgstr "" + +#: py/emitnative.c +msgid "can't store with '%q' index" +msgstr "" + +#: py/objstr.c +msgid "" +"can't switch from automatic field numbering to manual field specification" +msgstr "" + +#: py/objstr.c +msgid "" +"can't switch from manual field specification to automatic field numbering" +msgstr "" + +#: py/objtype.c +msgid "cannot create '%q' instances" +msgstr "" + +#: py/objtype.c +msgid "cannot create instance" +msgstr "" + +#: py/runtime.c +msgid "cannot import name %q" +msgstr "" + +#: py/builtinimport.c +msgid "cannot perform relative import" +msgstr "" + +#: py/emitnative.c +msgid "casting" +msgstr "" + +#: shared-bindings/bleio/Service.c +msgid "characteristics includes an object that is not a Characteristic" +msgstr "" + +#: shared-bindings/_stage/Text.c +msgid "chars buffer too small" +msgstr "" + +#: py/modbuiltins.c +msgid "chr() arg not in range(0x110000)" +msgstr "" + +#: py/modbuiltins.c +msgid "chr() arg not in range(256)" +msgstr "" + +#: shared-bindings/displayio/Palette.c +msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)" +msgstr "" + +#: shared-bindings/displayio/Palette.c +msgid "color buffer must be a buffer or int" +msgstr "" + +#: shared-bindings/displayio/Palette.c +msgid "color buffer must be a bytearray or array of type 'b' or 'B'" +msgstr "" + +#: shared-bindings/displayio/Palette.c +msgid "color must be between 0x000000 and 0xffffff" +msgstr "" + +#: shared-bindings/displayio/ColorConverter.c +msgid "color should be an int" +msgstr "" + +#: py/objcomplex.c +msgid "complex division by zero" +msgstr "" + +#: py/objfloat.c py/parsenum.c +msgid "complex values not supported" +msgstr "" + +#: extmod/moduzlib.c +msgid "compression header" +msgstr "" + +#: py/parse.c +msgid "constant must be an integer" +msgstr "" + +#: py/emitnative.c +msgid "conversion to object" +msgstr "" + +#: py/parsenum.c +msgid "decimal numbers not supported" +msgstr "" + +#: py/compile.c +msgid "default 'except' must be last" +msgstr "" + +#: shared-bindings/audiobusio/PDMIn.c +msgid "" +"destination buffer must be a bytearray or array of type 'B' for bit_depth = 8" +msgstr "" + +#: shared-bindings/audiobusio/PDMIn.c +msgid "destination buffer must be an array of type 'H' for bit_depth = 16" +msgstr "" + +#: shared-bindings/audiobusio/PDMIn.c +msgid "destination_length must be an int >= 0" +msgstr "" + +#: py/objdict.c +msgid "dict update sequence has wrong length" +msgstr "" + +#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c +#: shared-bindings/math/__init__.c +msgid "division by zero" +msgstr "" + +#: py/objdeque.c +msgid "empty" +msgstr "" + +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "" + +#: py/objstr.c +msgid "empty separator" +msgstr "" + +#: shared-bindings/random/__init__.c +msgid "empty sequence" +msgstr "" + +#: py/objstr.c +msgid "end of format while looking for conversion specifier" +msgstr "" + +#: shared-bindings/displayio/Shape.c +msgid "end_x should be an int" +msgstr "" + +#: ports/nrf/common-hal/busio/UART.c +#, c-format +msgid "error = 0x%08lX" +msgstr "" + +#: py/runtime.c +msgid "exceptions must derive from BaseException" +msgstr "" + +#: py/objstr.c +msgid "expected ':' after format specifier" +msgstr "':'이 예상되었습니다" + +#: py/obj.c +msgid "expected tuple/list" +msgstr "튜플(tuple) 또는 리스트(list)이 예상되었습니다" + +#: py/modthread.c +msgid "expecting a dict for keyword args" +msgstr "사전(dict)이 예상되었습니다" + +#: py/compile.c +msgid "expecting an assembler instruction" +msgstr "" + +#: py/compile.c +msgid "expecting just a value for set" +msgstr "" + +#: py/compile.c +msgid "expecting key:value for dict" +msgstr "" + +#: py/argcheck.c +msgid "extra keyword arguments given" +msgstr "" + +#: py/argcheck.c +msgid "extra positional arguments given" +msgstr "" + +#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c +msgid "file must be a file opened in byte mode" +msgstr "" + +#: shared-bindings/storage/__init__.c +msgid "filesystem must provide mount method" +msgstr "" + +#: py/objtype.c +msgid "first argument to super() must be type" +msgstr "" + +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "" + +#: py/objint.c +msgid "float too big" +msgstr "float이 너무 큽니다" + +#: shared-bindings/_stage/Text.c +msgid "font must be 2048 bytes long" +msgstr "" + +#: py/objstr.c +msgid "format requires a dict" +msgstr "" + +#: py/objdeque.c +msgid "full" +msgstr "완전한(full)" + +#: py/argcheck.c +msgid "function does not take keyword arguments" +msgstr "" + +#: py/argcheck.c +#, c-format +msgid "function expected at most %d arguments, got %d" +msgstr "" + +#: py/bc.c py/objnamedtuple.c +msgid "function got multiple values for argument '%q'" +msgstr "" + +#: py/argcheck.c +#, c-format +msgid "function missing %d required positional arguments" +msgstr "" + +#: py/bc.c +msgid "function missing keyword-only argument" +msgstr "" + +#: py/bc.c +msgid "function missing required keyword argument '%q'" +msgstr "" + +#: py/bc.c +#, c-format +msgid "function missing required positional argument #%d" +msgstr "" + +#: py/argcheck.c py/bc.c py/objnamedtuple.c +#, c-format +msgid "function takes %d positional arguments but %d were given" +msgstr "" + +#: shared-bindings/time/__init__.c +msgid "function takes exactly 9 arguments" +msgstr "" + +#: py/objgenerator.c +msgid "generator already executing" +msgstr "" + +#: py/objgenerator.c +msgid "generator ignored GeneratorExit" +msgstr "" + +#: shared-bindings/_stage/Layer.c +msgid "graphic must be 2048 bytes long" +msgstr "" + +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "" + +#: py/compile.c +msgid "identifier redefined as global" +msgstr "" + +#: py/compile.c +msgid "identifier redefined as nonlocal" +msgstr "" + +#: py/objstr.c +msgid "incomplete format" +msgstr "" + +#: py/objstr.c +msgid "incomplete format key" +msgstr "" + +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "" + +#: ports/atmel-samd/common-hal/pulseio/PulseIn.c +#: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c +msgid "index out of range" +msgstr "" + +#: py/obj.c +msgid "indices must be integers" +msgstr "" + +#: py/compile.c +msgid "inline assembler must be a function" +msgstr "" + +#: py/parsenum.c +msgid "int() arg 2 must be >= 2 and <= 36" +msgstr "" + +#: py/objstr.c +msgid "integer required" +msgstr "정수(int)가 필요합니다." + +#: ports/nrf/common-hal/bleio/Broadcaster.c +msgid "interval not in range 0.0020 to 10.24" +msgstr "" + +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "ICT주변 기기가 유효하지 않습니다." + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "SPI주변 기기가 유효하지 않습니다." + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "cert가 유효하지 않습니다." + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "Dupterm index가 유효하지 않습니다" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "형식가 유효하지 않습니다" + +#: py/objstr.c +msgid "invalid format specifier" +msgstr "형식 지정자(format specifier)가 유효하지 않습니다" + +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "키가 유효하지 않습니다" + +#: py/compile.c +msgid "invalid micropython decorator" +msgstr "" + +#: shared-bindings/random/__init__.c +msgid "invalid step" +msgstr "단계(step)가 유효하지 않습니다" + +#: py/compile.c py/parse.c +msgid "invalid syntax" +msgstr "구문(syntax)가 유효하지 않습니다" + +#: py/parsenum.c +msgid "invalid syntax for integer" +msgstr "" + +#: py/parsenum.c +#, c-format +msgid "invalid syntax for integer with base %d" +msgstr "구문(syntax)가 정수(int)가 유효하지 않습니다." + +#: py/parsenum.c +msgid "invalid syntax for number" +msgstr "숫자에 대한 구문(syntax)가 유효하지 않습니다." + +#: py/objtype.c +msgid "issubclass() arg 1 must be a class" +msgstr "" + +#: py/objtype.c +msgid "issubclass() arg 2 must be a class or a tuple of classes" +msgstr "" + +#: py/objstr.c +msgid "join expects a list of str/bytes objects consistent with self object" +msgstr "" + +#: py/argcheck.c +msgid "keyword argument(s) not yet implemented - use normal args instead" +msgstr "" + +#: py/bc.c +msgid "keywords must be strings" +msgstr "" + +#: py/emitinlinethumb.c py/emitinlinextensa.c +msgid "label '%q' not defined" +msgstr "" + +#: py/compile.c +msgid "label redefined" +msgstr "" + +#: py/stream.c +msgid "length argument not allowed for this type" +msgstr "" + +#: py/objarray.c +msgid "lhs and rhs should be compatible" +msgstr "" + +#: py/emitnative.c +msgid "local '%q' has type '%q' but source is '%q'" +msgstr "" + +#: py/emitnative.c +msgid "local '%q' used before type known" +msgstr "" + +#: py/vm.c +msgid "local variable referenced before assignment" +msgstr "" + +#: py/objint.c +msgid "long int not supported in this build" +msgstr "" + +#: shared-bindings/_stage/Layer.c +msgid "map buffer too small" +msgstr "" + +#: py/modmath.c shared-bindings/math/__init__.c +msgid "math domain error" +msgstr "" + +#: py/runtime.c +msgid "maximum recursion depth exceeded" +msgstr "" + +#: py/runtime.c +#, c-format +msgid "memory allocation failed, allocating %u bytes" +msgstr "" + +#: py/runtime.c +msgid "memory allocation failed, heap is locked" +msgstr "" + +#: py/builtinimport.c +msgid "module not found" +msgstr "" + +#: py/compile.c +msgid "multiple *x in assignment" +msgstr "" + +#: py/objtype.c +msgid "multiple bases have instance lay-out conflict" +msgstr "" + +#: py/objtype.c +msgid "multiple inheritance not supported" +msgstr "" + +#: py/emitnative.c +msgid "must raise an object" +msgstr "" + +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "" + +#: py/modbuiltins.c +msgid "must use keyword argument for key function" +msgstr "" + +#: py/runtime.c +msgid "name '%q' is not defined" +msgstr "" + +#: shared-bindings/bleio/Peripheral.c +msgid "name must be a string" +msgstr "" + +#: py/runtime.c +msgid "name not defined" +msgstr "" + +#: py/compile.c +msgid "name reused for argument" +msgstr "" + +#: py/emitnative.c +msgid "native yield" +msgstr "" + +#: py/runtime.c +#, c-format +msgid "need more than %d values to unpack" +msgstr "" + +#: py/objint_longlong.c py/objint_mpz.c py/runtime.c +msgid "negative power with no float support" +msgstr "" + +#: py/objint_mpz.c py/runtime.c +msgid "negative shift count" +msgstr "" + +#: py/vm.c +msgid "no active exception to reraise" +msgstr "" + +#: shared-bindings/socket/__init__.c shared-module/network/__init__.c +msgid "no available NIC" +msgstr "" + +#: py/compile.c +msgid "no binding for nonlocal found" +msgstr "" + +#: py/builtinimport.c +msgid "no module named '%q'" +msgstr "" + +#: py/runtime.c shared-bindings/_pixelbuf/__init__.c +msgid "no such attribute" +msgstr "" + +#: py/compile.c +msgid "non-default argument follows default argument" +msgstr "" + +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "" + +#: py/compile.c +msgid "non-keyword arg after */**" +msgstr "" + +#: py/compile.c +msgid "non-keyword arg after keyword arg" +msgstr "" + +#: shared-bindings/bleio/UUID.c +msgid "not a 128-bit UUID" +msgstr "" + +#: py/objstr.c +msgid "not all arguments converted during string formatting" +msgstr "" + +#: py/objstr.c +msgid "not enough arguments for format string" +msgstr "" + +#: py/obj.c +#, c-format +msgid "object '%s' is not a tuple or list" +msgstr "" + +#: py/obj.c +msgid "object does not support item assignment" +msgstr "" + +#: py/obj.c +msgid "object does not support item deletion" +msgstr "" + +#: py/obj.c +msgid "object has no len" +msgstr "" + +#: py/obj.c +msgid "object is not subscriptable" +msgstr "" + +#: py/runtime.c +msgid "object not an iterator" +msgstr "" + +#: py/objtype.c py/runtime.c +msgid "object not callable" +msgstr "" + +#: py/sequence.c +msgid "object not in sequence" +msgstr "" + +#: py/runtime.c +msgid "object not iterable" +msgstr "" + +#: py/obj.c +#, c-format +msgid "object of type '%s' has no len()" +msgstr "" + +#: py/obj.c +msgid "object with buffer protocol required" +msgstr "" + +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "" + +#: py/objstr.c py/objstrunicode.c +msgid "offset out of bounds" +msgstr "" + +#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c +#: shared-bindings/nvm/ByteArray.c +msgid "only slices with step=1 (aka None) are supported" +msgstr "" + +#: py/modbuiltins.c +msgid "ord expects a character" +msgstr "" + +#: py/modbuiltins.c +#, c-format +msgid "ord() expected a character, but string of length %d found" +msgstr "" + +#: py/objint_mpz.c +msgid "overflow converting long int to machine word" +msgstr "" + +#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c +msgid "palette must be 32 bytes long" +msgstr "" + +#: shared-bindings/displayio/Palette.c +msgid "palette_index should be an int" +msgstr "" + +#: py/compile.c +msgid "parameter annotation must be an identifier" +msgstr "" + +#: py/emitinlinextensa.c +msgid "parameters must be registers in sequence a2 to a5" +msgstr "" + +#: py/emitinlinethumb.c +msgid "parameters must be registers in sequence r0 to r3" +msgstr "" + +#: shared-bindings/displayio/Bitmap.c +msgid "pixel coordinates out of bounds" +msgstr "" + +#: shared-bindings/displayio/Bitmap.c +msgid "pixel value requires too many bits" +msgstr "" + +#: shared-bindings/displayio/TileGrid.c +msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter" +msgstr "" + +#: ports/atmel-samd/common-hal/pulseio/PulseIn.c +#: ports/nrf/common-hal/pulseio/PulseIn.c +msgid "pop from an empty PulseIn" +msgstr "" + +#: py/objset.c +msgid "pop from an empty set" +msgstr "" + +#: py/objlist.c +msgid "pop from empty list" +msgstr "" + +#: py/objdict.c +msgid "popitem(): dictionary is empty" +msgstr "" + +#: py/objint_mpz.c +msgid "pow() 3rd argument cannot be 0" +msgstr "" + +#: py/objint_mpz.c +msgid "pow() with 3 arguments requires integers" +msgstr "" + +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +msgid "rawbuf is not the same size as buf" +msgstr "" + +#: shared-bindings/_pixelbuf/__init__.c +msgid "readonly attribute" +msgstr "" + +#: py/builtinimport.c +msgid "relative import" +msgstr "" + +#: py/obj.c +#, c-format +msgid "requested length %d but object has length %d" +msgstr "" + +#: py/compile.c +msgid "return annotation must be an identifier" +msgstr "" + +#: py/emitnative.c +msgid "return expected '%q' but got '%q'" +msgstr "" + +#: py/objstr.c +msgid "rsplit(None,n)" +msgstr "" + +#: shared-bindings/audioio/RawSample.c +msgid "" +"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " +"'B'" +msgstr "" + +#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c +msgid "sampling rate out of range" +msgstr "" + +#: py/modmicropython.c +msgid "schedule stack full" +msgstr "" + +#: lib/utils/pyexec.c py/builtinimport.c +msgid "script compilation not supported" +msgstr "" + +#: shared-bindings/bleio/Peripheral.c +msgid "services includes an object that is not a Service" +msgstr "" + +#: py/objstr.c +msgid "sign not allowed in string format specifier" +msgstr "" + +#: py/objstr.c +msgid "sign not allowed with integer format specifier 'c'" +msgstr "" + +#: py/objstr.c +msgid "single '}' encountered in format string" +msgstr "" + +#: shared-bindings/time/__init__.c +msgid "sleep length must be non-negative" +msgstr "" + +#: py/objslice.c py/sequence.c +msgid "slice step cannot be zero" +msgstr "" + +#: py/objint.c py/sequence.c +msgid "small int overflow" +msgstr "" + +#: main.c +msgid "soft reboot\n" +msgstr "" + +#: py/objstr.c +msgid "start/end indices" +msgstr "" + +#: shared-bindings/displayio/Shape.c +msgid "start_x should be an int" +msgstr "" + +#: shared-bindings/random/__init__.c +msgid "step must be non-zero" +msgstr "" + +#: shared-bindings/busio/UART.c +msgid "stop must be 1 or 2" +msgstr "" + +#: shared-bindings/random/__init__.c +msgid "stop not reachable from start" +msgstr "" + +#: py/stream.c +msgid "stream operation not supported" +msgstr "" + +#: py/objstrunicode.c +msgid "string index out of range" +msgstr "" + +#: py/objstrunicode.c +#, c-format +msgid "string indices must be integers, not %s" +msgstr "" + +#: py/stream.c +msgid "string not supported; use bytes or bytearray" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "" + +#: py/objstr.c +msgid "substring not found" +msgstr "" + +#: py/compile.c +msgid "super() can't find self" +msgstr "" + +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "" + +#: shared-bindings/touchio/TouchIn.c +msgid "threshold must be in the range 0-65536" +msgstr "" + +#: shared-bindings/displayio/TileGrid.c +msgid "tile index out of bounds" +msgstr "" + +#: shared-bindings/time/__init__.c +msgid "time.struct_time() takes a 9-sequence" +msgstr "" + +#: shared-bindings/time/__init__.c +msgid "time.struct_time() takes exactly 1 argument" +msgstr "" + +#: shared-bindings/busio/UART.c +msgid "timeout >100 (units are now seconds, not msecs)" +msgstr "" + +#: shared-bindings/bleio/CharacteristicBuffer.c +msgid "timeout must be >= 0.0" +msgstr "" + +#: shared-bindings/time/__init__.c +msgid "timestamp out of range for platform time_t" +msgstr "" + +#: shared-module/struct/__init__.c +msgid "too many arguments provided with the given format" +msgstr "" + +#: py/runtime.c +#, c-format +msgid "too many values to unpack (expected %d)" +msgstr "" + +#: py/objstr.c +msgid "tuple index out of range" +msgstr "" + +#: py/obj.c +msgid "tuple/list has wrong length" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +msgid "tuple/list required on RHS" +msgstr "" + +#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c +msgid "tx and rx cannot both be None" +msgstr "" + +#: py/objtype.c +msgid "type '%q' is not an acceptable base type" +msgstr "" + +#: py/objtype.c +msgid "type is not an acceptable base type" +msgstr "" + +#: py/runtime.c +msgid "type object '%q' has no attribute '%q'" +msgstr "" + +#: py/objtype.c +msgid "type takes 1 or 3 arguments" +msgstr "" + +#: py/objint_longlong.c +msgid "ulonglong too large" +msgstr "" + +#: py/emitnative.c +msgid "unary op %q not implemented" +msgstr "" + +#: py/parse.c +msgid "unexpected indent" +msgstr "" + +#: py/bc.c +msgid "unexpected keyword argument" +msgstr "" + +#: py/bc.c py/objnamedtuple.c +msgid "unexpected keyword argument '%q'" +msgstr "" + +#: py/lexer.c +msgid "unicode name escapes" +msgstr "" + +#: py/parse.c +msgid "unindent does not match any outer indentation level" +msgstr "" + +#: py/objstr.c +#, c-format +msgid "unknown conversion specifier %c" +msgstr "" + +#: py/objstr.c +#, c-format +msgid "unknown format code '%c' for object of type '%s'" +msgstr "" + +#: py/objstr.c +#, c-format +msgid "unknown format code '%c' for object of type 'float'" +msgstr "" + +#: py/objstr.c +#, c-format +msgid "unknown format code '%c' for object of type 'str'" +msgstr "" + +#: py/compile.c +msgid "unknown type" +msgstr "" + +#: py/emitnative.c +msgid "unknown type '%q'" +msgstr "" + +#: py/objstr.c +msgid "unmatched '{' in format" +msgstr "" + +#: py/objtype.c py/runtime.c +msgid "unreadable attribute" +msgstr "" + +#: shared-bindings/displayio/TileGrid.c +msgid "unsupported %q type" +msgstr "" + +#: py/emitinlinethumb.c +#, c-format +msgid "unsupported Thumb instruction '%s' with %d arguments" +msgstr "" + +#: py/emitinlinextensa.c +#, c-format +msgid "unsupported Xtensa instruction '%s' with %d arguments" +msgstr "" + +#: py/objstr.c +#, c-format +msgid "unsupported format character '%c' (0x%x) at index %d" +msgstr "" + +#: py/runtime.c +msgid "unsupported type for %q: '%s'" +msgstr "" + +#: py/runtime.c +msgid "unsupported type for operator" +msgstr "" + +#: py/runtime.c +msgid "unsupported types for %q: '%s', '%s'" +msgstr "" + +#: shared-bindings/displayio/Bitmap.c +msgid "value_count must be > 0" +msgstr "" + +#: shared-bindings/_pixelbuf/PixelBuf.c +msgid "write_args must be a list, tuple, or None" +msgstr "" + +#: py/objstr.c +msgid "wrong number of arguments" +msgstr "" + +#: py/runtime.c +msgid "wrong number of values to unpack" +msgstr "" + +#: shared-module/displayio/Shape.c +msgid "x value out of bounds" +msgstr "" + +#: shared-bindings/displayio/Shape.c +msgid "y should be an int" +msgstr "" + +#: shared-module/displayio/Shape.c +msgid "y value out of bounds" +msgstr "" + +#: py/objrange.c +msgid "zero step" +msgstr "" From 54b4a20ca21e0674d87c4e289ca9f93977ed6993 Mon Sep 17 00:00:00 2001 From: Rafa Gould Date: Wed, 8 May 2019 14:57:15 -0400 Subject: [PATCH 03/79] added translations --- locale/ko.po | 86 ++++++++++++++++++++++++++-------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/locale/ko.po b/locale/ko.po index ef6dcd1c38..13a4ae9e16 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -23,7 +23,7 @@ msgid "" "Code done running. Waiting for reload.\n" msgstr "" "\n" -"실행 완료 코드. 재장전 을 기다리는 중입니다.\n" +"실행 완료 코드. 재장전 을 기다리는 중입니다\n" #: py/obj.c msgid " File \"%q\"" @@ -40,7 +40,7 @@ msgstr " 산출:\n" #: py/objstr.c #, c-format msgid "%%c requires int or char" -msgstr "%%c int또는 char필요합니다" +msgstr "%%c 전수(int)또는 캐릭터(char)필요합니다" #: shared-bindings/microcontroller/Pin.c msgid "%q in use" @@ -61,7 +61,7 @@ msgstr "%q 는 >=1이어야합니다" #: shared-bindings/fontio/BuiltinFont.c msgid "%q should be an int" -msgstr "%q 는 정수 여야합니다" +msgstr "%q 는 정수(int) 여야합니다" #: py/bc.c py/objnamedtuple.c msgid "%q() takes %d positional arguments but %d were given" @@ -109,7 +109,7 @@ msgstr "" #: py/emitinlinethumb.c #, c-format msgid "'%s' expects {r0, r1, ...}" -msgstr "" +msgstr "'%s' {r0, r1, ...}은 을 기대합니다" #: py/emitinlinextensa.c #, c-format @@ -299,7 +299,7 @@ msgid "" "disable.\n" msgstr "" "자동 새로 고침이 켜져 있습니다. USB를 통해 파일을 저장하여 실행하십시오. 비활성화하려면 " -"REPL을 입력하십시오" +"REPL을 입력하십시오.\n" #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c msgid "Bit clock and word select must share a clock unit" @@ -328,7 +328,7 @@ msgstr "잘못된 크기의 버퍼. %d 바이트 여야합니다." #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c msgid "Buffer must be at least length 1" -msgstr "잘못된 크기의 버퍼. >1 바이트 여야합니다." +msgstr "잘못된 크기의 버퍼. >1 여야합니다" #: ports/atmel-samd/common-hal/displayio/ParallelBus.c #: ports/nrf/common-hal/displayio/ParallelBus.c @@ -351,15 +351,15 @@ msgstr "" #: shared-bindings/bleio/Device.c msgid "Can't add services in Central mode" -msgstr "" +msgstr "센트랄(중앙) 모드에서는 서비스를 추가 할 수 없습니다" #: shared-bindings/bleio/Device.c msgid "Can't advertise in Central mode" -msgstr "" +msgstr "센트랄(중앙) 모드로 광고 (브로드 캐스트) 할 수 없습니다" #: shared-bindings/bleio/Device.c msgid "Can't change the name in Central mode" -msgstr "" +msgstr "센트랄(중앙) 모드에서는 이름을 변경할 수 없습니다" #: shared-bindings/bleio/Device.c msgid "Can't connect in Peripheral mode" @@ -367,7 +367,7 @@ msgstr "" #: shared-bindings/displayio/Bitmap.c shared-bindings/pulseio/PulseIn.c msgid "Cannot delete values" -msgstr "" +msgstr "값을 삭제할 수 없습니다" #: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c #: ports/nrf/common-hal/digitalio/DigitalInOut.c @@ -448,7 +448,7 @@ msgstr "" #: shared-bindings/displayio/FourWire.c shared-bindings/displayio/ParallelBus.c msgid "Command must be an int between 0 and 255" -msgstr "명령은 0에서 255 사이의 int 여야합니다" +msgstr "명령은 0에서 255 사이의 정수(int) 여야합니다" #: ports/nrf/common-hal/bleio/UUID.c #, c-format @@ -473,7 +473,7 @@ msgstr "" #: ports/atmel-samd/common-hal/audioio/AudioOut.c msgid "DAC already in use" -msgstr "" +msgstr "DAC가 현재 사용 중입니다" #: ports/atmel-samd/common-hal/displayio/ParallelBus.c #: ports/nrf/common-hal/displayio/ParallelBus.c @@ -487,11 +487,11 @@ msgstr "" #: ports/nrf/common-hal/bleio/Broadcaster.c #: ports/nrf/common-hal/bleio/Peripheral.c msgid "Data too large for advertisement packet" -msgstr "" +msgstr "광고 (브로드 캐스트) 패킷에 대한 데이터가 너무 큽니다" #: ports/nrf/common-hal/bleio/Device.c msgid "Data too large for the advertisement packet" -msgstr "" +msgstr "광고 (브로드 캐스트) 패킷에 대한 데이터가 너무 큽니다" #: shared-bindings/audiobusio/PDMIn.c msgid "Destination capacity is smaller than destination_length." @@ -512,7 +512,7 @@ msgstr "" #: extmod/modure.c msgid "Error in regex" -msgstr "" +msgstr "Regex에 오류가 있습니다." #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c @@ -522,7 +522,7 @@ msgstr "%q 이 예상되었습니다." #: shared-bindings/bleio/CharacteristicBuffer.c msgid "Expected a Characteristic" -msgstr "Characteristic이 예상되었습니다." +msgstr "특성(Characteristic)이 예상되었습니다." #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c @@ -550,12 +550,12 @@ msgstr "" #: ports/nrf/common-hal/bleio/Device.c msgid "Failed to add service" -msgstr "" +msgstr "서비스를 추가하지 못했습니다" #: ports/nrf/common-hal/bleio/Peripheral.c #, c-format msgid "Failed to add service, err 0x%04x" -msgstr "" +msgstr "서비스를 추가하지 못했습니다., 오류 0x%04x" #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" @@ -573,16 +573,16 @@ msgstr "" #: ports/nrf/common-hal/bleio/Device.c msgid "Failed to connect:" -msgstr "" +msgstr 연결할 수 없다"" #: ports/nrf/common-hal/bleio/Device.c msgid "Failed to continue scanning" -msgstr "" +msgstr "스캔을 계속할 수 없습니다" #: ports/nrf/common-hal/bleio/Scanner.c #, c-format msgid "Failed to continue scanning, err 0x%04x" -msgstr "" +msgstr "스캔을 계속할 수 없습니다, 오류 0x%04x" #: ports/nrf/common-hal/bleio/Device.c msgid "Failed to create mutex" @@ -770,33 +770,33 @@ msgstr "" #: shared-module/audioio/WaveFile.c msgid "Invalid file" -msgstr "" +msgstr "파일이 유효하지 않습니다" #: shared-module/audioio/WaveFile.c msgid "Invalid format chunk size" -msgstr "" +msgstr "형식 청크 크기가 잘못되었습니다" #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c msgid "Invalid number of bits" -msgstr "" +msgstr "비트 수가 유효하지 않습니다" #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c msgid "Invalid phase" -msgstr "" +msgstr "단계가 잘못되었습니다" #: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/touchio/TouchIn.c #: shared-bindings/pulseio/PWMOut.c msgid "Invalid pin" -msgstr "" +msgstr "핀이 잘못되었습니다" #: ports/atmel-samd/common-hal/audioio/AudioOut.c msgid "Invalid pin for left channel" -msgstr "" +msgstr "왼쪽 채널 핀이 유효하지 않습니다" #: ports/atmel-samd/common-hal/audioio/AudioOut.c msgid "Invalid pin for right channel" -msgstr "" +msgstr "오른쪽 채널 핀이 잘못되었습니다" #: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/common-hal/busio/SPI.c @@ -804,7 +804,7 @@ msgstr "" #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/nrf/common-hal/busio/I2C.c msgid "Invalid pins" -msgstr "" +msgstr "핀이 유효하지 않습니다" #: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c msgid "Invalid polarity" @@ -832,7 +832,7 @@ msgstr "" #: py/objslice.c msgid "Length must be an int" -msgstr "" +msgstr "길이는 정수(int) 여야합니다" #: py/objslice.c msgid "Length must be non-negative" @@ -1170,11 +1170,11 @@ msgstr "" #: shared-bindings/bleio/UUID.c msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" -msgstr "" +msgstr "UUID문자열이 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'형식이 아닙니다" #: shared-bindings/bleio/UUID.c msgid "UUID value is not str, int or byte buffer" -msgstr "" +msgstr "UUID값이 문자열(str), 정수(int) 또는 바이트버퍼가(byte buffer) 아닙니다" #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c @@ -1188,7 +1188,7 @@ msgstr "" #: py/parse.c msgid "Unable to init parser" -msgstr "" +msgstr "파서를 초기화(init) 할 수 없습니다" #: shared-module/displayio/OnDiskBitmap.c msgid "Unable to read color palette data" @@ -1343,15 +1343,15 @@ msgstr "" #: shared-bindings/busio/UART.c msgid "bits must be 7, 8 or 9" -msgstr "" +msgstr "비트(bits)는 7, 8 또는 9 여야합니다" #: extmod/machine_spi.c msgid "bits must be 8" -msgstr "" +msgstr "비트(bits)는 8이어야합니다" #: shared-bindings/audioio/Mixer.c msgid "bits_per_sample must be 8 or 16" -msgstr "" +msgstr "bits_per_sample은 8 또는 16이어야합니다." #: py/emitinlinethumb.c msgid "branch not in range" @@ -1851,7 +1851,7 @@ msgstr "" #: py/objstr.c msgid "integer required" -msgstr "정수(int)가 필요합니다." +msgstr "정수가 필요합니다" #: ports/nrf/common-hal/bleio/Broadcaster.c msgid "interval not in range 0.0020 to 10.24" @@ -1859,11 +1859,11 @@ msgstr "" #: extmod/machine_i2c.c msgid "invalid I2C peripheral" -msgstr "ICT주변 기기가 유효하지 않습니다." +msgstr "ICT주변 기기가 유효하지 않습니다" #: extmod/machine_spi.c msgid "invalid SPI peripheral" -msgstr "SPI주변 기기가 유효하지 않습니다." +msgstr "SPI주변 기기가 유효하지 않습니다" #: lib/netutils/netutils.c msgid "invalid arguments" @@ -1871,7 +1871,7 @@ msgstr "" #: extmod/modussl_axtls.c msgid "invalid cert" -msgstr "cert가 유효하지 않습니다." +msgstr "cert가 유효하지 않습니다" #: extmod/uos_dupterm.c msgid "invalid dupterm index" @@ -1903,16 +1903,16 @@ msgstr "구문(syntax)가 유효하지 않습니다" #: py/parsenum.c msgid "invalid syntax for integer" -msgstr "" +msgstr "구문(syntax)가 정수가 유효하지 않습니다" #: py/parsenum.c #, c-format msgid "invalid syntax for integer with base %d" -msgstr "구문(syntax)가 정수(int)가 유효하지 않습니다." +msgstr "구문(syntax)가 정수가 유효하지 않습니다" #: py/parsenum.c msgid "invalid syntax for number" -msgstr "숫자에 대한 구문(syntax)가 유효하지 않습니다." +msgstr "숫자에 대한 구문(syntax)가 유효하지 않습니다" #: py/objtype.c msgid "issubclass() arg 1 must be a class" From c542663a33f608e0a5aeded3c6e3abda575ca3e8 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Mon, 5 Aug 2019 18:30:53 -0700 Subject: [PATCH 04/79] Fix quotes --- locale/ko.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locale/ko.po b/locale/ko.po index 13a4ae9e16..6405892621 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -573,7 +573,7 @@ msgstr "" #: ports/nrf/common-hal/bleio/Device.c msgid "Failed to connect:" -msgstr 연결할 수 없다"" +msgstr "연결할 수 없다" #: ports/nrf/common-hal/bleio/Device.c msgid "Failed to continue scanning" From a0877b3d0c8a5fcd6788b299bf510e46bb9cab38 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 6 Aug 2019 07:33:44 -0500 Subject: [PATCH 05/79] Update ko.po This fixes two additional problems, a missing newline and an incorrect character set definition. However, the build process still fails locally during "makeqstrdata" --- locale/ko.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/ko.po b/locale/ko.po index 6405892621..b3b52c2e29 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -14,7 +14,7 @@ msgstr "" "Language-Team: LANGUAGE \n" "Language: ko\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: main.c @@ -291,7 +291,7 @@ msgstr "" #: main.c msgid "Auto-reload is off.\n" -msgstr "자동 재 장전이 꺼져 있습니다" +msgstr "자동 재 장전이 꺼져 있습니다\n" #: main.c msgid "" From c449748663e9b756336d09606c5f45d830bf1c07 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sun, 17 Nov 2019 20:21:18 -0600 Subject: [PATCH 06/79] locale: commit results of running "make translate" --- locale/ID.po | 231 ++++++-------- locale/circuitpython.pot | 129 +------- locale/de_DE.po | 230 ++++++-------- locale/en_US.po | 129 +------- locale/en_x_pirate.po | 141 +-------- locale/es.po | 226 ++++++-------- locale/fil.po | 229 ++++++-------- locale/fr.po | 230 ++++++-------- locale/it_IT.po | 230 ++++++-------- locale/ko.po | 642 +++++++++++++++++++++------------------ locale/pl.po | 226 ++++++-------- locale/pt_BR.po | 208 +++++-------- locale/zh_Latn_pinyin.po | 228 ++++++-------- 13 files changed, 1231 insertions(+), 1848 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index 9c70789af6..26011a9025 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -438,10 +438,6 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "tidak dapat mendapatkan ukuran scalar secara tidak ambigu" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -554,10 +550,6 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "Channel EXTINT sedang digunakan" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Error pada regex" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -762,14 +754,10 @@ msgstr "" msgid "Group full" msgstr "" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "operasi I/O pada file tertutup" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "operasi I2C tidak didukung" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1108,7 +1096,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "sistem file (filesystem) bersifat Read-only" @@ -1138,7 +1126,7 @@ msgid "Running in safe mode! Not running saved code.\n" msgstr "" "Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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" @@ -1170,10 +1158,6 @@ msgstr "" msgid "Slices not supported" msgstr "" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "Memisahkan dengan menggunakan sub-captures" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1408,19 +1392,6 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "sebuah objek menyerupai byte (bytes-like) dibutuhkan" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "abort() dipanggil" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "alamat %08x tidak selaras dengan %d bytes" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1478,10 +1449,6 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "bits harus memilki nilai 8" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "" @@ -1513,10 +1480,6 @@ msgstr "" msgid "buffer too small" msgstr "" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "buffers harus mempunyai panjang yang sama" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1747,10 +1710,6 @@ msgstr "" msgid "complex values not supported" msgstr "" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "kompresi header" - #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1793,10 +1752,6 @@ msgstr "" msgid "empty" msgstr "" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "heap kosong" - #: py/objstr.c msgid "empty separator" msgstr "" @@ -1867,10 +1822,6 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "bit pertama(firstbit) harus berupa MSB" - #: py/objint.c msgid "float too big" msgstr "" @@ -1939,10 +1890,6 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "heap harus berupa sebuah list" - #: py/compile.c msgid "identifier redefined as global" msgstr "identifier didefinisi ulang sebagai global" @@ -1959,10 +1906,6 @@ msgstr "" msgid "incomplete format key" msgstr "" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "lapisan (padding) tidak benar" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1989,38 +1932,10 @@ msgstr "" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "perangkat I2C tidak valid" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "perangkat SPI tidak valid" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "argumen-argumen tidak valid" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "cert tidak valid" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "indeks dupterm tidak valid" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "format tidak valid" - #: py/objstr.c msgid "invalid format specifier" msgstr "" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "key tidak valid" - #: py/compile.c msgid "invalid micropython decorator" msgstr "micropython decorator tidak valid" @@ -2149,10 +2064,6 @@ msgstr "" msgid "must raise an object" msgstr "" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "harus menentukan semua pin sck/mosi/miso" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2219,10 +2130,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "argumen non-default mengikuti argumen standar(default)" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "digit non-hex ditemukan" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "non-keyword arg setelah */**" @@ -2289,10 +2196,6 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "panjang data string memiliki keganjilan (odd-length)" - #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2381,10 +2284,6 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "antrian meluap (overflow)" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2497,18 +2396,6 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "struct: tidak bisa melakukan index" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "struct: index keluar dari jangkauan" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "struct: tidak ada fields" - #: py/objstr.c msgid "substring not found" msgstr "" @@ -2517,14 +2404,6 @@ msgstr "" msgid "super() can't find self" msgstr "super() tidak dapat menemukan dirinya sendiri" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "sintaksis error pada JSON" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "sintaksis error pada pendeskripsi uctypes" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" @@ -2742,6 +2621,9 @@ msgstr "" #~ msgid "Cannot set STA config" #~ msgstr "Tidak dapat mengatur konfigurasi STA" +#~ msgid "Cannot unambiguously get sizeof scalar" +#~ msgstr "tidak dapat mendapatkan ukuran scalar secara tidak ambigu" + #~ msgid "Cannot update i/f status" #~ msgstr "Tidak dapat memperbarui status i/f" @@ -2761,11 +2643,14 @@ msgstr "" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Errod pada ffi_prep_cif" +#~ msgid "Error in regex" +#~ msgstr "Error pada regex" + #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Gagal untuk menambahkan karakteristik, status: 0x%08lX" @@ -2773,7 +2658,7 @@ msgstr "" #~ msgid "Failed to add service" #~ msgstr "Gagal untuk menambahkan layanan, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Gagal untuk menambahkan layanan, status: 0x%08lX" @@ -2789,7 +2674,7 @@ msgstr "" #~ msgid "Failed to continue scanning" #~ msgstr "Gagal untuk melanjutkan scanning, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "Gagal untuk melanjutkan scanning, status: 0x%08lX" @@ -2813,7 +2698,7 @@ msgstr "" #~ msgid "Failed to start advertising" #~ msgstr "Gagal untuk memulai advertisement, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Gagal untuk memulai advertisement, status: 0x%08lX" @@ -2825,13 +2710,16 @@ msgstr "" #~ msgid "Failed to stop advertising" #~ msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 tidak mendukung pull up" +#~ msgid "I2C operation not supported" +#~ msgstr "operasi I2C tidak didukung" + #~ msgid "Invalid bit clock pin" #~ msgstr "Bit clock pada pin tidak valid" @@ -2878,10 +2766,13 @@ msgstr "" #~ msgid "STA required" #~ msgstr "STA dibutuhkan" -#, fuzzy, c-format +#, fuzzy #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Dukungan soft device, id: 0x%08lX, pc: 0x%08l" +#~ msgid "Splitting with sub-captures" +#~ msgstr "Memisahkan dengan menggunakan sub-captures" + #~ msgid "UART(%d) does not exist" #~ msgstr "UART(%d) tidak ada" @@ -2902,9 +2793,24 @@ msgstr "" #~ msgid "[addrinfo error %d]" #~ msgstr "[addrinfo error %d]" +#~ msgid "a bytes-like object is required" +#~ msgstr "sebuah objek menyerupai byte (bytes-like) dibutuhkan" + +#~ msgid "abort() called" +#~ msgstr "abort() dipanggil" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "alamat %08x tidak selaras dengan %d bytes" + +#~ msgid "bits must be 8" +#~ msgstr "bits harus memilki nilai 8" + #~ msgid "buffer too long" #~ msgstr "buffer terlalu panjang" +#~ msgid "buffers must be the same length" +#~ msgstr "buffers harus mempunyai panjang yang sama" + #~ msgid "can query only one param" #~ msgstr "hanya bisa melakukan query satu param" @@ -2920,33 +2826,69 @@ msgstr "" #~ msgid "can't set STA config" #~ msgstr "tidak bisa mendapatkan konfigurasi STA" +#~ msgid "compression header" +#~ msgstr "kompresi header" + #~ msgid "either pos or kw args are allowed" #~ msgstr "hanya antar pos atau kw args yang diperbolehkan" +#~ msgid "empty heap" +#~ msgstr "heap kosong" + #~ msgid "expecting a pin" #~ msgstr "mengharapkan sebuah pin" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" +#~ msgid "firstbit must be MSB" +#~ msgstr "bit pertama(firstbit) harus berupa MSB" + #~ msgid "flash location must be below 1MByte" #~ msgstr "alokasi flash harus dibawah 1MByte" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "frekuensi hanya bisa didefinisikan 80Mhz atau 160Mhz" +#~ msgid "heap must be a list" +#~ msgstr "heap harus berupa sebuah list" + #~ msgid "impossible baudrate" #~ msgstr "baudrate tidak memungkinkan" +#~ msgid "incorrect padding" +#~ msgstr "lapisan (padding) tidak benar" + +#~ msgid "invalid I2C peripheral" +#~ msgstr "perangkat I2C tidak valid" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "perangkat SPI tidak valid" + #~ msgid "invalid alarm" #~ msgstr "alarm tidak valid" +#~ msgid "invalid arguments" +#~ msgstr "argumen-argumen tidak valid" + #~ msgid "invalid buffer length" #~ msgstr "panjang buffer tidak valid" +#~ msgid "invalid cert" +#~ msgstr "cert tidak valid" + #~ msgid "invalid data bits" #~ msgstr "bit data tidak valid" +#~ msgid "invalid dupterm index" +#~ msgstr "indeks dupterm tidak valid" + +#~ msgid "invalid format" +#~ msgstr "format tidak valid" + +#~ msgid "invalid key" +#~ msgstr "key tidak valid" + #~ msgid "invalid pin" #~ msgstr "pin tidak valid" @@ -2959,19 +2901,46 @@ msgstr "" #~ msgid "memory allocation failed, allocating %u bytes for native code" #~ msgstr "alokasi memori gagal, mengalokasikan %u byte untuk kode native" +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "harus menentukan semua pin sck/mosi/miso" + #, fuzzy #~ msgid "name must be a string" #~ msgstr "keyword harus berupa string" +#~ msgid "non-hex digit found" +#~ msgstr "digit non-hex ditemukan" + #~ msgid "not a valid ADC Channel: %d" #~ msgstr "tidak valid channel ADC: %d" +#~ msgid "odd-length string" +#~ msgstr "panjang data string memiliki keganjilan (odd-length)" + #~ msgid "pin does not have IRQ capabilities" #~ msgstr "pin tidak memiliki kemampuan IRQ" +#~ msgid "queue overflow" +#~ msgstr "antrian meluap (overflow)" + #~ msgid "scan failed" #~ msgstr "scan gagal" +#~ msgid "struct: cannot index" +#~ msgstr "struct: tidak bisa melakukan index" + +#~ msgid "struct: index out of range" +#~ msgstr "struct: index keluar dari jangkauan" + +#~ msgid "struct: no fields" +#~ msgstr "struct: tidak ada fields" + +#~ msgid "syntax error in JSON" +#~ msgstr "sintaksis error pada JSON" + +#~ msgid "syntax error in uctypes descriptor" +#~ msgstr "sintaksis error pada pendeskripsi uctypes" + #~ msgid "unknown config param" #~ msgstr "konfigurasi param tidak diketahui" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 34aa3ff0aa..ee9f5344a1 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:17-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -428,10 +428,6 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -543,10 +539,6 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "" -#: extmod/modure.c -msgid "Error in regex" -msgstr "" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -748,14 +740,10 @@ msgstr "" msgid "Group full" msgstr "" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1091,7 +1079,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "" @@ -1119,7 +1107,7 @@ msgstr "" msgid "Running in safe mode! Not running saved code.\n" msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c msgid "SDA or SCL needs a pull up" msgstr "" @@ -1151,10 +1139,6 @@ msgstr "" msgid "Slices not supported" msgstr "" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1376,19 +1360,6 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1446,10 +1417,6 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "" @@ -1480,10 +1447,6 @@ msgstr "" msgid "buffer too small" msgstr "" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1714,10 +1677,6 @@ msgstr "" msgid "complex values not supported" msgstr "" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "" - #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1760,10 +1719,6 @@ msgstr "" msgid "empty" msgstr "" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "" - #: py/objstr.c msgid "empty separator" msgstr "" @@ -1834,10 +1789,6 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "" - #: py/objint.c msgid "float too big" msgstr "" @@ -1906,10 +1857,6 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "" - #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1926,10 +1873,6 @@ msgstr "" msgid "incomplete format key" msgstr "" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1956,38 +1899,10 @@ msgstr "" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "" - #: py/objstr.c msgid "invalid format specifier" msgstr "" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "" - #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2116,10 +2031,6 @@ msgstr "" msgid "must raise an object" msgstr "" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2186,10 +2097,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2256,10 +2163,6 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "" - #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2347,10 +2250,6 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2463,18 +2362,6 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "" - #: py/objstr.c msgid "substring not found" msgstr "" @@ -2483,14 +2370,6 @@ msgstr "" msgid "super() can't find self" msgstr "" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" diff --git a/locale/de_DE.po b/locale/de_DE.po index afe97ff9f8..90ec37a361 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -432,10 +432,6 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Übertragung ohne MOSI- und MISO-Pins nicht möglich." -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "sizeof scalar kann nicht eindeutig bestimmt werden" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Kann nicht ohne MOSI-Pin schreiben." @@ -547,10 +543,6 @@ msgstr "Drive mode wird nicht verwendet, wenn die Richtung input ist." msgid "EXTINT channel already in use" msgstr "EXTINT Kanal ist schon in Benutzung" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Fehler in regex" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -736,7 +728,9 @@ msgstr "" #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c msgid "Frequency captured is above capability. Capture Paused." -msgstr "Die aufgezeichnete Frequenz liegt über der Leistungsgrenze. Aufnahme angehalten." +msgstr "" +"Die aufgezeichnete Frequenz liegt über der Leistungsgrenze. Aufnahme " +"angehalten." #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c @@ -752,14 +746,10 @@ msgstr "Gruppe schon benutzt" msgid "Group full" msgstr "Gruppe voll" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "Lese/Schreibe-operation an geschlossener Datei" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "I2C-operation nicht unterstützt" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1112,7 +1102,7 @@ msgstr "Bereich außerhalb der Grenzen" msgid "Read-only" msgstr "Nur lesen möglich, da Schreibgeschützt" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "Schreibgeschützte Dateisystem" @@ -1140,7 +1130,7 @@ msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n" msgid "Running in safe mode! Not running saved code.\n" msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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" @@ -1172,10 +1162,6 @@ msgstr "Slice und Wert (value) haben unterschiedliche Längen." msgid "Slices not supported" msgstr "Slices werden nicht unterstützt" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "Splitting mit sub-captures" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "Die Stackgröße sollte mindestens 256 sein" @@ -1422,19 +1408,6 @@ msgstr "__init__() sollte None zurückgeben, nicht '%s'" msgid "__new__ arg must be a user-type" msgstr "__new__ arg muss user-type sein" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "ein Byte-ähnliches Objekt ist erforderlich" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "abort() wurde aufgerufen" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "Addresse %08x ist nicht an %d bytes ausgerichtet" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "Adresse außerhalb der Grenzen" @@ -1492,10 +1465,6 @@ msgstr "Der binäre Operator %q ist nicht implementiert" msgid "bits must be 7, 8 or 9" msgstr "bits muss 7, 8 oder 9 sein" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "bits müssen 8 sein" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "Es müssen 8 oder 16 bits_per_sample sein" @@ -1526,10 +1495,6 @@ msgstr "Puffersegmente müssen gleich lang sein" msgid "buffer too small" msgstr "Der Puffer ist zu klein" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "Buffer müssen gleich lang sein" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1761,10 +1726,6 @@ msgstr "Komplexe Division durch null" msgid "complex values not supported" msgstr "Komplexe Zahlen nicht unterstützt" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "kompression header" - #: py/parse.c msgid "constant must be an integer" msgstr "constant muss ein integer sein" @@ -1807,10 +1768,6 @@ msgstr "Division durch Null" msgid "empty" msgstr "leer" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "leerer heap" - #: py/objstr.c msgid "empty separator" msgstr "leeres Trennzeichen" @@ -1881,10 +1838,6 @@ msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen" msgid "first argument to super() must be type" msgstr "Das erste Argument für super() muss type sein" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "Erstes Bit muss das höchstwertigste Bit (MSB) sein" - #: py/objint.c msgid "float too big" msgstr "float zu groß" @@ -1954,10 +1907,6 @@ msgstr "Generator ignoriert GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic muss 2048 Byte lang sein" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "heap muss eine Liste sein" - #: py/compile.c msgid "identifier redefined as global" msgstr "Bezeichner als global neu definiert" @@ -1974,10 +1923,6 @@ msgstr "unvollständiges Format" msgid "incomplete format key" msgstr "unvollständiger Formatschlüssel" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "padding ist inkorrekt" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -2004,38 +1949,10 @@ msgstr "integer erforderlich" msgid "interval must be in range %s-%s" msgstr "Das Intervall muss im Bereich %s-%s sein" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "ungültige I2C Schnittstelle" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "ungültige SPI Schnittstelle" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "ungültige argumente" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "ungültiges cert" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "ungültiger dupterm index" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "ungültiges Format" - #: py/objstr.c msgid "invalid format specifier" msgstr "ungültiger Formatbezeichner" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "ungültiger Schlüssel" - #: py/compile.c msgid "invalid micropython decorator" msgstr "ungültiger micropython decorator" @@ -2170,10 +2087,6 @@ msgstr "Mehrfache Vererbung nicht unterstützt" msgid "must raise an object" msgstr "" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "sck/mosi/miso müssen alle spezifiziert sein" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "muss Schlüsselwortargument für key function verwenden" @@ -2240,10 +2153,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "ein non-default argument folgt auf ein default argument" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "eine nicht-hex zahl wurde gefunden" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2310,10 +2219,6 @@ msgstr "Objekt vom Typ '%s' hat keine len()" msgid "object with buffer protocol required" msgstr "Objekt mit Pufferprotokoll (buffer protocol) erforderlich" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "String mit ungerader Länge" - #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "offset außerhalb der Grenzen" @@ -2403,10 +2308,6 @@ msgstr "pow() drittes Argument darf nicht 0 sein" msgid "pow() with 3 arguments requires integers" msgstr "" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "Warteschlangenüberlauf" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "rawbuf hat nicht die gleiche Größe wie buf" @@ -2522,18 +2423,6 @@ msgid "string not supported; use bytes or bytearray" msgstr "" "Zeichenfolgen werden nicht unterstützt; Verwenden Sie bytes oder bytearray" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "struct: kann nicht indexieren" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "struct: index außerhalb gültigen Bereichs" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "struct: keine Felder" - #: py/objstr.c msgid "substring not found" msgstr "substring nicht gefunden" @@ -2542,14 +2431,6 @@ msgstr "substring nicht gefunden" msgid "super() can't find self" msgstr "super() kann self nicht finden" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "Syntaxfehler in JSON" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "Syntaxfehler in uctypes Deskriptor" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "threshold muss im Intervall 0-65536 liegen" @@ -2785,6 +2666,9 @@ msgstr "" #~ msgid "Cannot set STA config" #~ msgstr "Kann STA Konfiguration nicht setzen" +#~ msgid "Cannot unambiguously get sizeof scalar" +#~ msgstr "sizeof scalar kann nicht eindeutig bestimmt werden" + #~ msgid "Cannot update i/f status" #~ msgstr "Kann i/f Status nicht updaten" @@ -2810,20 +2694,21 @@ msgstr "" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Fehler in ffi_prep_cif" +#~ msgid "Error in regex" +#~ msgstr "Fehler in regex" + #~ msgid "Expected a Peripheral" #~ msgstr "Ein Peripheriegerät wird erwartet" #~ msgid "Failed to acquire mutex" #~ msgstr "Akquirieren des Mutex gescheitert" -#, c-format #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Hinzufügen des Characteristic ist gescheitert. Status: 0x%04x" #~ msgid "Failed to add service" #~ msgstr "Dienst konnte nicht hinzugefügt werden" -#, c-format #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Dienst konnte nicht hinzugefügt werden. Status: 0x%04x" @@ -2836,7 +2721,6 @@ msgstr "" #~ msgid "Failed to continue scanning" #~ msgstr "Der Scanvorgang kann nicht fortgesetzt werden" -#, c-format #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "Der Scanvorgang kann nicht fortgesetzt werden. Status: 0x%04x" @@ -2852,18 +2736,15 @@ msgstr "" #~ msgid "Failed to release mutex" #~ msgstr "Loslassen des Mutex gescheitert" -#, c-format #~ msgid "Failed to set device name, err 0x%04x" #~ msgstr "Gerätename konnte nicht gesetzt werden, Status: 0x%04x" #~ msgid "Failed to start advertising" #~ msgstr "Kann advertisement nicht starten" -#, c-format #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Kann advertisement nicht starten. Status: 0x%04x" -#, c-format #~ msgid "Failed to start pairing, error 0x%04x" #~ msgstr "Starten des Koppelns fehlgeschlagen, Status: 0x%04x" @@ -2873,7 +2754,6 @@ msgstr "" #~ msgid "Failed to stop advertising" #~ msgstr "Kann advertisement nicht stoppen" -#, c-format #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Kann advertisement nicht stoppen. Status: 0x%04x" @@ -2884,6 +2764,9 @@ msgstr "" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 unterstützt pull up nicht" +#~ msgid "I2C operation not supported" +#~ msgstr "I2C-operation nicht unterstützt" + #~ msgid "Invalid bit clock pin" #~ msgstr "Ungültiges bit clock pin" @@ -2942,6 +2825,9 @@ msgstr "" #~ msgid "STA required" #~ msgstr "STA erforderlich" +#~ msgid "Splitting with sub-captures" +#~ msgstr "Splitting mit sub-captures" + #~ msgid "UART(%d) does not exist" #~ msgstr "UART(%d) existiert nicht" @@ -2964,9 +2850,30 @@ msgstr "" #~ msgid "Voice index too high" #~ msgstr "Voice index zu hoch" +#~ msgid "a bytes-like object is required" +#~ msgstr "ein Byte-ähnliches Objekt ist erforderlich" + +#~ msgid "abort() called" +#~ msgstr "abort() wurde aufgerufen" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "Addresse %08x ist nicht an %d bytes ausgerichtet" + +#~ msgid "bits must be 8" +#~ msgstr "bits müssen 8 sein" + #~ msgid "buffer too long" #~ msgstr "Buffer zu lang" +#~ msgid "buffers must be the same length" +#~ msgstr "Buffer müssen gleich lang sein" + +#~ msgid "compression header" +#~ msgstr "kompression header" + +#~ msgid "empty heap" +#~ msgstr "leerer heap" + #~ msgid "expected a DigitalInOut" #~ msgstr "erwarte DigitalInOut" @@ -2976,27 +2883,57 @@ msgstr "" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" +#~ msgid "firstbit must be MSB" +#~ msgstr "Erstes Bit muss das höchstwertigste Bit (MSB) sein" + #~ msgid "flash location must be below 1MByte" #~ msgstr "flash location muss unter 1MByte sein" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "Die Frequenz kann nur 80Mhz oder 160Mhz sein" +#~ msgid "heap must be a list" +#~ msgstr "heap muss eine Liste sein" + #~ msgid "impossible baudrate" #~ msgstr "Unmögliche Baudrate" +#~ msgid "incorrect padding" +#~ msgstr "padding ist inkorrekt" + #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "Das Interval ist nicht im Bereich 0.0020 bis 10.24" +#~ msgid "invalid I2C peripheral" +#~ msgstr "ungültige I2C Schnittstelle" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "ungültige SPI Schnittstelle" + #~ msgid "invalid alarm" #~ msgstr "ungültiger Alarm" +#~ msgid "invalid arguments" +#~ msgstr "ungültige argumente" + #~ msgid "invalid buffer length" #~ msgstr "ungültige Pufferlänge" +#~ msgid "invalid cert" +#~ msgstr "ungültiges cert" + #~ msgid "invalid data bits" #~ msgstr "ungültige Datenbits" +#~ msgid "invalid dupterm index" +#~ msgstr "ungültiger dupterm index" + +#~ msgid "invalid format" +#~ msgstr "ungültiges Format" + +#~ msgid "invalid key" +#~ msgstr "ungültiger Schlüssel" + #~ msgid "invalid pin" #~ msgstr "ungültiger Pin" @@ -3010,18 +2947,45 @@ msgstr "" #~ msgstr "" #~ "Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code" +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "sck/mosi/miso müssen alle spezifiziert sein" + #~ msgid "name must be a string" #~ msgstr "name muss ein String sein" +#~ msgid "non-hex digit found" +#~ msgstr "eine nicht-hex zahl wurde gefunden" + #~ msgid "not a valid ADC Channel: %d" #~ msgstr "Kein gültiger ADC Kanal: %d" +#~ msgid "odd-length string" +#~ msgstr "String mit ungerader Länge" + #~ msgid "pin does not have IRQ capabilities" #~ msgstr "Pin hat keine IRQ Fähigkeiten" +#~ msgid "queue overflow" +#~ msgstr "Warteschlangenüberlauf" + #~ msgid "scan failed" #~ msgstr "Scan fehlgeschlagen" +#~ msgid "struct: cannot index" +#~ msgstr "struct: kann nicht indexieren" + +#~ msgid "struct: index out of range" +#~ msgstr "struct: index außerhalb gültigen Bereichs" + +#~ msgid "struct: no fields" +#~ msgstr "struct: keine Felder" + +#~ msgid "syntax error in JSON" +#~ msgstr "Syntaxfehler in JSON" + +#~ msgid "syntax error in uctypes descriptor" +#~ msgstr "Syntaxfehler in uctypes Deskriptor" + #~ msgid "too many arguments" #~ msgstr "zu viele Argumente" diff --git a/locale/en_US.po b/locale/en_US.po index b30e17cecc..9b234599a3 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -428,10 +428,6 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -543,10 +539,6 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "" -#: extmod/modure.c -msgid "Error in regex" -msgstr "" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -748,14 +740,10 @@ msgstr "" msgid "Group full" msgstr "" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1091,7 +1079,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "" @@ -1119,7 +1107,7 @@ msgstr "" msgid "Running in safe mode! Not running saved code.\n" msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c msgid "SDA or SCL needs a pull up" msgstr "" @@ -1151,10 +1139,6 @@ msgstr "" msgid "Slices not supported" msgstr "" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1376,19 +1360,6 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1446,10 +1417,6 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "" @@ -1480,10 +1447,6 @@ msgstr "" msgid "buffer too small" msgstr "" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1714,10 +1677,6 @@ msgstr "" msgid "complex values not supported" msgstr "" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "" - #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1760,10 +1719,6 @@ msgstr "" msgid "empty" msgstr "" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "" - #: py/objstr.c msgid "empty separator" msgstr "" @@ -1834,10 +1789,6 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "" - #: py/objint.c msgid "float too big" msgstr "" @@ -1906,10 +1857,6 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "" - #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1926,10 +1873,6 @@ msgstr "" msgid "incomplete format key" msgstr "" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1956,38 +1899,10 @@ msgstr "" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "" - #: py/objstr.c msgid "invalid format specifier" msgstr "" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "" - #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2116,10 +2031,6 @@ msgstr "" msgid "must raise an object" msgstr "" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2186,10 +2097,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2256,10 +2163,6 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "" - #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2347,10 +2250,6 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2463,18 +2362,6 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "" - #: py/objstr.c msgid "substring not found" msgstr "" @@ -2483,14 +2370,6 @@ msgstr "" msgid "super() can't find self" msgstr "" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" diff --git a/locale/en_x_pirate.po b/locale/en_x_pirate.po index f9bb0a4002..9fea903c32 100644 --- a/locale/en_x_pirate.po +++ b/locale/en_x_pirate.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: @sommersoft, @MrCertainly\n" @@ -432,10 +432,6 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -547,10 +543,6 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "Avast! EXTINT channel already in use" -#: extmod/modure.c -msgid "Error in regex" -msgstr "" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -752,14 +744,10 @@ msgstr "" msgid "Group full" msgstr "" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1095,7 +1083,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "" @@ -1123,7 +1111,7 @@ msgstr "Runnin' in safe mode! Auto-reload be off.\n" msgid "Running in safe mode! Not running saved code.\n" msgstr "Runnin' in safe mode! Nay runnin' saved code.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c msgid "SDA or SCL needs a pull up" msgstr "" @@ -1155,10 +1143,6 @@ msgstr "" msgid "Slices not supported" msgstr "" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1380,19 +1364,6 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1450,10 +1421,6 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "pieces must be of 8" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "" @@ -1484,10 +1451,6 @@ msgstr "" msgid "buffer too small" msgstr "" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "yer buffers must be of the same length" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1718,10 +1681,6 @@ msgstr "" msgid "complex values not supported" msgstr "" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "" - #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1764,10 +1723,6 @@ msgstr "" msgid "empty" msgstr "" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "" - #: py/objstr.c msgid "empty separator" msgstr "" @@ -1838,10 +1793,6 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "" - #: py/objint.c msgid "float too big" msgstr "" @@ -1910,10 +1861,6 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "" - #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1930,10 +1877,6 @@ msgstr "" msgid "incomplete format key" msgstr "" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1960,38 +1903,10 @@ msgstr "" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "Belay that! I2C peripheral be invalid" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "Arr! SPI peripheral be invalid" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "" - #: py/objstr.c msgid "invalid format specifier" msgstr "" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "" - #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2120,10 +2035,6 @@ msgstr "" msgid "must raise an object" msgstr "" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2190,10 +2101,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2260,10 +2167,6 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "" - #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2351,10 +2254,6 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2467,18 +2366,6 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "" - #: py/objstr.c msgid "substring not found" msgstr "" @@ -2487,14 +2374,6 @@ msgstr "" msgid "super() can't find self" msgstr "" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" @@ -2710,3 +2589,15 @@ msgstr "" #~ msgid "Invalid clock pin" #~ msgstr "Avast! Clock pin be invalid" + +#~ msgid "bits must be 8" +#~ msgstr "pieces must be of 8" + +#~ msgid "buffers must be the same length" +#~ msgstr "yer buffers must be of the same length" + +#~ msgid "invalid I2C peripheral" +#~ msgstr "Belay that! I2C peripheral be invalid" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "Arr! SPI peripheral be invalid" diff --git a/locale/es.po b/locale/es.po index 8bcfcedbe3..2c029edd54 100644 --- a/locale/es.po +++ b/locale/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -436,10 +436,6 @@ msgstr "Cannot subclass slice" msgid "Cannot transfer without MOSI and MISO pins." msgstr "No se puede transmitir sin pines MOSI y MISO." -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "No se puede obtener inequívocamente sizeof escalar" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "No se puede escribir sin pin MOSI." @@ -551,10 +547,6 @@ msgstr "Modo Drive no se usa cuando la dirección es input." msgid "EXTINT channel already in use" msgstr "El canal EXTINT ya está siendo utilizado" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Error en regex" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -757,14 +749,10 @@ msgstr "" msgid "Group full" msgstr "Group lleno" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "Operación I/O en archivo cerrado" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "operación I2C no soportada" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1116,7 +1104,7 @@ msgstr "address fuera de límites" msgid "Read-only" msgstr "Solo-lectura" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "Sistema de archivos de solo-Lectura" @@ -1145,7 +1133,7 @@ msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n" msgid "Running in safe mode! Not running saved code.\n" msgstr "Ejecutando en modo seguro! No se esta ejecutando el código guardado.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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" @@ -1177,10 +1165,6 @@ msgstr "Slice y value tienen diferentes longitudes" msgid "Slices not supported" msgstr "Rebanadas no soportadas" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "Dividiendo con sub-capturas" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "El tamaño de la pila debe ser de al menos 256" @@ -1423,19 +1407,6 @@ msgstr "__init__() deberia devolver None, no '%s'" msgid "__new__ arg must be a user-type" msgstr "__new__ arg debe ser un user-type" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "se requiere un objeto bytes-like" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "se llamó abort()" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "la dirección %08x no esta alineada a %d bytes" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "address fuera de límites" @@ -1493,10 +1464,6 @@ msgstr "operacion binaria %q no implementada" msgid "bits must be 7, 8 or 9" msgstr "bits deben ser 7, 8 ó 9" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "bits debe ser 8" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "bits_per_sample debe ser 8 ó 16" @@ -1527,10 +1494,6 @@ msgstr "Las secciones del buffer necesitan tener longitud igual" msgid "buffer too small" msgstr "buffer demasiado pequeño" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "los buffers deben de tener la misma longitud" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "los botones necesitan ser digitalio.DigitalInOut" @@ -1766,10 +1729,6 @@ msgstr "división compleja por cero" msgid "complex values not supported" msgstr "valores complejos no soportados" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "encabezado de compresión" - #: py/parse.c msgid "constant must be an integer" msgstr "constant debe ser un entero" @@ -1814,10 +1773,6 @@ msgstr "división por cero" msgid "empty" msgstr "vacío" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "heap vacío" - #: py/objstr.c msgid "empty separator" msgstr "separator vacío" @@ -1888,10 +1843,6 @@ msgstr "sistema de archivos debe proporcionar método de montaje" msgid "first argument to super() must be type" msgstr "primer argumento para super() debe ser de tipo" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "firstbit debe ser MSB" - #: py/objint.c msgid "float too big" msgstr "" @@ -1960,10 +1911,6 @@ msgstr "generador ignorado GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic debe ser 2048 bytes de largo" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "heap debe ser una lista" - #: py/compile.c msgid "identifier redefined as global" msgstr "identificador redefinido como global" @@ -1980,10 +1927,6 @@ msgstr "formato incompleto" msgid "incomplete format key" msgstr "" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "relleno (padding) incorrecto" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -2010,38 +1953,10 @@ msgstr "Entero requerido" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "periférico I2C inválido" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "periférico SPI inválido" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "argumentos inválidos" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "certificado inválido" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "index dupterm inválido" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "formato inválido" - #: py/objstr.c msgid "invalid format specifier" msgstr "especificador de formato inválido" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "llave inválida" - #: py/compile.c msgid "invalid micropython decorator" msgstr "decorador de micropython inválido" @@ -2173,10 +2088,6 @@ msgstr "herencia multiple no soportada" msgid "must raise an object" msgstr "debe hacer un raise de un objeto" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "se deben de especificar sck/mosi/miso" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "debe utilizar argumento de palabra clave para la función clave" @@ -2243,10 +2154,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "argumento no predeterminado sigue argumento predeterminado" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "digito non-hex encontrado" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "no deberia estar/tener agumento por palabra clave despues de */**" @@ -2316,10 +2223,6 @@ msgstr "el objeto de tipo '%s' no tiene len()" msgid "object with buffer protocol required" msgstr "objeto con protocolo de buffer requerido" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "string de longitud impar" - #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2408,10 +2311,6 @@ msgstr "el 3er argumento de pow() no puede ser 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() con 3 argumentos requiere enteros" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "desbordamiento de cola(queue)" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "rawbuf no es el mismo tamaño que buf" @@ -2528,18 +2427,6 @@ msgstr "índices de string deben ser enteros, no %s" msgid "string not supported; use bytes or bytearray" msgstr "string no soportado; usa bytes o bytearray" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "struct: no se puede indexar" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "struct: index fuera de rango" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "struct: sin campos" - #: py/objstr.c msgid "substring not found" msgstr "substring no encontrado" @@ -2548,14 +2435,6 @@ msgstr "substring no encontrado" msgid "super() can't find self" msgstr "super() no puede encontrar self" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "error de sintaxis en JSON" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "error de sintaxis en el descriptor uctypes" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "limite debe ser en el rango 0-65536" @@ -2786,6 +2665,9 @@ msgstr "paso cero" #~ msgid "Cannot set STA config" #~ msgstr "No se puede establecer STA config" +#~ msgid "Cannot unambiguously get sizeof scalar" +#~ msgstr "No se puede obtener inequívocamente sizeof escalar" + #~ msgid "Cannot update i/f status" #~ msgstr "No se puede actualizar i/f status" @@ -2811,11 +2693,14 @@ msgstr "paso cero" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Error en ffi_prep_cif" +#~ msgid "Error in regex" +#~ msgstr "Error en regex" + #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "No se puede adquirir el mutex, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Fallo al añadir caracteristica, err: 0x%08lX" @@ -2823,7 +2708,6 @@ msgstr "paso cero" #~ msgid "Failed to add service" #~ msgstr "No se puede detener el anuncio. status: 0x%02x" -#, c-format #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Fallo al agregar servicio. err: 0x%02x" @@ -2838,7 +2722,6 @@ msgstr "paso cero" #~ msgid "Failed to continue scanning" #~ msgstr "No se puede iniciar el escaneo. status: 0x%02x" -#, c-format #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "No se puede iniciar el escaneo. err: 0x%02x" @@ -2862,7 +2745,6 @@ msgstr "paso cero" #~ msgid "Failed to start advertising" #~ msgstr "No se puede inicar el anuncio. status: 0x%02x" -#, c-format #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "No se puede inicar el anuncio. err: 0x%04x" @@ -2874,7 +2756,6 @@ msgstr "paso cero" #~ msgid "Failed to stop advertising" #~ msgstr "No se puede detener el anuncio. status: 0x%02x" -#, c-format #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "No se puede detener el anuncio. err: 0x%04x" @@ -2884,6 +2765,9 @@ msgstr "paso cero" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 no soporta pull up." +#~ msgid "I2C operation not supported" +#~ msgstr "operación I2C no soportada" + #~ msgid "Invalid bit clock pin" #~ msgstr "Pin bit clock inválido" @@ -2952,10 +2836,12 @@ msgstr "paso cero" #~ msgid "STA required" #~ msgstr "STA requerido" -#, c-format #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +#~ msgid "Splitting with sub-captures" +#~ msgstr "Dividiendo con sub-capturas" + #~ msgid "Tile indices must be 0 - 255" #~ msgstr "Los índices de Tile deben ser 0 - 255" @@ -2981,12 +2867,27 @@ msgstr "paso cero" #~ msgid "Voice index too high" #~ msgstr "Index de voz demasiado alto" +#~ msgid "a bytes-like object is required" +#~ msgstr "se requiere un objeto bytes-like" + +#~ msgid "abort() called" +#~ msgstr "se llamó abort()" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "la dirección %08x no esta alineada a %d bytes" + #~ msgid "bad GATT role" #~ msgstr "mal GATT role" +#~ msgid "bits must be 8" +#~ msgstr "bits debe ser 8" + #~ msgid "buffer too long" #~ msgstr "buffer demasiado largo" +#~ msgid "buffers must be the same length" +#~ msgstr "los buffers deben de tener la misma longitud" + #~ msgid "can query only one param" #~ msgstr "puede consultar solo un param" @@ -3005,9 +2906,15 @@ msgstr "paso cero" #~ msgid "characteristics includes an object that is not a Characteristic" #~ msgstr "characteristics incluye un objeto que no es una Characteristica" +#~ msgid "compression header" +#~ msgstr "encabezado de compresión" + #~ msgid "either pos or kw args are allowed" #~ msgstr "ya sea pos o kw args son permitidos" +#~ msgid "empty heap" +#~ msgstr "heap vacío" + #~ msgid "expected a DigitalInOut" #~ msgstr "se espera un DigitalInOut" @@ -3017,27 +2924,57 @@ msgstr "paso cero" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" +#~ msgid "firstbit must be MSB" +#~ msgstr "firstbit debe ser MSB" + #~ msgid "flash location must be below 1MByte" #~ msgstr "la ubicación de la flash debe estar debajo de 1MByte" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "la frecuencia solo puede ser 80MHz ó 160MHz" +#~ msgid "heap must be a list" +#~ msgstr "heap debe ser una lista" + #~ msgid "impossible baudrate" #~ msgstr "baudrate imposible" +#~ msgid "incorrect padding" +#~ msgstr "relleno (padding) incorrecto" + #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "El intervalo está fuera del rango de 0.0020 a 10.24" +#~ msgid "invalid I2C peripheral" +#~ msgstr "periférico I2C inválido" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "periférico SPI inválido" + #~ msgid "invalid alarm" #~ msgstr "alarma inválida" +#~ msgid "invalid arguments" +#~ msgstr "argumentos inválidos" + #~ msgid "invalid buffer length" #~ msgstr "longitud de buffer inválida" +#~ msgid "invalid cert" +#~ msgstr "certificado inválido" + #~ msgid "invalid data bits" #~ msgstr "data bits inválidos" +#~ msgid "invalid dupterm index" +#~ msgstr "index dupterm inválido" + +#~ msgid "invalid format" +#~ msgstr "formato inválido" + +#~ msgid "invalid key" +#~ msgstr "llave inválida" + #~ msgid "invalid pin" #~ msgstr "pin inválido" @@ -3051,18 +2988,30 @@ msgstr "paso cero" #~ msgstr "" #~ "falló la asignación de memoria, asignando %u bytes para código nativo" +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "se deben de especificar sck/mosi/miso" + #~ msgid "name must be a string" #~ msgstr "name debe de ser un string" +#~ msgid "non-hex digit found" +#~ msgstr "digito non-hex encontrado" + #~ msgid "not a valid ADC Channel: %d" #~ msgstr "no es un canal ADC válido: %d" +#~ msgid "odd-length string" +#~ msgstr "string de longitud impar" + #~ msgid "pin does not have IRQ capabilities" #~ msgstr "pin sin capacidades IRQ" #~ msgid "position must be 2-tuple" #~ msgstr "posición debe ser 2-tuple" +#~ msgid "queue overflow" +#~ msgstr "desbordamiento de cola(queue)" + #~ msgid "row must be packed and word aligned" #~ msgstr "la fila debe estar empacada y la palabra alineada" @@ -3072,6 +3021,21 @@ msgstr "paso cero" #~ msgid "services includes an object that is not a Service" #~ msgstr "services incluye un objeto que no es servicio" +#~ msgid "struct: cannot index" +#~ msgstr "struct: no se puede indexar" + +#~ msgid "struct: index out of range" +#~ msgstr "struct: index fuera de rango" + +#~ msgid "struct: no fields" +#~ msgstr "struct: sin campos" + +#~ msgid "syntax error in JSON" +#~ msgstr "error de sintaxis en JSON" + +#~ msgid "syntax error in uctypes descriptor" +#~ msgstr "error de sintaxis en el descriptor uctypes" + #~ msgid "tile index out of bounds" #~ msgstr "el indice del tile fuera de limite" diff --git a/locale/fil.po b/locale/fil.po index 2223ee7793..6f51ff315d 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -436,10 +436,6 @@ msgstr "Hindi magawa ang sublcass slice" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Hindi maaaring ilipat kapag walang MOSI at MISO pin." -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Hindi maaring isulat kapag walang MOSI pin." @@ -555,10 +551,6 @@ msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input." msgid "EXTINT channel already in use" msgstr "Ginagamit na ang EXTINT channel" -#: extmod/modure.c -msgid "Error in regex" -msgstr "May pagkakamali sa REGEX" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -765,14 +757,10 @@ msgstr "" msgid "Group full" msgstr "Puno ang group" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "I/O operasyon sa saradong file" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "Hindi supportado ang operasyong I2C" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1122,7 +1110,7 @@ msgstr "wala sa sakop ang address" msgid "Read-only" msgstr "Basahin-lamang" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "Basahin-lamang mode" @@ -1151,7 +1139,7 @@ msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n" msgid "Running in safe mode! Not running saved code.\n" msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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" @@ -1183,10 +1171,6 @@ msgstr "Slice at value iba't ibang haba." msgid "Slices not supported" msgstr "Hindi suportado ang Slices" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "Binibiyak gamit ang sub-captures" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "Ang laki ng stack ay dapat na hindi bababa sa 256" @@ -1428,19 +1412,6 @@ msgstr "__init__() dapat magbalink na None, hindi '%s'" msgid "__new__ arg must be a user-type" msgstr "__new__ arg ay dapat na user-type" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "a bytes-like object ay kailangan" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "abort() tinawag" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "address %08x ay hindi pantay sa %d bytes" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "wala sa sakop ang address" @@ -1498,10 +1469,6 @@ msgstr "binary op %q hindi implemented" msgid "bits must be 7, 8 or 9" msgstr "bits ay dapat 7, 8 o 9" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "bits ay dapat walo (8)" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "bits_per_sample ay dapat 8 o 16" @@ -1533,10 +1500,6 @@ msgstr "aarehas na haba dapat ang buffer slices" msgid "buffer too small" msgstr "masyadong maliit ang buffer" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "ang buffers ay dapat parehas sa haba" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1773,10 +1736,6 @@ msgstr "kumplikadong dibisyon sa pamamagitan ng zero" msgid "complex values not supported" msgstr "kumplikadong values hindi sinusuportahan" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "compression header" - #: py/parse.c msgid "constant must be an integer" msgstr "constant ay dapat na integer" @@ -1823,10 +1782,6 @@ msgstr "dibisyon ng zero" msgid "empty" msgstr "walang laman" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "walang laman ang heap" - #: py/objstr.c msgid "empty separator" msgstr "walang laman na separator" @@ -1898,10 +1853,6 @@ msgstr "ang filesystem dapat mag bigay ng mount method" msgid "first argument to super() must be type" msgstr "unang argument ng super() ay dapat type" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "firstbit ay dapat MSB" - #: py/objint.c msgid "float too big" msgstr "masyadong malaki ang float" @@ -1971,10 +1922,6 @@ msgstr "hindi pinansin ng generator ang GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic ay dapat 2048 bytes ang haba" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "list dapat ang heap" - #: py/compile.c msgid "identifier redefined as global" msgstr "identifier ginawang global" @@ -1991,10 +1938,6 @@ msgstr "hindi kumpleto ang format" msgid "incomplete format key" msgstr "hindi kumpleto ang format key" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "mali ang padding" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -2021,38 +1964,10 @@ msgstr "kailangan ng int" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "maling I2C peripheral" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "hindi wastong SPI peripheral" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "mali ang mga argumento" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "mali ang cert" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "mali ang dupterm index" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "hindi wastong pag-format" - #: py/objstr.c msgid "invalid format specifier" msgstr "mali ang format specifier" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "mali ang key" - #: py/compile.c msgid "invalid micropython decorator" msgstr "mali ang micropython decorator" @@ -2185,10 +2100,6 @@ msgstr "maraming inhertance hindi sinusuportahan" msgid "must raise an object" msgstr "dapat itaas ang isang object" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "dapat tukuyin lahat ng SCK/MOSI/MISO" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "dapat gumamit ng keyword argument para sa key function" @@ -2255,10 +2166,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "non-default argument sumusunod sa default argument" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "non-hex digit nahanap" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "non-keyword arg sa huli ng */**" @@ -2325,10 +2232,6 @@ msgstr "object na type '%s' walang len()" msgid "object with buffer protocol required" msgstr "object na may buffer protocol kinakailangan" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "odd-length string" - #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2418,10 +2321,6 @@ msgstr "pow() 3rd argument ay hindi maaring 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() na may 3 argumento kailangan ng integers" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "puno na ang pila (overflow)" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2538,18 +2437,6 @@ msgstr "ang indeks ng string ay dapat na integer, hindi %s" msgid "string not supported; use bytes or bytearray" msgstr "string hindi supportado; gumamit ng bytes o kaya bytearray" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "struct: hindi ma-index" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "struct: index hindi maabot" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "struct: walang fields" - #: py/objstr.c msgid "substring not found" msgstr "substring hindi nahanap" @@ -2558,14 +2445,6 @@ msgstr "substring hindi nahanap" msgid "super() can't find self" msgstr "super() hindi mahanap ang sarili" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "sintaks error sa JSON" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "may pagkakamali sa sintaks sa uctypes descriptor" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "ang threshold ay dapat sa range 0-65536" @@ -2797,6 +2676,9 @@ msgstr "zero step" #~ msgid "Cannot set STA config" #~ msgstr "Hindi ma-set ang STA Config" +#~ msgid "Cannot unambiguously get sizeof scalar" +#~ msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar" + #~ msgid "Cannot update i/f status" #~ msgstr "Hindi ma-update i/f status" @@ -2816,11 +2698,14 @@ msgstr "zero step" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Pagkakamali sa ffi_prep_cif" +#~ msgid "Error in regex" +#~ msgstr "May pagkakamali sa REGEX" + #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Nabigo sa paglagay ng characteristic, status: 0x%08lX" @@ -2828,7 +2713,7 @@ msgstr "zero step" #~ msgid "Failed to add service" #~ msgstr "Hindi matagumpay ang paglagay ng service, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Hindi matagumpay ang paglagay ng service, status: 0x%08lX" @@ -2844,7 +2729,7 @@ msgstr "zero step" #~ msgid "Failed to continue scanning" #~ msgstr "Hindi maituloy ang pag scan, status: 0x%0xlX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "Hindi maituloy ang pag scan, status: 0x%0xlX" @@ -2868,7 +2753,7 @@ msgstr "zero step" #~ msgid "Failed to start advertising" #~ msgstr "Hindi masimulaan ang advertisement, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Hindi masimulaan ang advertisement, status: 0x%08lX" @@ -2880,7 +2765,7 @@ msgstr "zero step" #~ msgid "Failed to stop advertising" #~ msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" @@ -2890,6 +2775,9 @@ msgstr "zero step" #~ msgid "GPIO16 does not support pull up." #~ msgstr "Walang pull down support ang GPI016." +#~ msgid "I2C operation not supported" +#~ msgstr "Hindi supportado ang operasyong I2C" + #~ msgid "Invalid bit clock pin" #~ msgstr "Mali ang bit clock pin" @@ -2946,6 +2834,9 @@ msgstr "zero step" #~ msgid "STA required" #~ msgstr "STA kailangan" +#~ msgid "Splitting with sub-captures" +#~ msgstr "Binibiyak gamit ang sub-captures" + #~ msgid "UART(%d) does not exist" #~ msgstr "Walang UART(%d)" @@ -2968,9 +2859,24 @@ msgstr "zero step" #~ msgid "[addrinfo error %d]" #~ msgstr "[addrinfo error %d]" +#~ msgid "a bytes-like object is required" +#~ msgstr "a bytes-like object ay kailangan" + +#~ msgid "abort() called" +#~ msgstr "abort() tinawag" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "address %08x ay hindi pantay sa %d bytes" + +#~ msgid "bits must be 8" +#~ msgstr "bits ay dapat walo (8)" + #~ msgid "buffer too long" #~ msgstr "masyadong mahaba ng buffer" +#~ msgid "buffers must be the same length" +#~ msgstr "ang buffers ay dapat parehas sa haba" + #~ msgid "can query only one param" #~ msgstr "maaaring i-query lamang ang isang param" @@ -2986,9 +2892,15 @@ msgstr "zero step" #~ msgid "can't set STA config" #~ msgstr "hindi makuha ang STA config" +#~ msgid "compression header" +#~ msgstr "compression header" + #~ msgid "either pos or kw args are allowed" #~ msgstr "pos o kw args ang pinahihintulutan" +#~ msgid "empty heap" +#~ msgstr "walang laman ang heap" + #~ msgid "expected a DigitalInOut" #~ msgstr "umasa ng DigitalInOut" @@ -2998,24 +2910,54 @@ msgstr "zero step" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" +#~ msgid "firstbit must be MSB" +#~ msgstr "firstbit ay dapat MSB" + #~ msgid "flash location must be below 1MByte" #~ msgstr "dapat na mas mababa sa 1MB ang lokasyon ng flash" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "ang frequency ay dapat 80Mhz or 160MHz lamang" +#~ msgid "heap must be a list" +#~ msgstr "list dapat ang heap" + #~ msgid "impossible baudrate" #~ msgstr "impossibleng baudrate" +#~ msgid "incorrect padding" +#~ msgstr "mali ang padding" + +#~ msgid "invalid I2C peripheral" +#~ msgstr "maling I2C peripheral" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "hindi wastong SPI peripheral" + #~ msgid "invalid alarm" #~ msgstr "mali ang alarm" +#~ msgid "invalid arguments" +#~ msgstr "mali ang mga argumento" + #~ msgid "invalid buffer length" #~ msgstr "mali ang buffer length" +#~ msgid "invalid cert" +#~ msgstr "mali ang cert" + #~ msgid "invalid data bits" #~ msgstr "mali ang data bits" +#~ msgid "invalid dupterm index" +#~ msgstr "mali ang dupterm index" + +#~ msgid "invalid format" +#~ msgstr "hindi wastong pag-format" + +#~ msgid "invalid key" +#~ msgstr "mali ang key" + #~ msgid "invalid pin" #~ msgstr "mali ang pin" @@ -3029,25 +2971,52 @@ msgstr "zero step" #~ msgstr "" #~ "nabigo ang paglalaan ng memorya, naglalaan ng %u bytes para sa native code" +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "dapat tukuyin lahat ng SCK/MOSI/MISO" + #, fuzzy #~ msgid "name must be a string" #~ msgstr "ang keywords dapat strings" +#~ msgid "non-hex digit found" +#~ msgstr "non-hex digit nahanap" + #~ msgid "not a valid ADC Channel: %d" #~ msgstr "hindi tamang ADC Channel: %d" +#~ msgid "odd-length string" +#~ msgstr "odd-length string" + #~ msgid "pin does not have IRQ capabilities" #~ msgstr "walang IRQ capabilities ang pin" #~ msgid "position must be 2-tuple" #~ msgstr "position ay dapat 2-tuple" +#~ msgid "queue overflow" +#~ msgstr "puno na ang pila (overflow)" + #~ msgid "row must be packed and word aligned" #~ msgstr "row ay dapat packed at ang word nakahanay" #~ msgid "scan failed" #~ msgstr "nabigo ang pag-scan" +#~ msgid "struct: cannot index" +#~ msgstr "struct: hindi ma-index" + +#~ msgid "struct: index out of range" +#~ msgstr "struct: index hindi maabot" + +#~ msgid "struct: no fields" +#~ msgstr "struct: walang fields" + +#~ msgid "syntax error in JSON" +#~ msgstr "sintaks error sa JSON" + +#~ msgid "syntax error in uctypes descriptor" +#~ msgstr "may pagkakamali sa sintaks sa uctypes descriptor" + #~ msgid "too many arguments" #~ msgstr "masyadong maraming argumento" diff --git a/locale/fr.po b/locale/fr.po index 9136376758..6f82b8f9d4 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2019-04-14 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -442,10 +442,6 @@ msgstr "On ne peut faire de sous-classes de tranches" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Pas de transfert sans broches MOSI et MISO." -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "Impossible d'obtenir la taille du scalaire sans ambigüité" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Impossible d'écrire sans broche MOSI." @@ -559,10 +555,6 @@ msgstr "Le mode Drive n'est pas utilisé quand la direction est 'input'." msgid "EXTINT channel already in use" msgstr "Canal EXTINT déjà utilisé" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Erreur dans l'expression régulière" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -770,14 +762,10 @@ msgstr "" msgid "Group full" msgstr "Groupe plein" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "opération d'E/S sur un fichier fermé" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "opération sur I2C non supportée" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1137,7 +1125,7 @@ msgstr "adresse hors limites" msgid "Read-only" msgstr "Lecture seule" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "Système de fichier en lecture seule" @@ -1166,7 +1154,7 @@ msgstr "Mode sans-échec! Auto-chargement désactivé.\n" msgid "Running in safe mode! Not running saved code.\n" msgstr "Mode sans-échec! Le code sauvegardé n'est pas éxecuté.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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')" @@ -1199,10 +1187,6 @@ msgstr "Tranche et valeur de tailles différentes" msgid "Slices not supported" msgstr "Tranches non supportées" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "Fractionnement avec des sous-captures" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "La pile doit être au moins de 256" @@ -1452,19 +1436,6 @@ msgstr "__init__() doit retourner None, pas '%s'" msgid "__new__ arg must be a user-type" msgstr "l'argument __new__ doit être d'un type défini par l'utilisateur" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "un objet 'bytes-like' est requis" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "abort() appelé" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "l'adresse %08x n'est pas alignée sur %d octets" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "adresse hors limites" @@ -1522,10 +1493,6 @@ msgstr "opération binaire '%q' non implémentée" msgid "bits must be 7, 8 or 9" msgstr "bits doivent être 7, 8 ou 9" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "les bits doivent être 8" - #: shared-bindings/audiomixer/Mixer.c #, fuzzy msgid "bits_per_sample must be 8 or 16" @@ -1559,10 +1526,6 @@ msgstr "les tranches de tampon doivent être de longueurs égales" msgid "buffer too small" msgstr "tampon trop petit" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "les tampons doivent être de la même longueur" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "les boutons doivent être des digitalio.DigitalInOut" @@ -1808,10 +1771,6 @@ msgstr "division complexe par zéro" msgid "complex values not supported" msgstr "valeurs complexes non supportées" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "entête de compression" - #: py/parse.c msgid "constant must be an integer" msgstr "constante doit être un entier" @@ -1856,10 +1815,6 @@ msgstr "division par zéro" msgid "empty" msgstr "vide" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "tas vide" - #: py/objstr.c msgid "empty separator" msgstr "séparateur vide" @@ -1931,10 +1886,6 @@ msgstr "le system de fichier doit fournir une méthode 'mount'" msgid "first argument to super() must be type" msgstr "le premier argument de super() doit être un type" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "le 1er bit doit être le MSB" - #: py/objint.c msgid "float too big" msgstr "nombre à virgule flottante trop grand" @@ -2003,10 +1954,6 @@ msgstr "le générateur a ignoré GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic doit être long de 2048 octets" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "le tas doit être une liste" - #: py/compile.c msgid "identifier redefined as global" msgstr "identifiant redéfini comme global" @@ -2023,10 +1970,6 @@ msgstr "format incomplet" msgid "incomplete format key" msgstr "clé de format incomplète" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "espacement incorrect" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -2053,38 +1996,10 @@ msgstr "entier requis" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "périphérique I2C invalide" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "périphérique SPI invalide" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "arguments invalides" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "certificat invalide" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "index invalide pour dupterm" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "format invalide" - #: py/objstr.c msgid "invalid format specifier" msgstr "spécification de format invalide" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "clé invalide" - #: py/compile.c msgid "invalid micropython decorator" msgstr "décorateur micropython invalide" @@ -2217,10 +2132,6 @@ msgstr "héritages multiples non supportés" msgid "must raise an object" msgstr "doit lever un objet" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "sck, mosi et miso doivent tous être spécifiés" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "doit utiliser un argument nommé pour une fonction key" @@ -2289,10 +2200,6 @@ msgid "non-default argument follows default argument" msgstr "" "un argument sans valeur par défaut suit un argument avec valeur par défaut" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "chiffre non-héxadécimale trouvé" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "argument non-nommé après */**" @@ -2360,10 +2267,6 @@ msgstr "l'objet de type '%s' n'a pas de len()" msgid "object with buffer protocol required" msgstr "un objet avec un protocole de tampon est nécessaire" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "chaîne de longueur impaire" - #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2458,10 +2361,6 @@ msgstr "le 3e argument de pow() ne peut être 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() avec 3 arguments nécessite des entiers" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "dépassement de file" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "'rawbuf' n'est pas de la même taille que 'buf'" @@ -2579,18 +2478,6 @@ msgid "string not supported; use bytes or bytearray" msgstr "" "chaîne de carac. non supportée; utilisez des bytes ou un tableau de bytes" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "struct: indexage impossible" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "struct: index hors limites" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "struct: aucun champs" - #: py/objstr.c msgid "substring not found" msgstr "sous-chaîne non trouvée" @@ -2599,14 +2486,6 @@ msgstr "sous-chaîne non trouvée" msgid "super() can't find self" msgstr "super() ne peut pas trouver self" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "erreur de syntaxe JSON" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "erreur de syntaxe dans le descripteur d'uctypes" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "le seuil doit être dans la gamme 0-65536" @@ -2840,6 +2719,9 @@ msgstr "'step' nul" #~ msgid "Cannot set STA config" #~ msgstr "Impossible de configurer STA" +#~ msgid "Cannot unambiguously get sizeof scalar" +#~ msgstr "Impossible d'obtenir la taille du scalaire sans ambigüité" + #~ msgid "Cannot update i/f status" #~ msgstr "le status i/f ne peut être mis à jour" @@ -2864,11 +2746,14 @@ msgstr "'step' nul" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Erreur dans ffi_prep_cif" +#~ msgid "Error in regex" +#~ msgstr "Erreur dans l'expression régulière" + #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Echec de l'obtention de mutex" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Echec de l'ajout de caractéristique, err 0x%04x" @@ -2876,7 +2761,7 @@ msgstr "'step' nul" #~ msgid "Failed to add service" #~ msgstr "Echec de l'ajout de service" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Echec de l'ajout de service, err 0x%04x" @@ -2892,7 +2777,7 @@ msgstr "'step' nul" #~ msgid "Failed to continue scanning" #~ msgstr "Impossible de poursuivre le scan" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "Impossible de poursuivre le scan, err 0x%04x" @@ -2916,7 +2801,7 @@ msgstr "'step' nul" #~ msgid "Failed to start advertising" #~ msgstr "Echec du démarrage de la diffusion" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Impossible de commencer à diffuser, err 0x%04x" @@ -2928,7 +2813,7 @@ msgstr "'step' nul" #~ msgid "Failed to stop advertising" #~ msgstr "Echec de l'arrêt de diffusion" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Echec de l'arrêt de diffusion, err 0x%04x" @@ -2938,6 +2823,9 @@ msgstr "'step' nul" #~ msgid "GPIO16 does not support pull up." #~ msgstr "Le GPIO16 ne supporte pas le tirage (pull-up)" +#~ msgid "I2C operation not supported" +#~ msgstr "opération sur I2C non supportée" + #~ msgid "Invalid bit clock pin" #~ msgstr "Broche invalide pour 'bit clock'" @@ -3003,10 +2891,12 @@ msgstr "'step' nul" #~ msgid "STA required" #~ msgstr "'STA' requis" -#, c-format #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Assertion en mode 'soft-device', id: 0x%08lX, pc: 0x%08lX" +#~ msgid "Splitting with sub-captures" +#~ msgstr "Fractionnement avec des sous-captures" + #~ msgid "Tile indices must be 0 - 255" #~ msgstr "Les indices des tuiles doivent être compris entre 0 et 255 " @@ -3032,12 +2922,27 @@ msgstr "'step' nul" #~ msgid "Voice index too high" #~ msgstr "Index de la voix trop grand" +#~ msgid "a bytes-like object is required" +#~ msgstr "un objet 'bytes-like' est requis" + +#~ msgid "abort() called" +#~ msgstr "abort() appelé" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "l'adresse %08x n'est pas alignée sur %d octets" + #~ msgid "bad GATT role" #~ msgstr "mauvais rôle GATT" +#~ msgid "bits must be 8" +#~ msgstr "les bits doivent être 8" + #~ msgid "buffer too long" #~ msgstr "tampon trop long" +#~ msgid "buffers must be the same length" +#~ msgstr "les tampons doivent être de la même longueur" + #~ msgid "can query only one param" #~ msgstr "ne peut demander qu'un seul paramètre" @@ -3057,36 +2962,72 @@ msgstr "'step' nul" #~ msgstr "" #~ "'characteristics' inclut un objet qui n'est pas une 'Characteristic'" +#~ msgid "compression header" +#~ msgstr "entête de compression" + #~ msgid "either pos or kw args are allowed" #~ msgstr "soit 'pos', soit 'kw' est permis en argument" +#~ msgid "empty heap" +#~ msgstr "tas vide" + #~ msgid "expected a DigitalInOut" #~ msgstr "objet DigitalInOut attendu" #~ msgid "expecting a pin" #~ msgstr "une broche (Pin) est attendue" +#~ msgid "firstbit must be MSB" +#~ msgstr "le 1er bit doit être le MSB" + #~ msgid "flash location must be below 1MByte" #~ msgstr "l'emplacement en mémoire flash doit être inférieur à 1Mo" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "la fréquence doit être soit 80MHz soit 160MHz" +#~ msgid "heap must be a list" +#~ msgstr "le tas doit être une liste" + #~ msgid "impossible baudrate" #~ msgstr "débit impossible" +#~ msgid "incorrect padding" +#~ msgstr "espacement incorrect" + #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "intervalle hors bornes 0.0020 à 10.24" +#~ msgid "invalid I2C peripheral" +#~ msgstr "périphérique I2C invalide" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "périphérique SPI invalide" + #~ msgid "invalid alarm" #~ msgstr "alarme invalide" +#~ msgid "invalid arguments" +#~ msgstr "arguments invalides" + #~ msgid "invalid buffer length" #~ msgstr "longueur de tampon invalide" +#~ msgid "invalid cert" +#~ msgstr "certificat invalide" + #~ msgid "invalid data bits" #~ msgstr "bits de données invalides" +#~ msgid "invalid dupterm index" +#~ msgstr "index invalide pour dupterm" + +#~ msgid "invalid format" +#~ msgstr "format invalide" + +#~ msgid "invalid key" +#~ msgstr "clé invalide" + #~ msgid "invalid pin" #~ msgstr "broche invalide" @@ -3100,13 +3041,22 @@ msgstr "'step' nul" #~ msgstr "" #~ "l'allocation de mémoire a échoué en allouant %u octets pour un code natif" +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "sck, mosi et miso doivent tous être spécifiés" + #, fuzzy #~ msgid "name must be a string" #~ msgstr "les noms doivent être des chaînes de caractère" +#~ msgid "non-hex digit found" +#~ msgstr "chiffre non-héxadécimale trouvé" + #~ msgid "not a valid ADC Channel: %d" #~ msgstr "canal ADC non valide : %d" +#~ msgid "odd-length string" +#~ msgstr "chaîne de longueur impaire" + #~ msgid "pin does not have IRQ capabilities" #~ msgstr "la broche ne supporte pas les interruptions (IRQ)" @@ -3114,12 +3064,30 @@ msgstr "'step' nul" #~ msgid "position must be 2-tuple" #~ msgstr "position doit être un 2-tuple" +#~ msgid "queue overflow" +#~ msgstr "dépassement de file" + #~ msgid "scan failed" #~ msgstr "échec du scan" #~ msgid "services includes an object that is not a Service" #~ msgstr "'services' inclut un object qui n'est pas un 'Service'" +#~ msgid "struct: cannot index" +#~ msgstr "struct: indexage impossible" + +#~ msgid "struct: index out of range" +#~ msgstr "struct: index hors limites" + +#~ msgid "struct: no fields" +#~ msgstr "struct: aucun champs" + +#~ msgid "syntax error in JSON" +#~ msgstr "erreur de syntaxe JSON" + +#~ msgid "syntax error in uctypes descriptor" +#~ msgstr "erreur de syntaxe dans le descripteur d'uctypes" + #~ msgid "tile index out of bounds" #~ msgstr "indice de tuile hors limites" diff --git a/locale/it_IT.po b/locale/it_IT.po index d4035fdf09..f7b7b3a528 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -437,10 +437,6 @@ msgstr "Impossibile subclasare slice" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Impossibile trasferire senza i pin MOSI e MISO." -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Impossibile scrivere senza pin MOSI." @@ -555,10 +551,6 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "Canale EXTINT già in uso" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Errore nella regex" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -764,14 +756,10 @@ msgstr "" msgid "Group full" msgstr "Gruppo pieno" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "operazione I/O su file chiuso" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "operazione I2C non supportata" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1126,7 +1114,7 @@ msgstr "indirizzo fuori limite" msgid "Read-only" msgstr "Sola lettura" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "Filesystem in sola lettura" @@ -1155,7 +1143,7 @@ msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n" msgid "Running in safe mode! Not running saved code.\n" msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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" @@ -1189,10 +1177,6 @@ msgstr "" msgid "Slices not supported" msgstr "Slice non supportate" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "Suddivisione con sotto-catture" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "La dimensione dello stack deve essere almeno 256" @@ -1422,19 +1406,6 @@ msgstr "__init__() deve ritornare None, non '%s'" msgid "__new__ arg must be a user-type" msgstr "" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "un oggetto byte-like è richiesto" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "abort() chiamato" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "l'indirizzo %08x non è allineato a %d bytes" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "indirizzo fuori limite" @@ -1492,10 +1463,6 @@ msgstr "operazione binaria %q non implementata" msgid "bits must be 7, 8 or 9" msgstr "i bit devono essere 7, 8 o 9" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "i bit devono essere 8" - #: shared-bindings/audiomixer/Mixer.c #, fuzzy msgid "bits_per_sample must be 8 or 16" @@ -1529,10 +1496,6 @@ msgstr "slice del buffer devono essere della stessa lunghezza" msgid "buffer too small" msgstr "buffer troppo piccolo" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "i buffer devono essere della stessa lunghezza" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1766,10 +1729,6 @@ msgstr "complex divisione per zero" msgid "complex values not supported" msgstr "valori complessi non supportai" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "compressione dell'header" - #: py/parse.c msgid "constant must be an integer" msgstr "la costante deve essere un intero" @@ -1815,10 +1774,6 @@ msgstr "divisione per zero" msgid "empty" msgstr "vuoto" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "heap vuoto" - #: py/objstr.c msgid "empty separator" msgstr "separatore vuoto" @@ -1890,10 +1845,6 @@ msgstr "il filesystem deve fornire un metodo di mount" msgid "first argument to super() must be type" msgstr "" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "il primo bit deve essere il più significativo (MSB)" - #: py/objint.c msgid "float too big" msgstr "float troppo grande" @@ -1963,10 +1914,6 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "graphic deve essere lunga 2048 byte" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "l'heap deve essere una lista" - #: py/compile.c msgid "identifier redefined as global" msgstr "identificatore ridefinito come globale" @@ -1983,10 +1930,6 @@ msgstr "formato incompleto" msgid "incomplete format key" msgstr "" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "padding incorretto" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -2013,38 +1956,10 @@ msgstr "intero richiesto" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "periferica I2C invalida" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "periferica SPI invalida" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "argomenti non validi" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "certificato non valido" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "indice dupterm non valido" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "formato non valido" - #: py/objstr.c msgid "invalid format specifier" msgstr "specificatore di formato non valido" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "chiave non valida" - #: py/compile.c msgid "invalid micropython decorator" msgstr "decoratore non valido in micropython" @@ -2178,10 +2093,6 @@ msgstr "ereditarietà multipla non supportata" msgid "must raise an object" msgstr "deve lanciare un oggetto" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "è necessario specificare tutte le sck/mosi/miso" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2249,10 +2160,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "argomento non predefinito segue argmoento predfinito" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "trovata cifra non esadecimale" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "argomento non nominato dopo */**" @@ -2321,10 +2228,6 @@ msgstr "l'oggetto di tipo '%s' non implementa len()" msgid "object with buffer protocol required" msgstr "" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "stringa di lunghezza dispari" - #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2416,10 +2319,6 @@ msgstr "il terzo argomento di pow() non può essere 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() con 3 argomenti richiede interi" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "overflow della coda" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2536,18 +2435,6 @@ msgstr "indici della stringa devono essere interi, non %s" msgid "string not supported; use bytes or bytearray" msgstr "" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "struct: impossibile indicizzare" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "struct: indice fuori intervallo" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "struct: nessun campo" - #: py/objstr.c msgid "substring not found" msgstr "sottostringa non trovata" @@ -2556,14 +2443,6 @@ msgstr "sottostringa non trovata" msgid "super() can't find self" msgstr "" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "errore di sintassi nel JSON" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "errore di sintassi nel descrittore uctypes" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "la soglia deve essere nell'intervallo 0-65536" @@ -2795,6 +2674,10 @@ msgstr "zero step" #~ msgid "Cannot set STA config" #~ msgstr "Impossibile impostare la configurazione della STA" +#~ msgid "Cannot unambiguously get sizeof scalar" +#~ msgstr "" +#~ "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente" + #~ msgid "Cannot update i/f status" #~ msgstr "Impossibile aggiornare status di i/f" @@ -2820,11 +2703,14 @@ msgstr "zero step" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Errore in ffi_prep_cif" +#~ msgid "Error in regex" +#~ msgstr "Errore nella regex" + #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Impossibile allocare buffer RX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Impossibile fermare advertisement. status: 0x%02x" @@ -2832,7 +2718,7 @@ msgstr "zero step" #~ msgid "Failed to add service" #~ msgstr "Impossibile fermare advertisement. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Impossibile fermare advertisement. status: 0x%02x" @@ -2848,7 +2734,7 @@ msgstr "zero step" #~ msgid "Failed to continue scanning" #~ msgstr "Impossible iniziare la scansione. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "Impossible iniziare la scansione. status: 0x%02x" @@ -2872,7 +2758,7 @@ msgstr "zero step" #~ msgid "Failed to start advertising" #~ msgstr "Impossibile avviare advertisement. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Impossibile avviare advertisement. status: 0x%02x" @@ -2884,13 +2770,16 @@ msgstr "zero step" #~ msgid "Failed to stop advertising" #~ msgstr "Impossibile fermare advertisement. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Impossibile fermare advertisement. status: 0x%02x" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 non supporta pull-up" +#~ msgid "I2C operation not supported" +#~ msgstr "operazione I2C non supportata" + #~ msgid "Invalid bit clock pin" #~ msgstr "Pin del clock di bit non valido" @@ -2948,6 +2837,9 @@ msgstr "zero step" #~ msgid "STA required" #~ msgstr "STA richiesta" +#~ msgid "Splitting with sub-captures" +#~ msgstr "Suddivisione con sotto-catture" + #~ msgid "UART(%d) does not exist" #~ msgstr "UART(%d) non esistente" @@ -2966,9 +2858,24 @@ msgstr "zero step" #~ msgid "[addrinfo error %d]" #~ msgstr "[errore addrinfo %d]" +#~ msgid "a bytes-like object is required" +#~ msgstr "un oggetto byte-like è richiesto" + +#~ msgid "abort() called" +#~ msgstr "abort() chiamato" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "l'indirizzo %08x non è allineato a %d bytes" + +#~ msgid "bits must be 8" +#~ msgstr "i bit devono essere 8" + #~ msgid "buffer too long" #~ msgstr "buffer troppo lungo" +#~ msgid "buffers must be the same length" +#~ msgstr "i buffer devono essere della stessa lunghezza" + #~ msgid "can query only one param" #~ msgstr "è possibile interrogare solo un parametro" @@ -2984,9 +2891,15 @@ msgstr "zero step" #~ msgid "can't set STA config" #~ msgstr "impossibile impostare le configurazioni della STA" +#~ msgid "compression header" +#~ msgstr "compressione dell'header" + #~ msgid "either pos or kw args are allowed" #~ msgstr "sono permesse solo gli argomenti pos o kw" +#~ msgid "empty heap" +#~ msgstr "heap vuoto" + #~ msgid "expected a DigitalInOut" #~ msgstr "DigitalInOut atteso" @@ -2996,24 +2909,54 @@ msgstr "zero step" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" +#~ msgid "firstbit must be MSB" +#~ msgstr "il primo bit deve essere il più significativo (MSB)" + #~ msgid "flash location must be below 1MByte" #~ msgstr "Locazione della flash deve essere inferiore a 1mb" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "la frequenza può essere o 80Mhz o 160Mhz" +#~ msgid "heap must be a list" +#~ msgstr "l'heap deve essere una lista" + #~ msgid "impossible baudrate" #~ msgstr "baudrate impossibile" +#~ msgid "incorrect padding" +#~ msgstr "padding incorretto" + +#~ msgid "invalid I2C peripheral" +#~ msgstr "periferica I2C invalida" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "periferica SPI invalida" + #~ msgid "invalid alarm" #~ msgstr "alarm non valido" +#~ msgid "invalid arguments" +#~ msgstr "argomenti non validi" + #~ msgid "invalid buffer length" #~ msgstr "lunghezza del buffer non valida" +#~ msgid "invalid cert" +#~ msgstr "certificato non valido" + #~ msgid "invalid data bits" #~ msgstr "bit dati invalidi" +#~ msgid "invalid dupterm index" +#~ msgstr "indice dupterm non valido" + +#~ msgid "invalid format" +#~ msgstr "formato non valido" + +#~ msgid "invalid key" +#~ msgstr "chiave non valida" + #~ msgid "invalid pin" #~ msgstr "pin non valido" @@ -3027,25 +2970,52 @@ msgstr "zero step" #~ msgstr "" #~ "allocazione di memoria fallita, allocazione di %d byte per codice nativo" +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "è necessario specificare tutte le sck/mosi/miso" + #, fuzzy #~ msgid "name must be a string" #~ msgstr "argomenti nominati devono essere stringhe" +#~ msgid "non-hex digit found" +#~ msgstr "trovata cifra non esadecimale" + #~ msgid "not a valid ADC Channel: %d" #~ msgstr "canale ADC non valido: %d" +#~ msgid "odd-length string" +#~ msgstr "stringa di lunghezza dispari" + #~ msgid "pin does not have IRQ capabilities" #~ msgstr "il pin non implementa IRQ" #~ msgid "position must be 2-tuple" #~ msgstr "position deve essere una 2-tuple" +#~ msgid "queue overflow" +#~ msgstr "overflow della coda" + #~ msgid "row must be packed and word aligned" #~ msgstr "la riga deve essere compattata e allineata alla parola" #~ msgid "scan failed" #~ msgstr "scansione fallita" +#~ msgid "struct: cannot index" +#~ msgstr "struct: impossibile indicizzare" + +#~ msgid "struct: index out of range" +#~ msgstr "struct: indice fuori intervallo" + +#~ msgid "struct: no fields" +#~ msgstr "struct: nessun campo" + +#~ msgid "syntax error in JSON" +#~ msgstr "errore di sintassi nel JSON" + +#~ msgid "syntax error in uctypes descriptor" +#~ msgstr "errore di sintassi nel descrittore uctypes" + #~ msgid "too many arguments" #~ msgstr "troppi argomenti" diff --git a/locale/ko.po b/locale/ko.po index b3b52c2e29..2c785e2902 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-04-17 11:24-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2019-05-06 14:22-0700\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" @@ -54,7 +54,7 @@ msgstr "%q 인덱스 범위를 벗어났습니다" msgid "%q indices must be integers, not %s" msgstr "%q 인덱스는 %s 가 아닌 정수 여야합니다" -#: shared-bindings/bleio/CharacteristicBuffer.c +#: shared-bindings/_bleio/CharacteristicBuffer.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c msgid "%q must be >= 1" msgstr "%q 는 >=1이어야합니다" @@ -219,16 +219,15 @@ msgstr "" msgid "A hardware interrupt channel is already in use" msgstr "" -#: shared-bindings/bleio/Address.c -#, c-format -msgid "Address is not %d bytes long or is in wrong format" -msgstr "" - -#: shared-bindings/bleio/Address.c +#: shared-bindings/_bleio/Address.c #, c-format msgid "Address must be %d bytes long" msgstr "" +#: shared-bindings/_bleio/Address.c +msgid "Address type out of range" +msgstr "" + #: ports/nrf/common-hal/busio/I2C.c msgid "All I2C peripherals are in use" msgstr "사용중인 모든 I2C주변 기기" @@ -256,11 +255,16 @@ msgstr "핀의 모든 타이머가 사용 중입니다" #: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/pulseio/PulseOut.c +#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: shared-module/_pew/PewPew.c msgid "All timers in use" msgstr "모든 타이머가 사용 중입니다" +#: ports/nrf/common-hal/_bleio/Adapter.c +msgid "Already advertising." +msgstr "" + #: ports/nrf/common-hal/analogio/AnalogOut.c msgid "AnalogOut functionality not supported" msgstr "" @@ -298,8 +302,12 @@ msgid "" "Auto-reload is on. Simply save files over USB to run them or enter REPL to " "disable.\n" msgstr "" -"자동 새로 고침이 켜져 있습니다. USB를 통해 파일을 저장하여 실행하십시오. 비활성화하려면 " -"REPL을 입력하십시오.\n" +"자동 새로 고침이 켜져 있습니다. USB를 통해 파일을 저장하여 실행하십시오. 비활" +"성화하려면 REPL을 입력하십시오.\n" + +#: shared-module/displayio/Display.c +msgid "Below minimum frame rate" +msgstr "" #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c msgid "Bit clock and word select must share a clock unit" @@ -313,6 +321,10 @@ msgstr "" msgid "Both pins must support hardware interrupts" msgstr "" +#: shared-bindings/displayio/Display.c +msgid "Brightness must be 0-1.0" +msgstr "" + #: shared-bindings/supervisor/__init__.c msgid "Brightness must be between 0 and 255" msgstr "밝기는 0에서 255 사이 여야합니다" @@ -321,11 +333,29 @@ msgstr "밝기는 0에서 255 사이 여야합니다" msgid "Brightness not adjustable" msgstr "밝기를 조절할 수 없습니다" +#: shared-bindings/_bleio/UUID.c +#, c-format +msgid "Buffer + offset too small %d %d %d" +msgstr "" + #: shared-module/usb_hid/Device.c #, c-format msgid "Buffer incorrect size. Should be %d bytes." msgstr "잘못된 크기의 버퍼. %d 바이트 여야합니다." +#: shared-bindings/displayio/Display.c +msgid "Buffer is not a bytearray." +msgstr "" + +#: shared-bindings/displayio/Display.c +msgid "Buffer is too small" +msgstr "" + +#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c +#, c-format +msgid "Buffer length %d too big. It must be less than %d" +msgstr "" + #: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c msgid "Buffer must be at least length 1" msgstr "잘못된 크기의 버퍼. >1 여야합니다" @@ -336,7 +366,7 @@ msgstr "잘못된 크기의 버퍼. >1 여야합니다" msgid "Bus pin %d is already in use" msgstr "" -#: shared-bindings/bleio/UUID.c +#: shared-bindings/_bleio/UUID.c msgid "Byte buffer must be 16 bytes." msgstr "잘못된 크기의 버퍼. 16 바이트 여야합니다." @@ -344,25 +374,17 @@ msgstr "잘못된 크기의 버퍼. 16 바이트 여야합니다." msgid "Bytes must be between 0 and 255." msgstr "바이트는 0에서 255 사이 여야합니다." +#: py/objtype.c +msgid "Call super().__init__() before accessing native object." +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Can not use dotstar with %s" msgstr "" -#: shared-bindings/bleio/Device.c -msgid "Can't add services in Central mode" -msgstr "센트랄(중앙) 모드에서는 서비스를 추가 할 수 없습니다" - -#: shared-bindings/bleio/Device.c -msgid "Can't advertise in Central mode" -msgstr "센트랄(중앙) 모드로 광고 (브로드 캐스트) 할 수 없습니다" - -#: shared-bindings/bleio/Device.c -msgid "Can't change the name in Central mode" -msgstr "센트랄(중앙) 모드에서는 이름을 변경할 수 없습니다" - -#: shared-bindings/bleio/Device.c -msgid "Can't connect in Peripheral mode" +#: ports/nrf/common-hal/_bleio/Characteristic.c +msgid "Can't set CCCD on local Characteristic" msgstr "" #: shared-bindings/displayio/Bitmap.c shared-bindings/pulseio/PulseIn.c @@ -410,23 +432,11 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" -#: shared-bindings/bleio/Service.c -msgid "Characteristic UUID doesn't match Service UUID" -msgstr "" - -#: ports/nrf/common-hal/bleio/Service.c -msgid "Characteristic already in use by another Service." -msgstr "" - -#: shared-bindings/bleio/CharacteristicBuffer.c +#: shared-bindings/_bleio/CharacteristicBuffer.c msgid "CharacteristicBuffer writing not provided" msgstr "" @@ -446,11 +456,29 @@ msgstr "" msgid "Column entry must be digitalio.DigitalInOut" msgstr "" +#: shared-bindings/displayio/I2CDisplay.c +msgid "Command must be 0-255" +msgstr "" + #: shared-bindings/displayio/FourWire.c shared-bindings/displayio/ParallelBus.c msgid "Command must be an int between 0 and 255" msgstr "명령은 0에서 255 사이의 정수(int) 여야합니다" -#: ports/nrf/common-hal/bleio/UUID.c +#: shared-bindings/_bleio/Connection.c +msgid "" +"Connection has been disconnected and can no longer be used. Create a new " +"connection." +msgstr "" + +#: py/persistentcode.c +msgid "Corrupt .mpy file" +msgstr "" + +#: py/emitglue.c +msgid "Corrupt raw code" +msgstr "" + +#: ports/nrf/common-hal/_bleio/UUID.c #, c-format msgid "Could not decode ble_uuid, err 0x%04x" msgstr "" @@ -459,11 +487,11 @@ msgstr "" msgid "Could not initialize UART" msgstr "" -#: shared-module/audioio/Mixer.c shared-module/audioio/WaveFile.c +#: shared-module/audiocore/WaveFile.c shared-module/audiomixer/Mixer.c msgid "Couldn't allocate first buffer" msgstr "" -#: shared-module/audioio/Mixer.c shared-module/audioio/WaveFile.c +#: shared-module/audiocore/WaveFile.c shared-module/audiomixer/Mixer.c msgid "Couldn't allocate second buffer" msgstr "" @@ -480,24 +508,28 @@ msgstr "DAC가 현재 사용 중입니다" msgid "Data 0 pin must be byte aligned" msgstr "" -#: shared-module/audioio/WaveFile.c +#: shared-module/audiocore/WaveFile.c msgid "Data chunk must follow fmt chunk" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c -#: ports/nrf/common-hal/bleio/Peripheral.c +#: ports/nrf/common-hal/_bleio/Adapter.c msgid "Data too large for advertisement packet" msgstr "광고 (브로드 캐스트) 패킷에 대한 데이터가 너무 큽니다" -#: ports/nrf/common-hal/bleio/Device.c -msgid "Data too large for the advertisement packet" -msgstr "광고 (브로드 캐스트) 패킷에 대한 데이터가 너무 큽니다" - #: shared-bindings/audiobusio/PDMIn.c msgid "Destination capacity is smaller than destination_length." msgstr "" +#: ports/nrf/common-hal/audiobusio/I2SOut.c +msgid "Device in use" +msgstr "" + #: shared-bindings/displayio/Display.c +msgid "Display must have a 16 bit colorspace." +msgstr "" + +#: shared-bindings/displayio/Display.c +#: shared-bindings/displayio/EPaperDisplay.c msgid "Display rotation must be in 90 degree increments" msgstr "" @@ -506,56 +538,62 @@ msgid "Drive mode not used when direction is input." msgstr "" #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c +#: ports/atmel-samd/common-hal/ps2io/Ps2.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c msgid "EXTINT channel already in use" msgstr "" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Regex에 오류가 있습니다." - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c msgid "Expected a %q" msgstr "%q 이 예상되었습니다." -#: shared-bindings/bleio/CharacteristicBuffer.c +#: shared-bindings/_bleio/CharacteristicBuffer.c +#: shared-bindings/_bleio/Descriptor.c msgid "Expected a Characteristic" msgstr "특성(Characteristic)이 예상되었습니다." -#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c -#: shared-bindings/bleio/Service.c +#: shared-bindings/_bleio/Characteristic.c +msgid "Expected a Service" +msgstr "" + +#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c +#: shared-bindings/_bleio/Service.c msgid "Expected a UUID" msgstr "UUID이 예상되었습니다." +#: shared-bindings/_bleio/Adapter.c +msgid "Expected an Address" +msgstr "" + #: shared-module/_pixelbuf/PixelBuf.c #, c-format msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to acquire mutex" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Failed initiate attribute read, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c ports/nrf/sd_mutex.c +#: shared-bindings/ps2io/Ps2.c +msgid "Failed sending command." +msgstr "" + +#: ports/nrf/sd_mutex.c #, c-format msgid "Failed to acquire mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Service.c -#, c-format -msgid "Failed to add characteristic, err 0x%04x" +#: ports/nrf/common-hal/_bleio/Service.c +msgid "Failed to add characteristic, NRF_ERROR_%q" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to add service" -msgstr "서비스를 추가하지 못했습니다" - -#: ports/nrf/common-hal/bleio/Peripheral.c +#: ports/nrf/common-hal/_bleio/Characteristic.c #, c-format -msgid "Failed to add service, err 0x%04x" -msgstr "서비스를 추가하지 못했습니다., 오류 0x%04x" +msgid "Failed to add descriptor, err 0x%04x" +msgstr "" #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" @@ -567,108 +605,101 @@ msgstr "" msgid "Failed to allocate RX buffer of %d bytes" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c -msgid "Failed to change softdevice state" +#: ports/nrf/common-hal/_bleio/Adapter.c +msgid "Failed to change softdevice state, NRF_ERROR_%q" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to connect:" -msgstr "연결할 수 없다" - -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to continue scanning" -msgstr "스캔을 계속할 수 없습니다" - -#: ports/nrf/common-hal/bleio/Scanner.c -#, c-format -msgid "Failed to continue scanning, err 0x%04x" -msgstr "스캔을 계속할 수 없습니다, 오류 0x%04x" - -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to create mutex" +#: ports/nrf/common-hal/_bleio/Adapter.c +msgid "Failed to connect: internal error" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c +#: ports/nrf/common-hal/_bleio/Adapter.c +msgid "Failed to connect: timeout" +msgstr "" + +#: ports/nrf/common-hal/_bleio/Service.c +msgid "Failed to create service, NRF_ERROR_%q" +msgstr "" + +#: ports/nrf/common-hal/_bleio/Connection.c msgid "Failed to discover services" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c +#: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to get local address" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c +#: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to get softdevice state" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/Characteristic.c #, c-format msgid "Failed to notify or indicate attribute value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/Connection.c +msgid "Failed to pair" +msgstr "" + +#: ports/nrf/common-hal/_bleio/Characteristic.c #, c-format msgid "Failed to read CCCD value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/__init__.c #, c-format msgid "Failed to read attribute value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/__init__.c #, c-format msgid "Failed to read gatts value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c +#: ports/nrf/common-hal/_bleio/UUID.c #, c-format msgid "Failed to register Vendor-Specific UUID, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to release mutex" -msgstr "" - -#: ports/nrf/common-hal/bleio/Characteristic.c ports/nrf/sd_mutex.c +#: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to start advertising" +#: ports/nrf/common-hal/_bleio/Adapter.c +msgid "Failed to start advertising, NRF_ERROR_%q" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c -#: ports/nrf/common-hal/bleio/Peripheral.c +#: ports/nrf/common-hal/_bleio/Adapter.c #, c-format -msgid "Failed to start advertising, err 0x%04x" +msgid "Failed to start connecting, error 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to start scanning" +#: ports/nrf/common-hal/_bleio/Connection.c +msgid "Failed to start pairing, NRF_ERROR_%q" msgstr "" -#: ports/nrf/common-hal/bleio/Scanner.c +#: ports/nrf/common-hal/_bleio/Adapter.c #, c-format msgid "Failed to start scanning, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Device.c -msgid "Failed to stop advertising" +#: ports/nrf/common-hal/_bleio/Adapter.c +msgid "Failed to stop advertising, NRF_ERROR_%q" msgstr "" -#: ports/nrf/common-hal/bleio/Broadcaster.c -#: ports/nrf/common-hal/bleio/Peripheral.c +#: ports/nrf/common-hal/_bleio/Characteristic.c #, c-format -msgid "Failed to stop advertising, err 0x%04x" +msgid "Failed to write CCCD, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/__init__.c #, c-format msgid "Failed to write attribute value, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/__init__.c #, c-format msgid "Failed to write gatts value, err 0x%04x" msgstr "" @@ -704,18 +735,19 @@ msgstr "" msgid "Function requires lock" msgstr "" +#: shared-bindings/displayio/Display.c +#: shared-bindings/displayio/EPaperDisplay.c +msgid "Group already used" +msgstr "" + #: shared-module/displayio/Group.c msgid "Group full" msgstr "" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -760,7 +792,7 @@ msgstr "" msgid "Invalid capture period. Valid range: 1 - 500" msgstr "" -#: shared-bindings/audioio/Mixer.c +#: shared-bindings/audiomixer/Mixer.c msgid "Invalid channel count" msgstr "" @@ -768,11 +800,11 @@ msgstr "" msgid "Invalid direction." msgstr "" -#: shared-module/audioio/WaveFile.c +#: shared-module/audiocore/WaveFile.c msgid "Invalid file" msgstr "파일이 유효하지 않습니다" -#: shared-module/audioio/WaveFile.c +#: shared-module/audiocore/WaveFile.c msgid "Invalid format chunk size" msgstr "형식 청크 크기가 잘못되었습니다" @@ -810,15 +842,27 @@ msgstr "핀이 유효하지 않습니다" msgid "Invalid polarity" msgstr "" +#: shared-bindings/_bleio/Characteristic.c +msgid "Invalid properties" +msgstr "" + #: shared-bindings/microcontroller/__init__.c msgid "Invalid run mode." msgstr "" -#: shared-bindings/audioio/Mixer.c +#: shared-module/_bleio/Attribute.c +msgid "Invalid security_mode" +msgstr "" + +#: shared-bindings/audiomixer/Mixer.c +msgid "Invalid voice" +msgstr "" + +#: shared-bindings/audiomixer/Mixer.c msgid "Invalid voice count" msgstr "" -#: shared-module/audioio/WaveFile.c +#: shared-module/audiocore/WaveFile.c msgid "Invalid wave file" msgstr "" @@ -826,6 +870,10 @@ msgstr "" msgid "LHS of keyword arg must be an id" msgstr "" +#: shared-module/displayio/Group.c +msgid "Layer already in a group." +msgstr "" + #: shared-module/displayio/Group.c msgid "Layer must be a Group or TileGrid subclass." msgstr "" @@ -870,8 +918,12 @@ msgstr "" msgid "Microphone startup delay must be in range 0.0 to 1.0" msgstr "" -#: shared-bindings/displayio/Display.c -msgid "Must be a Group subclass." +#: shared-bindings/displayio/Group.c +msgid "Must be a %q subclass." +msgstr "" + +#: ports/nrf/common-hal/_bleio/Characteristic.c +msgid "No CCCD for this Characteristic" msgstr "" #: ports/atmel-samd/common-hal/analogio/AnalogOut.c @@ -907,11 +959,19 @@ msgstr "" msgid "No hardware random available" msgstr "" +#: ports/atmel-samd/common-hal/ps2io/Ps2.c +msgid "No hardware support on clk pin" +msgstr "" + #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/pulseio/PulseIn.c msgid "No hardware support on pin" msgstr "" +#: shared-module/touchio/TouchIn.c +msgid "No pulldown on pin; 1Mohm recommended" +msgstr "" + #: py/moduerrno.c msgid "No space left on device" msgstr "" @@ -920,11 +980,13 @@ msgstr "" msgid "No such file/directory" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c +#: ports/nrf/common-hal/_bleio/__init__.c +#: shared-bindings/_bleio/CharacteristicBuffer.c msgid "Not connected" msgstr "" #: shared-bindings/audiobusio/I2SOut.c shared-bindings/audioio/AudioOut.c +#: shared-bindings/audiopwmio/PWMAudioOut.c msgid "Not playing" msgstr "" @@ -950,8 +1012,8 @@ msgstr "" #: shared-module/displayio/OnDiskBitmap.c #, c-format msgid "" -"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp " -"given" +"Only monochrome, indexed 4bpp or 8bpp, and 16bpp or greater BMPs supported: " +"%d bpp given" msgstr "" #: shared-bindings/_pixelbuf/PixelBuf.c @@ -989,6 +1051,14 @@ msgstr "" msgid "Plus any modules on the filesystem\n" msgstr "" +#: shared-bindings/ps2io/Ps2.c +msgid "Pop from an empty Ps2 buffer" +msgstr "" + +#: shared-bindings/_bleio/Adapter.c +msgid "Prefix buffer must be on the heap" +msgstr "" + #: main.c msgid "Press any key to enter the REPL. Use CTRL-D to reload." msgstr "" @@ -1013,7 +1083,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "" @@ -1021,6 +1091,10 @@ msgstr "" msgid "Read-only object" msgstr "" +#: shared-bindings/displayio/EPaperDisplay.c +msgid "Refresh too soon" +msgstr "" + #: ports/atmel-samd/common-hal/audioio/AudioOut.c msgid "Right channel unsupported" msgstr "" @@ -1037,19 +1111,24 @@ msgstr "" msgid "Running in safe mode! Not running saved code.\n" msgstr "" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c msgid "SDA or SCL needs a pull up" msgstr "" -#: shared-bindings/audioio/Mixer.c +#: shared-bindings/audiomixer/Mixer.c msgid "Sample rate must be positive" msgstr "" #: ports/atmel-samd/common-hal/audioio/AudioOut.c +#: ports/nrf/common-hal/audiopwmio/PWMAudioOut.c #, c-format msgid "Sample rate too high. It must be less than %d" msgstr "" +#: ports/nrf/common-hal/_bleio/Adapter.c +msgid "Scan already in progess. Stop with stop_scan." +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Serializer in use" @@ -1064,15 +1143,6 @@ msgstr "" msgid "Slices not supported" msgstr "" -#: ports/nrf/common-hal/bleio/Adapter.c -#, c-format -msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -msgstr "" - -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1090,6 +1160,12 @@ msgid "" "your CIRCUITPY drive:\n" msgstr "" +#: supervisor/shared/safe_mode.c +msgid "" +"The `microcontroller` module was used to boot into safe mode. Press reset to " +"exit safe mode.\n" +msgstr "" + #: supervisor/shared/safe_mode.c msgid "" "The microcontroller's power dipped. Please make sure your power supply " @@ -1104,19 +1180,19 @@ msgid "" "exit safe mode.\n" msgstr "" -#: shared-module/audioio/Mixer.c +#: shared-module/audiomixer/MixerVoice.c msgid "The sample's bits_per_sample does not match the mixer's" msgstr "" -#: shared-module/audioio/Mixer.c +#: shared-module/audiomixer/MixerVoice.c msgid "The sample's channel count does not match the mixer's" msgstr "" -#: shared-module/audioio/Mixer.c +#: shared-module/audiomixer/MixerVoice.c msgid "The sample's sample rate does not match the mixer's" msgstr "" -#: shared-module/audioio/Mixer.c +#: shared-module/audiomixer/MixerVoice.c msgid "The sample's signedness does not match the mixer's" msgstr "" @@ -1124,8 +1200,12 @@ msgstr "" msgid "Tile height must exactly divide bitmap height" msgstr "" +#: shared-bindings/displayio/TileGrid.c shared-module/displayio/TileGrid.c +msgid "Tile index out of bounds" +msgstr "" + #: shared-bindings/displayio/TileGrid.c -msgid "Tile indices must be 0 - 255" +msgid "Tile value out of bounds" msgstr "" #: shared-bindings/displayio/TileGrid.c @@ -1140,11 +1220,13 @@ msgstr "" msgid "Too many channels in sample." msgstr "" -#: shared-bindings/displayio/FourWire.c shared-bindings/displayio/ParallelBus.c +#: shared-bindings/displayio/FourWire.c shared-bindings/displayio/I2CDisplay.c +#: shared-bindings/displayio/ParallelBus.c msgid "Too many display busses" msgstr "" #: shared-bindings/displayio/Display.c +#: shared-bindings/displayio/EPaperDisplay.c msgid "Too many displays" msgstr "" @@ -1164,23 +1246,29 @@ msgstr "" msgid "USB Error" msgstr "" -#: shared-bindings/bleio/UUID.c -msgid "UUID integer value not in range 0 to 0xffff" +#: shared-bindings/_bleio/UUID.c +msgid "UUID integer value must be 0-0xffff" msgstr "" -#: shared-bindings/bleio/UUID.c +#: shared-bindings/_bleio/UUID.c msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'" msgstr "UUID문자열이 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'형식이 아닙니다" -#: shared-bindings/bleio/UUID.c +#: shared-bindings/_bleio/UUID.c msgid "UUID value is not str, int or byte buffer" -msgstr "UUID값이 문자열(str), 정수(int) 또는 바이트버퍼가(byte buffer) 아닙니다" +msgstr "" +"UUID값이 문자열(str), 정수(int) 또는 바이트버퍼가(byte buffer) 아닙니다" #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c msgid "Unable to allocate buffers for signed conversion" msgstr "" +#: shared-module/displayio/I2CDisplay.c +#, c-format +msgid "Unable to find I2C Display at %x" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Unable to find free GCLK" @@ -1198,7 +1286,7 @@ msgstr "" msgid "Unable to write to nvm." msgstr "" -#: ports/nrf/common-hal/bleio/UUID.c +#: ports/nrf/common-hal/_bleio/UUID.c msgid "Unexpected nrfx uuid type" msgstr "" @@ -1211,11 +1299,11 @@ msgstr "" msgid "Unsupported baudrate" msgstr "" -#: shared-module/displayio/Display.c +#: shared-module/displayio/display_core.c msgid "Unsupported display bus type" msgstr "" -#: shared-module/audioio/WaveFile.c +#: shared-module/audiocore/WaveFile.c msgid "Unsupported format" msgstr "" @@ -1227,12 +1315,18 @@ msgstr "" msgid "Unsupported pull value." msgstr "" -#: py/emitnative.c -msgid "Viper functions don't currently support more than 4 arguments" +#: ports/nrf/common-hal/_bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/Descriptor.c +msgid "Value length != required fixed length" msgstr "" -#: shared-module/audioio/Mixer.c -msgid "Voice index too high" +#: ports/nrf/common-hal/_bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/Descriptor.c +msgid "Value length > max_length" +msgstr "" + +#: py/emitnative.c +msgid "Viper functions don't currently support more than 4 arguments" msgstr "" #: main.c @@ -1271,19 +1365,6 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1317,10 +1398,6 @@ msgstr "" msgid "attributes not supported yet" msgstr "" -#: ports/nrf/common-hal/bleio/Characteristic.c -msgid "bad GATT role" -msgstr "" - #: py/builtinevex.c msgid "bad compile mode" msgstr "" @@ -1345,11 +1422,7 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "비트(bits)는 7, 8 또는 9 여야합니다" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "비트(bits)는 8이어야합니다" - -#: shared-bindings/audioio/Mixer.c +#: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "bits_per_sample은 8 또는 16이어야합니다." @@ -1362,7 +1435,7 @@ msgstr "" msgid "buf is too small. need %d bytes" msgstr "" -#: shared-bindings/audioio/RawSample.c +#: shared-bindings/audiocore/RawSample.c msgid "buffer must be a bytes-like object" msgstr "" @@ -1379,10 +1452,6 @@ msgstr "" msgid "buffer too small" msgstr "" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1573,10 +1642,6 @@ msgstr "" msgid "casting" msgstr "" -#: shared-bindings/bleio/Service.c -msgid "characteristics includes an object that is not a Characteristic" -msgstr "" - #: shared-bindings/_stage/Text.c msgid "chars buffer too small" msgstr "" @@ -1617,10 +1682,6 @@ msgstr "" msgid "complex values not supported" msgstr "" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "" - #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1663,10 +1724,6 @@ msgstr "" msgid "empty" msgstr "" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "" - #: py/objstr.c msgid "empty separator" msgstr "" @@ -1724,7 +1781,8 @@ msgstr "" msgid "extra positional arguments given" msgstr "" -#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c +#: shared-bindings/audiocore/WaveFile.c +#: shared-bindings/displayio/OnDiskBitmap.c msgid "file must be a file opened in byte mode" msgstr "" @@ -1736,10 +1794,6 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "" - #: py/objint.c msgid "float too big" msgstr "float이 너무 큽니다" @@ -1808,10 +1862,6 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "" - #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1828,10 +1878,6 @@ msgstr "" msgid "incomplete format key" msgstr "" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1853,42 +1899,15 @@ msgstr "" msgid "integer required" msgstr "정수가 필요합니다" -#: ports/nrf/common-hal/bleio/Broadcaster.c -msgid "interval not in range 0.0020 to 10.24" +#: shared-bindings/_bleio/Adapter.c +#, c-format +msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "ICT주변 기기가 유효하지 않습니다" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "SPI주변 기기가 유효하지 않습니다" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "cert가 유효하지 않습니다" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "Dupterm index가 유효하지 않습니다" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "형식가 유효하지 않습니다" - #: py/objstr.c msgid "invalid format specifier" msgstr "형식 지정자(format specifier)가 유효하지 않습니다" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "키가 유효하지 않습니다" - #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -1946,6 +1965,10 @@ msgstr "" msgid "length argument not allowed for this type" msgstr "" +#: shared-bindings/audiomixer/MixerVoice.c +msgid "level must be between 0 and 1" +msgstr "" + #: py/objarray.c msgid "lhs and rhs should be compatible" msgstr "" @@ -1974,6 +1997,12 @@ msgstr "" msgid "math domain error" msgstr "" +#: ports/nrf/common-hal/_bleio/Characteristic.c +#: ports/nrf/common-hal/_bleio/Descriptor.c +#, c-format +msgid "max_length must be 0-%d when fixed_length is %s" +msgstr "" + #: py/runtime.c msgid "maximum recursion depth exceeded" msgstr "" @@ -2007,10 +2036,6 @@ msgstr "" msgid "must raise an object" msgstr "" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2019,10 +2044,6 @@ msgstr "" msgid "name '%q' is not defined" msgstr "" -#: shared-bindings/bleio/Peripheral.c -msgid "name must be a string" -msgstr "" - #: py/runtime.c msgid "name not defined" msgstr "" @@ -2064,16 +2085,21 @@ msgstr "" msgid "no module named '%q'" msgstr "" +#: shared-bindings/displayio/FourWire.c shared-bindings/displayio/I2CDisplay.c +#: shared-bindings/displayio/ParallelBus.c +msgid "no reset pin available" +msgstr "" + #: py/runtime.c shared-bindings/_pixelbuf/__init__.c msgid "no such attribute" msgstr "" -#: py/compile.c -msgid "non-default argument follows default argument" +#: ports/nrf/common-hal/_bleio/Connection.c +msgid "non-UUID found in service_uuids_whitelist" msgstr "" -#: extmod/modubinascii.c -msgid "non-hex digit found" +#: py/compile.c +msgid "non-default argument follows default argument" msgstr "" #: py/compile.c @@ -2084,7 +2110,7 @@ msgstr "" msgid "non-keyword arg after keyword arg" msgstr "" -#: shared-bindings/bleio/UUID.c +#: shared-bindings/_bleio/UUID.c msgid "not a 128-bit UUID" msgstr "" @@ -2125,7 +2151,7 @@ msgstr "" msgid "object not callable" msgstr "" -#: py/sequence.c +#: py/sequence.c shared-bindings/displayio/Group.c msgid "object not in sequence" msgstr "" @@ -2142,14 +2168,18 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "" - #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" +#: ports/nrf/common-hal/audiobusio/PDMIn.c +msgid "only bit_depth=16 is supported" +msgstr "" + +#: ports/nrf/common-hal/audiobusio/PDMIn.c +msgid "only sample_rate=16000 is supported" +msgstr "" + #: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c #: shared-bindings/nvm/ByteArray.c msgid "only slices with step=1 (aka None) are supported" @@ -2225,10 +2255,6 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2258,7 +2284,7 @@ msgstr "" msgid "rsplit(None,n)" msgstr "" -#: shared-bindings/audioio/RawSample.c +#: shared-bindings/audiocore/RawSample.c msgid "" "sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or " "'B'" @@ -2276,10 +2302,6 @@ msgstr "" msgid "script compilation not supported" msgstr "" -#: shared-bindings/bleio/Peripheral.c -msgid "services includes an object that is not a Service" -msgstr "" - #: py/objstr.c msgid "sign not allowed in string format specifier" msgstr "" @@ -2345,18 +2367,6 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "" - #: py/objstr.c msgid "substring not found" msgstr "" @@ -2365,22 +2375,10 @@ msgstr "" msgid "super() can't find self" msgstr "" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" -#: shared-bindings/displayio/TileGrid.c -msgid "tile index out of bounds" -msgstr "" - #: shared-bindings/time/__init__.c msgid "time.struct_time() takes a 9-sequence" msgstr "" @@ -2393,7 +2391,7 @@ msgstr "" msgid "timeout >100 (units are now seconds, not msecs)" msgstr "" -#: shared-bindings/bleio/CharacteristicBuffer.c +#: shared-bindings/_bleio/CharacteristicBuffer.c msgid "timeout must be >= 0.0" msgstr "" @@ -2537,10 +2535,19 @@ msgstr "" msgid "unsupported types for %q: '%s', '%s'" msgstr "" +#: py/objint.c +#, c-format +msgid "value must fit in %d byte(s)" +msgstr "" + #: shared-bindings/displayio/Bitmap.c msgid "value_count must be > 0" msgstr "" +#: shared-bindings/_bleio/Adapter.c +msgid "window must be <= interval" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "write_args must be a list, tuple, or None" msgstr "" @@ -2568,3 +2575,54 @@ msgstr "" #: py/objrange.c msgid "zero step" msgstr "" + +#~ msgid "Can't add services in Central mode" +#~ msgstr "센트랄(중앙) 모드에서는 서비스를 추가 할 수 없습니다" + +#~ msgid "Can't advertise in Central mode" +#~ msgstr "센트랄(중앙) 모드로 광고 (브로드 캐스트) 할 수 없습니다" + +#~ msgid "Can't change the name in Central mode" +#~ msgstr "센트랄(중앙) 모드에서는 이름을 변경할 수 없습니다" + +#~ msgid "Data too large for the advertisement packet" +#~ msgstr "광고 (브로드 캐스트) 패킷에 대한 데이터가 너무 큽니다" + +#~ msgid "Error in regex" +#~ msgstr "Regex에 오류가 있습니다." + +#~ msgid "Failed to add service" +#~ msgstr "서비스를 추가하지 못했습니다" + +#~ msgid "Failed to add service, err 0x%04x" +#~ msgstr "서비스를 추가하지 못했습니다., 오류 0x%04x" + +#~ msgid "Failed to connect:" +#~ msgstr "연결할 수 없다" + +#~ msgid "Failed to continue scanning" +#~ msgstr "스캔을 계속할 수 없습니다" + +#~ msgid "Failed to continue scanning, err 0x%04x" +#~ msgstr "스캔을 계속할 수 없습니다, 오류 0x%04x" + +#~ msgid "bits must be 8" +#~ msgstr "비트(bits)는 8이어야합니다" + +#~ msgid "invalid I2C peripheral" +#~ msgstr "ICT주변 기기가 유효하지 않습니다" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "SPI주변 기기가 유효하지 않습니다" + +#~ msgid "invalid cert" +#~ msgstr "cert가 유효하지 않습니다" + +#~ msgid "invalid dupterm index" +#~ msgstr "Dupterm index가 유효하지 않습니다" + +#~ msgid "invalid format" +#~ msgstr "형식가 유효하지 않습니다" + +#~ msgid "invalid key" +#~ msgstr "키가 유효하지 않습니다" diff --git a/locale/pl.po b/locale/pl.po index 0edc5906e8..e1a3ccfd9c 100644 --- a/locale/pl.po +++ b/locale/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2019-03-19 18:37-0700\n" "Last-Translator: Radomir Dopieralski \n" "Language-Team: pl\n" @@ -431,10 +431,6 @@ msgstr "Nie można dziedziczyć ze slice" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Nie można przesyłać bez nóżek MOSI i MISO." -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "Wielkość skalara jest niejednoznaczna" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Nie można pisać bez nóżki MOSI." @@ -546,10 +542,6 @@ msgstr "Tryb sterowania nieużywany w trybie wejścia." msgid "EXTINT channel already in use" msgstr "Kanał EXTINT w użyciu" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Błąd w regex" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -751,14 +743,10 @@ msgstr "" msgid "Group full" msgstr "Grupa pełna" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "Operacja I/O na zamkniętym pliku" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "Operacja I2C nieobsługiwana" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1101,7 +1089,7 @@ msgstr "Zakres poza granicami" msgid "Read-only" msgstr "Tylko do odczytu" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "System plików tylko do odczytu" @@ -1129,7 +1117,7 @@ msgstr "Uruchomiony tryb bezpieczeństwa! Samo-przeładowanie wyłączone.\n" msgid "Running in safe mode! Not running saved code.\n" msgstr "Uruchomiony tryb bezpieczeństwa! Zapisany kod nie jest uruchamiany.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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" @@ -1161,10 +1149,6 @@ msgstr "Fragment i wartość są różnych długości." msgid "Slices not supported" msgstr "Fragmenty nieobsługiwane" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "Podział z podgrupami" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "Stos musi mieć co najmniej 256 bajtów" @@ -1400,19 +1384,6 @@ msgstr "__init__() powinien zwracać None, nie '%s'" msgid "__new__ arg must be a user-type" msgstr "Argument __new__ musi być typu użytkownika" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "wymagany obiekt typu bytes" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "Wywołano abort()" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "adres %08x nie jest wyrównany do %d bajtów" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "adres poza zakresem" @@ -1470,10 +1441,6 @@ msgstr "brak dwu-argumentowego operatora %q" msgid "bits must be 7, 8 or 9" msgstr "bits musi być 7, 8 lub 9" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "bits musi być 8" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "bits_per_sample musi być 8 lub 16" @@ -1504,10 +1471,6 @@ msgstr "fragmenty bufora muszą mieć tę samą długość" msgid "buffer too small" msgstr "zbyt mały bufor" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "bufory muszą mieć tę samą długość" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "buttons musi być digitalio.DigitalInOut" @@ -1738,10 +1701,6 @@ msgstr "zespolone dzielenie przez zero" msgid "complex values not supported" msgstr "wartości zespolone nieobsługiwane" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "nagłówek kompresji" - #: py/parse.c msgid "constant must be an integer" msgstr "stała musi być liczbą całkowitą" @@ -1785,10 +1744,6 @@ msgstr "dzielenie przez zero" msgid "empty" msgstr "puste" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "pusta sterta" - #: py/objstr.c msgid "empty separator" msgstr "pusty separator" @@ -1859,10 +1814,6 @@ msgstr "system plików musi mieć metodę mount" msgid "first argument to super() must be type" msgstr "pierwszy argument super() musi być typem" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "firstbit musi być MSB" - #: py/objint.c msgid "float too big" msgstr "float zbyt wielki" @@ -1931,10 +1882,6 @@ msgstr "generator zignorował GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic musi mieć 2048 bajtów długości" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "heap musi być listą" - #: py/compile.c msgid "identifier redefined as global" msgstr "nazwa przedefiniowana jako globalna" @@ -1951,10 +1898,6 @@ msgstr "niepełny format" msgid "incomplete format key" msgstr "niepełny klucz formatu" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "złe wypełnienie" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1981,38 +1924,10 @@ msgstr "wymagana liczba całkowita" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "złe I2C" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "złe SPI" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "złe arguemnty" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "zły ceryfikat" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "zły indeks dupterm" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "zły format" - #: py/objstr.c msgid "invalid format specifier" msgstr "zła specyfikacja formatu" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "zły klucz" - #: py/compile.c msgid "invalid micropython decorator" msgstr "zły dekorator micropythona" @@ -2141,10 +2056,6 @@ msgstr "wielokrotne dziedzicznie niewspierane" msgid "must raise an object" msgstr "wyjątek musi być obiektem" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "sck/mosi/miso muszą być podane" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "funkcja key musi być podana jako argument nazwany" @@ -2211,10 +2122,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "argument z wartością domyślną przed argumentem bez" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "cyfra nieszesnastkowa" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "argument nienazwany po */**" @@ -2281,10 +2188,6 @@ msgstr "obiekt typu '%s' nie ma len()" msgid "object with buffer protocol required" msgstr "wymagany obiekt z protokołem buforu" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "łańcuch o nieparzystej długości" - #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "offset poza zakresem" @@ -2373,10 +2276,6 @@ msgstr "trzeci argument pow() nie może być 0" msgid "pow() with 3 arguments requires integers" msgstr "trzyargumentowe pow() wymaga liczb całkowitych" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "przepełnienie kolejki" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "rawbuf nie jest tej samej wielkości co buf" @@ -2490,18 +2389,6 @@ msgstr "indeksy łańcucha muszą być całkowite, nie %s" msgid "string not supported; use bytes or bytearray" msgstr "łańcuchy nieobsługiwane; użyj bytes lub bytearray" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "struct: nie można indeksować" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "struct: indeks poza zakresem" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "struct: brak pól" - #: py/objstr.c msgid "substring not found" msgstr "brak pod-łańcucha" @@ -2510,14 +2397,6 @@ msgstr "brak pod-łańcucha" msgid "super() can't find self" msgstr "super() nie może znaleźć self" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "błąd składni w JSON" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "błąd składni w deskryptorze uctypes" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "threshold musi być w zakresie 0-65536" @@ -2734,6 +2613,9 @@ msgstr "zerowy krok" #~ msgid "Can't connect in Peripheral mode" #~ msgstr "Nie można się łączyć w trybie Peripheral" +#~ msgid "Cannot unambiguously get sizeof scalar" +#~ msgstr "Wielkość skalara jest niejednoznaczna" + #~ msgid "Characteristic UUID doesn't match Service UUID" #~ msgstr "UUID charakterystyki inny niż UUID serwisu" @@ -2743,17 +2625,19 @@ msgstr "zerowy krok" #~ msgid "Data too large for the advertisement packet" #~ msgstr "Zbyt dużo danych pakietu rozgłoszeniowego" +#~ msgid "Error in regex" +#~ msgstr "Błąd w regex" + #~ msgid "Failed to acquire mutex" #~ msgstr "Nie udało się uzyskać blokady" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Nie udało się dodać charakterystyki, błąd 0x$04x" #~ msgid "Failed to add service" #~ msgstr "Nie udało się dodać serwisu" -#, c-format #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Nie udało się dodać serwisu, błąd 0x%04x" @@ -2766,7 +2650,6 @@ msgstr "zerowy krok" #~ msgid "Failed to continue scanning" #~ msgstr "Nie udała się kontynuacja skanowania" -#, c-format #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "Nie udała się kontynuacja skanowania, błąd 0x%04x" @@ -2779,7 +2662,6 @@ msgstr "zerowy krok" #~ msgid "Failed to start advertising" #~ msgstr "Nie udało się rozpocząć rozgłaszania" -#, c-format #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Nie udało się rozpocząć rozgłaszania, błąd 0x%04x" @@ -2789,10 +2671,12 @@ msgstr "zerowy krok" #~ msgid "Failed to stop advertising" #~ msgstr "Nie udało się zatrzymać rozgłaszania" -#, c-format #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Nie udało się zatrzymać rozgłaszania, błąd 0x%04x" +#~ msgid "I2C operation not supported" +#~ msgstr "Operacja I2C nieobsługiwana" + #~ msgid "Invalid bit clock pin" #~ msgstr "Zła nóżka zegara" @@ -2810,10 +2694,12 @@ msgstr "zerowy krok" #~ "bpp given" #~ msgstr "Wspierane są tylko pliki BMP czarno-białe, 8bpp i 16bpp: %d bpp " -#, c-format #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" +#~ msgid "Splitting with sub-captures" +#~ msgstr "Podział z podgrupami" + #~ msgid "Tile indices must be 0 - 255" #~ msgstr "Indeks kafelka musi być pomiędzy 0 a 255 włącznie" @@ -2823,21 +2709,99 @@ msgstr "zerowy krok" #~ msgid "Voice index too high" #~ msgstr "Zbyt wysoki indeks głosu" +#~ msgid "a bytes-like object is required" +#~ msgstr "wymagany obiekt typu bytes" + +#~ msgid "abort() called" +#~ msgstr "Wywołano abort()" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "adres %08x nie jest wyrównany do %d bajtów" + #~ msgid "bad GATT role" #~ msgstr "zła rola GATT" +#~ msgid "bits must be 8" +#~ msgstr "bits musi być 8" + +#~ msgid "buffers must be the same length" +#~ msgstr "bufory muszą mieć tę samą długość" + #~ msgid "characteristics includes an object that is not a Characteristic" #~ msgstr "" #~ "charakterystyki zawierają obiekt, który nie jest typu Characteristic" +#~ msgid "compression header" +#~ msgstr "nagłówek kompresji" + +#~ msgid "empty heap" +#~ msgstr "pusta sterta" + +#~ msgid "firstbit must be MSB" +#~ msgstr "firstbit musi być MSB" + +#~ msgid "heap must be a list" +#~ msgstr "heap musi być listą" + +#~ msgid "incorrect padding" +#~ msgstr "złe wypełnienie" + #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "przedział poza zakresem 0.0020 do 10.24" +#~ msgid "invalid I2C peripheral" +#~ msgstr "złe I2C" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "złe SPI" + +#~ msgid "invalid arguments" +#~ msgstr "złe arguemnty" + +#~ msgid "invalid cert" +#~ msgstr "zły ceryfikat" + +#~ msgid "invalid dupterm index" +#~ msgstr "zły indeks dupterm" + +#~ msgid "invalid format" +#~ msgstr "zły format" + +#~ msgid "invalid key" +#~ msgstr "zły klucz" + +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "sck/mosi/miso muszą być podane" + #~ msgid "name must be a string" #~ msgstr "nazwa musi być łańcuchem" +#~ msgid "non-hex digit found" +#~ msgstr "cyfra nieszesnastkowa" + +#~ msgid "odd-length string" +#~ msgstr "łańcuch o nieparzystej długości" + +#~ msgid "queue overflow" +#~ msgstr "przepełnienie kolejki" + #~ msgid "services includes an object that is not a Service" #~ msgstr "obiekt typu innego niż Service w services" +#~ msgid "struct: cannot index" +#~ msgstr "struct: nie można indeksować" + +#~ msgid "struct: index out of range" +#~ msgstr "struct: indeks poza zakresem" + +#~ msgid "struct: no fields" +#~ msgstr "struct: brak pól" + +#~ msgid "syntax error in JSON" +#~ msgstr "błąd składni w JSON" + +#~ msgid "syntax error in uctypes descriptor" +#~ msgstr "błąd składni w deskryptorze uctypes" + #~ msgid "tile index out of bounds" #~ msgstr "indeks kafelka poza zakresem" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index b5cd24405a..f89cc428c5 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -433,10 +433,6 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Não é possível transferir sem os pinos MOSI e MISO." -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Não é possível ler sem um pino MOSI" @@ -550,10 +546,6 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "Canal EXTINT em uso" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Erro no regex" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -759,14 +751,10 @@ msgstr "" msgid "Group full" msgstr "Grupo cheio" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "Operação I/O no arquivo fechado" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "I2C operação não suportada" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1109,7 +1097,7 @@ msgstr "" msgid "Read-only" msgstr "Somente leitura" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "Sistema de arquivos somente leitura" @@ -1138,7 +1126,7 @@ msgstr "Rodando em modo seguro! Atualização automática está desligada.\n" msgid "Running in safe mode! Not running saved code.\n" msgstr "Rodando em modo seguro! Não está executando o código salvo.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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" @@ -1170,10 +1158,6 @@ msgstr "" msgid "Slices not supported" msgstr "" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "O tamanho da pilha deve ser pelo menos 256" @@ -1396,19 +1380,6 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "abort() chamado" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "endereço %08x não está alinhado com %d bytes" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1466,10 +1437,6 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "bits devem ser 8" - #: shared-bindings/audiomixer/Mixer.c #, fuzzy msgid "bits_per_sample must be 8 or 16" @@ -1503,10 +1470,6 @@ msgstr "" msgid "buffer too small" msgstr "" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "buffers devem ser o mesmo tamanho" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1737,10 +1700,6 @@ msgstr "" msgid "complex values not supported" msgstr "" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "" - #: py/parse.c msgid "constant must be an integer" msgstr "constante deve ser um inteiro" @@ -1783,10 +1742,6 @@ msgstr "divisão por zero" msgid "empty" msgstr "vazio" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "heap vazia" - #: py/objstr.c msgid "empty separator" msgstr "" @@ -1858,10 +1813,6 @@ msgstr "sistema de arquivos deve fornecer método de montagem" msgid "first argument to super() must be type" msgstr "" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "firstbit devem ser MSB" - #: py/objint.c msgid "float too big" msgstr "float muito grande" @@ -1930,10 +1881,6 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "heap deve ser uma lista" - #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1950,10 +1897,6 @@ msgstr "formato incompleto" msgid "incomplete format key" msgstr "" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "preenchimento incorreto" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1980,38 +1923,10 @@ msgstr "inteiro requerido" msgid "interval must be in range %s-%s" msgstr "" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "periférico I2C inválido" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "periférico SPI inválido" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "argumentos inválidos" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "certificado inválido" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "Índice de dupterm inválido" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "formato inválido" - #: py/objstr.c msgid "invalid format specifier" msgstr "" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "chave inválida" - #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2140,10 +2055,6 @@ msgstr "" msgid "must raise an object" msgstr "" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "deve especificar todos sck/mosi/miso" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2210,10 +2121,6 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2280,10 +2187,6 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "" - #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2371,10 +2274,6 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "estouro de fila" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2489,18 +2388,6 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "struct: não pode indexar" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "struct: índice fora do intervalo" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "struct: sem campos" - #: py/objstr.c msgid "substring not found" msgstr "" @@ -2509,14 +2396,6 @@ msgstr "" msgid "super() can't find self" msgstr "" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "erro de sintaxe no JSON" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "Limite deve estar no alcance de 0-65536" @@ -2750,11 +2629,14 @@ msgstr "passo zero" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Erro no ffi_prep_cif" +#~ msgid "Error in regex" +#~ msgstr "Erro no regex" + #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Falha ao alocar buffer RX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Não pode parar propaganda. status: 0x%02x" @@ -2762,7 +2644,7 @@ msgstr "passo zero" #~ msgid "Failed to add service" #~ msgstr "Não pode parar propaganda. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Não pode parar propaganda. status: 0x%02x" @@ -2770,7 +2652,7 @@ msgstr "passo zero" #~ msgid "Failed to change softdevice state" #~ msgstr "Não pode parar propaganda. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x" @@ -2794,7 +2676,7 @@ msgstr "passo zero" #~ msgid "Failed to start advertising" #~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x" @@ -2806,13 +2688,16 @@ msgstr "passo zero" #~ msgid "Failed to stop advertising" #~ msgstr "Não pode parar propaganda. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Não pode parar propaganda. status: 0x%02x" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 não suporta pull up." +#~ msgid "I2C operation not supported" +#~ msgstr "I2C operação não suportada" + #~ msgid "Invalid bit clock pin" #~ msgstr "Pino de bit clock inválido" @@ -2883,9 +2768,21 @@ msgstr "passo zero" #~ msgid "Use esptool to erase flash and re-upload Python instead" #~ msgstr "Use o esptool para apagar o flash e recarregar o Python" +#~ msgid "abort() called" +#~ msgstr "abort() chamado" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "endereço %08x não está alinhado com %d bytes" + +#~ msgid "bits must be 8" +#~ msgstr "bits devem ser 8" + #~ msgid "buffer too long" #~ msgstr "buffer muito longo" +#~ msgid "buffers must be the same length" +#~ msgstr "buffers devem ser o mesmo tamanho" + #~ msgid "can query only one param" #~ msgstr "pode consultar apenas um parâmetro" @@ -2904,30 +2801,63 @@ msgstr "passo zero" #~ msgid "either pos or kw args are allowed" #~ msgstr "pos ou kw args são permitidos" +#~ msgid "empty heap" +#~ msgstr "heap vazia" + #~ msgid "expecting a pin" #~ msgstr "esperando um pino" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" +#~ msgid "firstbit must be MSB" +#~ msgstr "firstbit devem ser MSB" + #~ msgid "flash location must be below 1MByte" #~ msgstr "o local do flash deve estar abaixo de 1 MByte" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "A frequência só pode ser 80Mhz ou 160MHz" +#~ msgid "heap must be a list" +#~ msgstr "heap deve ser uma lista" + #~ msgid "impossible baudrate" #~ msgstr "taxa de transmissão impossível" +#~ msgid "incorrect padding" +#~ msgstr "preenchimento incorreto" + +#~ msgid "invalid I2C peripheral" +#~ msgstr "periférico I2C inválido" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "periférico SPI inválido" + #~ msgid "invalid alarm" #~ msgstr "Alarme inválido" +#~ msgid "invalid arguments" +#~ msgstr "argumentos inválidos" + #~ msgid "invalid buffer length" #~ msgstr "comprimento de buffer inválido" +#~ msgid "invalid cert" +#~ msgstr "certificado inválido" + #~ msgid "invalid data bits" #~ msgstr "Bits de dados inválidos" +#~ msgid "invalid dupterm index" +#~ msgstr "Índice de dupterm inválido" + +#~ msgid "invalid format" +#~ msgstr "formato inválido" + +#~ msgid "invalid key" +#~ msgstr "chave inválida" + #~ msgid "invalid pin" #~ msgstr "Pino inválido" @@ -2940,6 +2870,9 @@ msgstr "passo zero" #~ msgid "memory allocation failed, allocating %u bytes for native code" #~ msgstr "alocação de memória falhou, alocando %u bytes para código nativo" +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "deve especificar todos sck/mosi/miso" + #, fuzzy #~ msgid "name must be a string" #~ msgstr "heap deve ser uma lista" @@ -2950,12 +2883,27 @@ msgstr "passo zero" #~ msgid "pin does not have IRQ capabilities" #~ msgstr "Pino não tem recursos de IRQ" +#~ msgid "queue overflow" +#~ msgstr "estouro de fila" + #~ msgid "row must be packed and word aligned" #~ msgstr "Linha deve ser comprimida e com as palavras alinhadas" #~ msgid "scan failed" #~ msgstr "varredura falhou" +#~ msgid "struct: cannot index" +#~ msgstr "struct: não pode indexar" + +#~ msgid "struct: index out of range" +#~ msgstr "struct: índice fora do intervalo" + +#~ msgid "struct: no fields" +#~ msgstr "struct: sem campos" + +#~ msgid "syntax error in JSON" +#~ msgstr "erro de sintaxe no JSON" + #~ msgid "too many arguments" #~ msgstr "muitos argumentos" diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index dfd7e8b0db..0111774c14 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: circuitpython-cn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-21 19:50-0700\n" +"POT-Creation-Date: 2019-11-17 20:11-0600\n" "PO-Revision-Date: 2019-04-13 10:10-0700\n" "Last-Translator: hexthat\n" "Language-Team: Chinese Hanyu Pinyin\n" @@ -432,10 +432,6 @@ msgstr "Wúfǎ zi fēnlèi" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Méiyǒu MOSI/MISO jiù wúfǎ zhuǎnyí." -#: extmod/moductypes.c -msgid "Cannot unambiguously get sizeof scalar" -msgstr "Wúfǎ míngquè de huòdé biāoliàng de dàxiǎo" - #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Wúfǎ xiě rù MOSI de yǐn jiǎo." @@ -547,10 +543,6 @@ msgstr "Fāngxiàng shūrù shí qūdòng móshì méiyǒu shǐyòng." msgid "EXTINT channel already in use" msgstr "EXTINT píndào yǐjīng shǐyòng" -#: extmod/modure.c -msgid "Error in regex" -msgstr "Zhèngzé biǎodá shì cuòwù" - #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -752,14 +744,10 @@ msgstr "Jítuán yǐjīng shǐyòngguò" msgid "Group full" msgstr "Fēnzǔ yǐ mǎn" -#: extmod/vfs_posix_file.c py/objstringio.c +#: py/objstringio.c msgid "I/O operation on closed file" msgstr "Wénjiàn shàng de I/ O cāozuò" -#: extmod/machine_i2c.c -msgid "I2C operation not supported" -msgstr "I2C cāozuò bù zhīchí" - #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1105,7 +1093,7 @@ msgstr "Fànwéi chāochū biānjiè" msgid "Read-only" msgstr "Zhǐ dú" -#: extmod/vfs_fat.c py/moduerrno.c +#: py/moduerrno.c msgid "Read-only filesystem" msgstr "Zhǐ dú wénjiàn xìtǒng" @@ -1133,7 +1121,7 @@ msgstr "Zài ānquán móshì xià yùnxíng! Zìdòng chóngxīn jiāzài yǐ g msgid "Running in safe mode! Not running saved code.\n" msgstr "Zài ānquán móshì xià yùnxíng! Bù yùnxíng yǐ bǎocún de dàimǎ.\n" -#: ports/atmel-samd/common-hal/busio/I2C.c +#: ports/atmel-samd/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" @@ -1165,10 +1153,6 @@ msgstr "Qiēpiàn hé zhí bùtóng chángdù." msgid "Slices not supported" msgstr "Qiēpiàn bù shòu zhīchí" -#: extmod/modure.c -msgid "Splitting with sub-captures" -msgstr "Yǔ zi bǔhuò fēnliè" - #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "Duīzhàn dàxiǎo bìxū zhìshǎo 256" @@ -1409,19 +1393,6 @@ msgstr "__Init__() yīnggāi fǎnhuí not, ér bùshì '%s'" msgid "__new__ arg must be a user-type" msgstr "__new__ cānshù bìxū shì yònghù lèixíng" -#: extmod/modubinascii.c extmod/moduhashlib.c -msgid "a bytes-like object is required" -msgstr "xūyào yīgè zì jié lèi duìxiàng" - -#: lib/embed/abort_.c -msgid "abort() called" -msgstr "zhōngzhǐ () diàoyòng" - -#: extmod/machine_mem.c -#, c-format -msgid "address %08x is not aligned to %d bytes" -msgstr "wèi zhǐ %08x wèi yǔ %d wèi yuán zǔ duìqí" - #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "dìzhǐ chāochū biānjiè" @@ -1479,10 +1450,6 @@ msgstr "èrjìnzhì bǎn qián bǎn %q wèi zhíxíng" msgid "bits must be 7, 8 or 9" msgstr "bǐtè bìxū shì 7,8 huò 9" -#: extmod/machine_spi.c -msgid "bits must be 8" -msgstr "bǐtè bìxū shì 8" - #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "měi jiàn yàngběn bìxū wèi 8 huò 16" @@ -1513,10 +1480,6 @@ 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" -#: extmod/machine_spi.c -msgid "buffers must be the same length" -msgstr "huǎnchōng qū bìxū shì chángdù xiāngtóng" - #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "ànniǔ bìxū shì digitalio.DigitalInOut" @@ -1749,10 +1712,6 @@ msgstr "fùzá de fēngé wèi 0" msgid "complex values not supported" msgstr "bù zhīchí fùzá de zhí" -#: extmod/moduzlib.c -msgid "compression header" -msgstr "yāsuō tóu bù" - #: py/parse.c msgid "constant must be an integer" msgstr "chángshù bìxū shì yīgè zhěngshù" @@ -1796,10 +1755,6 @@ msgstr "bèi líng chú" msgid "empty" msgstr "kòngxián" -#: extmod/moduheapq.c extmod/modutimeq.c -msgid "empty heap" -msgstr "kōng yīn yīnxiào" - #: py/objstr.c msgid "empty separator" msgstr "kōng fēngé fú" @@ -1870,10 +1825,6 @@ msgstr "wénjiàn xìtǒng bìxū tígōng guà zài fāngfǎ" msgid "first argument to super() must be type" msgstr "chāojí () de dì yī gè cānshù bìxū shì lèixíng" -#: extmod/machine_spi.c -msgid "firstbit must be MSB" -msgstr "dì yī wèi bìxū shì MSB" - #: py/objint.c msgid "float too big" msgstr "fú diǎn tài dà" @@ -1942,10 +1893,6 @@ msgstr "shēngchéng qì hūlüè shēngchéng qì tuìchū" msgid "graphic must be 2048 bytes long" msgstr "túxíng bìxū wèi 2048 zì jié" -#: extmod/moduheapq.c -msgid "heap must be a list" -msgstr "duī bìxū shì yīgè lièbiǎo" - #: py/compile.c msgid "identifier redefined as global" msgstr "biāozhì fú chóngxīn dìngyì wèi quánjú" @@ -1962,10 +1909,6 @@ msgstr "géshì bù wánzhěng" msgid "incomplete format key" msgstr "géshì bù wánzhěng de mì yào" -#: extmod/modubinascii.c -msgid "incorrect padding" -msgstr "bù zhèngquè de tiánchōng" - #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1992,38 +1935,10 @@ msgstr "xūyào zhěngshù" msgid "interval must be in range %s-%s" msgstr "Jiàngé bìxū zài %s-%s fànwéi nèi" -#: extmod/machine_i2c.c -msgid "invalid I2C peripheral" -msgstr "wúxiào de I2C wàiwéi qì" - -#: extmod/machine_spi.c -msgid "invalid SPI peripheral" -msgstr "wúxiào de SPI wàiwéi qì" - -#: lib/netutils/netutils.c -msgid "invalid arguments" -msgstr "wúxiào de cānshù" - -#: extmod/modussl_axtls.c -msgid "invalid cert" -msgstr "zhèngshū wúxiào" - -#: extmod/uos_dupterm.c -msgid "invalid dupterm index" -msgstr "dupterm suǒyǐn wúxiào" - -#: extmod/modframebuf.c -msgid "invalid format" -msgstr "wúxiào géshì" - #: py/objstr.c msgid "invalid format specifier" msgstr "wúxiào de géshì biāozhù" -#: extmod/modussl_axtls.c -msgid "invalid key" -msgstr "wúxiào de mì yào" - #: py/compile.c msgid "invalid micropython decorator" msgstr "wúxiào de MicroPython zhuāngshì qì" @@ -2153,10 +2068,6 @@ msgstr "bù zhīchí duō gè jìchéng" msgid "must raise an object" msgstr "bìxū tíchū duìxiàng" -#: extmod/machine_spi.c -msgid "must specify all of sck/mosi/miso" -msgstr "bìxū zhǐdìng suǒyǒu sck/mosi/misco" - #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "bìxū shǐyòng guānjiàn cí cānshù" @@ -2224,10 +2135,6 @@ msgstr "Zài service_uuids bái míngdān zhōng zhǎodào fēi UUID" msgid "non-default argument follows default argument" msgstr "bùshì mòrèn cānshù zūnxún mòrèn cānshù" -#: extmod/modubinascii.c -msgid "non-hex digit found" -msgstr "zhǎodào fēi shíliù jìn zhì shùzì" - #: py/compile.c msgid "non-keyword arg after */**" msgstr "zài */** zhīhòu fēi guānjiàn cí cānshù" @@ -2294,10 +2201,6 @@ msgstr "lèixíng '%s' de duìxiàng méiyǒu chángdù" msgid "object with buffer protocol required" msgstr "xūyào huǎnchōng qū xiéyì de duìxiàng" -#: extmod/modubinascii.c -msgid "odd-length string" -msgstr "jīshù zìfú chuàn" - #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "piānlí biānjiè" @@ -2385,10 +2288,6 @@ msgstr "pow() 3 cān shǔ bùnéng wéi 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() yǒu 3 cānshù xūyào zhěngshù" -#: extmod/modutimeq.c -msgid "queue overflow" -msgstr "duìliè yìchū" - #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "yuánshǐ huǎnchōng qū hé huǎnchōng qū de dàxiǎo bùtóng" @@ -2503,18 +2402,6 @@ msgstr "zìfú chuàn zhǐshù bìxū shì zhěngshù, ér bùshì %s" msgid "string not supported; use bytes or bytearray" msgstr "zìfú chuàn bù zhīchí; shǐyòng zì jié huò zì jié zǔ" -#: extmod/moductypes.c -msgid "struct: cannot index" -msgstr "jiégòu: bùnéng suǒyǐn" - -#: extmod/moductypes.c -msgid "struct: index out of range" -msgstr "jiégòu: suǒyǐn chāochū fànwéi" - -#: extmod/moductypes.c -msgid "struct: no fields" -msgstr "jiégòu: méiyǒu zìduàn" - #: py/objstr.c msgid "substring not found" msgstr "wèi zhǎodào zi zìfú chuàn" @@ -2523,14 +2410,6 @@ msgstr "wèi zhǎodào zi zìfú chuàn" msgid "super() can't find self" msgstr "chāojí() zhǎo bù dào zìjǐ" -#: extmod/modujson.c -msgid "syntax error in JSON" -msgstr "JSON yǔfǎ cuòwù" - -#: extmod/moductypes.c -msgid "syntax error in uctypes descriptor" -msgstr "uctypes miáoshù fú zhōng de yǔfǎ cuòwù" - #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "yùzhí bìxū zài fànwéi 0-65536" @@ -2750,6 +2629,9 @@ msgstr "líng bù" #~ msgid "Can't set CCCD for local Characteristic" #~ msgstr "Wúfǎ wéi běndì tèzhēng shèzhì CCCD" +#~ msgid "Cannot unambiguously get sizeof scalar" +#~ msgstr "Wúfǎ míngquè de huòdé biāoliàng de dàxiǎo" + #~ msgid "Characteristic UUID doesn't match Service UUID" #~ msgstr "Zìfú UUID bù fúhé fúwù UUID" @@ -2759,27 +2641,27 @@ msgstr "líng bù" #~ msgid "Data too large for the advertisement packet" #~ msgstr "Guǎnggào bāo de shùjù tài dà" +#~ msgid "Error in regex" +#~ msgstr "Zhèngzé biǎodá shì cuòwù" + #~ msgid "Expected a Peripheral" #~ msgstr "Qídài yīgè wàiwéi shèbèi" #~ msgid "Failed to acquire mutex" #~ msgstr "Wúfǎ huòdé mutex" -#, c-format #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Tiānjiā tèxìng shībài, err 0x%04x" #~ msgid "Failed to add service" #~ msgstr "Tiānjiā fúwù shībài" -#, c-format #~ msgid "Failed to add service, err 0x%04x" #~ msgstr "Tiānjiā fúwù shībài, err 0x%04x" #~ msgid "Failed to change softdevice state" #~ msgstr "Gēnggǎi ruǎn shèbèi zhuàngtài shībài" -#, c-format #~ msgid "Failed to configure advertising, err 0x%04x" #~ msgstr "Wúfǎ pèizhì guǎnggào, cuòwù 0x%04x" @@ -2789,7 +2671,6 @@ msgstr "líng bù" #~ msgid "Failed to continue scanning" #~ msgstr "Jìxù sǎomiáo shībài" -#, c-format #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "Jìxù sǎomiáo shībài, err 0x%04x" @@ -2799,18 +2680,15 @@ msgstr "líng bù" #~ msgid "Failed to release mutex" #~ msgstr "Wúfǎ shìfàng mutex" -#, c-format #~ msgid "Failed to set device name, err 0x%04x" #~ msgstr "Wúfǎ shèzhì shèbèi míngchēng, cuòwù 0x%04x" #~ msgid "Failed to start advertising" #~ msgstr "Qǐdòng guǎnggào shībài" -#, c-format #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Qǐdòng guǎnggào shībài, err 0x%04x" -#, c-format #~ msgid "Failed to start pairing, error 0x%04x" #~ msgstr "Wúfǎ kāishǐ pèiduì, cuòwù 0x%04x" @@ -2820,10 +2698,12 @@ msgstr "líng bù" #~ msgid "Failed to stop advertising" #~ msgstr "Wúfǎ tíngzhǐ guǎnggào" -#, c-format #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Wúfǎ tíngzhǐ guǎnggào, err 0x%04x" +#~ msgid "I2C operation not supported" +#~ msgstr "I2C cāozuò bù zhīchí" + #~ msgid "Invalid bit clock pin" #~ msgstr "Wúxiào de wèi shízhōng yǐn jiǎo" @@ -2854,10 +2734,12 @@ msgstr "líng bù" #~ msgstr "" #~ "Jǐn zhīchí dān sè, suǒyǐn 8bpp hé 16bpp huò gèng dà de BMP: %d bpp tígōng" -#, c-format #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Ruǎn shèbèi wéihù, id: 0X%08lX, pc: 0X%08lX" +#~ msgid "Splitting with sub-captures" +#~ msgstr "Yǔ zi bǔhuò fēnliè" + #~ msgid "Tile indices must be 0 - 255" #~ msgstr "Píng pū zhǐshù bìxū wèi 0 - 255" @@ -2867,27 +2749,105 @@ msgstr "líng bù" #~ msgid "Voice index too high" #~ msgstr "Yǔyīn suǒyǐn tài gāo" +#~ msgid "a bytes-like object is required" +#~ msgstr "xūyào yīgè zì jié lèi duìxiàng" + +#~ msgid "abort() called" +#~ msgstr "zhōngzhǐ () diàoyòng" + +#~ msgid "address %08x is not aligned to %d bytes" +#~ msgstr "wèi zhǐ %08x wèi yǔ %d wèi yuán zǔ duìqí" + #~ msgid "bad GATT role" #~ msgstr "zǒng xiédìng de bùliáng juésè" +#~ msgid "bits must be 8" +#~ msgstr "bǐtè bìxū shì 8" + +#~ msgid "buffers must be the same length" +#~ msgstr "huǎnchōng qū bìxū shì chángdù xiāngtóng" + #~ msgid "characteristics includes an object that is not a Characteristic" #~ msgstr "tèxìng bāokuò bùshì zìfú de wùtǐ" +#~ msgid "compression header" +#~ msgstr "yāsuō tóu bù" + +#~ msgid "empty heap" +#~ msgstr "kōng yīn yīnxiào" + #~ msgid "expected a DigitalInOut" #~ msgstr "qídài de DigitalInOut" +#~ msgid "firstbit must be MSB" +#~ msgstr "dì yī wèi bìxū shì MSB" + +#~ msgid "heap must be a list" +#~ msgstr "duī bìxū shì yīgè lièbiǎo" + +#~ msgid "incorrect padding" +#~ msgstr "bù zhèngquè de tiánchōng" + #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "jùlí 0.0020 Zhì 10.24 Zhī jiān de jiàngé shíjiān" +#~ msgid "invalid I2C peripheral" +#~ msgstr "wúxiào de I2C wàiwéi qì" + +#~ msgid "invalid SPI peripheral" +#~ msgstr "wúxiào de SPI wàiwéi qì" + +#~ msgid "invalid arguments" +#~ msgstr "wúxiào de cānshù" + +#~ msgid "invalid cert" +#~ msgstr "zhèngshū wúxiào" + +#~ msgid "invalid dupterm index" +#~ msgstr "dupterm suǒyǐn wúxiào" + +#~ msgid "invalid format" +#~ msgstr "wúxiào géshì" + +#~ msgid "invalid key" +#~ msgstr "wúxiào de mì yào" + +#~ msgid "must specify all of sck/mosi/miso" +#~ msgstr "bìxū zhǐdìng suǒyǒu sck/mosi/misco" + #~ msgid "name must be a string" #~ msgstr "míngchēng bìxū shì yīgè zìfú chuàn" +#~ msgid "non-hex digit found" +#~ msgstr "zhǎodào fēi shíliù jìn zhì shùzì" + +#~ msgid "odd-length string" +#~ msgstr "jīshù zìfú chuàn" + +#~ msgid "queue overflow" +#~ msgstr "duìliè yìchū" + #~ msgid "row must be packed and word aligned" #~ msgstr "xíng bìxū dǎbāo bìngqiě zì duìqí" #~ msgid "services includes an object that is not a Service" #~ msgstr "fúwù bāokuò yīgè bùshì fúwù de wùjiàn" +#~ msgid "struct: cannot index" +#~ msgstr "jiégòu: bùnéng suǒyǐn" + +#~ msgid "struct: index out of range" +#~ msgstr "jiégòu: suǒyǐn chāochū fànwéi" + +#~ msgid "struct: no fields" +#~ msgstr "jiégòu: méiyǒu zìduàn" + +#~ msgid "syntax error in JSON" +#~ msgstr "JSON yǔfǎ cuòwù" + +#~ msgid "syntax error in uctypes descriptor" +#~ msgstr "uctypes miáoshù fú zhōng de yǔfǎ cuòwù" + #~ msgid "tile index out of bounds" #~ msgstr "kuài suǒyǐn chāochū fànwéi" From 6700a58a17a040f8f9b1268391a3f1ca7075c3ff Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sun, 17 Nov 2019 20:54:21 -0600 Subject: [PATCH 07/79] Makefile: Fix a problem where `xargs` invoked `xgettext` 2x On a Debian 10 system, the number of arguments to xargs was such that it would not fit in a single invocation (xargs --show-limits prints "bytes: Size of command buffer we are actually using: 131072"). In this situation, the output from the second invocation of xgettext would replace the output of the first one, so messages that appeared only in files early in the list would be lost. Strings in "extmod" were most frequently the victim, including "incorrect padding" from modubinascii.c. Unfortunately, when the github environment was similar enough to the environment where "make translate" was invoked, the problem was not found by "check-translate", because the same (incorrect, truncated) potfile would be generated on both systems. Apparently Ubuntu and Debian were different enough that the problem could become visible. xgettext has a mode where it reads files from stdin ('-f-'), but this does not have a zero-delimited variant documented. Still, we will assume that files with adversarial names are not committed to circuitpython or created by the build process, and print newline-delimited filenames from `find` to be processed by `xgettext -f-`. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b9c489fd40..d7127b517d 100644 --- a/Makefile +++ b/Makefile @@ -204,7 +204,7 @@ pseudoxml: all-source: locale/circuitpython.pot: all-source - find $(TRANSLATE_SOURCES) -iname "*.c" -print0 | (LC_ALL=C sort -z) | xargs -0 xgettext -L C -s --add-location=file --keyword=translate -o circuitpython.pot -p locale + find $(TRANSLATE_SOURCES) -iname "*.c" -print | (LC_ALL=C sort) | xgettext -f- -L C -s --add-location=file --keyword=translate -o circuitpython.pot -p locale translate: locale/circuitpython.pot for po in $(shell ls locale/*.po); do msgmerge -U $$po -s --no-fuzzy-matching --add-location=file locale/circuitpython.pot; done From 900e365f9389d23381475997025eef953854d726 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sun, 17 Nov 2019 20:59:14 -0600 Subject: [PATCH 08/79] locale: Re-run "make translate" subsequent to the xargs/xgettext fix I manually inspected the changes relative to 5.0.0-alpha.5-93-g8778f367e and believe they are innocuous; Besides restoring some translations that had become fuzzy, "c-format" was removed from many (all?) fuzzy messages, and the word-wrapping of one message was changed. --- locale/ID.po | 217 +++++++++++++++++++++----------------- locale/circuitpython.pot | 127 ++++++++++++++++++++++- locale/de_DE.po | 217 +++++++++++++++++++++----------------- locale/en_US.po | 127 ++++++++++++++++++++++- locale/en_x_pirate.po | 139 ++++++++++++++++++++++--- locale/es.po | 217 +++++++++++++++++++++----------------- locale/fil.po | 217 +++++++++++++++++++++----------------- locale/fr.po | 217 +++++++++++++++++++++----------------- locale/it_IT.po | 218 ++++++++++++++++++++++----------------- locale/ko.po | 151 ++++++++++++++++++++++----- locale/pl.po | 217 +++++++++++++++++++++----------------- locale/pt_BR.po | 196 ++++++++++++++++++++++------------- locale/zh_Latn_pinyin.po | 217 +++++++++++++++++++++----------------- 13 files changed, 1612 insertions(+), 865 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index 26011a9025..9cdbb64ef3 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -438,6 +438,10 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "tidak dapat mendapatkan ukuran scalar secara tidak ambigu" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -550,6 +554,10 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "Channel EXTINT sedang digunakan" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Error pada regex" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -754,10 +762,14 @@ msgstr "" msgid "Group full" msgstr "" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "operasi I/O pada file tertutup" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "operasi I2C tidak didukung" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1096,7 +1108,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "sistem file (filesystem) bersifat Read-only" @@ -1158,6 +1170,10 @@ msgstr "" msgid "Slices not supported" msgstr "" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "Memisahkan dengan menggunakan sub-captures" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1392,6 +1408,19 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "sebuah objek menyerupai byte (bytes-like) dibutuhkan" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "abort() dipanggil" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "alamat %08x tidak selaras dengan %d bytes" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1449,6 +1478,10 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "bits harus memilki nilai 8" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "" @@ -1480,6 +1513,10 @@ msgstr "" msgid "buffer too small" msgstr "" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "buffers harus mempunyai panjang yang sama" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1710,6 +1747,10 @@ msgstr "" msgid "complex values not supported" msgstr "" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "kompresi header" + #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1752,6 +1793,10 @@ msgstr "" msgid "empty" msgstr "" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "heap kosong" + #: py/objstr.c msgid "empty separator" msgstr "" @@ -1822,6 +1867,10 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "bit pertama(firstbit) harus berupa MSB" + #: py/objint.c msgid "float too big" msgstr "" @@ -1890,6 +1939,10 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "heap harus berupa sebuah list" + #: py/compile.c msgid "identifier redefined as global" msgstr "identifier didefinisi ulang sebagai global" @@ -1906,6 +1959,10 @@ msgstr "" msgid "incomplete format key" msgstr "" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "lapisan (padding) tidak benar" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1932,10 +1989,38 @@ msgstr "" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "perangkat I2C tidak valid" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "perangkat SPI tidak valid" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "argumen-argumen tidak valid" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "cert tidak valid" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "indeks dupterm tidak valid" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "format tidak valid" + #: py/objstr.c msgid "invalid format specifier" msgstr "" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "key tidak valid" + #: py/compile.c msgid "invalid micropython decorator" msgstr "micropython decorator tidak valid" @@ -2064,6 +2149,10 @@ msgstr "" msgid "must raise an object" msgstr "" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "harus menentukan semua pin sck/mosi/miso" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2130,6 +2219,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "argumen non-default mengikuti argumen standar(default)" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "digit non-hex ditemukan" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "non-keyword arg setelah */**" @@ -2196,6 +2289,10 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "panjang data string memiliki keganjilan (odd-length)" + #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2284,6 +2381,10 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "antrian meluap (overflow)" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2396,6 +2497,18 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "struct: tidak bisa melakukan index" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "struct: index keluar dari jangkauan" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "struct: tidak ada fields" + #: py/objstr.c msgid "substring not found" msgstr "" @@ -2404,6 +2517,14 @@ msgstr "" msgid "super() can't find self" msgstr "super() tidak dapat menemukan dirinya sendiri" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "sintaksis error pada JSON" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "sintaksis error pada pendeskripsi uctypes" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" @@ -2621,9 +2742,6 @@ msgstr "" #~ msgid "Cannot set STA config" #~ msgstr "Tidak dapat mengatur konfigurasi STA" -#~ msgid "Cannot unambiguously get sizeof scalar" -#~ msgstr "tidak dapat mendapatkan ukuran scalar secara tidak ambigu" - #~ msgid "Cannot update i/f status" #~ msgstr "Tidak dapat memperbarui status i/f" @@ -2643,9 +2761,6 @@ msgstr "" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Errod pada ffi_prep_cif" -#~ msgid "Error in regex" -#~ msgstr "Error pada regex" - #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX" @@ -2717,9 +2832,6 @@ msgstr "" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 tidak mendukung pull up" -#~ msgid "I2C operation not supported" -#~ msgstr "operasi I2C tidak didukung" - #~ msgid "Invalid bit clock pin" #~ msgstr "Bit clock pada pin tidak valid" @@ -2770,9 +2882,6 @@ msgstr "" #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Dukungan soft device, id: 0x%08lX, pc: 0x%08l" -#~ msgid "Splitting with sub-captures" -#~ msgstr "Memisahkan dengan menggunakan sub-captures" - #~ msgid "UART(%d) does not exist" #~ msgstr "UART(%d) tidak ada" @@ -2793,24 +2902,9 @@ msgstr "" #~ msgid "[addrinfo error %d]" #~ msgstr "[addrinfo error %d]" -#~ msgid "a bytes-like object is required" -#~ msgstr "sebuah objek menyerupai byte (bytes-like) dibutuhkan" - -#~ msgid "abort() called" -#~ msgstr "abort() dipanggil" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "alamat %08x tidak selaras dengan %d bytes" - -#~ msgid "bits must be 8" -#~ msgstr "bits harus memilki nilai 8" - #~ msgid "buffer too long" #~ msgstr "buffer terlalu panjang" -#~ msgid "buffers must be the same length" -#~ msgstr "buffers harus mempunyai panjang yang sama" - #~ msgid "can query only one param" #~ msgstr "hanya bisa melakukan query satu param" @@ -2826,69 +2920,33 @@ msgstr "" #~ msgid "can't set STA config" #~ msgstr "tidak bisa mendapatkan konfigurasi STA" -#~ msgid "compression header" -#~ msgstr "kompresi header" - #~ msgid "either pos or kw args are allowed" #~ msgstr "hanya antar pos atau kw args yang diperbolehkan" -#~ msgid "empty heap" -#~ msgstr "heap kosong" - #~ msgid "expecting a pin" #~ msgstr "mengharapkan sebuah pin" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" -#~ msgid "firstbit must be MSB" -#~ msgstr "bit pertama(firstbit) harus berupa MSB" - #~ msgid "flash location must be below 1MByte" #~ msgstr "alokasi flash harus dibawah 1MByte" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "frekuensi hanya bisa didefinisikan 80Mhz atau 160Mhz" -#~ msgid "heap must be a list" -#~ msgstr "heap harus berupa sebuah list" - #~ msgid "impossible baudrate" #~ msgstr "baudrate tidak memungkinkan" -#~ msgid "incorrect padding" -#~ msgstr "lapisan (padding) tidak benar" - -#~ msgid "invalid I2C peripheral" -#~ msgstr "perangkat I2C tidak valid" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "perangkat SPI tidak valid" - #~ msgid "invalid alarm" #~ msgstr "alarm tidak valid" -#~ msgid "invalid arguments" -#~ msgstr "argumen-argumen tidak valid" - #~ msgid "invalid buffer length" #~ msgstr "panjang buffer tidak valid" -#~ msgid "invalid cert" -#~ msgstr "cert tidak valid" - #~ msgid "invalid data bits" #~ msgstr "bit data tidak valid" -#~ msgid "invalid dupterm index" -#~ msgstr "indeks dupterm tidak valid" - -#~ msgid "invalid format" -#~ msgstr "format tidak valid" - -#~ msgid "invalid key" -#~ msgstr "key tidak valid" - #~ msgid "invalid pin" #~ msgstr "pin tidak valid" @@ -2901,46 +2959,19 @@ msgstr "" #~ msgid "memory allocation failed, allocating %u bytes for native code" #~ msgstr "alokasi memori gagal, mengalokasikan %u byte untuk kode native" -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "harus menentukan semua pin sck/mosi/miso" - #, fuzzy #~ msgid "name must be a string" #~ msgstr "keyword harus berupa string" -#~ msgid "non-hex digit found" -#~ msgstr "digit non-hex ditemukan" - #~ msgid "not a valid ADC Channel: %d" #~ msgstr "tidak valid channel ADC: %d" -#~ msgid "odd-length string" -#~ msgstr "panjang data string memiliki keganjilan (odd-length)" - #~ msgid "pin does not have IRQ capabilities" #~ msgstr "pin tidak memiliki kemampuan IRQ" -#~ msgid "queue overflow" -#~ msgstr "antrian meluap (overflow)" - #~ msgid "scan failed" #~ msgstr "scan gagal" -#~ msgid "struct: cannot index" -#~ msgstr "struct: tidak bisa melakukan index" - -#~ msgid "struct: index out of range" -#~ msgstr "struct: index keluar dari jangkauan" - -#~ msgid "struct: no fields" -#~ msgstr "struct: tidak ada fields" - -#~ msgid "syntax error in JSON" -#~ msgstr "sintaksis error pada JSON" - -#~ msgid "syntax error in uctypes descriptor" -#~ msgstr "sintaksis error pada pendeskripsi uctypes" - #~ msgid "unknown config param" #~ msgstr "konfigurasi param tidak diketahui" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index ee9f5344a1..2c01026f9f 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:17-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -428,6 +428,10 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -539,6 +543,10 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "" +#: extmod/modure.c +msgid "Error in regex" +msgstr "" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -740,10 +748,14 @@ msgstr "" msgid "Group full" msgstr "" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1079,7 +1091,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "" @@ -1139,6 +1151,10 @@ msgstr "" msgid "Slices not supported" msgstr "" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1360,6 +1376,19 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1417,6 +1446,10 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "" @@ -1447,6 +1480,10 @@ msgstr "" msgid "buffer too small" msgstr "" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1677,6 +1714,10 @@ msgstr "" msgid "complex values not supported" msgstr "" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "" + #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1719,6 +1760,10 @@ msgstr "" msgid "empty" msgstr "" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "" + #: py/objstr.c msgid "empty separator" msgstr "" @@ -1789,6 +1834,10 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "" + #: py/objint.c msgid "float too big" msgstr "" @@ -1857,6 +1906,10 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "" + #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1873,6 +1926,10 @@ msgstr "" msgid "incomplete format key" msgstr "" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1899,10 +1956,38 @@ msgstr "" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "" + #: py/objstr.c msgid "invalid format specifier" msgstr "" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "" + #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2031,6 +2116,10 @@ msgstr "" msgid "must raise an object" msgstr "" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2097,6 +2186,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2163,6 +2256,10 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "" + #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2250,6 +2347,10 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2362,6 +2463,18 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "" + #: py/objstr.c msgid "substring not found" msgstr "" @@ -2370,6 +2483,14 @@ msgstr "" msgid "super() can't find self" msgstr "" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" diff --git a/locale/de_DE.po b/locale/de_DE.po index 90ec37a361..38a6dffb68 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -432,6 +432,10 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Übertragung ohne MOSI- und MISO-Pins nicht möglich." +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "sizeof scalar kann nicht eindeutig bestimmt werden" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Kann nicht ohne MOSI-Pin schreiben." @@ -543,6 +547,10 @@ msgstr "Drive mode wird nicht verwendet, wenn die Richtung input ist." msgid "EXTINT channel already in use" msgstr "EXTINT Kanal ist schon in Benutzung" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Fehler in regex" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -746,10 +754,14 @@ msgstr "Gruppe schon benutzt" msgid "Group full" msgstr "Gruppe voll" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "Lese/Schreibe-operation an geschlossener Datei" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "I2C-operation nicht unterstützt" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1102,7 +1114,7 @@ msgstr "Bereich außerhalb der Grenzen" msgid "Read-only" msgstr "Nur lesen möglich, da Schreibgeschützt" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "Schreibgeschützte Dateisystem" @@ -1162,6 +1174,10 @@ msgstr "Slice und Wert (value) haben unterschiedliche Längen." msgid "Slices not supported" msgstr "Slices werden nicht unterstützt" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "Splitting mit sub-captures" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "Die Stackgröße sollte mindestens 256 sein" @@ -1408,6 +1424,19 @@ msgstr "__init__() sollte None zurückgeben, nicht '%s'" msgid "__new__ arg must be a user-type" msgstr "__new__ arg muss user-type sein" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "ein Byte-ähnliches Objekt ist erforderlich" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "abort() wurde aufgerufen" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "Addresse %08x ist nicht an %d bytes ausgerichtet" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "Adresse außerhalb der Grenzen" @@ -1465,6 +1494,10 @@ msgstr "Der binäre Operator %q ist nicht implementiert" msgid "bits must be 7, 8 or 9" msgstr "bits muss 7, 8 oder 9 sein" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "bits müssen 8 sein" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "Es müssen 8 oder 16 bits_per_sample sein" @@ -1495,6 +1528,10 @@ msgstr "Puffersegmente müssen gleich lang sein" msgid "buffer too small" msgstr "Der Puffer ist zu klein" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "Buffer müssen gleich lang sein" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1726,6 +1763,10 @@ msgstr "Komplexe Division durch null" msgid "complex values not supported" msgstr "Komplexe Zahlen nicht unterstützt" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "kompression header" + #: py/parse.c msgid "constant must be an integer" msgstr "constant muss ein integer sein" @@ -1768,6 +1809,10 @@ msgstr "Division durch Null" msgid "empty" msgstr "leer" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "leerer heap" + #: py/objstr.c msgid "empty separator" msgstr "leeres Trennzeichen" @@ -1838,6 +1883,10 @@ msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen" msgid "first argument to super() must be type" msgstr "Das erste Argument für super() muss type sein" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "Erstes Bit muss das höchstwertigste Bit (MSB) sein" + #: py/objint.c msgid "float too big" msgstr "float zu groß" @@ -1907,6 +1956,10 @@ msgstr "Generator ignoriert GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic muss 2048 Byte lang sein" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "heap muss eine Liste sein" + #: py/compile.c msgid "identifier redefined as global" msgstr "Bezeichner als global neu definiert" @@ -1923,6 +1976,10 @@ msgstr "unvollständiges Format" msgid "incomplete format key" msgstr "unvollständiger Formatschlüssel" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "padding ist inkorrekt" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1949,10 +2006,38 @@ msgstr "integer erforderlich" msgid "interval must be in range %s-%s" msgstr "Das Intervall muss im Bereich %s-%s sein" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "ungültige I2C Schnittstelle" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "ungültige SPI Schnittstelle" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "ungültige argumente" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "ungültiges cert" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "ungültiger dupterm index" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "ungültiges Format" + #: py/objstr.c msgid "invalid format specifier" msgstr "ungültiger Formatbezeichner" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "ungültiger Schlüssel" + #: py/compile.c msgid "invalid micropython decorator" msgstr "ungültiger micropython decorator" @@ -2087,6 +2172,10 @@ msgstr "Mehrfache Vererbung nicht unterstützt" msgid "must raise an object" msgstr "" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "sck/mosi/miso müssen alle spezifiziert sein" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "muss Schlüsselwortargument für key function verwenden" @@ -2153,6 +2242,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "ein non-default argument folgt auf ein default argument" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "eine nicht-hex zahl wurde gefunden" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2219,6 +2312,10 @@ msgstr "Objekt vom Typ '%s' hat keine len()" msgid "object with buffer protocol required" msgstr "Objekt mit Pufferprotokoll (buffer protocol) erforderlich" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "String mit ungerader Länge" + #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "offset außerhalb der Grenzen" @@ -2308,6 +2405,10 @@ msgstr "pow() drittes Argument darf nicht 0 sein" msgid "pow() with 3 arguments requires integers" msgstr "" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "Warteschlangenüberlauf" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "rawbuf hat nicht die gleiche Größe wie buf" @@ -2423,6 +2524,18 @@ msgid "string not supported; use bytes or bytearray" msgstr "" "Zeichenfolgen werden nicht unterstützt; Verwenden Sie bytes oder bytearray" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "struct: kann nicht indexieren" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "struct: index außerhalb gültigen Bereichs" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "struct: keine Felder" + #: py/objstr.c msgid "substring not found" msgstr "substring nicht gefunden" @@ -2431,6 +2544,14 @@ msgstr "substring nicht gefunden" msgid "super() can't find self" msgstr "super() kann self nicht finden" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "Syntaxfehler in JSON" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "Syntaxfehler in uctypes Deskriptor" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "threshold muss im Intervall 0-65536 liegen" @@ -2666,9 +2787,6 @@ msgstr "" #~ msgid "Cannot set STA config" #~ msgstr "Kann STA Konfiguration nicht setzen" -#~ msgid "Cannot unambiguously get sizeof scalar" -#~ msgstr "sizeof scalar kann nicht eindeutig bestimmt werden" - #~ msgid "Cannot update i/f status" #~ msgstr "Kann i/f Status nicht updaten" @@ -2694,9 +2812,6 @@ msgstr "" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Fehler in ffi_prep_cif" -#~ msgid "Error in regex" -#~ msgstr "Fehler in regex" - #~ msgid "Expected a Peripheral" #~ msgstr "Ein Peripheriegerät wird erwartet" @@ -2764,9 +2879,6 @@ msgstr "" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 unterstützt pull up nicht" -#~ msgid "I2C operation not supported" -#~ msgstr "I2C-operation nicht unterstützt" - #~ msgid "Invalid bit clock pin" #~ msgstr "Ungültiges bit clock pin" @@ -2825,9 +2937,6 @@ msgstr "" #~ msgid "STA required" #~ msgstr "STA erforderlich" -#~ msgid "Splitting with sub-captures" -#~ msgstr "Splitting mit sub-captures" - #~ msgid "UART(%d) does not exist" #~ msgstr "UART(%d) existiert nicht" @@ -2850,30 +2959,9 @@ msgstr "" #~ msgid "Voice index too high" #~ msgstr "Voice index zu hoch" -#~ msgid "a bytes-like object is required" -#~ msgstr "ein Byte-ähnliches Objekt ist erforderlich" - -#~ msgid "abort() called" -#~ msgstr "abort() wurde aufgerufen" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "Addresse %08x ist nicht an %d bytes ausgerichtet" - -#~ msgid "bits must be 8" -#~ msgstr "bits müssen 8 sein" - #~ msgid "buffer too long" #~ msgstr "Buffer zu lang" -#~ msgid "buffers must be the same length" -#~ msgstr "Buffer müssen gleich lang sein" - -#~ msgid "compression header" -#~ msgstr "kompression header" - -#~ msgid "empty heap" -#~ msgstr "leerer heap" - #~ msgid "expected a DigitalInOut" #~ msgstr "erwarte DigitalInOut" @@ -2883,57 +2971,27 @@ msgstr "" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" -#~ msgid "firstbit must be MSB" -#~ msgstr "Erstes Bit muss das höchstwertigste Bit (MSB) sein" - #~ msgid "flash location must be below 1MByte" #~ msgstr "flash location muss unter 1MByte sein" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "Die Frequenz kann nur 80Mhz oder 160Mhz sein" -#~ msgid "heap must be a list" -#~ msgstr "heap muss eine Liste sein" - #~ msgid "impossible baudrate" #~ msgstr "Unmögliche Baudrate" -#~ msgid "incorrect padding" -#~ msgstr "padding ist inkorrekt" - #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "Das Interval ist nicht im Bereich 0.0020 bis 10.24" -#~ msgid "invalid I2C peripheral" -#~ msgstr "ungültige I2C Schnittstelle" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "ungültige SPI Schnittstelle" - #~ msgid "invalid alarm" #~ msgstr "ungültiger Alarm" -#~ msgid "invalid arguments" -#~ msgstr "ungültige argumente" - #~ msgid "invalid buffer length" #~ msgstr "ungültige Pufferlänge" -#~ msgid "invalid cert" -#~ msgstr "ungültiges cert" - #~ msgid "invalid data bits" #~ msgstr "ungültige Datenbits" -#~ msgid "invalid dupterm index" -#~ msgstr "ungültiger dupterm index" - -#~ msgid "invalid format" -#~ msgstr "ungültiges Format" - -#~ msgid "invalid key" -#~ msgstr "ungültiger Schlüssel" - #~ msgid "invalid pin" #~ msgstr "ungültiger Pin" @@ -2947,45 +3005,18 @@ msgstr "" #~ msgstr "" #~ "Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code" -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "sck/mosi/miso müssen alle spezifiziert sein" - #~ msgid "name must be a string" #~ msgstr "name muss ein String sein" -#~ msgid "non-hex digit found" -#~ msgstr "eine nicht-hex zahl wurde gefunden" - #~ msgid "not a valid ADC Channel: %d" #~ msgstr "Kein gültiger ADC Kanal: %d" -#~ msgid "odd-length string" -#~ msgstr "String mit ungerader Länge" - #~ msgid "pin does not have IRQ capabilities" #~ msgstr "Pin hat keine IRQ Fähigkeiten" -#~ msgid "queue overflow" -#~ msgstr "Warteschlangenüberlauf" - #~ msgid "scan failed" #~ msgstr "Scan fehlgeschlagen" -#~ msgid "struct: cannot index" -#~ msgstr "struct: kann nicht indexieren" - -#~ msgid "struct: index out of range" -#~ msgstr "struct: index außerhalb gültigen Bereichs" - -#~ msgid "struct: no fields" -#~ msgstr "struct: keine Felder" - -#~ msgid "syntax error in JSON" -#~ msgstr "Syntaxfehler in JSON" - -#~ msgid "syntax error in uctypes descriptor" -#~ msgstr "Syntaxfehler in uctypes Deskriptor" - #~ msgid "too many arguments" #~ msgstr "zu viele Argumente" diff --git a/locale/en_US.po b/locale/en_US.po index 9b234599a3..9408102d61 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -428,6 +428,10 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -539,6 +543,10 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "" +#: extmod/modure.c +msgid "Error in regex" +msgstr "" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -740,10 +748,14 @@ msgstr "" msgid "Group full" msgstr "" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1079,7 +1091,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "" @@ -1139,6 +1151,10 @@ msgstr "" msgid "Slices not supported" msgstr "" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1360,6 +1376,19 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1417,6 +1446,10 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "" @@ -1447,6 +1480,10 @@ msgstr "" msgid "buffer too small" msgstr "" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1677,6 +1714,10 @@ msgstr "" msgid "complex values not supported" msgstr "" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "" + #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1719,6 +1760,10 @@ msgstr "" msgid "empty" msgstr "" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "" + #: py/objstr.c msgid "empty separator" msgstr "" @@ -1789,6 +1834,10 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "" + #: py/objint.c msgid "float too big" msgstr "" @@ -1857,6 +1906,10 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "" + #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1873,6 +1926,10 @@ msgstr "" msgid "incomplete format key" msgstr "" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1899,10 +1956,38 @@ msgstr "" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "" + #: py/objstr.c msgid "invalid format specifier" msgstr "" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "" + #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2031,6 +2116,10 @@ msgstr "" msgid "must raise an object" msgstr "" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2097,6 +2186,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2163,6 +2256,10 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "" + #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2250,6 +2347,10 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2362,6 +2463,18 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "" + #: py/objstr.c msgid "substring not found" msgstr "" @@ -2370,6 +2483,14 @@ msgstr "" msgid "super() can't find self" msgstr "" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" diff --git a/locale/en_x_pirate.po b/locale/en_x_pirate.po index 9fea903c32..6bf2d84a44 100644 --- a/locale/en_x_pirate.po +++ b/locale/en_x_pirate.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: @sommersoft, @MrCertainly\n" @@ -432,6 +432,10 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -543,6 +547,10 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "Avast! EXTINT channel already in use" +#: extmod/modure.c +msgid "Error in regex" +msgstr "" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -744,10 +752,14 @@ msgstr "" msgid "Group full" msgstr "" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1083,7 +1095,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "" @@ -1143,6 +1155,10 @@ msgstr "" msgid "Slices not supported" msgstr "" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1364,6 +1380,19 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1421,6 +1450,10 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "pieces must be of 8" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "" @@ -1451,6 +1484,10 @@ msgstr "" msgid "buffer too small" msgstr "" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "yer buffers must be of the same length" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1681,6 +1718,10 @@ msgstr "" msgid "complex values not supported" msgstr "" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "" + #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1723,6 +1764,10 @@ msgstr "" msgid "empty" msgstr "" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "" + #: py/objstr.c msgid "empty separator" msgstr "" @@ -1793,6 +1838,10 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "" + #: py/objint.c msgid "float too big" msgstr "" @@ -1861,6 +1910,10 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "" + #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1877,6 +1930,10 @@ msgstr "" msgid "incomplete format key" msgstr "" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1903,10 +1960,38 @@ msgstr "" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "Belay that! I2C peripheral be invalid" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "Arr! SPI peripheral be invalid" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "" + #: py/objstr.c msgid "invalid format specifier" msgstr "" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "" + #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2035,6 +2120,10 @@ msgstr "" msgid "must raise an object" msgstr "" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2101,6 +2190,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2167,6 +2260,10 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "" + #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2254,6 +2351,10 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2366,6 +2467,18 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "" + #: py/objstr.c msgid "substring not found" msgstr "" @@ -2374,6 +2487,14 @@ msgstr "" msgid "super() can't find self" msgstr "" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" @@ -2589,15 +2710,3 @@ msgstr "" #~ msgid "Invalid clock pin" #~ msgstr "Avast! Clock pin be invalid" - -#~ msgid "bits must be 8" -#~ msgstr "pieces must be of 8" - -#~ msgid "buffers must be the same length" -#~ msgstr "yer buffers must be of the same length" - -#~ msgid "invalid I2C peripheral" -#~ msgstr "Belay that! I2C peripheral be invalid" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "Arr! SPI peripheral be invalid" diff --git a/locale/es.po b/locale/es.po index 2c029edd54..449e88a800 100644 --- a/locale/es.po +++ b/locale/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -436,6 +436,10 @@ msgstr "Cannot subclass slice" msgid "Cannot transfer without MOSI and MISO pins." msgstr "No se puede transmitir sin pines MOSI y MISO." +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "No se puede obtener inequívocamente sizeof escalar" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "No se puede escribir sin pin MOSI." @@ -547,6 +551,10 @@ msgstr "Modo Drive no se usa cuando la dirección es input." msgid "EXTINT channel already in use" msgstr "El canal EXTINT ya está siendo utilizado" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Error en regex" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -749,10 +757,14 @@ msgstr "" msgid "Group full" msgstr "Group lleno" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "Operación I/O en archivo cerrado" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "operación I2C no soportada" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1104,7 +1116,7 @@ msgstr "address fuera de límites" msgid "Read-only" msgstr "Solo-lectura" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "Sistema de archivos de solo-Lectura" @@ -1165,6 +1177,10 @@ msgstr "Slice y value tienen diferentes longitudes" msgid "Slices not supported" msgstr "Rebanadas no soportadas" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "Dividiendo con sub-capturas" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "El tamaño de la pila debe ser de al menos 256" @@ -1407,6 +1423,19 @@ msgstr "__init__() deberia devolver None, no '%s'" msgid "__new__ arg must be a user-type" msgstr "__new__ arg debe ser un user-type" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "se requiere un objeto bytes-like" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "se llamó abort()" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "la dirección %08x no esta alineada a %d bytes" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "address fuera de límites" @@ -1464,6 +1493,10 @@ msgstr "operacion binaria %q no implementada" msgid "bits must be 7, 8 or 9" msgstr "bits deben ser 7, 8 ó 9" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "bits debe ser 8" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "bits_per_sample debe ser 8 ó 16" @@ -1494,6 +1527,10 @@ msgstr "Las secciones del buffer necesitan tener longitud igual" msgid "buffer too small" msgstr "buffer demasiado pequeño" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "los buffers deben de tener la misma longitud" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "los botones necesitan ser digitalio.DigitalInOut" @@ -1729,6 +1766,10 @@ msgstr "división compleja por cero" msgid "complex values not supported" msgstr "valores complejos no soportados" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "encabezado de compresión" + #: py/parse.c msgid "constant must be an integer" msgstr "constant debe ser un entero" @@ -1773,6 +1814,10 @@ msgstr "división por cero" msgid "empty" msgstr "vacío" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "heap vacío" + #: py/objstr.c msgid "empty separator" msgstr "separator vacío" @@ -1843,6 +1888,10 @@ msgstr "sistema de archivos debe proporcionar método de montaje" msgid "first argument to super() must be type" msgstr "primer argumento para super() debe ser de tipo" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "firstbit debe ser MSB" + #: py/objint.c msgid "float too big" msgstr "" @@ -1911,6 +1960,10 @@ msgstr "generador ignorado GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic debe ser 2048 bytes de largo" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "heap debe ser una lista" + #: py/compile.c msgid "identifier redefined as global" msgstr "identificador redefinido como global" @@ -1927,6 +1980,10 @@ msgstr "formato incompleto" msgid "incomplete format key" msgstr "" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "relleno (padding) incorrecto" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1953,10 +2010,38 @@ msgstr "Entero requerido" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "periférico I2C inválido" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "periférico SPI inválido" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "argumentos inválidos" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "certificado inválido" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "index dupterm inválido" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "formato inválido" + #: py/objstr.c msgid "invalid format specifier" msgstr "especificador de formato inválido" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "llave inválida" + #: py/compile.c msgid "invalid micropython decorator" msgstr "decorador de micropython inválido" @@ -2088,6 +2173,10 @@ msgstr "herencia multiple no soportada" msgid "must raise an object" msgstr "debe hacer un raise de un objeto" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "se deben de especificar sck/mosi/miso" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "debe utilizar argumento de palabra clave para la función clave" @@ -2154,6 +2243,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "argumento no predeterminado sigue argumento predeterminado" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "digito non-hex encontrado" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "no deberia estar/tener agumento por palabra clave despues de */**" @@ -2223,6 +2316,10 @@ msgstr "el objeto de tipo '%s' no tiene len()" msgid "object with buffer protocol required" msgstr "objeto con protocolo de buffer requerido" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "string de longitud impar" + #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2311,6 +2408,10 @@ msgstr "el 3er argumento de pow() no puede ser 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() con 3 argumentos requiere enteros" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "desbordamiento de cola(queue)" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "rawbuf no es el mismo tamaño que buf" @@ -2427,6 +2528,18 @@ msgstr "índices de string deben ser enteros, no %s" msgid "string not supported; use bytes or bytearray" msgstr "string no soportado; usa bytes o bytearray" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "struct: no se puede indexar" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "struct: index fuera de rango" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "struct: sin campos" + #: py/objstr.c msgid "substring not found" msgstr "substring no encontrado" @@ -2435,6 +2548,14 @@ msgstr "substring no encontrado" msgid "super() can't find self" msgstr "super() no puede encontrar self" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "error de sintaxis en JSON" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "error de sintaxis en el descriptor uctypes" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "limite debe ser en el rango 0-65536" @@ -2665,9 +2786,6 @@ msgstr "paso cero" #~ msgid "Cannot set STA config" #~ msgstr "No se puede establecer STA config" -#~ msgid "Cannot unambiguously get sizeof scalar" -#~ msgstr "No se puede obtener inequívocamente sizeof escalar" - #~ msgid "Cannot update i/f status" #~ msgstr "No se puede actualizar i/f status" @@ -2693,9 +2811,6 @@ msgstr "paso cero" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Error en ffi_prep_cif" -#~ msgid "Error in regex" -#~ msgstr "Error en regex" - #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "No se puede adquirir el mutex, status: 0x%08lX" @@ -2765,9 +2880,6 @@ msgstr "paso cero" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 no soporta pull up." -#~ msgid "I2C operation not supported" -#~ msgstr "operación I2C no soportada" - #~ msgid "Invalid bit clock pin" #~ msgstr "Pin bit clock inválido" @@ -2839,9 +2951,6 @@ msgstr "paso cero" #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -#~ msgid "Splitting with sub-captures" -#~ msgstr "Dividiendo con sub-capturas" - #~ msgid "Tile indices must be 0 - 255" #~ msgstr "Los índices de Tile deben ser 0 - 255" @@ -2867,27 +2976,12 @@ msgstr "paso cero" #~ msgid "Voice index too high" #~ msgstr "Index de voz demasiado alto" -#~ msgid "a bytes-like object is required" -#~ msgstr "se requiere un objeto bytes-like" - -#~ msgid "abort() called" -#~ msgstr "se llamó abort()" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "la dirección %08x no esta alineada a %d bytes" - #~ msgid "bad GATT role" #~ msgstr "mal GATT role" -#~ msgid "bits must be 8" -#~ msgstr "bits debe ser 8" - #~ msgid "buffer too long" #~ msgstr "buffer demasiado largo" -#~ msgid "buffers must be the same length" -#~ msgstr "los buffers deben de tener la misma longitud" - #~ msgid "can query only one param" #~ msgstr "puede consultar solo un param" @@ -2906,15 +3000,9 @@ msgstr "paso cero" #~ msgid "characteristics includes an object that is not a Characteristic" #~ msgstr "characteristics incluye un objeto que no es una Characteristica" -#~ msgid "compression header" -#~ msgstr "encabezado de compresión" - #~ msgid "either pos or kw args are allowed" #~ msgstr "ya sea pos o kw args son permitidos" -#~ msgid "empty heap" -#~ msgstr "heap vacío" - #~ msgid "expected a DigitalInOut" #~ msgstr "se espera un DigitalInOut" @@ -2924,57 +3012,27 @@ msgstr "paso cero" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" -#~ msgid "firstbit must be MSB" -#~ msgstr "firstbit debe ser MSB" - #~ msgid "flash location must be below 1MByte" #~ msgstr "la ubicación de la flash debe estar debajo de 1MByte" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "la frecuencia solo puede ser 80MHz ó 160MHz" -#~ msgid "heap must be a list" -#~ msgstr "heap debe ser una lista" - #~ msgid "impossible baudrate" #~ msgstr "baudrate imposible" -#~ msgid "incorrect padding" -#~ msgstr "relleno (padding) incorrecto" - #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "El intervalo está fuera del rango de 0.0020 a 10.24" -#~ msgid "invalid I2C peripheral" -#~ msgstr "periférico I2C inválido" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "periférico SPI inválido" - #~ msgid "invalid alarm" #~ msgstr "alarma inválida" -#~ msgid "invalid arguments" -#~ msgstr "argumentos inválidos" - #~ msgid "invalid buffer length" #~ msgstr "longitud de buffer inválida" -#~ msgid "invalid cert" -#~ msgstr "certificado inválido" - #~ msgid "invalid data bits" #~ msgstr "data bits inválidos" -#~ msgid "invalid dupterm index" -#~ msgstr "index dupterm inválido" - -#~ msgid "invalid format" -#~ msgstr "formato inválido" - -#~ msgid "invalid key" -#~ msgstr "llave inválida" - #~ msgid "invalid pin" #~ msgstr "pin inválido" @@ -2988,30 +3046,18 @@ msgstr "paso cero" #~ msgstr "" #~ "falló la asignación de memoria, asignando %u bytes para código nativo" -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "se deben de especificar sck/mosi/miso" - #~ msgid "name must be a string" #~ msgstr "name debe de ser un string" -#~ msgid "non-hex digit found" -#~ msgstr "digito non-hex encontrado" - #~ msgid "not a valid ADC Channel: %d" #~ msgstr "no es un canal ADC válido: %d" -#~ msgid "odd-length string" -#~ msgstr "string de longitud impar" - #~ msgid "pin does not have IRQ capabilities" #~ msgstr "pin sin capacidades IRQ" #~ msgid "position must be 2-tuple" #~ msgstr "posición debe ser 2-tuple" -#~ msgid "queue overflow" -#~ msgstr "desbordamiento de cola(queue)" - #~ msgid "row must be packed and word aligned" #~ msgstr "la fila debe estar empacada y la palabra alineada" @@ -3021,21 +3067,6 @@ msgstr "paso cero" #~ msgid "services includes an object that is not a Service" #~ msgstr "services incluye un objeto que no es servicio" -#~ msgid "struct: cannot index" -#~ msgstr "struct: no se puede indexar" - -#~ msgid "struct: index out of range" -#~ msgstr "struct: index fuera de rango" - -#~ msgid "struct: no fields" -#~ msgstr "struct: sin campos" - -#~ msgid "syntax error in JSON" -#~ msgstr "error de sintaxis en JSON" - -#~ msgid "syntax error in uctypes descriptor" -#~ msgstr "error de sintaxis en el descriptor uctypes" - #~ msgid "tile index out of bounds" #~ msgstr "el indice del tile fuera de limite" diff --git a/locale/fil.po b/locale/fil.po index 6f51ff315d..57b633890c 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -436,6 +436,10 @@ msgstr "Hindi magawa ang sublcass slice" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Hindi maaaring ilipat kapag walang MOSI at MISO pin." +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Hindi maaring isulat kapag walang MOSI pin." @@ -551,6 +555,10 @@ msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input." msgid "EXTINT channel already in use" msgstr "Ginagamit na ang EXTINT channel" +#: extmod/modure.c +msgid "Error in regex" +msgstr "May pagkakamali sa REGEX" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -757,10 +765,14 @@ msgstr "" msgid "Group full" msgstr "Puno ang group" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "I/O operasyon sa saradong file" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "Hindi supportado ang operasyong I2C" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1110,7 +1122,7 @@ msgstr "wala sa sakop ang address" msgid "Read-only" msgstr "Basahin-lamang" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "Basahin-lamang mode" @@ -1171,6 +1183,10 @@ msgstr "Slice at value iba't ibang haba." msgid "Slices not supported" msgstr "Hindi suportado ang Slices" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "Binibiyak gamit ang sub-captures" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "Ang laki ng stack ay dapat na hindi bababa sa 256" @@ -1412,6 +1428,19 @@ msgstr "__init__() dapat magbalink na None, hindi '%s'" msgid "__new__ arg must be a user-type" msgstr "__new__ arg ay dapat na user-type" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "a bytes-like object ay kailangan" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "abort() tinawag" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "address %08x ay hindi pantay sa %d bytes" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "wala sa sakop ang address" @@ -1469,6 +1498,10 @@ msgstr "binary op %q hindi implemented" msgid "bits must be 7, 8 or 9" msgstr "bits ay dapat 7, 8 o 9" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "bits ay dapat walo (8)" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "bits_per_sample ay dapat 8 o 16" @@ -1500,6 +1533,10 @@ msgstr "aarehas na haba dapat ang buffer slices" msgid "buffer too small" msgstr "masyadong maliit ang buffer" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "ang buffers ay dapat parehas sa haba" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1736,6 +1773,10 @@ msgstr "kumplikadong dibisyon sa pamamagitan ng zero" msgid "complex values not supported" msgstr "kumplikadong values hindi sinusuportahan" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "compression header" + #: py/parse.c msgid "constant must be an integer" msgstr "constant ay dapat na integer" @@ -1782,6 +1823,10 @@ msgstr "dibisyon ng zero" msgid "empty" msgstr "walang laman" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "walang laman ang heap" + #: py/objstr.c msgid "empty separator" msgstr "walang laman na separator" @@ -1853,6 +1898,10 @@ msgstr "ang filesystem dapat mag bigay ng mount method" msgid "first argument to super() must be type" msgstr "unang argument ng super() ay dapat type" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "firstbit ay dapat MSB" + #: py/objint.c msgid "float too big" msgstr "masyadong malaki ang float" @@ -1922,6 +1971,10 @@ msgstr "hindi pinansin ng generator ang GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic ay dapat 2048 bytes ang haba" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "list dapat ang heap" + #: py/compile.c msgid "identifier redefined as global" msgstr "identifier ginawang global" @@ -1938,6 +1991,10 @@ msgstr "hindi kumpleto ang format" msgid "incomplete format key" msgstr "hindi kumpleto ang format key" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "mali ang padding" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1964,10 +2021,38 @@ msgstr "kailangan ng int" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "maling I2C peripheral" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "hindi wastong SPI peripheral" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "mali ang mga argumento" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "mali ang cert" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "mali ang dupterm index" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "hindi wastong pag-format" + #: py/objstr.c msgid "invalid format specifier" msgstr "mali ang format specifier" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "mali ang key" + #: py/compile.c msgid "invalid micropython decorator" msgstr "mali ang micropython decorator" @@ -2100,6 +2185,10 @@ msgstr "maraming inhertance hindi sinusuportahan" msgid "must raise an object" msgstr "dapat itaas ang isang object" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "dapat tukuyin lahat ng SCK/MOSI/MISO" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "dapat gumamit ng keyword argument para sa key function" @@ -2166,6 +2255,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "non-default argument sumusunod sa default argument" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "non-hex digit nahanap" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "non-keyword arg sa huli ng */**" @@ -2232,6 +2325,10 @@ msgstr "object na type '%s' walang len()" msgid "object with buffer protocol required" msgstr "object na may buffer protocol kinakailangan" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "odd-length string" + #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2321,6 +2418,10 @@ msgstr "pow() 3rd argument ay hindi maaring 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() na may 3 argumento kailangan ng integers" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "puno na ang pila (overflow)" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2437,6 +2538,18 @@ msgstr "ang indeks ng string ay dapat na integer, hindi %s" msgid "string not supported; use bytes or bytearray" msgstr "string hindi supportado; gumamit ng bytes o kaya bytearray" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "struct: hindi ma-index" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "struct: index hindi maabot" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "struct: walang fields" + #: py/objstr.c msgid "substring not found" msgstr "substring hindi nahanap" @@ -2445,6 +2558,14 @@ msgstr "substring hindi nahanap" msgid "super() can't find self" msgstr "super() hindi mahanap ang sarili" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "sintaks error sa JSON" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "may pagkakamali sa sintaks sa uctypes descriptor" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "ang threshold ay dapat sa range 0-65536" @@ -2676,9 +2797,6 @@ msgstr "zero step" #~ msgid "Cannot set STA config" #~ msgstr "Hindi ma-set ang STA Config" -#~ msgid "Cannot unambiguously get sizeof scalar" -#~ msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar" - #~ msgid "Cannot update i/f status" #~ msgstr "Hindi ma-update i/f status" @@ -2698,9 +2816,6 @@ msgstr "zero step" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Pagkakamali sa ffi_prep_cif" -#~ msgid "Error in regex" -#~ msgstr "May pagkakamali sa REGEX" - #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX" @@ -2775,9 +2890,6 @@ msgstr "zero step" #~ msgid "GPIO16 does not support pull up." #~ msgstr "Walang pull down support ang GPI016." -#~ msgid "I2C operation not supported" -#~ msgstr "Hindi supportado ang operasyong I2C" - #~ msgid "Invalid bit clock pin" #~ msgstr "Mali ang bit clock pin" @@ -2834,9 +2946,6 @@ msgstr "zero step" #~ msgid "STA required" #~ msgstr "STA kailangan" -#~ msgid "Splitting with sub-captures" -#~ msgstr "Binibiyak gamit ang sub-captures" - #~ msgid "UART(%d) does not exist" #~ msgstr "Walang UART(%d)" @@ -2859,24 +2968,9 @@ msgstr "zero step" #~ msgid "[addrinfo error %d]" #~ msgstr "[addrinfo error %d]" -#~ msgid "a bytes-like object is required" -#~ msgstr "a bytes-like object ay kailangan" - -#~ msgid "abort() called" -#~ msgstr "abort() tinawag" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "address %08x ay hindi pantay sa %d bytes" - -#~ msgid "bits must be 8" -#~ msgstr "bits ay dapat walo (8)" - #~ msgid "buffer too long" #~ msgstr "masyadong mahaba ng buffer" -#~ msgid "buffers must be the same length" -#~ msgstr "ang buffers ay dapat parehas sa haba" - #~ msgid "can query only one param" #~ msgstr "maaaring i-query lamang ang isang param" @@ -2892,15 +2986,9 @@ msgstr "zero step" #~ msgid "can't set STA config" #~ msgstr "hindi makuha ang STA config" -#~ msgid "compression header" -#~ msgstr "compression header" - #~ msgid "either pos or kw args are allowed" #~ msgstr "pos o kw args ang pinahihintulutan" -#~ msgid "empty heap" -#~ msgstr "walang laman ang heap" - #~ msgid "expected a DigitalInOut" #~ msgstr "umasa ng DigitalInOut" @@ -2910,54 +2998,24 @@ msgstr "zero step" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" -#~ msgid "firstbit must be MSB" -#~ msgstr "firstbit ay dapat MSB" - #~ msgid "flash location must be below 1MByte" #~ msgstr "dapat na mas mababa sa 1MB ang lokasyon ng flash" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "ang frequency ay dapat 80Mhz or 160MHz lamang" -#~ msgid "heap must be a list" -#~ msgstr "list dapat ang heap" - #~ msgid "impossible baudrate" #~ msgstr "impossibleng baudrate" -#~ msgid "incorrect padding" -#~ msgstr "mali ang padding" - -#~ msgid "invalid I2C peripheral" -#~ msgstr "maling I2C peripheral" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "hindi wastong SPI peripheral" - #~ msgid "invalid alarm" #~ msgstr "mali ang alarm" -#~ msgid "invalid arguments" -#~ msgstr "mali ang mga argumento" - #~ msgid "invalid buffer length" #~ msgstr "mali ang buffer length" -#~ msgid "invalid cert" -#~ msgstr "mali ang cert" - #~ msgid "invalid data bits" #~ msgstr "mali ang data bits" -#~ msgid "invalid dupterm index" -#~ msgstr "mali ang dupterm index" - -#~ msgid "invalid format" -#~ msgstr "hindi wastong pag-format" - -#~ msgid "invalid key" -#~ msgstr "mali ang key" - #~ msgid "invalid pin" #~ msgstr "mali ang pin" @@ -2971,52 +3029,25 @@ msgstr "zero step" #~ msgstr "" #~ "nabigo ang paglalaan ng memorya, naglalaan ng %u bytes para sa native code" -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "dapat tukuyin lahat ng SCK/MOSI/MISO" - #, fuzzy #~ msgid "name must be a string" #~ msgstr "ang keywords dapat strings" -#~ msgid "non-hex digit found" -#~ msgstr "non-hex digit nahanap" - #~ msgid "not a valid ADC Channel: %d" #~ msgstr "hindi tamang ADC Channel: %d" -#~ msgid "odd-length string" -#~ msgstr "odd-length string" - #~ msgid "pin does not have IRQ capabilities" #~ msgstr "walang IRQ capabilities ang pin" #~ msgid "position must be 2-tuple" #~ msgstr "position ay dapat 2-tuple" -#~ msgid "queue overflow" -#~ msgstr "puno na ang pila (overflow)" - #~ msgid "row must be packed and word aligned" #~ msgstr "row ay dapat packed at ang word nakahanay" #~ msgid "scan failed" #~ msgstr "nabigo ang pag-scan" -#~ msgid "struct: cannot index" -#~ msgstr "struct: hindi ma-index" - -#~ msgid "struct: index out of range" -#~ msgstr "struct: index hindi maabot" - -#~ msgid "struct: no fields" -#~ msgstr "struct: walang fields" - -#~ msgid "syntax error in JSON" -#~ msgstr "sintaks error sa JSON" - -#~ msgid "syntax error in uctypes descriptor" -#~ msgstr "may pagkakamali sa sintaks sa uctypes descriptor" - #~ msgid "too many arguments" #~ msgstr "masyadong maraming argumento" diff --git a/locale/fr.po b/locale/fr.po index 6f82b8f9d4..bad559397f 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2019-04-14 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -442,6 +442,10 @@ msgstr "On ne peut faire de sous-classes de tranches" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Pas de transfert sans broches MOSI et MISO." +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "Impossible d'obtenir la taille du scalaire sans ambigüité" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Impossible d'écrire sans broche MOSI." @@ -555,6 +559,10 @@ msgstr "Le mode Drive n'est pas utilisé quand la direction est 'input'." msgid "EXTINT channel already in use" msgstr "Canal EXTINT déjà utilisé" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Erreur dans l'expression régulière" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -762,10 +770,14 @@ msgstr "" msgid "Group full" msgstr "Groupe plein" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "opération d'E/S sur un fichier fermé" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "opération sur I2C non supportée" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1125,7 +1137,7 @@ msgstr "adresse hors limites" msgid "Read-only" msgstr "Lecture seule" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "Système de fichier en lecture seule" @@ -1187,6 +1199,10 @@ msgstr "Tranche et valeur de tailles différentes" msgid "Slices not supported" msgstr "Tranches non supportées" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "Fractionnement avec des sous-captures" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "La pile doit être au moins de 256" @@ -1436,6 +1452,19 @@ msgstr "__init__() doit retourner None, pas '%s'" msgid "__new__ arg must be a user-type" msgstr "l'argument __new__ doit être d'un type défini par l'utilisateur" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "un objet 'bytes-like' est requis" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "abort() appelé" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "l'adresse %08x n'est pas alignée sur %d octets" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "adresse hors limites" @@ -1493,6 +1522,10 @@ msgstr "opération binaire '%q' non implémentée" msgid "bits must be 7, 8 or 9" msgstr "bits doivent être 7, 8 ou 9" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "les bits doivent être 8" + #: shared-bindings/audiomixer/Mixer.c #, fuzzy msgid "bits_per_sample must be 8 or 16" @@ -1526,6 +1559,10 @@ msgstr "les tranches de tampon doivent être de longueurs égales" msgid "buffer too small" msgstr "tampon trop petit" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "les tampons doivent être de la même longueur" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "les boutons doivent être des digitalio.DigitalInOut" @@ -1771,6 +1808,10 @@ msgstr "division complexe par zéro" msgid "complex values not supported" msgstr "valeurs complexes non supportées" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "entête de compression" + #: py/parse.c msgid "constant must be an integer" msgstr "constante doit être un entier" @@ -1815,6 +1856,10 @@ msgstr "division par zéro" msgid "empty" msgstr "vide" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "tas vide" + #: py/objstr.c msgid "empty separator" msgstr "séparateur vide" @@ -1886,6 +1931,10 @@ msgstr "le system de fichier doit fournir une méthode 'mount'" msgid "first argument to super() must be type" msgstr "le premier argument de super() doit être un type" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "le 1er bit doit être le MSB" + #: py/objint.c msgid "float too big" msgstr "nombre à virgule flottante trop grand" @@ -1954,6 +2003,10 @@ msgstr "le générateur a ignoré GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic doit être long de 2048 octets" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "le tas doit être une liste" + #: py/compile.c msgid "identifier redefined as global" msgstr "identifiant redéfini comme global" @@ -1970,6 +2023,10 @@ msgstr "format incomplet" msgid "incomplete format key" msgstr "clé de format incomplète" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "espacement incorrect" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1996,10 +2053,38 @@ msgstr "entier requis" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "périphérique I2C invalide" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "périphérique SPI invalide" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "arguments invalides" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "certificat invalide" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "index invalide pour dupterm" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "format invalide" + #: py/objstr.c msgid "invalid format specifier" msgstr "spécification de format invalide" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "clé invalide" + #: py/compile.c msgid "invalid micropython decorator" msgstr "décorateur micropython invalide" @@ -2132,6 +2217,10 @@ msgstr "héritages multiples non supportés" msgid "must raise an object" msgstr "doit lever un objet" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "sck, mosi et miso doivent tous être spécifiés" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "doit utiliser un argument nommé pour une fonction key" @@ -2200,6 +2289,10 @@ msgid "non-default argument follows default argument" msgstr "" "un argument sans valeur par défaut suit un argument avec valeur par défaut" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "chiffre non-héxadécimale trouvé" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "argument non-nommé après */**" @@ -2267,6 +2360,10 @@ msgstr "l'objet de type '%s' n'a pas de len()" msgid "object with buffer protocol required" msgstr "un objet avec un protocole de tampon est nécessaire" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "chaîne de longueur impaire" + #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2361,6 +2458,10 @@ msgstr "le 3e argument de pow() ne peut être 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() avec 3 arguments nécessite des entiers" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "dépassement de file" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "'rawbuf' n'est pas de la même taille que 'buf'" @@ -2478,6 +2579,18 @@ msgid "string not supported; use bytes or bytearray" msgstr "" "chaîne de carac. non supportée; utilisez des bytes ou un tableau de bytes" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "struct: indexage impossible" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "struct: index hors limites" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "struct: aucun champs" + #: py/objstr.c msgid "substring not found" msgstr "sous-chaîne non trouvée" @@ -2486,6 +2599,14 @@ msgstr "sous-chaîne non trouvée" msgid "super() can't find self" msgstr "super() ne peut pas trouver self" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "erreur de syntaxe JSON" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "erreur de syntaxe dans le descripteur d'uctypes" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "le seuil doit être dans la gamme 0-65536" @@ -2719,9 +2840,6 @@ msgstr "'step' nul" #~ msgid "Cannot set STA config" #~ msgstr "Impossible de configurer STA" -#~ msgid "Cannot unambiguously get sizeof scalar" -#~ msgstr "Impossible d'obtenir la taille du scalaire sans ambigüité" - #~ msgid "Cannot update i/f status" #~ msgstr "le status i/f ne peut être mis à jour" @@ -2746,9 +2864,6 @@ msgstr "'step' nul" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Erreur dans ffi_prep_cif" -#~ msgid "Error in regex" -#~ msgstr "Erreur dans l'expression régulière" - #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Echec de l'obtention de mutex" @@ -2823,9 +2938,6 @@ msgstr "'step' nul" #~ msgid "GPIO16 does not support pull up." #~ msgstr "Le GPIO16 ne supporte pas le tirage (pull-up)" -#~ msgid "I2C operation not supported" -#~ msgstr "opération sur I2C non supportée" - #~ msgid "Invalid bit clock pin" #~ msgstr "Broche invalide pour 'bit clock'" @@ -2894,9 +3006,6 @@ msgstr "'step' nul" #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Assertion en mode 'soft-device', id: 0x%08lX, pc: 0x%08lX" -#~ msgid "Splitting with sub-captures" -#~ msgstr "Fractionnement avec des sous-captures" - #~ msgid "Tile indices must be 0 - 255" #~ msgstr "Les indices des tuiles doivent être compris entre 0 et 255 " @@ -2922,27 +3031,12 @@ msgstr "'step' nul" #~ msgid "Voice index too high" #~ msgstr "Index de la voix trop grand" -#~ msgid "a bytes-like object is required" -#~ msgstr "un objet 'bytes-like' est requis" - -#~ msgid "abort() called" -#~ msgstr "abort() appelé" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "l'adresse %08x n'est pas alignée sur %d octets" - #~ msgid "bad GATT role" #~ msgstr "mauvais rôle GATT" -#~ msgid "bits must be 8" -#~ msgstr "les bits doivent être 8" - #~ msgid "buffer too long" #~ msgstr "tampon trop long" -#~ msgid "buffers must be the same length" -#~ msgstr "les tampons doivent être de la même longueur" - #~ msgid "can query only one param" #~ msgstr "ne peut demander qu'un seul paramètre" @@ -2962,72 +3056,36 @@ msgstr "'step' nul" #~ msgstr "" #~ "'characteristics' inclut un objet qui n'est pas une 'Characteristic'" -#~ msgid "compression header" -#~ msgstr "entête de compression" - #~ msgid "either pos or kw args are allowed" #~ msgstr "soit 'pos', soit 'kw' est permis en argument" -#~ msgid "empty heap" -#~ msgstr "tas vide" - #~ msgid "expected a DigitalInOut" #~ msgstr "objet DigitalInOut attendu" #~ msgid "expecting a pin" #~ msgstr "une broche (Pin) est attendue" -#~ msgid "firstbit must be MSB" -#~ msgstr "le 1er bit doit être le MSB" - #~ msgid "flash location must be below 1MByte" #~ msgstr "l'emplacement en mémoire flash doit être inférieur à 1Mo" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "la fréquence doit être soit 80MHz soit 160MHz" -#~ msgid "heap must be a list" -#~ msgstr "le tas doit être une liste" - #~ msgid "impossible baudrate" #~ msgstr "débit impossible" -#~ msgid "incorrect padding" -#~ msgstr "espacement incorrect" - #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "intervalle hors bornes 0.0020 à 10.24" -#~ msgid "invalid I2C peripheral" -#~ msgstr "périphérique I2C invalide" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "périphérique SPI invalide" - #~ msgid "invalid alarm" #~ msgstr "alarme invalide" -#~ msgid "invalid arguments" -#~ msgstr "arguments invalides" - #~ msgid "invalid buffer length" #~ msgstr "longueur de tampon invalide" -#~ msgid "invalid cert" -#~ msgstr "certificat invalide" - #~ msgid "invalid data bits" #~ msgstr "bits de données invalides" -#~ msgid "invalid dupterm index" -#~ msgstr "index invalide pour dupterm" - -#~ msgid "invalid format" -#~ msgstr "format invalide" - -#~ msgid "invalid key" -#~ msgstr "clé invalide" - #~ msgid "invalid pin" #~ msgstr "broche invalide" @@ -3041,22 +3099,13 @@ msgstr "'step' nul" #~ msgstr "" #~ "l'allocation de mémoire a échoué en allouant %u octets pour un code natif" -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "sck, mosi et miso doivent tous être spécifiés" - #, fuzzy #~ msgid "name must be a string" #~ msgstr "les noms doivent être des chaînes de caractère" -#~ msgid "non-hex digit found" -#~ msgstr "chiffre non-héxadécimale trouvé" - #~ msgid "not a valid ADC Channel: %d" #~ msgstr "canal ADC non valide : %d" -#~ msgid "odd-length string" -#~ msgstr "chaîne de longueur impaire" - #~ msgid "pin does not have IRQ capabilities" #~ msgstr "la broche ne supporte pas les interruptions (IRQ)" @@ -3064,30 +3113,12 @@ msgstr "'step' nul" #~ msgid "position must be 2-tuple" #~ msgstr "position doit être un 2-tuple" -#~ msgid "queue overflow" -#~ msgstr "dépassement de file" - #~ msgid "scan failed" #~ msgstr "échec du scan" #~ msgid "services includes an object that is not a Service" #~ msgstr "'services' inclut un object qui n'est pas un 'Service'" -#~ msgid "struct: cannot index" -#~ msgstr "struct: indexage impossible" - -#~ msgid "struct: index out of range" -#~ msgstr "struct: index hors limites" - -#~ msgid "struct: no fields" -#~ msgstr "struct: aucun champs" - -#~ msgid "syntax error in JSON" -#~ msgstr "erreur de syntaxe JSON" - -#~ msgid "syntax error in uctypes descriptor" -#~ msgstr "erreur de syntaxe dans le descripteur d'uctypes" - #~ msgid "tile index out of bounds" #~ msgstr "indice de tuile hors limites" diff --git a/locale/it_IT.po b/locale/it_IT.po index f7b7b3a528..c280b0e87a 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -437,6 +437,10 @@ msgstr "Impossibile subclasare slice" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Impossibile trasferire senza i pin MOSI e MISO." +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Impossibile scrivere senza pin MOSI." @@ -551,6 +555,10 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "Canale EXTINT già in uso" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Errore nella regex" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -756,10 +764,14 @@ msgstr "" msgid "Group full" msgstr "Gruppo pieno" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "operazione I/O su file chiuso" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "operazione I2C non supportata" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1114,7 +1126,7 @@ msgstr "indirizzo fuori limite" msgid "Read-only" msgstr "Sola lettura" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "Filesystem in sola lettura" @@ -1177,6 +1189,10 @@ msgstr "" msgid "Slices not supported" msgstr "Slice non supportate" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "Suddivisione con sotto-catture" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "La dimensione dello stack deve essere almeno 256" @@ -1406,6 +1422,19 @@ msgstr "__init__() deve ritornare None, non '%s'" msgid "__new__ arg must be a user-type" msgstr "" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "un oggetto byte-like è richiesto" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "abort() chiamato" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "l'indirizzo %08x non è allineato a %d bytes" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "indirizzo fuori limite" @@ -1463,6 +1492,10 @@ msgstr "operazione binaria %q non implementata" msgid "bits must be 7, 8 or 9" msgstr "i bit devono essere 7, 8 o 9" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "i bit devono essere 8" + #: shared-bindings/audiomixer/Mixer.c #, fuzzy msgid "bits_per_sample must be 8 or 16" @@ -1496,6 +1529,10 @@ msgstr "slice del buffer devono essere della stessa lunghezza" msgid "buffer too small" msgstr "buffer troppo piccolo" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "i buffer devono essere della stessa lunghezza" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1729,6 +1766,10 @@ msgstr "complex divisione per zero" msgid "complex values not supported" msgstr "valori complessi non supportai" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "compressione dell'header" + #: py/parse.c msgid "constant must be an integer" msgstr "la costante deve essere un intero" @@ -1774,6 +1815,10 @@ msgstr "divisione per zero" msgid "empty" msgstr "vuoto" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "heap vuoto" + #: py/objstr.c msgid "empty separator" msgstr "separatore vuoto" @@ -1845,6 +1890,10 @@ msgstr "il filesystem deve fornire un metodo di mount" msgid "first argument to super() must be type" msgstr "" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "il primo bit deve essere il più significativo (MSB)" + #: py/objint.c msgid "float too big" msgstr "float troppo grande" @@ -1914,6 +1963,10 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "graphic deve essere lunga 2048 byte" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "l'heap deve essere una lista" + #: py/compile.c msgid "identifier redefined as global" msgstr "identificatore ridefinito come globale" @@ -1930,6 +1983,10 @@ msgstr "formato incompleto" msgid "incomplete format key" msgstr "" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "padding incorretto" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1956,10 +2013,38 @@ msgstr "intero richiesto" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "periferica I2C invalida" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "periferica SPI invalida" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "argomenti non validi" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "certificato non valido" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "indice dupterm non valido" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "formato non valido" + #: py/objstr.c msgid "invalid format specifier" msgstr "specificatore di formato non valido" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "chiave non valida" + #: py/compile.c msgid "invalid micropython decorator" msgstr "decoratore non valido in micropython" @@ -2093,6 +2178,10 @@ msgstr "ereditarietà multipla non supportata" msgid "must raise an object" msgstr "deve lanciare un oggetto" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "è necessario specificare tutte le sck/mosi/miso" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2160,6 +2249,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "argomento non predefinito segue argmoento predfinito" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "trovata cifra non esadecimale" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "argomento non nominato dopo */**" @@ -2228,6 +2321,10 @@ msgstr "l'oggetto di tipo '%s' non implementa len()" msgid "object with buffer protocol required" msgstr "" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "stringa di lunghezza dispari" + #: py/objstr.c py/objstrunicode.c #, fuzzy msgid "offset out of bounds" @@ -2319,6 +2416,10 @@ msgstr "il terzo argomento di pow() non può essere 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() con 3 argomenti richiede interi" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "overflow della coda" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2435,6 +2536,18 @@ msgstr "indici della stringa devono essere interi, non %s" msgid "string not supported; use bytes or bytearray" msgstr "" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "struct: impossibile indicizzare" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "struct: indice fuori intervallo" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "struct: nessun campo" + #: py/objstr.c msgid "substring not found" msgstr "sottostringa non trovata" @@ -2443,6 +2556,14 @@ msgstr "sottostringa non trovata" msgid "super() can't find self" msgstr "" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "errore di sintassi nel JSON" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "errore di sintassi nel descrittore uctypes" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "la soglia deve essere nell'intervallo 0-65536" @@ -2674,10 +2795,6 @@ msgstr "zero step" #~ msgid "Cannot set STA config" #~ msgstr "Impossibile impostare la configurazione della STA" -#~ msgid "Cannot unambiguously get sizeof scalar" -#~ msgstr "" -#~ "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente" - #~ msgid "Cannot update i/f status" #~ msgstr "Impossibile aggiornare status di i/f" @@ -2703,9 +2820,6 @@ msgstr "zero step" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Errore in ffi_prep_cif" -#~ msgid "Error in regex" -#~ msgstr "Errore nella regex" - #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Impossibile allocare buffer RX" @@ -2777,9 +2891,6 @@ msgstr "zero step" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 non supporta pull-up" -#~ msgid "I2C operation not supported" -#~ msgstr "operazione I2C non supportata" - #~ msgid "Invalid bit clock pin" #~ msgstr "Pin del clock di bit non valido" @@ -2837,9 +2948,6 @@ msgstr "zero step" #~ msgid "STA required" #~ msgstr "STA richiesta" -#~ msgid "Splitting with sub-captures" -#~ msgstr "Suddivisione con sotto-catture" - #~ msgid "UART(%d) does not exist" #~ msgstr "UART(%d) non esistente" @@ -2858,24 +2966,9 @@ msgstr "zero step" #~ msgid "[addrinfo error %d]" #~ msgstr "[errore addrinfo %d]" -#~ msgid "a bytes-like object is required" -#~ msgstr "un oggetto byte-like è richiesto" - -#~ msgid "abort() called" -#~ msgstr "abort() chiamato" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "l'indirizzo %08x non è allineato a %d bytes" - -#~ msgid "bits must be 8" -#~ msgstr "i bit devono essere 8" - #~ msgid "buffer too long" #~ msgstr "buffer troppo lungo" -#~ msgid "buffers must be the same length" -#~ msgstr "i buffer devono essere della stessa lunghezza" - #~ msgid "can query only one param" #~ msgstr "è possibile interrogare solo un parametro" @@ -2891,15 +2984,9 @@ msgstr "zero step" #~ msgid "can't set STA config" #~ msgstr "impossibile impostare le configurazioni della STA" -#~ msgid "compression header" -#~ msgstr "compressione dell'header" - #~ msgid "either pos or kw args are allowed" #~ msgstr "sono permesse solo gli argomenti pos o kw" -#~ msgid "empty heap" -#~ msgstr "heap vuoto" - #~ msgid "expected a DigitalInOut" #~ msgstr "DigitalInOut atteso" @@ -2909,54 +2996,24 @@ msgstr "zero step" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" -#~ msgid "firstbit must be MSB" -#~ msgstr "il primo bit deve essere il più significativo (MSB)" - #~ msgid "flash location must be below 1MByte" #~ msgstr "Locazione della flash deve essere inferiore a 1mb" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "la frequenza può essere o 80Mhz o 160Mhz" -#~ msgid "heap must be a list" -#~ msgstr "l'heap deve essere una lista" - #~ msgid "impossible baudrate" #~ msgstr "baudrate impossibile" -#~ msgid "incorrect padding" -#~ msgstr "padding incorretto" - -#~ msgid "invalid I2C peripheral" -#~ msgstr "periferica I2C invalida" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "periferica SPI invalida" - #~ msgid "invalid alarm" #~ msgstr "alarm non valido" -#~ msgid "invalid arguments" -#~ msgstr "argomenti non validi" - #~ msgid "invalid buffer length" #~ msgstr "lunghezza del buffer non valida" -#~ msgid "invalid cert" -#~ msgstr "certificato non valido" - #~ msgid "invalid data bits" #~ msgstr "bit dati invalidi" -#~ msgid "invalid dupterm index" -#~ msgstr "indice dupterm non valido" - -#~ msgid "invalid format" -#~ msgstr "formato non valido" - -#~ msgid "invalid key" -#~ msgstr "chiave non valida" - #~ msgid "invalid pin" #~ msgstr "pin non valido" @@ -2970,52 +3027,25 @@ msgstr "zero step" #~ msgstr "" #~ "allocazione di memoria fallita, allocazione di %d byte per codice nativo" -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "è necessario specificare tutte le sck/mosi/miso" - #, fuzzy #~ msgid "name must be a string" #~ msgstr "argomenti nominati devono essere stringhe" -#~ msgid "non-hex digit found" -#~ msgstr "trovata cifra non esadecimale" - #~ msgid "not a valid ADC Channel: %d" #~ msgstr "canale ADC non valido: %d" -#~ msgid "odd-length string" -#~ msgstr "stringa di lunghezza dispari" - #~ msgid "pin does not have IRQ capabilities" #~ msgstr "il pin non implementa IRQ" #~ msgid "position must be 2-tuple" #~ msgstr "position deve essere una 2-tuple" -#~ msgid "queue overflow" -#~ msgstr "overflow della coda" - #~ msgid "row must be packed and word aligned" #~ msgstr "la riga deve essere compattata e allineata alla parola" #~ msgid "scan failed" #~ msgstr "scansione fallita" -#~ msgid "struct: cannot index" -#~ msgstr "struct: impossibile indicizzare" - -#~ msgid "struct: index out of range" -#~ msgstr "struct: indice fuori intervallo" - -#~ msgid "struct: no fields" -#~ msgstr "struct: nessun campo" - -#~ msgid "syntax error in JSON" -#~ msgstr "errore di sintassi nel JSON" - -#~ msgid "syntax error in uctypes descriptor" -#~ msgstr "errore di sintassi nel descrittore uctypes" - #~ msgid "too many arguments" #~ msgstr "troppi argomenti" diff --git a/locale/ko.po b/locale/ko.po index 2c785e2902..fa67fda828 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2019-05-06 14:22-0700\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" @@ -432,6 +432,10 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "" +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "" @@ -543,6 +547,10 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Regex에 오류가 있습니다." + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -744,10 +752,14 @@ msgstr "" msgid "Group full" msgstr "" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1083,7 +1095,7 @@ msgstr "" msgid "Read-only" msgstr "" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "" @@ -1143,6 +1155,10 @@ msgstr "" msgid "Slices not supported" msgstr "" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "" @@ -1365,6 +1381,19 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1422,6 +1451,10 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "비트(bits)는 7, 8 또는 9 여야합니다" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "비트(bits)는 8이어야합니다" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "bits_per_sample은 8 또는 16이어야합니다." @@ -1452,6 +1485,10 @@ msgstr "" msgid "buffer too small" msgstr "" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1682,6 +1719,10 @@ msgstr "" msgid "complex values not supported" msgstr "" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "" + #: py/parse.c msgid "constant must be an integer" msgstr "" @@ -1724,6 +1765,10 @@ msgstr "" msgid "empty" msgstr "" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "" + #: py/objstr.c msgid "empty separator" msgstr "" @@ -1794,6 +1839,10 @@ msgstr "" msgid "first argument to super() must be type" msgstr "" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "" + #: py/objint.c msgid "float too big" msgstr "float이 너무 큽니다" @@ -1862,6 +1911,10 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "" + #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1878,6 +1931,10 @@ msgstr "" msgid "incomplete format key" msgstr "" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1904,10 +1961,38 @@ msgstr "정수가 필요합니다" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "ICT주변 기기가 유효하지 않습니다" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "SPI주변 기기가 유효하지 않습니다" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "cert가 유효하지 않습니다" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "Dupterm index가 유효하지 않습니다" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "형식가 유효하지 않습니다" + #: py/objstr.c msgid "invalid format specifier" msgstr "형식 지정자(format specifier)가 유효하지 않습니다" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "키가 유효하지 않습니다" + #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2036,6 +2121,10 @@ msgstr "" msgid "must raise an object" msgstr "" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2102,6 +2191,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2168,6 +2261,10 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "" + #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2255,6 +2352,10 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2367,6 +2468,18 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "" + #: py/objstr.c msgid "substring not found" msgstr "" @@ -2375,6 +2488,14 @@ msgstr "" msgid "super() can't find self" msgstr "" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "" @@ -2588,9 +2709,6 @@ msgstr "" #~ msgid "Data too large for the advertisement packet" #~ msgstr "광고 (브로드 캐스트) 패킷에 대한 데이터가 너무 큽니다" -#~ msgid "Error in regex" -#~ msgstr "Regex에 오류가 있습니다." - #~ msgid "Failed to add service" #~ msgstr "서비스를 추가하지 못했습니다" @@ -2605,24 +2723,3 @@ msgstr "" #~ msgid "Failed to continue scanning, err 0x%04x" #~ msgstr "스캔을 계속할 수 없습니다, 오류 0x%04x" - -#~ msgid "bits must be 8" -#~ msgstr "비트(bits)는 8이어야합니다" - -#~ msgid "invalid I2C peripheral" -#~ msgstr "ICT주변 기기가 유효하지 않습니다" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "SPI주변 기기가 유효하지 않습니다" - -#~ msgid "invalid cert" -#~ msgstr "cert가 유효하지 않습니다" - -#~ msgid "invalid dupterm index" -#~ msgstr "Dupterm index가 유효하지 않습니다" - -#~ msgid "invalid format" -#~ msgstr "형식가 유효하지 않습니다" - -#~ msgid "invalid key" -#~ msgstr "키가 유효하지 않습니다" diff --git a/locale/pl.po b/locale/pl.po index e1a3ccfd9c..34381c08dd 100644 --- a/locale/pl.po +++ b/locale/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2019-03-19 18:37-0700\n" "Last-Translator: Radomir Dopieralski \n" "Language-Team: pl\n" @@ -431,6 +431,10 @@ msgstr "Nie można dziedziczyć ze slice" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Nie można przesyłać bez nóżek MOSI i MISO." +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "Wielkość skalara jest niejednoznaczna" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Nie można pisać bez nóżki MOSI." @@ -542,6 +546,10 @@ msgstr "Tryb sterowania nieużywany w trybie wejścia." msgid "EXTINT channel already in use" msgstr "Kanał EXTINT w użyciu" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Błąd w regex" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -743,10 +751,14 @@ msgstr "" msgid "Group full" msgstr "Grupa pełna" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "Operacja I/O na zamkniętym pliku" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "Operacja I2C nieobsługiwana" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1089,7 +1101,7 @@ msgstr "Zakres poza granicami" msgid "Read-only" msgstr "Tylko do odczytu" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "System plików tylko do odczytu" @@ -1149,6 +1161,10 @@ msgstr "Fragment i wartość są różnych długości." msgid "Slices not supported" msgstr "Fragmenty nieobsługiwane" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "Podział z podgrupami" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "Stos musi mieć co najmniej 256 bajtów" @@ -1384,6 +1400,19 @@ msgstr "__init__() powinien zwracać None, nie '%s'" msgid "__new__ arg must be a user-type" msgstr "Argument __new__ musi być typu użytkownika" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "wymagany obiekt typu bytes" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "Wywołano abort()" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "adres %08x nie jest wyrównany do %d bajtów" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "adres poza zakresem" @@ -1441,6 +1470,10 @@ msgstr "brak dwu-argumentowego operatora %q" msgid "bits must be 7, 8 or 9" msgstr "bits musi być 7, 8 lub 9" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "bits musi być 8" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "bits_per_sample musi być 8 lub 16" @@ -1471,6 +1504,10 @@ msgstr "fragmenty bufora muszą mieć tę samą długość" msgid "buffer too small" msgstr "zbyt mały bufor" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "bufory muszą mieć tę samą długość" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "buttons musi być digitalio.DigitalInOut" @@ -1701,6 +1738,10 @@ msgstr "zespolone dzielenie przez zero" msgid "complex values not supported" msgstr "wartości zespolone nieobsługiwane" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "nagłówek kompresji" + #: py/parse.c msgid "constant must be an integer" msgstr "stała musi być liczbą całkowitą" @@ -1744,6 +1785,10 @@ msgstr "dzielenie przez zero" msgid "empty" msgstr "puste" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "pusta sterta" + #: py/objstr.c msgid "empty separator" msgstr "pusty separator" @@ -1814,6 +1859,10 @@ msgstr "system plików musi mieć metodę mount" msgid "first argument to super() must be type" msgstr "pierwszy argument super() musi być typem" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "firstbit musi być MSB" + #: py/objint.c msgid "float too big" msgstr "float zbyt wielki" @@ -1882,6 +1931,10 @@ msgstr "generator zignorował GeneratorExit" msgid "graphic must be 2048 bytes long" msgstr "graphic musi mieć 2048 bajtów długości" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "heap musi być listą" + #: py/compile.c msgid "identifier redefined as global" msgstr "nazwa przedefiniowana jako globalna" @@ -1898,6 +1951,10 @@ msgstr "niepełny format" msgid "incomplete format key" msgstr "niepełny klucz formatu" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "złe wypełnienie" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1924,10 +1981,38 @@ msgstr "wymagana liczba całkowita" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "złe I2C" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "złe SPI" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "złe arguemnty" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "zły ceryfikat" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "zły indeks dupterm" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "zły format" + #: py/objstr.c msgid "invalid format specifier" msgstr "zła specyfikacja formatu" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "zły klucz" + #: py/compile.c msgid "invalid micropython decorator" msgstr "zły dekorator micropythona" @@ -2056,6 +2141,10 @@ msgstr "wielokrotne dziedzicznie niewspierane" msgid "must raise an object" msgstr "wyjątek musi być obiektem" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "sck/mosi/miso muszą być podane" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "funkcja key musi być podana jako argument nazwany" @@ -2122,6 +2211,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "argument z wartością domyślną przed argumentem bez" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "cyfra nieszesnastkowa" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "argument nienazwany po */**" @@ -2188,6 +2281,10 @@ msgstr "obiekt typu '%s' nie ma len()" msgid "object with buffer protocol required" msgstr "wymagany obiekt z protokołem buforu" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "łańcuch o nieparzystej długości" + #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "offset poza zakresem" @@ -2276,6 +2373,10 @@ msgstr "trzeci argument pow() nie może być 0" msgid "pow() with 3 arguments requires integers" msgstr "trzyargumentowe pow() wymaga liczb całkowitych" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "przepełnienie kolejki" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "rawbuf nie jest tej samej wielkości co buf" @@ -2389,6 +2490,18 @@ msgstr "indeksy łańcucha muszą być całkowite, nie %s" msgid "string not supported; use bytes or bytearray" msgstr "łańcuchy nieobsługiwane; użyj bytes lub bytearray" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "struct: nie można indeksować" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "struct: indeks poza zakresem" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "struct: brak pól" + #: py/objstr.c msgid "substring not found" msgstr "brak pod-łańcucha" @@ -2397,6 +2510,14 @@ msgstr "brak pod-łańcucha" msgid "super() can't find self" msgstr "super() nie może znaleźć self" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "błąd składni w JSON" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "błąd składni w deskryptorze uctypes" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "threshold musi być w zakresie 0-65536" @@ -2613,9 +2734,6 @@ msgstr "zerowy krok" #~ msgid "Can't connect in Peripheral mode" #~ msgstr "Nie można się łączyć w trybie Peripheral" -#~ msgid "Cannot unambiguously get sizeof scalar" -#~ msgstr "Wielkość skalara jest niejednoznaczna" - #~ msgid "Characteristic UUID doesn't match Service UUID" #~ msgstr "UUID charakterystyki inny niż UUID serwisu" @@ -2625,9 +2743,6 @@ msgstr "zerowy krok" #~ msgid "Data too large for the advertisement packet" #~ msgstr "Zbyt dużo danych pakietu rozgłoszeniowego" -#~ msgid "Error in regex" -#~ msgstr "Błąd w regex" - #~ msgid "Failed to acquire mutex" #~ msgstr "Nie udało się uzyskać blokady" @@ -2674,9 +2789,6 @@ msgstr "zerowy krok" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Nie udało się zatrzymać rozgłaszania, błąd 0x%04x" -#~ msgid "I2C operation not supported" -#~ msgstr "Operacja I2C nieobsługiwana" - #~ msgid "Invalid bit clock pin" #~ msgstr "Zła nóżka zegara" @@ -2697,9 +2809,6 @@ msgstr "zerowy krok" #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX" -#~ msgid "Splitting with sub-captures" -#~ msgstr "Podział z podgrupami" - #~ msgid "Tile indices must be 0 - 255" #~ msgstr "Indeks kafelka musi być pomiędzy 0 a 255 włącznie" @@ -2709,99 +2818,21 @@ msgstr "zerowy krok" #~ msgid "Voice index too high" #~ msgstr "Zbyt wysoki indeks głosu" -#~ msgid "a bytes-like object is required" -#~ msgstr "wymagany obiekt typu bytes" - -#~ msgid "abort() called" -#~ msgstr "Wywołano abort()" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "adres %08x nie jest wyrównany do %d bajtów" - #~ msgid "bad GATT role" #~ msgstr "zła rola GATT" -#~ msgid "bits must be 8" -#~ msgstr "bits musi być 8" - -#~ msgid "buffers must be the same length" -#~ msgstr "bufory muszą mieć tę samą długość" - #~ msgid "characteristics includes an object that is not a Characteristic" #~ msgstr "" #~ "charakterystyki zawierają obiekt, który nie jest typu Characteristic" -#~ msgid "compression header" -#~ msgstr "nagłówek kompresji" - -#~ msgid "empty heap" -#~ msgstr "pusta sterta" - -#~ msgid "firstbit must be MSB" -#~ msgstr "firstbit musi być MSB" - -#~ msgid "heap must be a list" -#~ msgstr "heap musi być listą" - -#~ msgid "incorrect padding" -#~ msgstr "złe wypełnienie" - #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "przedział poza zakresem 0.0020 do 10.24" -#~ msgid "invalid I2C peripheral" -#~ msgstr "złe I2C" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "złe SPI" - -#~ msgid "invalid arguments" -#~ msgstr "złe arguemnty" - -#~ msgid "invalid cert" -#~ msgstr "zły ceryfikat" - -#~ msgid "invalid dupterm index" -#~ msgstr "zły indeks dupterm" - -#~ msgid "invalid format" -#~ msgstr "zły format" - -#~ msgid "invalid key" -#~ msgstr "zły klucz" - -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "sck/mosi/miso muszą być podane" - #~ msgid "name must be a string" #~ msgstr "nazwa musi być łańcuchem" -#~ msgid "non-hex digit found" -#~ msgstr "cyfra nieszesnastkowa" - -#~ msgid "odd-length string" -#~ msgstr "łańcuch o nieparzystej długości" - -#~ msgid "queue overflow" -#~ msgstr "przepełnienie kolejki" - #~ msgid "services includes an object that is not a Service" #~ msgstr "obiekt typu innego niż Service w services" -#~ msgid "struct: cannot index" -#~ msgstr "struct: nie można indeksować" - -#~ msgid "struct: index out of range" -#~ msgstr "struct: indeks poza zakresem" - -#~ msgid "struct: no fields" -#~ msgstr "struct: brak pól" - -#~ msgid "syntax error in JSON" -#~ msgstr "błąd składni w JSON" - -#~ msgid "syntax error in uctypes descriptor" -#~ msgstr "błąd składni w deskryptorze uctypes" - #~ msgid "tile index out of bounds" #~ msgstr "indeks kafelka poza zakresem" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index f89cc428c5..01a9f04702 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -433,6 +433,10 @@ msgstr "" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Não é possível transferir sem os pinos MOSI e MISO." +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Não é possível ler sem um pino MOSI" @@ -546,6 +550,10 @@ msgstr "" msgid "EXTINT channel already in use" msgstr "Canal EXTINT em uso" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Erro no regex" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -751,10 +759,14 @@ msgstr "" msgid "Group full" msgstr "Grupo cheio" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "Operação I/O no arquivo fechado" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "I2C operação não suportada" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1097,7 +1109,7 @@ msgstr "" msgid "Read-only" msgstr "Somente leitura" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "Sistema de arquivos somente leitura" @@ -1158,6 +1170,10 @@ msgstr "" msgid "Slices not supported" msgstr "" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "O tamanho da pilha deve ser pelo menos 256" @@ -1380,6 +1396,19 @@ msgstr "" msgid "__new__ arg must be a user-type" msgstr "" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "abort() chamado" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "endereço %08x não está alinhado com %d bytes" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "" @@ -1437,6 +1466,10 @@ msgstr "" msgid "bits must be 7, 8 or 9" msgstr "" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "bits devem ser 8" + #: shared-bindings/audiomixer/Mixer.c #, fuzzy msgid "bits_per_sample must be 8 or 16" @@ -1470,6 +1503,10 @@ msgstr "" msgid "buffer too small" msgstr "" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "buffers devem ser o mesmo tamanho" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "" @@ -1700,6 +1737,10 @@ msgstr "" msgid "complex values not supported" msgstr "" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "" + #: py/parse.c msgid "constant must be an integer" msgstr "constante deve ser um inteiro" @@ -1742,6 +1783,10 @@ msgstr "divisão por zero" msgid "empty" msgstr "vazio" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "heap vazia" + #: py/objstr.c msgid "empty separator" msgstr "" @@ -1813,6 +1858,10 @@ msgstr "sistema de arquivos deve fornecer método de montagem" msgid "first argument to super() must be type" msgstr "" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "firstbit devem ser MSB" + #: py/objint.c msgid "float too big" msgstr "float muito grande" @@ -1881,6 +1930,10 @@ msgstr "" msgid "graphic must be 2048 bytes long" msgstr "" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "heap deve ser uma lista" + #: py/compile.c msgid "identifier redefined as global" msgstr "" @@ -1897,6 +1950,10 @@ msgstr "formato incompleto" msgid "incomplete format key" msgstr "" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "preenchimento incorreto" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1923,10 +1980,38 @@ msgstr "inteiro requerido" msgid "interval must be in range %s-%s" msgstr "" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "periférico I2C inválido" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "periférico SPI inválido" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "argumentos inválidos" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "certificado inválido" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "Índice de dupterm inválido" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "formato inválido" + #: py/objstr.c msgid "invalid format specifier" msgstr "" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "chave inválida" + #: py/compile.c msgid "invalid micropython decorator" msgstr "" @@ -2055,6 +2140,10 @@ msgstr "" msgid "must raise an object" msgstr "" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "deve especificar todos sck/mosi/miso" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "" @@ -2121,6 +2210,10 @@ msgstr "" msgid "non-default argument follows default argument" msgstr "" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "" @@ -2187,6 +2280,10 @@ msgstr "" msgid "object with buffer protocol required" msgstr "" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "" + #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "" @@ -2274,6 +2371,10 @@ msgstr "" msgid "pow() with 3 arguments requires integers" msgstr "" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "estouro de fila" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "" @@ -2388,6 +2489,18 @@ msgstr "" msgid "string not supported; use bytes or bytearray" msgstr "" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "struct: não pode indexar" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "struct: índice fora do intervalo" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "struct: sem campos" + #: py/objstr.c msgid "substring not found" msgstr "" @@ -2396,6 +2509,14 @@ msgstr "" msgid "super() can't find self" msgstr "" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "erro de sintaxe no JSON" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "Limite deve estar no alcance de 0-65536" @@ -2629,9 +2750,6 @@ msgstr "passo zero" #~ msgid "Error in ffi_prep_cif" #~ msgstr "Erro no ffi_prep_cif" -#~ msgid "Error in regex" -#~ msgstr "Erro no regex" - #, fuzzy #~ msgid "Failed to acquire mutex" #~ msgstr "Falha ao alocar buffer RX" @@ -2695,9 +2813,6 @@ msgstr "passo zero" #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 não suporta pull up." -#~ msgid "I2C operation not supported" -#~ msgstr "I2C operação não suportada" - #~ msgid "Invalid bit clock pin" #~ msgstr "Pino de bit clock inválido" @@ -2768,21 +2883,9 @@ msgstr "passo zero" #~ msgid "Use esptool to erase flash and re-upload Python instead" #~ msgstr "Use o esptool para apagar o flash e recarregar o Python" -#~ msgid "abort() called" -#~ msgstr "abort() chamado" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "endereço %08x não está alinhado com %d bytes" - -#~ msgid "bits must be 8" -#~ msgstr "bits devem ser 8" - #~ msgid "buffer too long" #~ msgstr "buffer muito longo" -#~ msgid "buffers must be the same length" -#~ msgstr "buffers devem ser o mesmo tamanho" - #~ msgid "can query only one param" #~ msgstr "pode consultar apenas um parâmetro" @@ -2801,63 +2904,30 @@ msgstr "passo zero" #~ msgid "either pos or kw args are allowed" #~ msgstr "pos ou kw args são permitidos" -#~ msgid "empty heap" -#~ msgstr "heap vazia" - #~ msgid "expecting a pin" #~ msgstr "esperando um pino" #~ msgid "ffi_prep_closure_loc" #~ msgstr "ffi_prep_closure_loc" -#~ msgid "firstbit must be MSB" -#~ msgstr "firstbit devem ser MSB" - #~ msgid "flash location must be below 1MByte" #~ msgstr "o local do flash deve estar abaixo de 1 MByte" #~ msgid "frequency can only be either 80Mhz or 160MHz" #~ msgstr "A frequência só pode ser 80Mhz ou 160MHz" -#~ msgid "heap must be a list" -#~ msgstr "heap deve ser uma lista" - #~ msgid "impossible baudrate" #~ msgstr "taxa de transmissão impossível" -#~ msgid "incorrect padding" -#~ msgstr "preenchimento incorreto" - -#~ msgid "invalid I2C peripheral" -#~ msgstr "periférico I2C inválido" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "periférico SPI inválido" - #~ msgid "invalid alarm" #~ msgstr "Alarme inválido" -#~ msgid "invalid arguments" -#~ msgstr "argumentos inválidos" - #~ msgid "invalid buffer length" #~ msgstr "comprimento de buffer inválido" -#~ msgid "invalid cert" -#~ msgstr "certificado inválido" - #~ msgid "invalid data bits" #~ msgstr "Bits de dados inválidos" -#~ msgid "invalid dupterm index" -#~ msgstr "Índice de dupterm inválido" - -#~ msgid "invalid format" -#~ msgstr "formato inválido" - -#~ msgid "invalid key" -#~ msgstr "chave inválida" - #~ msgid "invalid pin" #~ msgstr "Pino inválido" @@ -2870,9 +2940,6 @@ msgstr "passo zero" #~ msgid "memory allocation failed, allocating %u bytes for native code" #~ msgstr "alocação de memória falhou, alocando %u bytes para código nativo" -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "deve especificar todos sck/mosi/miso" - #, fuzzy #~ msgid "name must be a string" #~ msgstr "heap deve ser uma lista" @@ -2883,27 +2950,12 @@ msgstr "passo zero" #~ msgid "pin does not have IRQ capabilities" #~ msgstr "Pino não tem recursos de IRQ" -#~ msgid "queue overflow" -#~ msgstr "estouro de fila" - #~ msgid "row must be packed and word aligned" #~ msgstr "Linha deve ser comprimida e com as palavras alinhadas" #~ msgid "scan failed" #~ msgstr "varredura falhou" -#~ msgid "struct: cannot index" -#~ msgstr "struct: não pode indexar" - -#~ msgid "struct: index out of range" -#~ msgstr "struct: índice fora do intervalo" - -#~ msgid "struct: no fields" -#~ msgstr "struct: sem campos" - -#~ msgid "syntax error in JSON" -#~ msgstr "erro de sintaxe no JSON" - #~ msgid "too many arguments" #~ msgstr "muitos argumentos" diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index 0111774c14..750cdd9d88 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: circuitpython-cn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:11-0600\n" +"POT-Creation-Date: 2019-11-17 20:54-0600\n" "PO-Revision-Date: 2019-04-13 10:10-0700\n" "Last-Translator: hexthat\n" "Language-Team: Chinese Hanyu Pinyin\n" @@ -432,6 +432,10 @@ msgstr "Wúfǎ zi fēnlèi" msgid "Cannot transfer without MOSI and MISO pins." msgstr "Méiyǒu MOSI/MISO jiù wúfǎ zhuǎnyí." +#: extmod/moductypes.c +msgid "Cannot unambiguously get sizeof scalar" +msgstr "Wúfǎ míngquè de huòdé biāoliàng de dàxiǎo" + #: shared-module/bitbangio/SPI.c msgid "Cannot write without MOSI pin." msgstr "Wúfǎ xiě rù MOSI de yǐn jiǎo." @@ -543,6 +547,10 @@ msgstr "Fāngxiàng shūrù shí qūdòng móshì méiyǒu shǐyòng." msgid "EXTINT channel already in use" msgstr "EXTINT píndào yǐjīng shǐyòng" +#: extmod/modure.c +msgid "Error in regex" +msgstr "Zhèngzé biǎodá shì cuòwù" + #: shared-bindings/microcontroller/Pin.c #: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c #: shared-bindings/terminalio/Terminal.c @@ -744,10 +752,14 @@ msgstr "Jítuán yǐjīng shǐyòngguò" msgid "Group full" msgstr "Fēnzǔ yǐ mǎn" -#: py/objstringio.c +#: extmod/vfs_posix_file.c py/objstringio.c msgid "I/O operation on closed file" msgstr "Wénjiàn shàng de I/ O cāozuò" +#: extmod/machine_i2c.c +msgid "I2C operation not supported" +msgstr "I2C cāozuò bù zhīchí" + #: py/persistentcode.c msgid "" "Incompatible .mpy file. Please update all .mpy files. See http://adafru.it/" @@ -1093,7 +1105,7 @@ msgstr "Fànwéi chāochū biānjiè" msgid "Read-only" msgstr "Zhǐ dú" -#: py/moduerrno.c +#: extmod/vfs_fat.c py/moduerrno.c msgid "Read-only filesystem" msgstr "Zhǐ dú wénjiàn xìtǒng" @@ -1153,6 +1165,10 @@ msgstr "Qiēpiàn hé zhí bùtóng chángdù." msgid "Slices not supported" msgstr "Qiēpiàn bù shòu zhīchí" +#: extmod/modure.c +msgid "Splitting with sub-captures" +msgstr "Yǔ zi bǔhuò fēnliè" + #: shared-bindings/supervisor/__init__.c msgid "Stack size must be at least 256" msgstr "Duīzhàn dàxiǎo bìxū zhìshǎo 256" @@ -1393,6 +1409,19 @@ msgstr "__Init__() yīnggāi fǎnhuí not, ér bùshì '%s'" msgid "__new__ arg must be a user-type" msgstr "__new__ cānshù bìxū shì yònghù lèixíng" +#: extmod/modubinascii.c extmod/moduhashlib.c +msgid "a bytes-like object is required" +msgstr "xūyào yīgè zì jié lèi duìxiàng" + +#: lib/embed/abort_.c +msgid "abort() called" +msgstr "zhōngzhǐ () diàoyòng" + +#: extmod/machine_mem.c +#, c-format +msgid "address %08x is not aligned to %d bytes" +msgstr "wèi zhǐ %08x wèi yǔ %d wèi yuán zǔ duìqí" + #: shared-bindings/i2cslave/I2CSlave.c msgid "address out of bounds" msgstr "dìzhǐ chāochū biānjiè" @@ -1450,6 +1479,10 @@ msgstr "èrjìnzhì bǎn qián bǎn %q wèi zhíxíng" msgid "bits must be 7, 8 or 9" msgstr "bǐtè bìxū shì 7,8 huò 9" +#: extmod/machine_spi.c +msgid "bits must be 8" +msgstr "bǐtè bìxū shì 8" + #: shared-bindings/audiomixer/Mixer.c msgid "bits_per_sample must be 8 or 16" msgstr "měi jiàn yàngběn bìxū wèi 8 huò 16" @@ -1480,6 +1513,10 @@ 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" +#: extmod/machine_spi.c +msgid "buffers must be the same length" +msgstr "huǎnchōng qū bìxū shì chángdù xiāngtóng" + #: shared-bindings/_pew/PewPew.c msgid "buttons must be digitalio.DigitalInOut" msgstr "ànniǔ bìxū shì digitalio.DigitalInOut" @@ -1712,6 +1749,10 @@ msgstr "fùzá de fēngé wèi 0" msgid "complex values not supported" msgstr "bù zhīchí fùzá de zhí" +#: extmod/moduzlib.c +msgid "compression header" +msgstr "yāsuō tóu bù" + #: py/parse.c msgid "constant must be an integer" msgstr "chángshù bìxū shì yīgè zhěngshù" @@ -1755,6 +1796,10 @@ msgstr "bèi líng chú" msgid "empty" msgstr "kòngxián" +#: extmod/moduheapq.c extmod/modutimeq.c +msgid "empty heap" +msgstr "kōng yīn yīnxiào" + #: py/objstr.c msgid "empty separator" msgstr "kōng fēngé fú" @@ -1825,6 +1870,10 @@ msgstr "wénjiàn xìtǒng bìxū tígōng guà zài fāngfǎ" msgid "first argument to super() must be type" msgstr "chāojí () de dì yī gè cānshù bìxū shì lèixíng" +#: extmod/machine_spi.c +msgid "firstbit must be MSB" +msgstr "dì yī wèi bìxū shì MSB" + #: py/objint.c msgid "float too big" msgstr "fú diǎn tài dà" @@ -1893,6 +1942,10 @@ msgstr "shēngchéng qì hūlüè shēngchéng qì tuìchū" msgid "graphic must be 2048 bytes long" msgstr "túxíng bìxū wèi 2048 zì jié" +#: extmod/moduheapq.c +msgid "heap must be a list" +msgstr "duī bìxū shì yīgè lièbiǎo" + #: py/compile.c msgid "identifier redefined as global" msgstr "biāozhì fú chóngxīn dìngyì wèi quánjú" @@ -1909,6 +1962,10 @@ msgstr "géshì bù wánzhěng" msgid "incomplete format key" msgstr "géshì bù wánzhěng de mì yào" +#: extmod/modubinascii.c +msgid "incorrect padding" +msgstr "bù zhèngquè de tiánchōng" + #: ports/atmel-samd/common-hal/pulseio/PulseIn.c #: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c msgid "index out of range" @@ -1935,10 +1992,38 @@ msgstr "xūyào zhěngshù" msgid "interval must be in range %s-%s" msgstr "Jiàngé bìxū zài %s-%s fànwéi nèi" +#: extmod/machine_i2c.c +msgid "invalid I2C peripheral" +msgstr "wúxiào de I2C wàiwéi qì" + +#: extmod/machine_spi.c +msgid "invalid SPI peripheral" +msgstr "wúxiào de SPI wàiwéi qì" + +#: lib/netutils/netutils.c +msgid "invalid arguments" +msgstr "wúxiào de cānshù" + +#: extmod/modussl_axtls.c +msgid "invalid cert" +msgstr "zhèngshū wúxiào" + +#: extmod/uos_dupterm.c +msgid "invalid dupterm index" +msgstr "dupterm suǒyǐn wúxiào" + +#: extmod/modframebuf.c +msgid "invalid format" +msgstr "wúxiào géshì" + #: py/objstr.c msgid "invalid format specifier" msgstr "wúxiào de géshì biāozhù" +#: extmod/modussl_axtls.c +msgid "invalid key" +msgstr "wúxiào de mì yào" + #: py/compile.c msgid "invalid micropython decorator" msgstr "wúxiào de MicroPython zhuāngshì qì" @@ -2068,6 +2153,10 @@ msgstr "bù zhīchí duō gè jìchéng" msgid "must raise an object" msgstr "bìxū tíchū duìxiàng" +#: extmod/machine_spi.c +msgid "must specify all of sck/mosi/miso" +msgstr "bìxū zhǐdìng suǒyǒu sck/mosi/misco" + #: py/modbuiltins.c msgid "must use keyword argument for key function" msgstr "bìxū shǐyòng guānjiàn cí cānshù" @@ -2135,6 +2224,10 @@ msgstr "Zài service_uuids bái míngdān zhōng zhǎodào fēi UUID" msgid "non-default argument follows default argument" msgstr "bùshì mòrèn cānshù zūnxún mòrèn cānshù" +#: extmod/modubinascii.c +msgid "non-hex digit found" +msgstr "zhǎodào fēi shíliù jìn zhì shùzì" + #: py/compile.c msgid "non-keyword arg after */**" msgstr "zài */** zhīhòu fēi guānjiàn cí cānshù" @@ -2201,6 +2294,10 @@ msgstr "lèixíng '%s' de duìxiàng méiyǒu chángdù" msgid "object with buffer protocol required" msgstr "xūyào huǎnchōng qū xiéyì de duìxiàng" +#: extmod/modubinascii.c +msgid "odd-length string" +msgstr "jīshù zìfú chuàn" + #: py/objstr.c py/objstrunicode.c msgid "offset out of bounds" msgstr "piānlí biānjiè" @@ -2288,6 +2385,10 @@ msgstr "pow() 3 cān shǔ bùnéng wéi 0" msgid "pow() with 3 arguments requires integers" msgstr "pow() yǒu 3 cānshù xūyào zhěngshù" +#: extmod/modutimeq.c +msgid "queue overflow" +msgstr "duìliè yìchū" + #: shared-bindings/_pixelbuf/PixelBuf.c msgid "rawbuf is not the same size as buf" msgstr "yuánshǐ huǎnchōng qū hé huǎnchōng qū de dàxiǎo bùtóng" @@ -2402,6 +2503,18 @@ msgstr "zìfú chuàn zhǐshù bìxū shì zhěngshù, ér bùshì %s" msgid "string not supported; use bytes or bytearray" msgstr "zìfú chuàn bù zhīchí; shǐyòng zì jié huò zì jié zǔ" +#: extmod/moductypes.c +msgid "struct: cannot index" +msgstr "jiégòu: bùnéng suǒyǐn" + +#: extmod/moductypes.c +msgid "struct: index out of range" +msgstr "jiégòu: suǒyǐn chāochū fànwéi" + +#: extmod/moductypes.c +msgid "struct: no fields" +msgstr "jiégòu: méiyǒu zìduàn" + #: py/objstr.c msgid "substring not found" msgstr "wèi zhǎodào zi zìfú chuàn" @@ -2410,6 +2523,14 @@ msgstr "wèi zhǎodào zi zìfú chuàn" msgid "super() can't find self" msgstr "chāojí() zhǎo bù dào zìjǐ" +#: extmod/modujson.c +msgid "syntax error in JSON" +msgstr "JSON yǔfǎ cuòwù" + +#: extmod/moductypes.c +msgid "syntax error in uctypes descriptor" +msgstr "uctypes miáoshù fú zhōng de yǔfǎ cuòwù" + #: shared-bindings/touchio/TouchIn.c msgid "threshold must be in the range 0-65536" msgstr "yùzhí bìxū zài fànwéi 0-65536" @@ -2629,9 +2750,6 @@ msgstr "líng bù" #~ msgid "Can't set CCCD for local Characteristic" #~ msgstr "Wúfǎ wéi běndì tèzhēng shèzhì CCCD" -#~ msgid "Cannot unambiguously get sizeof scalar" -#~ msgstr "Wúfǎ míngquè de huòdé biāoliàng de dàxiǎo" - #~ msgid "Characteristic UUID doesn't match Service UUID" #~ msgstr "Zìfú UUID bù fúhé fúwù UUID" @@ -2641,9 +2759,6 @@ msgstr "líng bù" #~ msgid "Data too large for the advertisement packet" #~ msgstr "Guǎnggào bāo de shùjù tài dà" -#~ msgid "Error in regex" -#~ msgstr "Zhèngzé biǎodá shì cuòwù" - #~ msgid "Expected a Peripheral" #~ msgstr "Qídài yīgè wàiwéi shèbèi" @@ -2701,9 +2816,6 @@ msgstr "líng bù" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Wúfǎ tíngzhǐ guǎnggào, err 0x%04x" -#~ msgid "I2C operation not supported" -#~ msgstr "I2C cāozuò bù zhīchí" - #~ msgid "Invalid bit clock pin" #~ msgstr "Wúxiào de wèi shízhōng yǐn jiǎo" @@ -2737,9 +2849,6 @@ msgstr "líng bù" #~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX" #~ msgstr "Ruǎn shèbèi wéihù, id: 0X%08lX, pc: 0X%08lX" -#~ msgid "Splitting with sub-captures" -#~ msgstr "Yǔ zi bǔhuò fēnliè" - #~ msgid "Tile indices must be 0 - 255" #~ msgstr "Píng pū zhǐshù bìxū wèi 0 - 255" @@ -2749,105 +2858,27 @@ msgstr "líng bù" #~ msgid "Voice index too high" #~ msgstr "Yǔyīn suǒyǐn tài gāo" -#~ msgid "a bytes-like object is required" -#~ msgstr "xūyào yīgè zì jié lèi duìxiàng" - -#~ msgid "abort() called" -#~ msgstr "zhōngzhǐ () diàoyòng" - -#~ msgid "address %08x is not aligned to %d bytes" -#~ msgstr "wèi zhǐ %08x wèi yǔ %d wèi yuán zǔ duìqí" - #~ msgid "bad GATT role" #~ msgstr "zǒng xiédìng de bùliáng juésè" -#~ msgid "bits must be 8" -#~ msgstr "bǐtè bìxū shì 8" - -#~ msgid "buffers must be the same length" -#~ msgstr "huǎnchōng qū bìxū shì chángdù xiāngtóng" - #~ msgid "characteristics includes an object that is not a Characteristic" #~ msgstr "tèxìng bāokuò bùshì zìfú de wùtǐ" -#~ msgid "compression header" -#~ msgstr "yāsuō tóu bù" - -#~ msgid "empty heap" -#~ msgstr "kōng yīn yīnxiào" - #~ msgid "expected a DigitalInOut" #~ msgstr "qídài de DigitalInOut" -#~ msgid "firstbit must be MSB" -#~ msgstr "dì yī wèi bìxū shì MSB" - -#~ msgid "heap must be a list" -#~ msgstr "duī bìxū shì yīgè lièbiǎo" - -#~ msgid "incorrect padding" -#~ msgstr "bù zhèngquè de tiánchōng" - #~ msgid "interval not in range 0.0020 to 10.24" #~ msgstr "jùlí 0.0020 Zhì 10.24 Zhī jiān de jiàngé shíjiān" -#~ msgid "invalid I2C peripheral" -#~ msgstr "wúxiào de I2C wàiwéi qì" - -#~ msgid "invalid SPI peripheral" -#~ msgstr "wúxiào de SPI wàiwéi qì" - -#~ msgid "invalid arguments" -#~ msgstr "wúxiào de cānshù" - -#~ msgid "invalid cert" -#~ msgstr "zhèngshū wúxiào" - -#~ msgid "invalid dupterm index" -#~ msgstr "dupterm suǒyǐn wúxiào" - -#~ msgid "invalid format" -#~ msgstr "wúxiào géshì" - -#~ msgid "invalid key" -#~ msgstr "wúxiào de mì yào" - -#~ msgid "must specify all of sck/mosi/miso" -#~ msgstr "bìxū zhǐdìng suǒyǒu sck/mosi/misco" - #~ msgid "name must be a string" #~ msgstr "míngchēng bìxū shì yīgè zìfú chuàn" -#~ msgid "non-hex digit found" -#~ msgstr "zhǎodào fēi shíliù jìn zhì shùzì" - -#~ msgid "odd-length string" -#~ msgstr "jīshù zìfú chuàn" - -#~ msgid "queue overflow" -#~ msgstr "duìliè yìchū" - #~ msgid "row must be packed and word aligned" #~ msgstr "xíng bìxū dǎbāo bìngqiě zì duìqí" #~ msgid "services includes an object that is not a Service" #~ msgstr "fúwù bāokuò yīgè bùshì fúwù de wùjiàn" -#~ msgid "struct: cannot index" -#~ msgstr "jiégòu: bùnéng suǒyǐn" - -#~ msgid "struct: index out of range" -#~ msgstr "jiégòu: suǒyǐn chāochū fànwéi" - -#~ msgid "struct: no fields" -#~ msgstr "jiégòu: méiyǒu zìduàn" - -#~ msgid "syntax error in JSON" -#~ msgstr "JSON yǔfǎ cuòwù" - -#~ msgid "syntax error in uctypes descriptor" -#~ msgstr "uctypes miáoshù fú zhōng de yǔfǎ cuòwù" - #~ msgid "tile index out of bounds" #~ msgstr "kuài suǒyǐn chāochū fànwéi" From acde22a43603faf65510b3a9ba78ba5ac1f45b44 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sat, 16 Nov 2019 15:22:20 -0600 Subject: [PATCH 09/79] circuitpy_mpconfig.h: Move includes after include-guard To benefit from gcc's "once-only headers" implementation, the "wrapper-#ifndef" must be the first non-comment part of the file, according to the manual for various gcc/cpp versions. --- py/circuitpy_mpconfig.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index b1e7bc05aa..efab6a4d6f 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -28,11 +28,11 @@ // sure that the same feature set and settings are used, such as in atmel-samd // and nrf. -#include - #ifndef __INCLUDED_MPCONFIG_CIRCUITPY_H #define __INCLUDED_MPCONFIG_CIRCUITPY_H +#include + // This is CircuitPython. #define CIRCUITPY 1 From 45d1b290ee13ee4080e9718909c33053583314b8 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Sat, 16 Nov 2019 15:24:56 -0600 Subject: [PATCH 10/79] circuitpy_mpconfig.h: Express HOOKS in terms of RUN_BACKGROUND_TASKS .. this means that when we want to modify RUN_BACKGROUND_TASKS, only one change is needed instead of 3 --- py/circuitpy_mpconfig.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index efab6a4d6f..61d3242919 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -658,8 +658,8 @@ void run_background_tasks(void); // TODO: Used in wiznet5k driver, but may not be needed in the long run. #define MICROPY_THREAD_YIELD() -#define MICROPY_VM_HOOK_LOOP run_background_tasks(); -#define MICROPY_VM_HOOK_RETURN run_background_tasks(); +#define MICROPY_VM_HOOK_LOOP RUN_BACKGROUND_TASKS; +#define MICROPY_VM_HOOK_RETURN RUN_BACKGROUND_TASKS; #define CIRCUITPY_AUTORELOAD_DELAY_MS 500 #define CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS 1000 From 7f744a2369a5036cadfa05575da1704f709c98bb Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 18 Nov 2019 08:22:41 -0600 Subject: [PATCH 11/79] Supervisor: move most of systick to the supervisor This code is shared by most parts, except where not all the #ifdefs inside the tick function were present in all ports. This mostly would have broken gamepad tick support on non-samd ports. The "ms32" and "ms64" variants of the tick functions are introduced because there is no 64-bit atomic read. Disabling interrupts avoids a low probability bug where milliseconds could be off by ~49.5 days once every ~49.5 days (2^32 ms). Avoiding disabling interrupts when only the low 32 bits are needed is a minor optimization. Testing performed: on metro m4 express, USB still works and time.monotonic_ns() still counts up --- drivers/wiznet5k/internet/dns/dns.c | 4 +- ports/atmel-samd/background.c | 5 +- ports/atmel-samd/common-hal/busio/UART.c | 13 ++-- ports/atmel-samd/common-hal/time/__init__.c | 4 +- ports/atmel-samd/mphalport.c | 6 +- ports/atmel-samd/mphalport.h | 6 +- ports/atmel-samd/tick.c | 36 ++------- ports/atmel-samd/tick.h | 2 - ports/cxd56/common-hal/time/__init__.c | 4 +- ports/cxd56/mphalport.c | 6 +- ports/cxd56/mphalport.h | 2 - ports/cxd56/tick.c | 15 +--- ports/cxd56/tick.h | 2 - ports/nrf/common-hal/_bleio/Adapter.c | 3 +- .../common-hal/_bleio/CharacteristicBuffer.c | 5 +- ports/nrf/common-hal/busio/UART.c | 12 +-- ports/nrf/common-hal/time/__init__.c | 2 +- ports/nrf/mphalport.c | 5 +- ports/nrf/mphalport.h | 5 +- ports/nrf/tick.c | 33 ++------ ports/nrf/tick.h | 2 - ports/stm32f4/common-hal/time/__init__.c | 2 +- ports/stm32f4/mphalport.c | 6 +- ports/stm32f4/mphalport.h | 4 +- ports/stm32f4/tick.c | 32 +++----- ports/stm32f4/tick.h | 2 - py/circuitpy_mpconfig.h | 1 + shared-module/displayio/Display.c | 11 +-- shared-module/displayio/EPaperDisplay.c | 5 +- shared-module/displayio/display_core.c | 5 +- shared-module/network/__init__.c | 4 +- shared-module/usb_hid/Device.c | 5 +- supervisor/shared/rgb_led_status.c | 9 ++- supervisor/shared/safe_mode.c | 5 +- supervisor/shared/tick.c | 76 +++++++++++++++++++ supervisor/shared/tick.h | 37 +++++++++ supervisor/supervisor.mk | 1 + 37 files changed, 214 insertions(+), 163 deletions(-) create mode 100644 supervisor/shared/tick.c create mode 100644 supervisor/shared/tick.h diff --git a/drivers/wiznet5k/internet/dns/dns.c b/drivers/wiznet5k/internet/dns/dns.c index daf4db1230..8b9e966708 100644 --- a/drivers/wiznet5k/internet/dns/dns.c +++ b/drivers/wiznet5k/internet/dns/dns.c @@ -52,7 +52,7 @@ #include #include -#include "tick.h" +#include "supervisor/shared/tick.h" //#include "Ethernet/socket.h" //#include "Internet/DNS/dns.h" @@ -125,7 +125,7 @@ uint16_t DNS_MSGID; // DNS message ID uint32_t HAL_GetTick(void) { - return ticks_ms; + return supervisor_ticks_ms32(); } uint32_t hal_sys_tick; diff --git a/ports/atmel-samd/background.c b/ports/atmel-samd/background.c index 386ba07158..3b698768b8 100644 --- a/ports/atmel-samd/background.c +++ b/ports/atmel-samd/background.c @@ -28,6 +28,7 @@ #include "audio_dma.h" #include "tick.h" #include "supervisor/filesystem.h" +#include "supervisor/shared/tick.h" #include "supervisor/usb.h" #include "py/runtime.h" @@ -71,9 +72,9 @@ void run_background_tasks(void) { running_background_tasks = false; assert_heap_ok(); - last_finished_tick = ticks_ms; + last_finished_tick = supervisor_ticks_ms64(); } bool background_tasks_ok(void) { - return ticks_ms - last_finished_tick < 1000; + return supervisor_ticks_ms64() - last_finished_tick < 1000; } diff --git a/ports/atmel-samd/common-hal/busio/UART.c b/ports/atmel-samd/common-hal/busio/UART.c index 2505e894af..42493a6b6e 100644 --- a/ports/atmel-samd/common-hal/busio/UART.c +++ b/ports/atmel-samd/common-hal/busio/UART.c @@ -34,8 +34,7 @@ #include "py/runtime.h" #include "py/stream.h" #include "supervisor/shared/translate.h" - -#include "tick.h" +#include "supervisor/shared/tick.h" #include "hpl_sercom_config.h" #include "peripheral_clk_config.h" @@ -272,10 +271,10 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t usart_async_get_io_descriptor(usart_desc_p, &io); size_t total_read = 0; - uint64_t start_ticks = ticks_ms; + uint64_t start_ticks = supervisor_ticks_ms64(); // Busy-wait until timeout or until we've read enough chars. - while (ticks_ms - start_ticks <= self->timeout_ms) { + while (supervisor_ticks_ms64() - start_ticks <= self->timeout_ms) { // Read as many chars as we can right now, up to len. size_t num_read = io_read(io, data, len); @@ -289,7 +288,7 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t } if (num_read > 0) { // Reset the timeout on every character read. - start_ticks = ticks_ms; + start_ticks = supervisor_ticks_ms64(); } RUN_BACKGROUND_TASKS; // Allow user to break out of a timeout with a KeyboardInterrupt. @@ -330,9 +329,9 @@ size_t common_hal_busio_uart_write(busio_uart_obj_t *self, const uint8_t *data, // Wait until write is complete or timeout. bool done = false; - uint64_t start_ticks = ticks_ms; + uint64_t start_ticks = supervisor_ticks_ms64(); // Busy-wait for timeout. - while (ticks_ms - start_ticks < self->timeout_ms) { + while (supervisor_ticks_ms64() - start_ticks < self->timeout_ms) { if (usart_async_is_tx_empty(usart_desc_p)) { done = true; break; diff --git a/ports/atmel-samd/common-hal/time/__init__.c b/ports/atmel-samd/common-hal/time/__init__.c index 0d60adef20..2d82b3d1ad 100644 --- a/ports/atmel-samd/common-hal/time/__init__.c +++ b/ports/atmel-samd/common-hal/time/__init__.c @@ -28,10 +28,10 @@ #include "shared-bindings/time/__init__.h" -#include "tick.h" +#include "supervisor/shared/tick.h" inline uint64_t common_hal_time_monotonic() { - return ticks_ms; + return supervisor_ticks_ms64(); } void common_hal_time_delay_ms(uint32_t delay) { diff --git a/ports/atmel-samd/mphalport.c b/ports/atmel-samd/mphalport.c index 957bf6073e..96433d729f 100644 --- a/ports/atmel-samd/mphalport.c +++ b/ports/atmel-samd/mphalport.c @@ -45,12 +45,12 @@ #include "mpconfigboard.h" #include "mphalport.h" #include "reset.h" -#include "tick.h" +#include "supervisor/shared/tick.h" extern uint32_t common_hal_mcu_processor_get_frequency(void); void mp_hal_delay_ms(mp_uint_t delay) { - uint64_t start_tick = ticks_ms; + uint64_t start_tick = supervisor_ticks_ms64(); uint64_t duration = 0; while (duration < delay) { RUN_BACKGROUND_TASKS; @@ -59,7 +59,7 @@ void mp_hal_delay_ms(mp_uint_t delay) { MP_STATE_VM(mp_pending_exception) == MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_reload_exception))) { break; } - duration = (ticks_ms - start_tick); + duration = (supervisor_ticks_ms64() - start_tick); // TODO(tannewt): Go to sleep for a little while while we wait. } } diff --git a/ports/atmel-samd/mphalport.h b/ports/atmel-samd/mphalport.h index 64269b201f..8a762e2584 100644 --- a/ports/atmel-samd/mphalport.h +++ b/ports/atmel-samd/mphalport.h @@ -31,11 +31,11 @@ #include "lib/oofatfs/ff.h" -// Global millisecond tick count (driven by SysTick interrupt). -extern volatile uint64_t ticks_ms; +#include "supervisor/shared/tick.h" +// Global millisecond tick count (driven by SysTick interrupt). static inline mp_uint_t mp_hal_ticks_ms(void) { - return ticks_ms; + return supervisor_ticks_ms32(); } // Number of bytes in receive buffer volatile uint8_t usb_rx_count; diff --git a/ports/atmel-samd/tick.c b/ports/atmel-samd/tick.c index 4d7bb9dca7..f996440ae3 100644 --- a/ports/atmel-samd/tick.c +++ b/ports/atmel-samd/tick.c @@ -28,47 +28,21 @@ #include "peripheral_clk_config.h" -#include "supervisor/shared/autoreload.h" -#include "supervisor/filesystem.h" +#include "supervisor/shared/tick.h" #include "shared-bindings/microcontroller/__init__.h" #include "shared-bindings/microcontroller/Processor.h" -#if CIRCUITPY_GAMEPAD -#include "shared-module/gamepad/__init__.h" -#endif - -#if CIRCUITPY_GAMEPADSHIFT -#include "shared-module/gamepadshift/__init__.h" -#endif -// Global millisecond tick count -volatile uint64_t ticks_ms = 0; - void SysTick_Handler(void) { // SysTick interrupt handler called when the SysTick timer reaches zero // (every millisecond). common_hal_mcu_disable_interrupts(); - ticks_ms += 1; // Read the control register to reset the COUNTFLAG. (void) SysTick->CTRL; common_hal_mcu_enable_interrupts(); -#if CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS > 0 - filesystem_tick(); -#endif -#ifdef CIRCUITPY_AUTORELOAD_DELAY_MS - autoreload_tick(); -#endif -#ifdef CIRCUITPY_GAMEPAD_TICKS - if (!(ticks_ms & CIRCUITPY_GAMEPAD_TICKS)) { - #if CIRCUITPY_GAMEPAD - gamepad_tick(); - #endif - #if CIRCUITPY_GAMEPADSHIFT - gamepadshift_tick(); - #endif - } -#endif + // Do things common to all ports when the tick occurs + supervisor_tick(); } void tick_init() { @@ -115,7 +89,7 @@ void current_tick(uint64_t* ms, uint32_t* us_until_ms) { uint32_t tick_status = SysTick->CTRL; uint32_t current_us = SysTick->VAL; uint32_t tick_status2 = SysTick->CTRL; - uint64_t current_ms = ticks_ms; + uint64_t current_ms = supervisor_ticks_ms64(); // The second clause ensures our value actually rolled over. Its possible it hit zero between // the VAL read and CTRL read. if ((tick_status & SysTick_CTRL_COUNTFLAG_Msk) != 0 || @@ -129,5 +103,5 @@ void current_tick(uint64_t* ms, uint32_t* us_until_ms) { void wait_until(uint64_t ms, uint32_t us_until_ms) { uint32_t ticks_per_us = common_hal_mcu_processor_get_frequency() / 1000 / 1000; - while (ticks_ms <= ms && SysTick->VAL / ticks_per_us >= us_until_ms) {} + while (supervisor_ticks_ms64() <= ms && SysTick->VAL / ticks_per_us >= us_until_ms) {} } diff --git a/ports/atmel-samd/tick.h b/ports/atmel-samd/tick.h index c8c8d739ab..334352df26 100644 --- a/ports/atmel-samd/tick.h +++ b/ports/atmel-samd/tick.h @@ -28,8 +28,6 @@ #include "py/mpconfig.h" -extern volatile uint64_t ticks_ms; - extern struct timer_descriptor ms_timer; void tick_init(void); diff --git a/ports/cxd56/common-hal/time/__init__.c b/ports/cxd56/common-hal/time/__init__.c index 8f7326b629..6f5eedd419 100644 --- a/ports/cxd56/common-hal/time/__init__.c +++ b/ports/cxd56/common-hal/time/__init__.c @@ -26,10 +26,10 @@ #include "py/mphal.h" -#include "tick.h" +#include "supervisor/shared/tick.h" uint64_t common_hal_time_monotonic(void) { - return ticks_ms; + return supervisor_ticks_ms64(); } void common_hal_time_delay_ms(uint32_t delay) { diff --git a/ports/cxd56/mphalport.c b/ports/cxd56/mphalport.c index 79d93f9759..1305706caa 100644 --- a/ports/cxd56/mphalport.c +++ b/ports/cxd56/mphalport.c @@ -31,7 +31,7 @@ #include "py/mpstate.h" -#include "tick.h" +#include "supervisor/shared/tick.h" #define DELAY_CORRECTION (700) #define DELAY_INTERVAL (50) @@ -57,7 +57,7 @@ mp_uint_t mp_hal_ticks_cpu(void) { } void mp_hal_delay_ms(mp_uint_t delay) { - uint64_t start_tick = ticks_ms; + uint64_t start_tick = supervisor_ticks_ms64(); uint64_t duration = 0; while (duration < delay) { #ifdef MICROPY_VM_HOOK_LOOP @@ -68,7 +68,7 @@ void mp_hal_delay_ms(mp_uint_t delay) { MP_STATE_VM(mp_pending_exception) == MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_reload_exception))) { break; } - duration = (ticks_ms - start_tick); + duration = (supervisor_ticks_ms64() - start_tick); // TODO(tannewt): Go to sleep for a little while while we wait. } } diff --git a/ports/cxd56/mphalport.h b/ports/cxd56/mphalport.h index 25bca97ad7..a2be10b8d0 100644 --- a/ports/cxd56/mphalport.h +++ b/ports/cxd56/mphalport.h @@ -31,6 +31,4 @@ #include "lib/utils/interrupt_char.h" -extern volatile uint64_t ticks_ms; - #endif // MICROPY_INCLUDED_CXD56_MPHALPORT_H diff --git a/ports/cxd56/tick.c b/ports/cxd56/tick.c index 6529db7901..671b82b744 100644 --- a/ports/cxd56/tick.c +++ b/ports/cxd56/tick.c @@ -27,19 +27,10 @@ #include "tick.h" #include "supervisor/shared/autoreload.h" -#include "supervisor/filesystem.h" - -// Global millisecond tick count -volatile uint64_t ticks_ms = 0; +#include "supervisor/shared/tick.h" void board_timerhook(void) { - ticks_ms += 1; - -#if CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS > 0 - filesystem_tick(); -#endif -#ifdef CIRCUITPY_AUTORELOAD_DELAY_MS - autoreload_tick(); -#endif + // Do things common to all ports when the tick occurs + supervisor_tick(); } diff --git a/ports/cxd56/tick.h b/ports/cxd56/tick.h index a0d9ee5263..d641d9cd4f 100644 --- a/ports/cxd56/tick.h +++ b/ports/cxd56/tick.h @@ -29,6 +29,4 @@ #include "py/mpconfig.h" -extern volatile uint64_t ticks_ms; - #endif // MICROPY_INCLUDED_CXD56_TICK_H diff --git a/ports/nrf/common-hal/_bleio/Adapter.c b/ports/nrf/common-hal/_bleio/Adapter.c index 295a42d63b..c3b8dcebe2 100644 --- a/ports/nrf/common-hal/_bleio/Adapter.c +++ b/ports/nrf/common-hal/_bleio/Adapter.c @@ -40,6 +40,7 @@ #include "py/objstr.h" #include "py/runtime.h" #include "supervisor/shared/safe_mode.h" +#include "supervisor/shared/tick.h" #include "supervisor/usb.h" #include "shared-bindings/_bleio/__init__.h" #include "shared-bindings/_bleio/Adapter.h" @@ -353,7 +354,7 @@ STATIC bool scan_on_ble_evt(ble_evt_t *ble_evt, void *scan_results_in) { ble_gap_evt_adv_report_t *report = &ble_evt->evt.gap_evt.params.adv_report; shared_module_bleio_scanresults_append(scan_results, - ticks_ms, + supervisor_ticks_ms64(), report->type.connectable, report->type.scan_response, report->rssi, diff --git a/ports/nrf/common-hal/_bleio/CharacteristicBuffer.c b/ports/nrf/common-hal/_bleio/CharacteristicBuffer.c index 5f280e121f..9f9b453de4 100644 --- a/ports/nrf/common-hal/_bleio/CharacteristicBuffer.c +++ b/ports/nrf/common-hal/_bleio/CharacteristicBuffer.c @@ -39,6 +39,7 @@ #include "shared-bindings/_bleio/__init__.h" #include "shared-bindings/_bleio/Connection.h" +#include "supervisor/shared/tick.h" #include "common-hal/_bleio/CharacteristicBuffer.h" STATIC void write_to_ringbuf(bleio_characteristic_buffer_obj_t *self, uint8_t *data, uint16_t len) { @@ -100,10 +101,10 @@ void common_hal_bleio_characteristic_buffer_construct(bleio_characteristic_buffe } int common_hal_bleio_characteristic_buffer_read(bleio_characteristic_buffer_obj_t *self, uint8_t *data, size_t len, int *errcode) { - uint64_t start_ticks = ticks_ms; + uint64_t start_ticks = supervisor_ticks_ms64(); // Wait for all bytes received or timeout - while ( (ringbuf_count(&self->ringbuf) < len) && (ticks_ms - start_ticks < self->timeout_ms) ) { + while ( (ringbuf_count(&self->ringbuf) < len) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms) ) { RUN_BACKGROUND_TASKS; // Allow user to break out of a timeout with a KeyboardInterrupt. if ( mp_hal_is_interrupted() ) { diff --git a/ports/nrf/common-hal/busio/UART.c b/ports/nrf/common-hal/busio/UART.c index 54a66ddbe7..982b8efa97 100644 --- a/ports/nrf/common-hal/busio/UART.c +++ b/ports/nrf/common-hal/busio/UART.c @@ -231,10 +231,10 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t } size_t rx_bytes = 0; - uint64_t start_ticks = ticks_ms; + uint64_t start_ticks = supervisor_ticks_ms64(); // Wait for all bytes received or timeout - while ( (ringbuf_count(&self->rbuf) < len) && (ticks_ms - start_ticks < self->timeout_ms) ) { + while ( (ringbuf_count(&self->rbuf) < len) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms) ) { RUN_BACKGROUND_TASKS; // Allow user to break out of a timeout with a KeyboardInterrupt. if ( mp_hal_is_interrupted() ) { @@ -265,15 +265,15 @@ size_t common_hal_busio_uart_write (busio_uart_obj_t *self, const uint8_t *data, if ( len == 0 ) return 0; - uint64_t start_ticks = ticks_ms; + uint64_t start_ticks = supervisor_ticks_ms64(); // Wait for on-going transfer to complete - while ( nrfx_uarte_tx_in_progress(self->uarte) && (ticks_ms - start_ticks < self->timeout_ms) ) { + while ( nrfx_uarte_tx_in_progress(self->uarte) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms) ) { RUN_BACKGROUND_TASKS; } // Time up - if ( !(ticks_ms - start_ticks < self->timeout_ms) ) { + if ( !(supervisor_ticks_ms64() - start_ticks < self->timeout_ms) ) { *errcode = MP_EAGAIN; return MP_STREAM_ERROR; } @@ -290,7 +290,7 @@ size_t common_hal_busio_uart_write (busio_uart_obj_t *self, const uint8_t *data, _VERIFY_ERR(*errcode); (*errcode) = 0; - while ( nrfx_uarte_tx_in_progress(self->uarte) && (ticks_ms - start_ticks < self->timeout_ms) ) { + while ( nrfx_uarte_tx_in_progress(self->uarte) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms) ) { RUN_BACKGROUND_TASKS; } diff --git a/ports/nrf/common-hal/time/__init__.c b/ports/nrf/common-hal/time/__init__.c index e3cb481ef4..976f519db2 100644 --- a/ports/nrf/common-hal/time/__init__.c +++ b/ports/nrf/common-hal/time/__init__.c @@ -29,7 +29,7 @@ #include "tick.h" uint64_t common_hal_time_monotonic(void) { - return ticks_ms; + return supervisor_ticks_ms64(); } void common_hal_time_delay_ms(uint32_t delay) { diff --git a/ports/nrf/mphalport.c b/ports/nrf/mphalport.c index bcd9fb1145..3885d5a826 100644 --- a/ports/nrf/mphalport.c +++ b/ports/nrf/mphalport.c @@ -31,12 +31,13 @@ #include "py/mphal.h" #include "py/mpstate.h" #include "py/gc.h" +#include "supervisor/shared/tick.h" /*------------------------------------------------------------------*/ /* delay *------------------------------------------------------------------*/ void mp_hal_delay_ms(mp_uint_t delay) { - uint64_t start_tick = ticks_ms; + uint64_t start_tick = supervisor_ticks_ms64(); uint64_t duration = 0; while (duration < delay) { RUN_BACKGROUND_TASKS; @@ -45,7 +46,7 @@ void mp_hal_delay_ms(mp_uint_t delay) { MP_STATE_VM(mp_pending_exception) == MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_reload_exception))) { break; } - duration = (ticks_ms - start_tick); + duration = (supervisor_ticks_ms64() - start_tick); // TODO(tannewt): Go to sleep for a little while while we wait. } } diff --git a/ports/nrf/mphalport.h b/ports/nrf/mphalport.h index a1929a4ace..8bb351401a 100644 --- a/ports/nrf/mphalport.h +++ b/ports/nrf/mphalport.h @@ -33,12 +33,11 @@ #include "lib/utils/interrupt_char.h" #include "nrfx_uarte.h" #include "py/mpconfig.h" +#include "supervisor/shared/tick.h" extern nrfx_uarte_t serial_instance; -extern volatile uint64_t ticks_ms; - -#define mp_hal_ticks_ms() ((mp_uint_t) ticks_ms) +#define mp_hal_ticks_ms() ((mp_uint_t) supervisor_ticks_ms32()) #define mp_hal_delay_us(us) NRFX_DELAY_US((uint32_t) (us)) bool mp_hal_stdin_any(void); diff --git a/ports/nrf/tick.c b/ports/nrf/tick.c index 6d8fd13e0a..ac825a7f1f 100644 --- a/ports/nrf/tick.c +++ b/ports/nrf/tick.c @@ -26,31 +26,14 @@ #include "tick.h" -#include "supervisor/shared/autoreload.h" -#include "supervisor/filesystem.h" +#include "supervisor/shared/tick.h" #include "shared-module/gamepad/__init__.h" #include "shared-bindings/microcontroller/Processor.h" #include "nrf.h" -// Global millisecond tick count -volatile uint64_t ticks_ms = 0; - void SysTick_Handler(void) { - // SysTick interrupt handler called when the SysTick timer reaches zero - // (every millisecond). - ticks_ms += 1; - -#if CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS > 0 - filesystem_tick(); -#endif -#ifdef CIRCUITPY_AUTORELOAD_DELAY_MS - autoreload_tick(); -#endif -#ifdef CIRCUITPY_GAMEPAD_TICKS - if (!(ticks_ms & CIRCUITPY_GAMEPAD_TICKS)) { - gamepad_tick(); - } -#endif + // Do things common to all ports when the tick occurs + supervisor_tick(); } void tick_init() { @@ -61,11 +44,11 @@ void tick_init() { void tick_delay(uint32_t us) { uint32_t ticks_per_us = common_hal_mcu_processor_get_frequency() / 1000 / 1000; uint32_t us_between_ticks = SysTick->VAL / ticks_per_us; - uint64_t start_ms = ticks_ms; + uint64_t start_ms = supervisor_ticks_ms64(); while (us > 1000) { - while (ticks_ms == start_ms) {} + while (supervisor_ticks_ms64() == start_ms) {} us -= us_between_ticks; - start_ms = ticks_ms; + start_ms = supervisor_ticks_ms64(); us_between_ticks = 1000; } while (SysTick->VAL > ((us_between_ticks - us) * ticks_per_us)) {} @@ -74,11 +57,11 @@ void tick_delay(uint32_t us) { // us counts down! void current_tick(uint64_t* ms, uint32_t* us_until_ms) { uint32_t ticks_per_us = common_hal_mcu_processor_get_frequency() / 1000 / 1000; - *ms = ticks_ms; + *ms = supervisor_ticks_ms64(); *us_until_ms = SysTick->VAL / ticks_per_us; } void wait_until(uint64_t ms, uint32_t us_until_ms) { uint32_t ticks_per_us = common_hal_mcu_processor_get_frequency() / 1000 / 1000; - while(ticks_ms <= ms && SysTick->VAL / ticks_per_us >= us_until_ms) {} + while(supervisor_ticks_ms64() <= ms && SysTick->VAL / ticks_per_us >= us_until_ms) {} } diff --git a/ports/nrf/tick.h b/ports/nrf/tick.h index 838e9fbea8..d638ad0251 100644 --- a/ports/nrf/tick.h +++ b/ports/nrf/tick.h @@ -30,8 +30,6 @@ #include -extern volatile uint64_t ticks_ms; - extern struct timer_descriptor ms_timer; void tick_init(void); diff --git a/ports/stm32f4/common-hal/time/__init__.c b/ports/stm32f4/common-hal/time/__init__.c index e3cb481ef4..976f519db2 100644 --- a/ports/stm32f4/common-hal/time/__init__.c +++ b/ports/stm32f4/common-hal/time/__init__.c @@ -29,7 +29,7 @@ #include "tick.h" uint64_t common_hal_time_monotonic(void) { - return ticks_ms; + return supervisor_ticks_ms64(); } void common_hal_time_delay_ms(uint32_t delay) { diff --git a/ports/stm32f4/mphalport.c b/ports/stm32f4/mphalport.c index ea864e7ceb..f78e9c7501 100644 --- a/ports/stm32f4/mphalport.c +++ b/ports/stm32f4/mphalport.c @@ -31,11 +31,13 @@ #include "py/mpstate.h" #include "py/gc.h" +#include "supervisor/shared/tick.h" + /*------------------------------------------------------------------*/ /* delay *------------------------------------------------------------------*/ void mp_hal_delay_ms(mp_uint_t delay) { - uint64_t start_tick = ticks_ms; + uint64_t start_tick = supervisor_ticks_ms64(); uint64_t duration = 0; while (duration < delay) { #ifdef MICROPY_VM_HOOK_LOOP @@ -46,7 +48,7 @@ void mp_hal_delay_ms(mp_uint_t delay) { MP_STATE_VM(mp_pending_exception) == MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_reload_exception))) { break; } - duration = (ticks_ms - start_tick); + duration = (supervisor_ticks_ms64() - start_tick); // TODO(tannewt): Go to sleep for a little while while we wait. } } diff --git a/ports/stm32f4/mphalport.h b/ports/stm32f4/mphalport.h index d184138f78..df2f0ca65a 100644 --- a/ports/stm32f4/mphalport.h +++ b/ports/stm32f4/mphalport.h @@ -32,10 +32,10 @@ #include "lib/utils/interrupt_char.h" #include "py/mpconfig.h" +#include "supervisor/shared/tick.h" -extern volatile uint64_t ticks_ms; -#define mp_hal_ticks_ms() ((mp_uint_t) ticks_ms) +#define mp_hal_ticks_ms() ((mp_uint_t) supervisor_ticks_ms32()) //#define mp_hal_delay_us(us) NRFX_DELAY_US((uint32_t) (us)) bool mp_hal_stdin_any(void); diff --git a/ports/stm32f4/tick.c b/ports/stm32f4/tick.c index 688f71dbd4..f4adf183aa 100644 --- a/ports/stm32f4/tick.c +++ b/ports/stm32f4/tick.c @@ -26,37 +26,23 @@ #include "tick.h" -#include "supervisor/shared/autoreload.h" #include "supervisor/filesystem.h" -#include "shared-module/gamepad/__init__.h" +#include "supervisor/shared/tick.h" #include "shared-bindings/microcontroller/Processor.h" #include "stm32f4xx.h" -// Global millisecond tick count -volatile uint64_t ticks_ms = 0; - void SysTick_Handler(void) { // SysTick interrupt handler called when the SysTick timer reaches zero // (every millisecond). - ticks_ms += 1; -#if CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS > 0 - filesystem_tick(); -#endif -#ifdef CIRCUITPY_AUTORELOAD_DELAY_MS - autoreload_tick(); -#endif -#ifdef CIRCUITPY_GAMEPAD_TICKS - if (!(ticks_ms & CIRCUITPY_GAMEPAD_TICKS)) { - gamepad_tick(); - } -#endif + // Do things common to all ports when the tick occurs + supervisor_tick(); } uint32_t HAL_GetTick(void) //override ST HAL { - return (uint32_t)ticks_ms; + return (uint32_t)supervisor_ticks_ms32(); } void tick_init() { @@ -72,11 +58,11 @@ void tick_init() { void tick_delay(uint32_t us) { uint32_t ticks_per_us = SystemCoreClock / 1000 / 1000; uint32_t us_between_ticks = SysTick->VAL / ticks_per_us; - uint64_t start_ms = ticks_ms; + uint64_t start_ms = supervisor_ticks_ms64(); while (us > 1000) { - while (ticks_ms == start_ms) {} + while (supervisor_ticks_ms64() == start_ms) {} us -= us_between_ticks; - start_ms = ticks_ms; + start_ms = supervisor_ticks_ms64(); us_between_ticks = 1000; } while (SysTick->VAL > ((us_between_ticks - us) * ticks_per_us)) {} @@ -85,11 +71,11 @@ void tick_delay(uint32_t us) { // us counts down! void current_tick(uint64_t* ms, uint32_t* us_until_ms) { uint32_t ticks_per_us = SystemCoreClock / 1000 / 1000; - *ms = ticks_ms; + *ms = supervisor_ticks_ms32(); *us_until_ms = SysTick->VAL / ticks_per_us; } void wait_until(uint64_t ms, uint32_t us_until_ms) { uint32_t ticks_per_us = SystemCoreClock / 1000 / 1000; - while(ticks_ms <= ms && SysTick->VAL / ticks_per_us >= us_until_ms) {} + while(supervisor_ticks_ms64() <= ms && SysTick->VAL / ticks_per_us >= us_until_ms) {} } diff --git a/ports/stm32f4/tick.h b/ports/stm32f4/tick.h index e4772fa2cf..999acc7a3c 100644 --- a/ports/stm32f4/tick.h +++ b/ports/stm32f4/tick.h @@ -30,8 +30,6 @@ #include -extern volatile uint64_t ticks_ms; - extern struct timer_descriptor ms_timer; void tick_init(void); diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index 61d3242919..7853e4de95 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -32,6 +32,7 @@ #define __INCLUDED_MPCONFIG_CIRCUITPY_H #include +#include // This is CircuitPython. #define CIRCUITPY 1 diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index 862d2cf598..11db0f8ff2 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -35,6 +35,7 @@ #include "shared-module/displayio/__init__.h" #include "shared-module/displayio/display_core.h" #include "supervisor/shared/display.h" +#include "supervisor/shared/tick.h" #include "supervisor/usb.h" #include @@ -313,7 +314,7 @@ uint16_t common_hal_displayio_display_get_rotation(displayio_display_obj_t* self bool common_hal_displayio_display_refresh(displayio_display_obj_t* self, uint32_t target_ms_per_frame, uint32_t maximum_ms_per_real_frame) { if (!self->auto_refresh && !self->first_manual_refresh) { - uint64_t current_time = ticks_ms; + uint64_t current_time = supervisor_ticks_ms64(); uint32_t current_ms_since_real_refresh = current_time - self->core.last_refresh; // Test to see if the real frame time is below our minimum. if (current_ms_since_real_refresh > maximum_ms_per_real_frame) { @@ -327,7 +328,7 @@ bool common_hal_displayio_display_refresh(displayio_display_obj_t* self, uint32_ } uint32_t remaining_time = target_ms_per_frame - (current_ms_since_real_refresh % target_ms_per_frame); // We're ahead of the game so wait until we align with the frame rate. - while (ticks_ms - self->last_refresh_call < remaining_time) { + while (supervisor_ticks_ms64() - self->last_refresh_call < remaining_time) { RUN_BACKGROUND_TASKS; } } @@ -350,20 +351,20 @@ STATIC void _update_backlight(displayio_display_obj_t* self) { if (!self->auto_brightness || self->updating_backlight) { return; } - if (ticks_ms - self->last_backlight_refresh < 100) { + if (supervisor_ticks_ms64() - self->last_backlight_refresh < 100) { return; } // TODO(tannewt): Fade the backlight based on it's existing value and a target value. The target // should account for ambient light when possible. common_hal_displayio_display_set_brightness(self, 1.0); - self->last_backlight_refresh = ticks_ms; + self->last_backlight_refresh = supervisor_ticks_ms64(); } void displayio_display_background(displayio_display_obj_t* self) { _update_backlight(self); - if (self->auto_refresh && (ticks_ms - self->core.last_refresh) > self->native_ms_per_frame) { + if (self->auto_refresh && (supervisor_ticks_ms64() - self->core.last_refresh) > self->native_ms_per_frame) { _refresh_display(self); } } diff --git a/shared-module/displayio/EPaperDisplay.c b/shared-module/displayio/EPaperDisplay.c index df1d5162b7..ad2559a83b 100644 --- a/shared-module/displayio/EPaperDisplay.c +++ b/shared-module/displayio/EPaperDisplay.c @@ -35,6 +35,7 @@ #include "shared-bindings/time/__init__.h" #include "shared-module/displayio/__init__.h" #include "supervisor/shared/display.h" +#include "supervisor/shared/tick.h" #include "supervisor/usb.h" #include @@ -175,7 +176,7 @@ uint32_t common_hal_displayio_epaperdisplay_get_time_to_refresh(displayio_epaper return 0; } // Refresh at seconds per frame rate. - uint32_t elapsed_time = ticks_ms - self->core.last_refresh; + uint32_t elapsed_time = supervisor_ticks_ms64() - self->core.last_refresh; if (elapsed_time > self->milliseconds_per_frame) { return 0; } @@ -339,7 +340,7 @@ void displayio_epaperdisplay_background(displayio_epaperdisplay_obj_t* self) { bool busy = common_hal_digitalio_digitalinout_get_value(&self->busy); refresh_done = busy != self->busy_state; } else { - refresh_done = ticks_ms - self->core.last_refresh > self->refresh_time; + refresh_done = supervisor_ticks_ms64() - self->core.last_refresh > self->refresh_time; } if (refresh_done) { self->refreshing = false; diff --git a/shared-module/displayio/display_core.c b/shared-module/displayio/display_core.c index a73ea81d1f..658daa8d69 100644 --- a/shared-module/displayio/display_core.c +++ b/shared-module/displayio/display_core.c @@ -35,6 +35,7 @@ #include "shared-bindings/time/__init__.h" #include "shared-module/displayio/__init__.h" #include "supervisor/shared/display.h" +#include "supervisor/shared/tick.h" #include #include @@ -281,7 +282,7 @@ void displayio_display_core_set_region_to_update(displayio_display_core_t* self, } void displayio_display_core_start_refresh(displayio_display_core_t* self) { - self->last_refresh = ticks_ms; + self->last_refresh = supervisor_ticks_ms64(); } void displayio_display_core_finish_refresh(displayio_display_core_t* self) { @@ -289,7 +290,7 @@ void displayio_display_core_finish_refresh(displayio_display_core_t* self) { displayio_group_finish_refresh(self->current_group); } self->full_refresh = false; - self->last_refresh = ticks_ms; + self->last_refresh = supervisor_ticks_ms64(); } void release_display_core(displayio_display_core_t* self) { diff --git a/shared-module/network/__init__.c b/shared-module/network/__init__.c index 96648b260c..925e9a2a30 100644 --- a/shared-module/network/__init__.c +++ b/shared-module/network/__init__.c @@ -31,6 +31,8 @@ #include "py/mphal.h" #include "py/mperrno.h" +#include "supervisor/shared/tick.h" + #include "shared-bindings/random/__init__.h" #include "shared-module/network/__init__.h" @@ -53,7 +55,7 @@ void network_module_deinit(void) { void network_module_background(void) { static uint32_t next_tick = 0; - uint32_t this_tick = ticks_ms; + uint32_t this_tick = supervisor_ticks_ms32(); if (this_tick < next_tick) return; next_tick = this_tick + 1000; diff --git a/shared-module/usb_hid/Device.c b/shared-module/usb_hid/Device.c index bed7d163f9..8744f2ed31 100644 --- a/shared-module/usb_hid/Device.c +++ b/shared-module/usb_hid/Device.c @@ -30,6 +30,7 @@ #include "shared-bindings/usb_hid/Device.h" #include "shared-module/usb_hid/Device.h" #include "supervisor/shared/translate.h" +#include "supervisor/shared/tick.h" #include "tusb.h" uint8_t common_hal_usb_hid_device_get_usage_page(usb_hid_device_obj_t *self) { @@ -46,8 +47,8 @@ void common_hal_usb_hid_device_send_report(usb_hid_device_obj_t *self, uint8_t* } // Wait until interface is ready, timeout = 2 seconds - uint64_t end_ticks = ticks_ms + 2000; - while ( (ticks_ms < end_ticks) && !tud_hid_ready() ) { + uint64_t end_ticks = supervisor_ticks_ms64() + 2000; + while ( (supervisor_ticks_ms64() < end_ticks) && !tud_hid_ready() ) { RUN_BACKGROUND_TASKS; } diff --git a/supervisor/shared/rgb_led_status.c b/supervisor/shared/rgb_led_status.c index 940cbf1f27..f751a7ffd5 100644 --- a/supervisor/shared/rgb_led_status.c +++ b/supervisor/shared/rgb_led_status.c @@ -27,6 +27,7 @@ #include "mphalport.h" #include "shared-bindings/microcontroller/Pin.h" #include "rgb_led_status.h" +#include "supervisor/shared/tick.h" #ifdef MICROPY_HW_NEOPIXEL uint8_t rgb_status_brightness = 63; @@ -360,7 +361,7 @@ void prep_rgb_status_animation(const pyexec_result_t* result, rgb_status_animation_t* status) { #if defined(MICROPY_HW_NEOPIXEL) || (defined(MICROPY_HW_APA102_MOSI) && defined(MICROPY_HW_APA102_SCK)) || (defined(CP_RGB_STATUS_LED)) new_status_color(ALL_DONE); - status->pattern_start = ticks_ms; + status->pattern_start = supervisor_ticks_ms32(); status->safe_mode = safe_mode; status->found_main = found_main; status->total_exception_cycle = 0; @@ -405,11 +406,11 @@ void prep_rgb_status_animation(const pyexec_result_t* result, void tick_rgb_status_animation(rgb_status_animation_t* status) { #if defined(MICROPY_HW_NEOPIXEL) || (defined(MICROPY_HW_APA102_MOSI) && defined(MICROPY_HW_APA102_SCK)) || (defined(CP_RGB_STATUS_LED)) - uint32_t tick_diff = ticks_ms - status->pattern_start; + uint32_t tick_diff = supervisor_ticks_ms32() - status->pattern_start; if (status->ok) { // All is good. Ramp ALL_DONE up and down. if (tick_diff > ALL_GOOD_CYCLE_MS) { - status->pattern_start = ticks_ms; + status->pattern_start = supervisor_ticks_ms32(); tick_diff = 0; } @@ -424,7 +425,7 @@ void tick_rgb_status_animation(rgb_status_animation_t* status) { } } else { if (tick_diff > status->total_exception_cycle) { - status->pattern_start = ticks_ms; + status->pattern_start = supervisor_ticks_ms32(); tick_diff = 0; } // First flash the file color. diff --git a/supervisor/shared/safe_mode.c b/supervisor/shared/safe_mode.c index d8d3ab379c..363181da06 100644 --- a/supervisor/shared/safe_mode.c +++ b/supervisor/shared/safe_mode.c @@ -34,6 +34,7 @@ #include "supervisor/shared/rgb_led_colors.h" #include "supervisor/shared/rgb_led_status.h" #include "supervisor/shared/translate.h" +#include "supervisor/shared/tick.h" #define SAFE_MODE_DATA_GUARD 0xad0000af #define SAFE_MODE_DATA_GUARD_MASK 0xff0000ff @@ -59,14 +60,14 @@ safe_mode_t wait_for_safe_mode_reset(void) { common_hal_digitalio_digitalinout_construct(&status_led, MICROPY_HW_LED_STATUS); common_hal_digitalio_digitalinout_switch_to_output(&status_led, true, DRIVE_MODE_PUSH_PULL); #endif - uint64_t start_ticks = ticks_ms; + uint64_t start_ticks = supervisor_ticks_ms64(); uint64_t diff = 0; while (diff < 700) { #ifdef MICROPY_HW_LED_STATUS // Blink on for 100, off for 100, on for 100, off for 100 and on for 200 common_hal_digitalio_digitalinout_set_value(&status_led, diff > 100 && diff / 100 != 2 && diff / 100 != 4); #endif - diff = ticks_ms - start_ticks; + diff = supervisor_ticks_ms64() - start_ticks; } #ifdef MICROPY_HW_LED_STATUS common_hal_digitalio_digitalinout_deinit(&status_led); diff --git a/supervisor/shared/tick.c b/supervisor/shared/tick.c new file mode 100644 index 0000000000..d4a6ac5d75 --- /dev/null +++ b/supervisor/shared/tick.c @@ -0,0 +1,76 @@ +/* + * 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 "supervisor/shared/tick.h" +#include "supervisor/filesystem.h" +#include "supervisor/shared/autoreload.h" + +static volatile uint64_t ticks_ms; + +#if CIRCUITPY_GAMEPAD +#include "shared-module/gamepad/__init__.h" +#endif + +#if CIRCUITPY_GAMEPADSHIFT +#include "shared-module/gamepadshift/__init__.h" +#endif + +#include "shared-bindings/microcontroller/__init__.h" + +void supervisor_tick(void) { + + ticks_ms ++; + + +#if CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS > 0 + filesystem_tick(); +#endif +#ifdef CIRCUITPY_AUTORELOAD_DELAY_MS + autoreload_tick(); +#endif +#ifdef CIRCUITPY_GAMEPAD_TICKS + if (!(ticks_ms & CIRCUITPY_GAMEPAD_TICKS)) { + #if CIRCUITPY_GAMEPAD + gamepad_tick(); + #endif + #if CIRCUITPY_GAMEPADSHIFT + gamepadshift_tick(); + #endif + } +#endif +} + +uint64_t supervisor_ticks_ms64() { + uint64_t result; + common_hal_mcu_disable_interrupts(); + result = ticks_ms; + common_hal_mcu_enable_interrupts(); + return result; +} + +uint32_t supervisor_ticks_ms32() { + return ticks_ms; +} diff --git a/supervisor/shared/tick.h b/supervisor/shared/tick.h new file mode 100644 index 0000000000..3defeb1081 --- /dev/null +++ b/supervisor/shared/tick.h @@ -0,0 +1,37 @@ +/* + * 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 __INCLUDED_SUPERVISOR_TICK_H +#define __INCLUDED_SUPERVISOR_TICK_H + +#include +#include + +extern void supervisor_tick(void); +extern uint32_t supervisor_ticks_ms32(void); +extern uint64_t supervisor_ticks_ms64(void); + +#endif diff --git a/supervisor/supervisor.mk b/supervisor/supervisor.mk index b2e4eb1dcf..5e997ee78e 100644 --- a/supervisor/supervisor.mk +++ b/supervisor/supervisor.mk @@ -10,6 +10,7 @@ SRC_SUPERVISOR = \ supervisor/shared/safe_mode.c \ supervisor/shared/stack.c \ supervisor/shared/status_leds.c \ + supervisor/shared/tick.c \ supervisor/shared/translate.c ifndef $(NO_USB) From 40a47d41dfea885ecfbc6a6fe1fc2ec5124a293b Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 18 Nov 2019 10:51:16 -0600 Subject: [PATCH 12/79] samd: background: Allow monitoring time taken in background task If you define MONITOR_BACKGROUND_TASK, then a physical output pin (Metro M4 Express's "SCL" pin by default) will be set HIGH while in the background task and LOW at other times --- ports/atmel-samd/background.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ports/atmel-samd/background.c b/ports/atmel-samd/background.c index 3b698768b8..ca91a31de6 100644 --- a/ports/atmel-samd/background.c +++ b/ports/atmel-samd/background.c @@ -45,6 +45,23 @@ bool stack_ok_so_far = true; static bool running_background_tasks = false; +#ifdef MONITOR_BACKGROUND_TASKS +// PB03 is physical pin "SCL" on the Metro M4 express +// so you can't use this code AND an i2c peripheral +// at the same time unless you change this +STATIC void start_background_task(void) { + REG_PORT_DIRSET1 = (1<<3); + REG_PORT_OUTSET1 = (1<<3); +} + +STATIC void finish_background_task(void) { + REG_PORT_OUTCLR1 = (1<<3); +} +#else +STATIC void start_background_task(void) {} +STATIC void finish_background_task(void) {} +#endif + void background_tasks_reset(void) { running_background_tasks = false; } @@ -54,6 +71,9 @@ void run_background_tasks(void) { if (running_background_tasks) { return; } + + start_background_task(); + assert_heap_ok(); running_background_tasks = true; @@ -73,6 +93,7 @@ void run_background_tasks(void) { assert_heap_ok(); last_finished_tick = supervisor_ticks_ms64(); + finish_background_task(); } bool background_tasks_ok(void) { From 568636d562b4c64d0095ff2ac921b79eb69e520d Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 18 Nov 2019 09:53:12 -0600 Subject: [PATCH 13/79] run_background_tasks: Do nothing unless there has been a tick This improves performance of running python code by 34%, based on the "pystone" benchmark on metro m4 express at 5000 passes (1127.65 -> 1521.6 passes/second). In addition, by instrumenting the tick function and monitoring on an oscilloscope, the time actually spent in run_background_tasks() on the metro m4 decreases from average 43% to 0.5%. (however, there's some additional overhead that is moved around and not accounted for in that "0.5%" figure, each time supervisor_run_background_tasks_if_tick is called but no tick has occurred) On the CPB, it increases pystone from 633 to 769, a smaller percentage increase of 21%. I did not measure the time actually spent in run_background_tasks() on CPB. Testing performed: on metro m4 and cpb, run pystone adapted from python3.4 (change time.time to time.monotonic for sub-second resolution) Besides running a 5000 pass test, I also ran a 50-pass test while scoping how long an output pin was set. Average: 34.59ms or 1445/s on m4, 67.61ms or 739/s on cbp, both matching the other pystone result reasonably well. import pystone import board import digitalio import time d = digitalio.DigitalInOut(board.D13) d.direction = digitalio.Direction.OUTPUT while True: d.value = 0 time.sleep(.01) d.value = 1 pystone.main(50) --- py/circuitpy_mpconfig.h | 4 ++-- supervisor/shared/tick.c | 12 ++++++++++++ supervisor/shared/tick.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index 7853e4de95..3e83d0c510 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -653,8 +653,8 @@ extern const struct _mp_obj_module_t ustack_module; FLASH_ROOT_POINTERS \ NETWORK_ROOT_POINTERS \ -void run_background_tasks(void); -#define RUN_BACKGROUND_TASKS (run_background_tasks()) +void supervisor_run_background_tasks_if_tick(void); +#define RUN_BACKGROUND_TASKS (supervisor_run_background_tasks_if_tick()) // TODO: Used in wiznet5k driver, but may not be needed in the long run. #define MICROPY_THREAD_YIELD() diff --git a/supervisor/shared/tick.c b/supervisor/shared/tick.c index d4a6ac5d75..7dc5a52d32 100644 --- a/supervisor/shared/tick.c +++ b/supervisor/shared/tick.c @@ -24,10 +24,13 @@ * THE SOFTWARE. */ +#include + #include "supervisor/shared/tick.h" #include "supervisor/filesystem.h" #include "supervisor/shared/autoreload.h" +static atomic_bool tick_up; static volatile uint64_t ticks_ms; #if CIRCUITPY_GAMEPAD @@ -44,6 +47,7 @@ void supervisor_tick(void) { ticks_ms ++; + atomic_store(&tick_up, true); #if CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS > 0 filesystem_tick(); @@ -74,3 +78,11 @@ uint64_t supervisor_ticks_ms64() { uint32_t supervisor_ticks_ms32() { return ticks_ms; } + +extern void run_background_tasks(void); + +void supervisor_run_background_tasks_if_tick() { + if (atomic_exchange(&tick_up, false)) { + run_background_tasks(); + } +} diff --git a/supervisor/shared/tick.h b/supervisor/shared/tick.h index 3defeb1081..b662734492 100644 --- a/supervisor/shared/tick.h +++ b/supervisor/shared/tick.h @@ -33,5 +33,6 @@ extern void supervisor_tick(void); extern uint32_t supervisor_ticks_ms32(void); extern uint64_t supervisor_ticks_ms64(void); +extern void supervisor_run_background_if_tick(void); #endif From a0ef667a1474133b1d6e4c3d74020a68f9ae1671 Mon Sep 17 00:00:00 2001 From: Ayan Pahwa Date: Tue, 19 Nov 2019 01:59:29 +0530 Subject: [PATCH 14/79] Supervisor: create code.py file with sample code --- supervisor/shared/filesystem.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/supervisor/shared/filesystem.c b/supervisor/shared/filesystem.c index c50d7f4eeb..225dd8d047 100644 --- a/supervisor/shared/filesystem.c +++ b/supervisor/shared/filesystem.c @@ -69,6 +69,18 @@ static void make_empty_file(FATFS *fatfs, const char *path) { f_close(&fp); } + +static void make_sample_code_file(FATFS *fatfs) { + FIL fs; + UINT *char_written = 0; + const byte buffer[] = "print('Hello World!')"; + + //Create or modify existing code.py file + f_open(fatfs, &fs, "/code.py", FA_WRITE | FA_CREATE_ALWAYS); + f_write(&fs, buffer, sizeof(buffer), char_written); + f_close(&fs); +} + // we don't make this function static because it needs a lot of stack and we // want it to be executed without using stack within main() function void filesystem_init(bool create_allowed, bool force_create) { @@ -98,6 +110,8 @@ void filesystem_init(bool create_allowed, bool force_create) { make_empty_file(&vfs_fat->fatfs, "/.metadata_never_index"); make_empty_file(&vfs_fat->fatfs, "/.Trashes"); make_empty_file(&vfs_fat->fatfs, "/.fseventsd/no_log"); + // make a sample code.py file + make_sample_code_file(&vfs_fat->fatfs); // create empty lib directory f_mkdir(&vfs_fat->fatfs, "/lib"); From 0b558e87143b43471c5026b25470dfd8df3a8b13 Mon Sep 17 00:00:00 2001 From: Hierophect Date: Wed, 20 Nov 2019 11:34:49 -0500 Subject: [PATCH 15/79] fix error in SPI busclock selection --- ports/stm32f4/common-hal/busio/SPI.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/ports/stm32f4/common-hal/busio/SPI.c b/ports/stm32f4/common-hal/busio/SPI.c index e20bd7a947..f19461e9fa 100644 --- a/ports/stm32f4/common-hal/busio/SPI.c +++ b/ports/stm32f4/common-hal/busio/SPI.c @@ -39,6 +39,17 @@ STATIC bool reserved_spi[6]; STATIC bool never_reset_spi[6]; +STATIC uint32_t get_busclock(SPI_TypeDef * instance) { + //SPI2 and 3 are on PCLK1, if they exist. + #ifdef SPI2 + if(instance == SPI2) return HAL_RCC_GetPCLK1Freq(); + #endif + #ifdef SPI3 + if(instance == SPI2) return HAL_RCC_GetPCLK1Freq(); + #endif + return HAL_RCC_GetPCLK2Freq(); +} + void spi_reset(void) { #ifdef SPI1 if(!never_reset_spi[0]) { @@ -205,7 +216,7 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self, { mp_raise_ValueError(translate("SPI Init Error")); } - self->baudrate = (HAL_RCC_GetPCLK2Freq()/16); + self->baudrate = (get_busclock(SPIx)/16); self->prescaler = 16; self->polarity = 0; self->phase = 1; @@ -277,7 +288,7 @@ void common_hal_busio_spi_deinit(busio_spi_obj_t *self) { self->miso = mp_const_none; } -static uint32_t stm32_baud_to_spi_div(uint32_t baudrate, uint16_t * prescaler) { +STATIC uint32_t stm32_baud_to_spi_div(uint32_t baudrate, uint16_t * prescaler, uint32_t busclock) { static const uint32_t baud_map[8][2] = { {2,SPI_BAUDRATEPRESCALER_2}, {4,SPI_BAUDRATEPRESCALER_4}, @@ -292,7 +303,7 @@ static uint32_t stm32_baud_to_spi_div(uint32_t baudrate, uint16_t * prescaler) { uint16_t divisor; do { divisor = baud_map[i][0]; - if (baudrate >= (HAL_RCC_GetPCLK2Freq()/divisor)) { + if (baudrate >= (busclock/divisor)) { *prescaler = divisor; return baud_map[i][1]; } @@ -331,9 +342,9 @@ bool common_hal_busio_spi_configure(busio_spi_obj_t *self, } else { self->handle.Init.CLKPhase = SPI_PHASE_1EDGE; } - - self->handle.Init.BaudRatePrescaler = stm32_baud_to_spi_div(baudrate, &self->prescaler); - + + self->handle.Init.BaudRatePrescaler = stm32_baud_to_spi_div(baudrate, &self->prescaler, + get_busclock(self->handle.Instance)); self->handle.Init.Mode = SPI_MODE_MASTER; self->handle.Init.Direction = SPI_DIRECTION_2LINES; self->handle.Init.NSS = SPI_NSS_SOFT; From bd9893ab988ebbb5dd37f9016ddaab2b03abd11c Mon Sep 17 00:00:00 2001 From: Hierophect Date: Wed, 20 Nov 2019 12:00:45 -0500 Subject: [PATCH 16/79] clean up SPI module readability --- ports/stm32f4/common-hal/busio/SPI.c | 201 +++++++++------------------ 1 file changed, 69 insertions(+), 132 deletions(-) diff --git a/ports/stm32f4/common-hal/busio/SPI.c b/ports/stm32f4/common-hal/busio/SPI.c index f19461e9fa..a4960cce88 100644 --- a/ports/stm32f4/common-hal/busio/SPI.c +++ b/ports/stm32f4/common-hal/busio/SPI.c @@ -36,8 +36,13 @@ #include "supervisor/shared/translate.h" #include "common-hal/microcontroller/Pin.h" -STATIC bool reserved_spi[6]; -STATIC bool never_reset_spi[6]; +#define MAX_SPI 6 //TODO; replace this as part of periph cleanup +#define ALL_CLOCKS 0xFF +STATIC bool reserved_spi[MAX_SPI]; +STATIC bool never_reset_spi[MAX_SPI]; + +STATIC void spi_clock_enable(uint8_t mask); +STATIC void spi_clock_disable(uint8_t mask); STATIC uint32_t get_busclock(SPI_TypeDef * instance) { //SPI2 and 3 are on PCLK1, if they exist. @@ -51,42 +56,15 @@ STATIC uint32_t get_busclock(SPI_TypeDef * instance) { } void spi_reset(void) { - #ifdef SPI1 - if(!never_reset_spi[0]) { - reserved_spi[0] = false; - __HAL_RCC_SPI1_CLK_DISABLE(); + uint16_t never_reset_mask = 0x00; + for(int i=0;imiso->altfn_index; HAL_GPIO_Init(pin_port(miso->port), &GPIO_InitStruct); - #ifdef SPI1 - if(SPIx==SPI1) { - reserved_spi[0] = true; - __HAL_RCC_SPI1_CLK_ENABLE(); - } - #endif - #ifdef SPI2 - if(SPIx==SPI2) { - reserved_spi[1] = true; - __HAL_RCC_SPI2_CLK_ENABLE(); - } - #endif - #ifdef SPI3 - if(SPIx==SPI3) { - reserved_spi[2] = true; - __HAL_RCC_SPI3_CLK_ENABLE(); - } - #endif - #ifdef SPI4 - if(SPIx==SPI4) { - reserved_spi[3] = true; - __HAL_RCC_SPI4_CLK_ENABLE(); - } - #endif - #ifdef SPI5 - if(SPIx==SPI5) { - reserved_spi[4] = true; - __HAL_RCC_SPI5_CLK_ENABLE(); - } - #endif - #ifdef SPI6 - if(SPIx==SPI6) { - reserved_spi[5] = true; - __HAL_RCC_SPI6_CLK_ENABLE(); - } - #endif + spi_clock_enable(1<<(self->sck->spi_index - 1)); + reserved_spi[self->sck->spi_index - 1] = true; self->handle.Instance = SPIx; self->handle.Init.Mode = SPI_MODE_MASTER; @@ -244,42 +188,9 @@ bool common_hal_busio_spi_deinited(busio_spi_obj_t *self) { } void common_hal_busio_spi_deinit(busio_spi_obj_t *self) { - #ifdef SPI1 - if(self->handle.Instance==SPI1) { - reserved_spi[0] = false; - __HAL_RCC_SPI1_CLK_DISABLE(); - } - #endif - #ifdef SPI2 - if(self->handle.Instance==SPI2) { - reserved_spi[1] = false; - __HAL_RCC_SPI2_CLK_DISABLE(); - } - #endif - #ifdef SPI3 - if(self->handle.Instance==SPI3) { - reserved_spi[2] = false; - __HAL_RCC_SPI3_CLK_DISABLE(); - } - #endif - #ifdef SPI4 - if(self->handle.Instance==SPI4) { - reserved_spi[3] = false; - __HAL_RCC_SPI4_CLK_DISABLE(); - } - #endif - #ifdef SPI5 - if(self->handle.Instance==SPI5) { - reserved_spi[4] = false; - __HAL_RCC_SPI5_CLK_DISABLE(); - } - #endif - #ifdef SPI6 - if(self->handle.Instance==SPI6) { - reserved_spi[5] = false; - __HAL_RCC_SPI6_CLK_DISABLE(); - } - #endif + spi_clock_disable(1<<(self->sck->spi_index - 1)); + reserved_spi[self->sck->spi_index - 1] = true; + reset_pin_number(self->sck->pin->port,self->sck->pin->number); reset_pin_number(self->mosi->pin->port,self->mosi->pin->number); reset_pin_number(self->miso->pin->port,self->miso->pin->number); @@ -323,26 +234,10 @@ bool common_hal_busio_spi_configure(busio_spi_obj_t *self, //Deinit SPI HAL_SPI_DeInit(&self->handle); - if (bits == 8) { - self->handle.Init.DataSize = SPI_DATASIZE_8BIT; - } else if (bits == 16) { - self->handle.Init.DataSize = SPI_DATASIZE_16BIT; - } else { - return false; - } + self->handle.Init.DataSize = (bits == 16) ? SPI_DATASIZE_16BIT : SPI_DATASIZE_8BIT; + self->handle.Init.CLKPolarity = (polarity) ? SPI_POLARITY_HIGH : SPI_POLARITY_LOW; + self->handle.Init.CLKPhase = (phase) ? SPI_PHASE_2EDGE : SPI_PHASE_1EDGE; - if (polarity) { - self->handle.Init.CLKPolarity = SPI_POLARITY_HIGH; - } else { - self->handle.Init.CLKPolarity = SPI_POLARITY_LOW; - } - - if (phase) { - self->handle.Init.CLKPhase = SPI_PHASE_2EDGE; - } else { - self->handle.Init.CLKPhase = SPI_PHASE_1EDGE; - } - self->handle.Init.BaudRatePrescaler = stm32_baud_to_spi_div(baudrate, &self->prescaler, get_busclock(self->handle.Instance)); self->handle.Init.Mode = SPI_MODE_MASTER; @@ -373,10 +268,10 @@ bool common_hal_busio_spi_try_lock(busio_spi_obj_t *self) { // __disable_irq(); // __DMB(); - if (!self->has_lock) { - grabbed_lock = true; - self->has_lock = true; - } + if (!self->has_lock) { + grabbed_lock = true; + self->has_lock = true; + } // __DMB(); // __set_PRIMASK(store_primask); @@ -423,4 +318,46 @@ uint8_t common_hal_busio_spi_get_phase(busio_spi_obj_t* self) { uint8_t common_hal_busio_spi_get_polarity(busio_spi_obj_t* self) { return self->polarity; +} + +STATIC void spi_clock_enable(uint8_t mask) { + #ifdef SPI1 + if (mask & 1<<0) __HAL_RCC_SPI1_CLK_ENABLE(); + #endif + #ifdef SPI2 + if (mask & 1<<1) __HAL_RCC_SPI2_CLK_ENABLE(); + #endif + #ifdef SPI3 + if (mask & 1<<2) __HAL_RCC_SPI3_CLK_ENABLE(); + #endif + #ifdef SPI4 + if (mask & 1<<3) __HAL_RCC_SPI4_CLK_ENABLE(); + #endif + #ifdef SPI5 + if (mask & 1<<4) __HAL_RCC_SPI5_CLK_ENABLE(); + #endif + #ifdef SPI6 + if (mask & 1<<5) __HAL_RCC_SPI6_CLK_ENABLE(); + #endif +} + +STATIC void spi_clock_disable(uint8_t mask) { + #ifdef SPI1 + if (mask & 1<<0) __HAL_RCC_SPI1_CLK_DISABLE(); + #endif + #ifdef SPI2 + if (mask & 1<<1) __HAL_RCC_SPI2_CLK_DISABLE(); + #endif + #ifdef SPI3 + if (mask & 1<<2) __HAL_RCC_SPI3_CLK_DISABLE(); + #endif + #ifdef SPI4 + if (mask & 1<<3) __HAL_RCC_SPI4_CLK_DISABLE(); + #endif + #ifdef SPI5 + if (mask & 1<<4) __HAL_RCC_SPI5_CLK_DISABLE(); + #endif + #ifdef SPI6 + if (mask & 1<<5) __HAL_RCC_SPI6_CLK_DISABLE(); + #endif } \ No newline at end of file From 3d1b6d9fc8f1fd30acaf75ab10acba792873b8f7 Mon Sep 17 00:00:00 2001 From: Hierophect Date: Wed, 20 Nov 2019 12:07:12 -0500 Subject: [PATCH 17/79] fix typo --- ports/stm32f4/common-hal/busio/SPI.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/stm32f4/common-hal/busio/SPI.c b/ports/stm32f4/common-hal/busio/SPI.c index a4960cce88..f98d29054d 100644 --- a/ports/stm32f4/common-hal/busio/SPI.c +++ b/ports/stm32f4/common-hal/busio/SPI.c @@ -50,7 +50,7 @@ STATIC uint32_t get_busclock(SPI_TypeDef * instance) { if(instance == SPI2) return HAL_RCC_GetPCLK1Freq(); #endif #ifdef SPI3 - if(instance == SPI2) return HAL_RCC_GetPCLK1Freq(); + if(instance == SPI3) return HAL_RCC_GetPCLK1Freq(); #endif return HAL_RCC_GetPCLK2Freq(); } From 70719597ab7b3785a6641b08ef3cb82d9b6b459b Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 20 Nov 2019 10:15:11 -0600 Subject: [PATCH 18/79] supervisor: tick: Rewrite without atomics --- supervisor/shared/tick.c | 17 ++++++++++------- supervisor/shared/tick.h | 1 - 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/supervisor/shared/tick.c b/supervisor/shared/tick.c index 7dc5a52d32..0be3230823 100644 --- a/supervisor/shared/tick.c +++ b/supervisor/shared/tick.c @@ -24,14 +24,12 @@ * THE SOFTWARE. */ -#include - #include "supervisor/shared/tick.h" #include "supervisor/filesystem.h" #include "supervisor/shared/autoreload.h" -static atomic_bool tick_up; static volatile uint64_t ticks_ms; +static volatile uint32_t background_ticks_ms32; #if CIRCUITPY_GAMEPAD #include "shared-module/gamepad/__init__.h" @@ -47,8 +45,6 @@ void supervisor_tick(void) { ticks_ms ++; - atomic_store(&tick_up, true); - #if CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS > 0 filesystem_tick(); #endif @@ -82,7 +78,14 @@ uint32_t supervisor_ticks_ms32() { extern void run_background_tasks(void); void supervisor_run_background_tasks_if_tick() { - if (atomic_exchange(&tick_up, false)) { - run_background_tasks(); + uint32_t now32 = ticks_ms; + + if (now32 == background_ticks_ms32) { + return; } + background_ticks_ms32 = now32; + + run_background_tasks(); +} + } diff --git a/supervisor/shared/tick.h b/supervisor/shared/tick.h index b662734492..eb2af29ca4 100644 --- a/supervisor/shared/tick.h +++ b/supervisor/shared/tick.h @@ -28,7 +28,6 @@ #define __INCLUDED_SUPERVISOR_TICK_H #include -#include extern void supervisor_tick(void); extern uint32_t supervisor_ticks_ms32(void); From a9baa0f954ec757ef1e3990af136a4f0b3cb2b1e Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 20 Nov 2019 10:15:33 -0600 Subject: [PATCH 19/79] supervisor: tick: document --- supervisor/shared/tick.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/supervisor/shared/tick.h b/supervisor/shared/tick.h index eb2af29ca4..e747de2d83 100644 --- a/supervisor/shared/tick.h +++ b/supervisor/shared/tick.h @@ -29,9 +29,32 @@ #include +/** @brief To be called once every ms + * + * The port must call supervisor_tick once per millisecond to perform regular tasks. + * This is called from the SysTick interrupt or similar, and is safe to call in an + * interrupt context. + */ extern void supervisor_tick(void); +/** @brief Get the lower 32 bits of the time in milliseconds + * + * This can be more efficient than supervisor_ticks_ms64, for sites where a wraparound + * of ~49.5 days is not harmful. + */ extern uint32_t supervisor_ticks_ms32(void); +/** @brief Get the full time in milliseconds + * + * Because common ARM mcus cannot atomically work with 64-bit quantities, this + * function must briefly disable interrupts in order to return the value. If + * only relative durations of less than about ~49.5 days need to be considered, + * then it may be possible to use supervisor_ticks_ms64 instead. + */ extern uint64_t supervisor_ticks_ms64(void); +/** @brief Run background ticks, but only about every millisecond. + * + * Normally, this is not called directly. Instead use the RUN_BACKGROUND_TASKS + * macro. + */ extern void supervisor_run_background_if_tick(void); #endif From 46c5775ba4b9c4905f8e3f4c1842c2c6c04d8fb0 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 20 Nov 2019 10:15:44 -0600 Subject: [PATCH 20/79] supervisor: tick: add supervisor_fake_tick --- supervisor/shared/tick.c | 3 +++ supervisor/shared/tick.h | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/supervisor/shared/tick.c b/supervisor/shared/tick.c index 0be3230823..69256081c4 100644 --- a/supervisor/shared/tick.c +++ b/supervisor/shared/tick.c @@ -88,4 +88,7 @@ void supervisor_run_background_tasks_if_tick() { run_background_tasks(); } +void supervisor_fake_tick() { + uint32_t now32 = ticks_ms; + background_ticks_ms32 = (now32 - 1); } diff --git a/supervisor/shared/tick.h b/supervisor/shared/tick.h index e747de2d83..7ce8281ba9 100644 --- a/supervisor/shared/tick.h +++ b/supervisor/shared/tick.h @@ -36,6 +36,13 @@ * interrupt context. */ extern void supervisor_tick(void); +/** @brief Cause background tasks to be called soon + * + * Normally, background tasks are only run once per tick. For other cases where + * an event noticed from an interrupt context needs to be completed by a background + * task activity, the interrupt can call supervisor_fake_tick. + */ +extern void supervisor_fake_tick(void); /** @brief Get the lower 32 bits of the time in milliseconds * * This can be more efficient than supervisor_ticks_ms64, for sites where a wraparound From 5e857fdb67c2d92836d7ed73a179fcb6c5298fed Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Wed, 20 Nov 2019 13:53:50 -0800 Subject: [PATCH 21/79] Use BluetoothError in _bleio This better differentiates errors than using OSError everywhere. --- locale/ID.po | 165 ++++++---------- locale/circuitpython.pot | 126 ++---------- locale/de_DE.po | 182 +++++++---------- locale/en_US.po | 126 ++---------- locale/en_x_pirate.po | 126 ++---------- locale/es.po | 173 +++++++--------- locale/fil.po | 166 ++++++---------- locale/fr.po | 179 +++++++---------- locale/it_IT.po | 168 ++++++---------- locale/ko.po | 126 ++---------- locale/pl.po | 171 ++++++---------- locale/pt_BR.po | 161 +++++---------- locale/zh_Latn_pinyin.po | 186 ++++++++---------- ports/nrf/common-hal/_bleio/Adapter.c | 53 ++--- ports/nrf/common-hal/_bleio/Characteristic.c | 18 +- ports/nrf/common-hal/_bleio/Connection.c | 22 +-- ports/nrf/common-hal/_bleio/Connection.h | 1 + ports/nrf/common-hal/_bleio/Service.c | 12 +- ports/nrf/common-hal/_bleio/UUID.c | 13 +- ports/nrf/common-hal/_bleio/__init__.c | 78 ++++---- ports/nrf/common-hal/_bleio/__init__.h | 5 +- py/runtime.c | 2 - shared-bindings/_bleio/Adapter.c | 2 +- shared-bindings/_bleio/Characteristic.c | 4 +- shared-bindings/_bleio/CharacteristicBuffer.c | 8 +- shared-bindings/_bleio/Connection.c | 3 +- shared-bindings/_bleio/Descriptor.c | 4 +- shared-bindings/_bleio/Service.c | 2 +- shared-bindings/_bleio/__init__.c | 58 ++++++ shared-bindings/_bleio/__init__.h | 10 + 30 files changed, 825 insertions(+), 1525 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index 9cdbb64ef3..6b93b231b8 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -488,11 +488,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "Tidak dapat menginisialisasi UART" @@ -587,11 +582,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -601,15 +591,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Gagal untuk mengalokasikan buffer RX" @@ -620,10 +601,6 @@ msgstr "Gagal untuk mengalokasikan buffer RX" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Gagal untuk megalokasikan buffer RX dari %d byte" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -632,96 +609,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -#, fuzzy -msgid "Failed to discover services" -msgstr "Gagal untuk menemukan layanan, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy -msgid "Failed to get local address" -msgstr "Gagal untuk mendapatkan alamat lokal, error: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy -msgid "Failed to get softdevice state" -msgstr "Gagal untuk mendapatkan status softdevice, error: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Gagal untuk menambahkan Vendor Spesific UUID, status: 0x%08lX" - #: ports/nrf/sd_mutex.c #, fuzzy, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "Gagal untuk melepaskan mutex, status: 0x%08lX" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Gagal untuk melakukan scanning, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Gagal untuk menulis nilai atribut, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" - #: py/moduerrno.c msgid "File exists" msgstr "" @@ -784,6 +676,10 @@ msgstr "" msgid "Input/output error" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1323,6 +1219,21 @@ msgstr "" msgid "Unexpected nrfx uuid type" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2797,14 +2708,38 @@ msgstr "" #~ msgid "Failed to create mutex" #~ msgstr "Gagal untuk membuat mutex, status: 0x%08lX" +#, fuzzy +#~ msgid "Failed to discover services" +#~ msgstr "Gagal untuk menemukan layanan, status: 0x%08lX" + +#, fuzzy +#~ msgid "Failed to get local address" +#~ msgstr "Gagal untuk mendapatkan alamat lokal, error: 0x%08lX" + +#, fuzzy +#~ msgid "Failed to get softdevice state" +#~ msgstr "Gagal untuk mendapatkan status softdevice, error: 0x%08lX" + #, fuzzy #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Gagal untuk melaporkan nilai atribut, status: 0x%08lX" +#, fuzzy, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX" + #, fuzzy #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX" +#, fuzzy, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" + +#, fuzzy, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "Gagal untuk menambahkan Vendor Spesific UUID, status: 0x%08lX" + #, fuzzy #~ msgid "Failed to release mutex" #~ msgstr "Gagal untuk melepaskan mutex, status: 0x%08lX" @@ -2821,6 +2756,10 @@ msgstr "" #~ msgid "Failed to start scanning" #~ msgstr "Gagal untuk melakukan scanning, status: 0x%08lX" +#, fuzzy, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "Gagal untuk melakukan scanning, status: 0x%08lX" + #, fuzzy #~ msgid "Failed to stop advertising" #~ msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" @@ -2829,6 +2768,14 @@ msgstr "" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" +#, fuzzy, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "Gagal untuk menulis nilai atribut, status: 0x%08lX" + +#, fuzzy, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" + #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 tidak mendukung pull up" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 2c01026f9f..74c5c22f67 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -478,11 +478,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "" @@ -576,11 +571,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -590,15 +580,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "" @@ -609,10 +590,6 @@ msgstr "" msgid "Failed to allocate RX buffer of %d bytes" msgstr "" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -621,93 +598,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to discover services" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get softdevice state" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "" - #: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "" - #: py/moduerrno.c msgid "File exists" msgstr "" @@ -770,6 +665,10 @@ msgstr "" msgid "Input/output error" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1301,6 +1200,21 @@ msgstr "" msgid "Unexpected nrfx uuid type" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." diff --git a/locale/de_DE.po b/locale/de_DE.po index 38a6dffb68..628fafce29 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -482,11 +482,6 @@ msgstr "Beschädigte .mpy Datei" msgid "Corrupt raw code" msgstr "Beschädigter raw code" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "Konnte ble_uuid nicht decodieren. Status: 0x%04x" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "Konnte UART nicht initialisieren" @@ -580,11 +575,6 @@ msgstr "Erwartet eine Adresse" msgid "Expected tuple of length %d, got %d" msgstr "Habe ein Tupel der Länge %d erwartet aber %d erhalten" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "Kommando nicht gesendet." @@ -594,15 +584,6 @@ msgstr "Kommando nicht gesendet." msgid "Failed to acquire mutex, err 0x%04x" msgstr "Mutex konnte nicht akquiriert werden. Status: 0x%04x" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "Deskriptor konnte nicht hinzugefügt werden. Status: 0x%04x" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Konnte keinen RX Buffer allozieren" @@ -613,10 +594,6 @@ msgstr "Konnte keinen RX Buffer allozieren" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Konnte keine RX Buffer mit %d allozieren" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -625,93 +602,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "Verbindung nicht erfolgreich: timeout" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to discover services" -msgstr "Es konnten keine Dienste gefunden werden" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "Lokale Adresse konnte nicht abgerufen werden" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get softdevice state" -msgstr "Fehler beim Abrufen des Softdevice-Status" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "Koppeln fehlgeschlagen" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Kann CCCD value nicht lesen. Status: 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "Kann Attributwert nicht lesen, Status: 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "gatts value konnte nicht gelesen werden. Status: 0x%04x" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Kann keine herstellerspezifische UUID hinzufügen. Status: 0x%04x" - #: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "Mutex konnte nicht freigegeben werden. Status: 0x%04x" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "Verbindung konnte nicht hergestellt werden. Status: 0x%04x" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Der Scanvorgang kann nicht gestartet werden. Status: 0x%04x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "Konnte CCCD nicht schreiben, Status: 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Kann den Attributwert nicht schreiben. Status: 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "gatts value konnte nicht geschrieben werden. Status: 0x%04x" - #: py/moduerrno.c msgid "File exists" msgstr "Datei existiert" @@ -778,6 +673,10 @@ msgstr "Inkorrekte Puffergröße" msgid "Input/output error" msgstr "Eingabe-/Ausgabefehler" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1338,6 +1237,21 @@ msgstr "Schreiben in nvm nicht möglich." msgid "Unexpected nrfx uuid type" msgstr "Unerwarteter nrfx uuid-Typ" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2796,6 +2710,10 @@ msgstr "" #~ msgid "Characteristic already in use by another Service." #~ msgstr "Characteristic wird bereits von einem anderen Dienst verwendet." +#, c-format +#~ msgid "Could not decode ble_uuid, err 0x%04x" +#~ msgstr "Konnte ble_uuid nicht decodieren. Status: 0x%04x" + #~ msgid "Data too large for the advertisement packet" #~ msgstr "Daten sind zu groß für das advertisement packet" @@ -2821,6 +2739,10 @@ msgstr "" #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Hinzufügen des Characteristic ist gescheitert. Status: 0x%04x" +#, c-format +#~ msgid "Failed to add descriptor, err 0x%04x" +#~ msgstr "Deskriptor konnte nicht hinzugefügt werden. Status: 0x%04x" + #~ msgid "Failed to add service" #~ msgstr "Dienst konnte nicht hinzugefügt werden" @@ -2842,12 +2764,40 @@ msgstr "" #~ msgid "Failed to create mutex" #~ msgstr "Erstellen des Mutex ist fehlgeschlagen" +#~ msgid "Failed to discover services" +#~ msgstr "Es konnten keine Dienste gefunden werden" + +#~ msgid "Failed to get local address" +#~ msgstr "Lokale Adresse konnte nicht abgerufen werden" + +#~ msgid "Failed to get softdevice state" +#~ msgstr "Fehler beim Abrufen des Softdevice-Status" + #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Kann den Attributwert nicht mitteilen. Status: 0x%04x" +#~ msgid "Failed to pair" +#~ msgstr "Koppeln fehlgeschlagen" + +#, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "Kann CCCD value nicht lesen. Status: 0x%04x" + #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Kann den Attributwert nicht lesen. Status: 0x%04x" +#, c-format +#~ msgid "Failed to read attribute value, err 0x%04x" +#~ msgstr "Kann Attributwert nicht lesen, Status: 0x%04x" + +#, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "gatts value konnte nicht gelesen werden. Status: 0x%04x" + +#, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "Kann keine herstellerspezifische UUID hinzufügen. Status: 0x%04x" + #~ msgid "Failed to release mutex" #~ msgstr "Loslassen des Mutex gescheitert" @@ -2860,18 +2810,38 @@ msgstr "" #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Kann advertisement nicht starten. Status: 0x%04x" +#, c-format +#~ msgid "Failed to start connecting, error 0x%04x" +#~ msgstr "Verbindung konnte nicht hergestellt werden. Status: 0x%04x" + #~ msgid "Failed to start pairing, error 0x%04x" #~ msgstr "Starten des Koppelns fehlgeschlagen, Status: 0x%04x" #~ msgid "Failed to start scanning" #~ msgstr "Der Scanvorgang kann nicht gestartet werden" +#, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "Der Scanvorgang kann nicht gestartet werden. Status: 0x%04x" + #~ msgid "Failed to stop advertising" #~ msgstr "Kann advertisement nicht stoppen" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Kann advertisement nicht stoppen. Status: 0x%04x" +#, c-format +#~ msgid "Failed to write CCCD, err 0x%04x" +#~ msgstr "Konnte CCCD nicht schreiben, Status: 0x%04x" + +#, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "Kann den Attributwert nicht schreiben. Status: 0x%04x" + +#, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "gatts value konnte nicht geschrieben werden. Status: 0x%04x" + #~ msgid "Function requires lock." #~ msgstr "" #~ "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde" diff --git a/locale/en_US.po b/locale/en_US.po index 9408102d61..3fa5ffe96d 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -478,11 +478,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "" @@ -576,11 +571,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -590,15 +580,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "" @@ -609,10 +590,6 @@ msgstr "" msgid "Failed to allocate RX buffer of %d bytes" msgstr "" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -621,93 +598,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to discover services" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get softdevice state" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "" - #: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "" - #: py/moduerrno.c msgid "File exists" msgstr "" @@ -770,6 +665,10 @@ msgstr "" msgid "Input/output error" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1301,6 +1200,21 @@ msgstr "" msgid "Unexpected nrfx uuid type" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." diff --git a/locale/en_x_pirate.po b/locale/en_x_pirate.po index 6bf2d84a44..df0b132af0 100644 --- a/locale/en_x_pirate.po +++ b/locale/en_x_pirate.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: @sommersoft, @MrCertainly\n" @@ -482,11 +482,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "" @@ -580,11 +575,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -594,15 +584,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "" @@ -613,10 +594,6 @@ msgstr "" msgid "Failed to allocate RX buffer of %d bytes" msgstr "" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -625,93 +602,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to discover services" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get softdevice state" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "" - #: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "" - #: py/moduerrno.c msgid "File exists" msgstr "" @@ -774,6 +669,10 @@ msgstr "" msgid "Input/output error" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1305,6 +1204,21 @@ msgstr "" msgid "Unexpected nrfx uuid type" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." diff --git a/locale/es.po b/locale/es.po index 449e88a800..083702e320 100644 --- a/locale/es.po +++ b/locale/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -486,11 +486,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "No se puede descodificar ble_uuid, err 0x%04x" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "No se puede inicializar la UART" @@ -584,11 +579,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "Se esperaba un tuple de %d, se obtuvo %d" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "Fallo enviando comando" @@ -598,15 +588,6 @@ msgstr "Fallo enviando comando" msgid "Failed to acquire mutex, err 0x%04x" msgstr "No se puede adquirir el mutex, status: 0x%08lX" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Ha fallado la asignación del buffer RX" @@ -617,10 +598,6 @@ msgstr "Ha fallado la asignación del buffer RX" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Falló la asignación del buffer RX de %d bytes" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -629,94 +606,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -#, fuzzy -msgid "Failed to discover services" -msgstr "No se puede descubrir servicios" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "No se puede obtener la dirección local" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get softdevice state" -msgstr "No se puede obtener el estado del softdevice" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "Error al notificar o indicar el valor del atributo, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "No se puede leer el valor del atributo. err 0x%02x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "Error al leer valor del atributo, err 0x%04" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "No se puede escribir el valor del atributo. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Fallo al registrar el Vendor-Specific UUID, err 0x%04x" - #: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "No se puede liberar el mutex, err 0x%04x" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "No se puede iniciar el escaneo. err 0x%04x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "No se puede escribir el valor del atributo. err: 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "No se puede escribir el valor del atributo. err: 0x%04x" - #: py/moduerrno.c msgid "File exists" msgstr "El archivo ya existe" @@ -781,6 +675,10 @@ msgstr "Tamaño incorrecto del buffer" msgid "Input/output error" msgstr "error Input/output" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1339,6 +1237,21 @@ msgstr "Imposible escribir en nvm" msgid "Unexpected nrfx uuid type" msgstr "Tipo de uuid nrfx inesperado" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2795,6 +2708,10 @@ msgstr "paso cero" #~ msgid "Characteristic already in use by another Service." #~ msgstr "Características ya esta en uso por otro Serivice" +#, c-format +#~ msgid "Could not decode ble_uuid, err 0x%04x" +#~ msgstr "No se puede descodificar ble_uuid, err 0x%04x" + #, fuzzy #~ msgid "Data too large for the advertisement packet" #~ msgstr "Los datos no caben en el paquete de anuncio." @@ -2844,14 +2761,44 @@ msgstr "paso cero" #~ msgid "Failed to create mutex" #~ msgstr "No se puede leer el valor del atributo. status 0x%02x" +#, fuzzy +#~ msgid "Failed to discover services" +#~ msgstr "No se puede descubrir servicios" + +#~ msgid "Failed to get local address" +#~ msgstr "No se puede obtener la dirección local" + +#~ msgid "Failed to get softdevice state" +#~ msgstr "No se puede obtener el estado del softdevice" + #, fuzzy #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "No se puede notificar el valor del anuncio. status: 0x%02x" +#, c-format +#~ msgid "Failed to notify or indicate attribute value, err 0x%04x" +#~ msgstr "Error al notificar o indicar el valor del atributo, err 0x%04x" + +#, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "No se puede leer el valor del atributo. err 0x%02x" + #, fuzzy #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "No se puede leer el valor del atributo. status 0x%02x" +#, fuzzy, c-format +#~ msgid "Failed to read attribute value, err 0x%04x" +#~ msgstr "Error al leer valor del atributo, err 0x%04" + +#, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "No se puede escribir el valor del atributo. status: 0x%02x" + +#, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "Fallo al registrar el Vendor-Specific UUID, err 0x%04x" + #, fuzzy #~ msgid "Failed to release mutex" #~ msgstr "No se puede liberar el mutex, status: 0x%08lX" @@ -2867,6 +2814,10 @@ msgstr "paso cero" #~ msgid "Failed to start scanning" #~ msgstr "No se puede iniciar el escaneo. status: 0x%02x" +#, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "No se puede iniciar el escaneo. err 0x%04x" + #, fuzzy #~ msgid "Failed to stop advertising" #~ msgstr "No se puede detener el anuncio. status: 0x%02x" @@ -2874,6 +2825,14 @@ msgstr "paso cero" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "No se puede detener el anuncio. err: 0x%04x" +#, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "No se puede escribir el valor del atributo. err: 0x%04x" + +#, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "No se puede escribir el valor del atributo. err: 0x%04x" + #~ msgid "Function requires lock." #~ msgstr "La función requiere lock" diff --git a/locale/fil.po b/locale/fil.po index 57b633890c..57ea1c8be6 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -487,11 +487,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "Hindi ma-initialize ang UART" @@ -590,11 +585,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -604,15 +594,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Nabigong ilaan ang RX buffer" @@ -623,10 +604,6 @@ msgstr "Nabigong ilaan ang RX buffer" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Nabigong ilaan ang RX buffer ng %d bytes" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -635,96 +612,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -#, fuzzy -msgid "Failed to discover services" -msgstr "Nabigo sa pagdiscover ng services, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy -msgid "Failed to get local address" -msgstr "Nabigo sa pagkuha ng local na address, , error: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy -msgid "Failed to get softdevice state" -msgstr "Nabigo sa pagkuha ng softdevice state, error: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Hindi matagumpay ang paglagay ng Vender Specific UUID, status: 0x%08lX" - #: ports/nrf/sd_mutex.c #, fuzzy, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "Nabigo sa pagrelease ng mutex, status: 0x%08lX" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Hindi maisulat ang attribute value, status: 0x%08lX" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" - #: py/moduerrno.c msgid "File exists" msgstr "Mayroong file" @@ -789,6 +681,10 @@ msgstr "" msgid "Input/output error" msgstr "May mali sa Input/Output" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1344,6 +1240,21 @@ msgstr "Hindi ma i-sulat sa NVM." msgid "Unexpected nrfx uuid type" msgstr "hindi inaasahang indent" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2852,14 +2763,39 @@ msgstr "zero step" #~ msgid "Failed to create mutex" #~ msgstr "Hindi matagumpay ang pagbuo ng mutex, status: 0x%0xlX" +#, fuzzy +#~ msgid "Failed to discover services" +#~ msgstr "Nabigo sa pagdiscover ng services, status: 0x%08lX" + +#, fuzzy +#~ msgid "Failed to get local address" +#~ msgstr "Nabigo sa pagkuha ng local na address, , error: 0x%08lX" + +#, fuzzy +#~ msgid "Failed to get softdevice state" +#~ msgstr "Nabigo sa pagkuha ng softdevice state, error: 0x%08lX" + #, fuzzy #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Hindi mabalitaan ang attribute value, status: 0x%08lX" +#, fuzzy, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX" + #, fuzzy #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX" +#, fuzzy, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" + +#, fuzzy, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "" +#~ "Hindi matagumpay ang paglagay ng Vender Specific UUID, status: 0x%08lX" + #, fuzzy #~ msgid "Failed to release mutex" #~ msgstr "Nabigo sa pagrelease ng mutex, status: 0x%08lX" @@ -2876,6 +2812,10 @@ msgstr "zero step" #~ msgid "Failed to start scanning" #~ msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX" +#, fuzzy, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX" + #, fuzzy #~ msgid "Failed to stop advertising" #~ msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" @@ -2884,6 +2824,14 @@ msgstr "zero step" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" +#, fuzzy, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "Hindi maisulat ang attribute value, status: 0x%08lX" + +#, fuzzy, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" + #~ msgid "Function requires lock." #~ msgstr "Kailangan ng lock ang function." diff --git a/locale/fr.po b/locale/fr.po index bad559397f..95027be722 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2019-04-14 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -493,11 +493,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "Impossible de décoder le 'ble_uuid', err 0x%04x" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "L'UART n'a pu être initialisé" @@ -594,11 +589,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "Tuple de longueur %d attendu, obtenu %d" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -608,15 +598,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "Echec de l'obtention de mutex, err 0x%04x" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Echec de l'allocation du tampon RX" @@ -627,10 +608,6 @@ msgstr "Echec de l'allocation du tampon RX" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Echec de l'allocation de %d octets du tampon RX" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -639,97 +616,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -#, fuzzy -msgid "Failed to discover services" -msgstr "Echec de la découverte de services" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy -msgid "Failed to get local address" -msgstr "Echec de l'obtention de l'adresse locale" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy -msgid "Failed to get softdevice state" -msgstr "Echec de l'obtention de l'état du périphérique" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" -"Impossible de notifier ou d'indiquer la valeur de l'attribut, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Impossible de lire la valeur 'CCCD', err 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "Impossible de lire la valeur de l'attribut, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Impossible de lire la valeur de 'gatts', err 0x%04x" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Echec de l'ajout de l'UUID du fournisseur, err 0x%04x" - #: ports/nrf/sd_mutex.c #, fuzzy, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "Impossible de libérer mutex, err 0x%04x" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Impossible de commencer à scanner, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Impossible d'écrire la valeur de l'attribut, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Impossible d'écrire la valeur de 'gatts', err 0x%04x" - #: py/moduerrno.c msgid "File exists" msgstr "Le fichier existe" @@ -794,6 +685,10 @@ msgstr "Taille de tampon incorrecte" msgid "Input/output error" msgstr "Erreur d'entrée/sortie" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1367,6 +1262,21 @@ msgstr "Impossible d'écrire sur la mémoire non-volatile." msgid "Unexpected nrfx uuid type" msgstr "Type inattendu pour l'uuid nrfx" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2849,6 +2759,10 @@ msgstr "'step' nul" #~ msgid "Characteristic already in use by another Service." #~ msgstr "'Characteristic' déjà en utilisation par un autre service" +#, c-format +#~ msgid "Could not decode ble_uuid, err 0x%04x" +#~ msgstr "Impossible de décoder le 'ble_uuid', err 0x%04x" + #~ msgid "Data too large for the advertisement packet" #~ msgstr "Données trop volumineuses pour le paquet de diffusion" @@ -2900,14 +2814,47 @@ msgstr "'step' nul" #~ msgid "Failed to create mutex" #~ msgstr "Echec de la création de mutex" +#, fuzzy +#~ msgid "Failed to discover services" +#~ msgstr "Echec de la découverte de services" + +#, fuzzy +#~ msgid "Failed to get local address" +#~ msgstr "Echec de l'obtention de l'adresse locale" + +#, fuzzy +#~ msgid "Failed to get softdevice state" +#~ msgstr "Echec de l'obtention de l'état du périphérique" + #, fuzzy #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Impossible de notifier la valeur de l'attribut. status: 0x%08lX" +#, c-format +#~ msgid "Failed to notify or indicate attribute value, err 0x%04x" +#~ msgstr "" +#~ "Impossible de notifier ou d'indiquer la valeur de l'attribut, err 0x%04x" + +#, fuzzy, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "Impossible de lire la valeur 'CCCD', err 0x%04x" + #, fuzzy #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Impossible de lire la valeur de l'attribut. status: 0x%08lX" +#, c-format +#~ msgid "Failed to read attribute value, err 0x%04x" +#~ msgstr "Impossible de lire la valeur de l'attribut, err 0x%04x" + +#, fuzzy, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "Impossible de lire la valeur de 'gatts', err 0x%04x" + +#, fuzzy, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "Echec de l'ajout de l'UUID du fournisseur, err 0x%04x" + #, fuzzy #~ msgid "Failed to release mutex" #~ msgstr "Impossible de libérer mutex" @@ -2924,6 +2871,10 @@ msgstr "'step' nul" #~ msgid "Failed to start scanning" #~ msgstr "Impossible de commencer à scanner" +#, fuzzy, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "Impossible de commencer à scanner, err 0x%04x" + #, fuzzy #~ msgid "Failed to stop advertising" #~ msgstr "Echec de l'arrêt de diffusion" @@ -2932,6 +2883,14 @@ msgstr "'step' nul" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Echec de l'arrêt de diffusion, err 0x%04x" +#, fuzzy, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "Impossible d'écrire la valeur de l'attribut, err 0x%04x" + +#, fuzzy, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "Impossible d'écrire la valeur de 'gatts', err 0x%04x" + #~ msgid "Function requires lock." #~ msgstr "La fonction nécessite un verrou." diff --git a/locale/it_IT.po b/locale/it_IT.po index c280b0e87a..e0519378dc 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -488,11 +488,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "Impossibile inizializzare l'UART" @@ -590,11 +585,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -604,15 +594,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Impossibile allocare buffer RX" @@ -623,10 +604,6 @@ msgstr "Impossibile allocare buffer RX" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Fallita allocazione del buffer RX di %d byte" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -635,95 +612,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -#, fuzzy -msgid "Failed to discover services" -msgstr "Impossibile fermare advertisement. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy -msgid "Failed to get softdevice state" -msgstr "Impossibile fermare advertisement. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "Notificamento o indicazione di attribute value fallito, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "Tentative leggere attribute value fallito, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Non è possibile aggiungere l'UUID del vendor specifico da 128-bit" - #: ports/nrf/sd_mutex.c #, fuzzy, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Impossible iniziare la scansione. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" - #: py/moduerrno.c msgid "File exists" msgstr "File esistente" @@ -788,6 +681,10 @@ msgstr "" msgid "Input/output error" msgstr "Errore input/output" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1343,6 +1240,21 @@ msgstr "Imposibile scrivere su nvm." msgid "Unexpected nrfx uuid type" msgstr "indentazione inaspettata" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2856,14 +2768,42 @@ msgstr "zero step" #~ msgid "Failed to create mutex" #~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" +#, fuzzy +#~ msgid "Failed to discover services" +#~ msgstr "Impossibile fermare advertisement. status: 0x%02x" + +#, fuzzy +#~ msgid "Failed to get softdevice state" +#~ msgstr "Impossibile fermare advertisement. status: 0x%02x" + #, fuzzy #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Impossibile notificare valore dell'attributo. status: 0x%02x" +#, c-format +#~ msgid "Failed to notify or indicate attribute value, err 0x%04x" +#~ msgstr "Notificamento o indicazione di attribute value fallito, err 0x%04x" + +#, fuzzy, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" + #, fuzzy #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" +#, c-format +#~ msgid "Failed to read attribute value, err 0x%04x" +#~ msgstr "Tentative leggere attribute value fallito, err 0x%04x" + +#, fuzzy, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" + +#, fuzzy, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "Non è possibile aggiungere l'UUID del vendor specifico da 128-bit" + #, fuzzy #~ msgid "Failed to release mutex" #~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" @@ -2880,6 +2820,10 @@ msgstr "zero step" #~ msgid "Failed to start scanning" #~ msgstr "Impossible iniziare la scansione. status: 0x%02x" +#, fuzzy, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "Impossible iniziare la scansione. status: 0x%02x" + #, fuzzy #~ msgid "Failed to stop advertising" #~ msgstr "Impossibile fermare advertisement. status: 0x%02x" @@ -2888,6 +2832,14 @@ msgstr "zero step" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Impossibile fermare advertisement. status: 0x%02x" +#, fuzzy, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" + +#, fuzzy, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" + #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 non supporta pull-up" diff --git a/locale/ko.po b/locale/ko.po index fa67fda828..d6e8701fdb 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2019-05-06 14:22-0700\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" @@ -482,11 +482,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "" @@ -580,11 +575,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -594,15 +584,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "" @@ -613,10 +594,6 @@ msgstr "" msgid "Failed to allocate RX buffer of %d bytes" msgstr "" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -625,93 +602,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to discover services" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get softdevice state" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "" - #: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "" - #: py/moduerrno.c msgid "File exists" msgstr "" @@ -774,6 +669,10 @@ msgstr "" msgid "Input/output error" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1306,6 +1205,21 @@ msgstr "" msgid "Unexpected nrfx uuid type" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." diff --git a/locale/pl.po b/locale/pl.po index 34381c08dd..08c35cd8e1 100644 --- a/locale/pl.po +++ b/locale/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2019-03-19 18:37-0700\n" "Last-Translator: Radomir Dopieralski \n" "Language-Team: pl\n" @@ -481,11 +481,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "Nie można zdekodować ble_uuid, błąd 0x%04x" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "Ustawienie UART nie powiodło się" @@ -579,11 +574,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "Oczekiwano krotkę długości %d, otrzymano %d" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "" @@ -593,15 +583,6 @@ msgstr "" msgid "Failed to acquire mutex, err 0x%04x" msgstr "Nie udało się uzyskać blokady, błąd 0x$04x" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Nie udała się alokacja bufora RX" @@ -612,10 +593,6 @@ msgstr "Nie udała się alokacja bufora RX" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Nie udała się alokacja %d bajtów na bufor RX" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -624,93 +601,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to discover services" -msgstr "Nie udało się odkryć serwisów" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "Nie udało się uzyskać lokalnego adresu" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get softdevice state" -msgstr "Nie udało się odczytać stanu softdevice" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "Nie udało się powiadomić o wartości atrybutu, błąd 0x%04x" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Nie udało się odczytać CCCD, błąd 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "Nie udało się odczytać wartości atrybutu, błąd 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Nie udało się odczytać gatts, błąd 0x%04x" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Nie udało się zarejestrować UUID dostawcy, błąd 0x%04x" - #: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "Nie udało się zwolnić blokady, błąd 0x%04x" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Nie udało się rozpocząć skanowania, błąd 0x%04x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Nie udało się zapisać atrybutu, błąd 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Nie udało się zapisać gatts, błąd 0x%04x" - #: py/moduerrno.c msgid "File exists" msgstr "Plik istnieje" @@ -775,6 +670,10 @@ msgstr "Niewłaściwa wielkość bufora" msgid "Input/output error" msgstr "Błąd I/O" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1321,6 +1220,21 @@ msgstr "Błąd zapisu do NVM." msgid "Unexpected nrfx uuid type" msgstr "Nieoczekiwany typ nrfx uuid." +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2740,6 +2654,10 @@ msgstr "zerowy krok" #~ msgid "Characteristic already in use by another Service." #~ msgstr "Charakterystyka w użyciu w innym serwisie" +#, c-format +#~ msgid "Could not decode ble_uuid, err 0x%04x" +#~ msgstr "Nie można zdekodować ble_uuid, błąd 0x%04x" + #~ msgid "Data too large for the advertisement packet" #~ msgstr "Zbyt dużo danych pakietu rozgłoszeniowego" @@ -2771,6 +2689,35 @@ msgstr "zerowy krok" #~ msgid "Failed to create mutex" #~ msgstr "Nie udało się stworzyć blokady" +#~ msgid "Failed to discover services" +#~ msgstr "Nie udało się odkryć serwisów" + +#~ msgid "Failed to get local address" +#~ msgstr "Nie udało się uzyskać lokalnego adresu" + +#~ msgid "Failed to get softdevice state" +#~ msgstr "Nie udało się odczytać stanu softdevice" + +#, c-format +#~ msgid "Failed to notify or indicate attribute value, err 0x%04x" +#~ msgstr "Nie udało się powiadomić o wartości atrybutu, błąd 0x%04x" + +#, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "Nie udało się odczytać CCCD, błąd 0x%04x" + +#, c-format +#~ msgid "Failed to read attribute value, err 0x%04x" +#~ msgstr "Nie udało się odczytać wartości atrybutu, błąd 0x%04x" + +#, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "Nie udało się odczytać gatts, błąd 0x%04x" + +#, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "Nie udało się zarejestrować UUID dostawcy, błąd 0x%04x" + #~ msgid "Failed to release mutex" #~ msgstr "Nie udało się zwolnić blokady" @@ -2783,12 +2730,24 @@ msgstr "zerowy krok" #~ msgid "Failed to start scanning" #~ msgstr "Nie udało się rozpocząć skanowania" +#, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "Nie udało się rozpocząć skanowania, błąd 0x%04x" + #~ msgid "Failed to stop advertising" #~ msgstr "Nie udało się zatrzymać rozgłaszania" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Nie udało się zatrzymać rozgłaszania, błąd 0x%04x" +#, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "Nie udało się zapisać atrybutu, błąd 0x%04x" + +#, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "Nie udało się zapisać gatts, błąd 0x%04x" + #~ msgid "Invalid bit clock pin" #~ msgstr "Zła nóżka zegara" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 01a9f04702..dad3060cef 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -484,11 +484,6 @@ msgstr "" msgid "Corrupt raw code" msgstr "" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "Não foi possível inicializar o UART" @@ -585,11 +580,6 @@ msgstr "" msgid "Expected tuple of length %d, got %d" msgstr "" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "Falha ao enviar comando." @@ -599,15 +589,6 @@ msgstr "Falha ao enviar comando." msgid "Failed to acquire mutex, err 0x%04x" msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Falha ao alocar buffer RX" @@ -618,10 +599,6 @@ msgstr "Falha ao alocar buffer RX" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Falha ao alocar buffer RX de %d bytes" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -630,95 +607,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -#, fuzzy -msgid "Failed to discover services" -msgstr "Não pode parar propaganda. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy -msgid "Failed to get softdevice state" -msgstr "Não pode parar propaganda. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, fuzzy, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Não é possível ler o valor do atributo. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, fuzzy, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Não é possível adicionar o UUID de 128 bits específico do fornecedor." - #: ports/nrf/sd_mutex.c #, fuzzy, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, fuzzy, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Não é possível iniciar o anúncio. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, fuzzy, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" - #: py/moduerrno.c msgid "File exists" msgstr "Arquivo já existe" @@ -781,6 +674,10 @@ msgstr "" msgid "Input/output error" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1320,6 +1217,21 @@ msgstr "Não é possível gravar no nvm." msgid "Unexpected nrfx uuid type" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2778,14 +2690,35 @@ msgstr "passo zero" #~ msgid "Failed to create mutex" #~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x" +#, fuzzy +#~ msgid "Failed to discover services" +#~ msgstr "Não pode parar propaganda. status: 0x%02x" + +#, fuzzy +#~ msgid "Failed to get softdevice state" +#~ msgstr "Não pode parar propaganda. status: 0x%02x" + #, fuzzy #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" +#, fuzzy, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x" + #, fuzzy #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x" +#, fuzzy, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" + +#, fuzzy, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "" +#~ "Não é possível adicionar o UUID de 128 bits específico do fornecedor." + #, fuzzy #~ msgid "Failed to release mutex" #~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x" @@ -2802,6 +2735,10 @@ msgstr "passo zero" #~ msgid "Failed to start scanning" #~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x" +#, fuzzy, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x" + #, fuzzy #~ msgid "Failed to stop advertising" #~ msgstr "Não pode parar propaganda. status: 0x%02x" @@ -2810,6 +2747,14 @@ msgstr "passo zero" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Não pode parar propaganda. status: 0x%02x" +#, fuzzy, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" + +#, fuzzy, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" + #~ msgid "GPIO16 does not support pull up." #~ msgstr "GPIO16 não suporta pull up." diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index 750cdd9d88..d7a4039bb1 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: circuitpython-cn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-17 20:54-0600\n" +"POT-Creation-Date: 2019-11-20 14:01-0800\n" "PO-Revision-Date: 2019-04-13 10:10-0700\n" "Last-Translator: hexthat\n" "Language-Team: Chinese Hanyu Pinyin\n" @@ -482,11 +482,6 @@ msgstr "Fǔbài de .mpy wénjiàn" msgid "Corrupt raw code" msgstr "Sǔnhuài de yuánshǐ dàimǎ" -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Could not decode ble_uuid, err 0x%04x" -msgstr "Wúfǎ jiěmǎ kě dú_uuid, err 0x%04x" - #: ports/atmel-samd/common-hal/busio/UART.c msgid "Could not initialize UART" msgstr "Wúfǎ chūshǐhuà UART" @@ -580,11 +575,6 @@ msgstr "Qídài yīgè dìzhǐ" msgid "Expected tuple of length %d, got %d" msgstr "Qīwàng de chángdù wèi %d de yuán zǔ, dédào %d" -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed initiate attribute read, err 0x%04x" -msgstr "" - #: shared-bindings/ps2io/Ps2.c msgid "Failed sending command." msgstr "Fāsòng mìnglìng shībài." @@ -594,15 +584,6 @@ msgstr "Fāsòng mìnglìng shībài." msgid "Failed to acquire mutex, err 0x%04x" msgstr "Wúfǎ huòdé mutex, err 0x%04x" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to add characteristic, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to add descriptor, err 0x%04x" -msgstr "Wúfǎ tiānjiā miáoshù fú, err 0x%04x" - #: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c msgid "Failed to allocate RX buffer" msgstr "Fēnpèi RX huǎnchōng shībài" @@ -613,10 +594,6 @@ msgstr "Fēnpèi RX huǎnchōng shībài" msgid "Failed to allocate RX buffer of %d bytes" msgstr "Fēnpèi RX huǎnchōng qū%d zì jié shībài" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to change softdevice state, NRF_ERROR_%q" -msgstr "" - #: ports/nrf/common-hal/_bleio/Adapter.c msgid "Failed to connect: internal error" msgstr "" @@ -625,93 +602,11 @@ msgstr "" msgid "Failed to connect: timeout" msgstr "Liánjiē shībài: Chāoshí" -#: ports/nrf/common-hal/_bleio/Service.c -msgid "Failed to create service, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to discover services" -msgstr "Fāxiàn fúwù shībài" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get local address" -msgstr "Huòqǔ běndì dìzhǐ shībài" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to get softdevice state" -msgstr "Wúfǎ huòdé ruǎnjiàn shèbèi zhuàngtài" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to notify or indicate attribute value, err 0x%04x" -msgstr "Wúfǎ tōngzhī huò xiǎnshì shǔxìng zhí, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to pair" -msgstr "Pèiduì shībài" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to read CCCD value, err 0x%04x" -msgstr "Dòu qǔ CCCD zhí, err 0x%04x shībài" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read attribute value, err 0x%04x" -msgstr "Dòu qǔ shǔxìng zhí shībài, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to read gatts value, err 0x%04x" -msgstr "Wúfǎ dòu qǔ gatts zhí, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/UUID.c -#, c-format -msgid "Failed to register Vendor-Specific UUID, err 0x%04x" -msgstr "Wúfǎ zhùcè màizhǔ tèdìng de UUID, err 0x%04x" - #: ports/nrf/sd_mutex.c #, c-format msgid "Failed to release mutex, err 0x%04x" msgstr "Wúfǎ shìfàng mutex, err 0x%04x" -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to start advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start connecting, error 0x%04x" -msgstr "Wúfǎ kāishǐ liánjiē, cuòwù 0x%04x" - -#: ports/nrf/common-hal/_bleio/Connection.c -msgid "Failed to start pairing, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Adapter.c -#, c-format -msgid "Failed to start scanning, err 0x%04x" -msgstr "Qǐdòng sǎomiáo shībài, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/Adapter.c -msgid "Failed to stop advertising, NRF_ERROR_%q" -msgstr "" - -#: ports/nrf/common-hal/_bleio/Characteristic.c -#, c-format -msgid "Failed to write CCCD, err 0x%04x" -msgstr "Wúfǎ xiě rù CCCD, cuòwù 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write attribute value, err 0x%04x" -msgstr "Xiě rù shǔxìng zhí shībài, err 0x%04x" - -#: ports/nrf/common-hal/_bleio/__init__.c -#, c-format -msgid "Failed to write gatts value, err 0x%04x" -msgstr "Xiě rù gatts zhí,err 0x%04x shībài" - #: py/moduerrno.c msgid "File exists" msgstr "Wénjiàn cúnzài" @@ -776,6 +671,10 @@ msgstr "Huǎnchōng qū dàxiǎo bù zhèngquè" msgid "Input/output error" msgstr "Shūrù/shūchū cuòwù" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient authentication" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1327,6 +1226,21 @@ msgstr "Wúfǎ xiě rù nvm." msgid "Unexpected nrfx uuid type" msgstr "Yìwài de nrfx uuid lèixíng" +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown gatt error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown security error: 0x%04x" +msgstr "" + +#: ports/nrf/common-hal/_bleio/__init__.c +#, c-format +msgid "Unknown soft device error: %04x" +msgstr "" + #: shared-bindings/_pixelbuf/PixelBuf.c #, c-format msgid "Unmatched number of items on RHS (expected %d, got %d)." @@ -2756,6 +2670,10 @@ msgstr "líng bù" #~ msgid "Characteristic already in use by another Service." #~ msgstr "Qítā fúwù bùmén yǐ shǐyòng de gōngnéng." +#, c-format +#~ msgid "Could not decode ble_uuid, err 0x%04x" +#~ msgstr "Wúfǎ jiěmǎ kě dú_uuid, err 0x%04x" + #~ msgid "Data too large for the advertisement packet" #~ msgstr "Guǎnggào bāo de shùjù tài dà" @@ -2768,6 +2686,10 @@ msgstr "líng bù" #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Tiānjiā tèxìng shībài, err 0x%04x" +#, c-format +#~ msgid "Failed to add descriptor, err 0x%04x" +#~ msgstr "Wúfǎ tiānjiā miáoshù fú, err 0x%04x" + #~ msgid "Failed to add service" #~ msgstr "Tiānjiā fúwù shībài" @@ -2792,6 +2714,38 @@ msgstr "líng bù" #~ msgid "Failed to create mutex" #~ msgstr "Wúfǎ chuàngjiàn hù chì suǒ" +#~ msgid "Failed to discover services" +#~ msgstr "Fāxiàn fúwù shībài" + +#~ msgid "Failed to get local address" +#~ msgstr "Huòqǔ běndì dìzhǐ shībài" + +#~ msgid "Failed to get softdevice state" +#~ msgstr "Wúfǎ huòdé ruǎnjiàn shèbèi zhuàngtài" + +#, c-format +#~ msgid "Failed to notify or indicate attribute value, err 0x%04x" +#~ msgstr "Wúfǎ tōngzhī huò xiǎnshì shǔxìng zhí, err 0x%04x" + +#~ msgid "Failed to pair" +#~ msgstr "Pèiduì shībài" + +#, c-format +#~ msgid "Failed to read CCCD value, err 0x%04x" +#~ msgstr "Dòu qǔ CCCD zhí, err 0x%04x shībài" + +#, c-format +#~ msgid "Failed to read attribute value, err 0x%04x" +#~ msgstr "Dòu qǔ shǔxìng zhí shībài, err 0x%04x" + +#, c-format +#~ msgid "Failed to read gatts value, err 0x%04x" +#~ msgstr "Wúfǎ dòu qǔ gatts zhí, err 0x%04x" + +#, c-format +#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" +#~ msgstr "Wúfǎ zhùcè màizhǔ tèdìng de UUID, err 0x%04x" + #~ msgid "Failed to release mutex" #~ msgstr "Wúfǎ shìfàng mutex" @@ -2804,18 +2758,38 @@ msgstr "líng bù" #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Qǐdòng guǎnggào shībài, err 0x%04x" +#, c-format +#~ msgid "Failed to start connecting, error 0x%04x" +#~ msgstr "Wúfǎ kāishǐ liánjiē, cuòwù 0x%04x" + #~ msgid "Failed to start pairing, error 0x%04x" #~ msgstr "Wúfǎ kāishǐ pèiduì, cuòwù 0x%04x" #~ msgid "Failed to start scanning" #~ msgstr "Qǐdòng sǎomiáo shībài" +#, c-format +#~ msgid "Failed to start scanning, err 0x%04x" +#~ msgstr "Qǐdòng sǎomiáo shībài, err 0x%04x" + #~ msgid "Failed to stop advertising" #~ msgstr "Wúfǎ tíngzhǐ guǎnggào" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Wúfǎ tíngzhǐ guǎnggào, err 0x%04x" +#, c-format +#~ msgid "Failed to write CCCD, err 0x%04x" +#~ msgstr "Wúfǎ xiě rù CCCD, cuòwù 0x%04x" + +#, c-format +#~ msgid "Failed to write attribute value, err 0x%04x" +#~ msgstr "Xiě rù shǔxìng zhí shībài, err 0x%04x" + +#, c-format +#~ msgid "Failed to write gatts value, err 0x%04x" +#~ msgstr "Xiě rù gatts zhí,err 0x%04x shībài" + #~ msgid "Invalid bit clock pin" #~ msgstr "Wúxiào de wèi shízhōng yǐn jiǎo" diff --git a/ports/nrf/common-hal/_bleio/Adapter.c b/ports/nrf/common-hal/_bleio/Adapter.c index 295a42d63b..7d87b3579f 100644 --- a/ports/nrf/common-hal/_bleio/Adapter.c +++ b/ports/nrf/common-hal/_bleio/Adapter.c @@ -172,7 +172,7 @@ STATIC bool adapter_on_ble_evt(ble_evt_t *ble_evt, void *self_in) { break; } } - + // Central has connected. ble_gap_evt_connected_t* connected = &ble_evt->evt.gap_evt.params.connected; @@ -209,7 +209,7 @@ STATIC bool adapter_on_ble_evt(ble_evt_t *ble_evt, void *self_in) { obj->disconnect_reason = ble_evt->evt.gap_evt.params.disconnected.reason; } self->connection_objs = NULL; - + break; } @@ -227,13 +227,7 @@ STATIC bool adapter_on_ble_evt(ble_evt_t *ble_evt, void *self_in) { } STATIC void get_address(bleio_adapter_obj_t *self, ble_gap_addr_t *address) { - uint32_t err_code; - - err_code = sd_ble_gap_addr_get(address); - - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg(translate("Failed to get local address")); - } + check_nrf_error(sd_ble_gap_addr_get(address)); } char default_ble_name[] = { 'C', 'I', 'R', 'C', 'U', 'I', 'T', 'P', 'Y', 0, 0, 0, 0 , 0}; @@ -274,9 +268,7 @@ void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enable // Re-init USB hardware init_usb_hardware(); - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to change softdevice state, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM])); - } + check_nrf_error(err_code); // Add a handler for incoming peripheral connections. if (enabled) { @@ -298,10 +290,7 @@ void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enable bool common_hal_bleio_adapter_get_enabled(bleio_adapter_obj_t *self) { uint8_t is_enabled; - const uint32_t err_code = sd_softdevice_is_enabled(&is_enabled); - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg(translate("Failed to get softdevice state")); - } + check_nrf_error(sd_softdevice_is_enabled(&is_enabled)); return is_enabled; } @@ -373,7 +362,7 @@ STATIC bool scan_on_ble_evt(ble_evt_t *ble_evt, void *scan_results_in) { mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t* prefixes, size_t prefix_length, bool extended, mp_int_t buffer_size, mp_float_t timeout, mp_float_t interval, mp_float_t window, mp_int_t minimum_rssi, bool active) { if (self->scan_results != NULL) { if (!shared_module_bleio_scanresults_get_done(self->scan_results)) { - mp_raise_RuntimeError(translate("Scan already in progess. Stop with stop_scan.")); + mp_raise_bleio_BluetoothError(translate("Scan already in progess. Stop with stop_scan.")); } self->scan_results = NULL; } @@ -384,7 +373,7 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t* self->scan_results->common_hal_data = sd_data; sd_data->len = max_packet_size; sd_data->p_data = raw_data + sizeof(ble_data_t); - + ble_drv_add_event_handler(scan_on_ble_evt, self->scan_results); uint32_t nrf_timeout = SEC_TO_UNITS(timeout, UNIT_10_MS); @@ -406,7 +395,7 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t* if (err_code != NRF_SUCCESS) { self->scan_results = NULL; ble_drv_remove_event_handler(scan_on_ble_evt, self->scan_results); - mp_raise_OSError_msg_varg(translate("Failed to start scanning, err 0x%04x"), err_code); + check_nrf_error(err_code); } return MP_OBJ_FROM_PTR(self->scan_results); @@ -431,7 +420,7 @@ STATIC bool connect_on_ble_evt(ble_evt_t *ble_evt, void *info_in) { case BLE_GAP_EVT_CONNECTED: info->conn_handle = ble_evt->evt.gap_evt.conn_handle; info->done = true; - + break; case BLE_GAP_EVT_TIMEOUT: @@ -479,7 +468,7 @@ mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_addre if (err_code != NRF_SUCCESS) { ble_drv_remove_event_handler(connect_on_ble_evt, &event_info); - mp_raise_OSError_msg_varg(translate("Failed to start connecting, error 0x%04x"), err_code); + check_nrf_error(err_code); } while (!event_info.done) { @@ -489,7 +478,7 @@ mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_addre ble_drv_remove_event_handler(connect_on_ble_evt, &event_info); if (event_info.conn_handle == BLE_CONN_HANDLE_INVALID) { - mp_raise_OSError_msg(translate("Failed to connect: timeout")); + mp_raise_bleio_BluetoothError(translate("Failed to connect: timeout")); } // Make the connection object and return it. @@ -500,7 +489,7 @@ mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_addre } } - mp_raise_OSError_msg(translate("Failed to connect: internal error")); + mp_raise_bleio_BluetoothError(translate("Failed to connect: internal error")); return mp_const_none; } @@ -558,12 +547,10 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo) { if (self->current_advertising_data != NULL && self->current_advertising_data == self->advertising_data) { - mp_raise_OSError_msg(translate("Already advertising.")); + mp_raise_bleio_BluetoothError(translate("Already advertising.")); } // interval value has already been validated. - uint32_t err_code; - check_data_fit(advertising_data_bufinfo->len); check_data_fit(scan_response_data_bufinfo->len); // The advertising data buffers must not move, because the SoftDevice depends on them. @@ -574,15 +561,15 @@ void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool if (self->scan_response_data == NULL) { self->scan_response_data = (uint8_t *) gc_alloc(BLE_GAP_ADV_SET_DATA_SIZE_MAX * sizeof(uint8_t), false, true); } - + memcpy(self->advertising_data, advertising_data_bufinfo->buf, advertising_data_bufinfo->len); memcpy(self->scan_response_data, scan_response_data_bufinfo->buf, scan_response_data_bufinfo->len); - err_code = _common_hal_bleio_adapter_start_advertising(self, connectable, interval, self->advertising_data, advertising_data_bufinfo->len, self->scan_response_data, scan_response_data_bufinfo->len); - - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to start advertising, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM])); - } + check_nrf_error(_common_hal_bleio_adapter_start_advertising(self, connectable, interval, + self->advertising_data, + advertising_data_bufinfo->len, + self->scan_response_data, + scan_response_data_bufinfo->len)); } void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) { @@ -594,7 +581,7 @@ void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) { self->current_advertising_data = NULL; if ((err_code != NRF_SUCCESS) && (err_code != NRF_ERROR_INVALID_STATE)) { - mp_raise_OSError_msg_varg(translate("Failed to stop advertising, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM])); + check_nrf_error(err_code); } } diff --git a/ports/nrf/common-hal/_bleio/Characteristic.c b/ports/nrf/common-hal/_bleio/Characteristic.c index ab765d1ed3..9f1255e32f 100644 --- a/ports/nrf/common-hal/_bleio/Characteristic.c +++ b/ports/nrf/common-hal/_bleio/Characteristic.c @@ -46,8 +46,8 @@ STATIC uint16_t characteristic_get_cccd(uint16_t cccd_handle, uint16_t conn_hand if (err_code == BLE_ERROR_GATTS_SYS_ATTR_MISSING) { // CCCD is not set, so say that neither Notify nor Indicate is enabled. cccd = 0; - } else if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to read CCCD value, err 0x%04x"), err_code); + } else { + check_nrf_error(err_code); } return cccd; @@ -78,7 +78,7 @@ STATIC void characteristic_gatts_notify_indicate(uint16_t handle, uint16_t conn_ } // Some real error has occurred. - mp_raise_OSError_msg_varg(translate("Failed to notify or indicate attribute value, err 0x%04x"), err_code); + check_nrf_error(err_code); } } @@ -213,11 +213,7 @@ void common_hal_bleio_characteristic_add_descriptor(bleio_characteristic_obj_t * .max_len = descriptor->max_length, }; - uint32_t err_code = sd_ble_gatts_descriptor_add(self->handle, &desc_attr, &descriptor->handle); - - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to add descriptor, err 0x%04x"), err_code); - } + check_nrf_error(sd_ble_gatts_descriptor_add(self->handle, &desc_attr, &descriptor->handle)); descriptor->next = self->descriptor_list; self->descriptor_list = descriptor; @@ -225,11 +221,11 @@ void common_hal_bleio_characteristic_add_descriptor(bleio_characteristic_obj_t * void common_hal_bleio_characteristic_set_cccd(bleio_characteristic_obj_t *self, bool notify, bool indicate) { if (self->cccd_handle == BLE_GATT_HANDLE_INVALID) { - mp_raise_ValueError(translate("No CCCD for this Characteristic")); + mp_raise_bleio_BluetoothError(translate("No CCCD for this Characteristic")); } if (!common_hal_bleio_service_get_is_remote(self->service)) { - mp_raise_ValueError(translate("Can't set CCCD on local Characteristic")); + mp_raise_bleio_RoleError(translate("Can't set CCCD on local Characteristic")); } const uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection); @@ -261,7 +257,7 @@ void common_hal_bleio_characteristic_set_cccd(bleio_characteristic_obj_t *self, } // Some real error occurred. - mp_raise_OSError_msg_varg(translate("Failed to write CCCD, err 0x%04x"), err_code); + check_nrf_error(err_code); } } diff --git a/ports/nrf/common-hal/_bleio/Connection.c b/ports/nrf/common-hal/_bleio/Connection.c index 5d3e3ace11..65fadfecce 100644 --- a/ports/nrf/common-hal/_bleio/Connection.c +++ b/ports/nrf/common-hal/_bleio/Connection.c @@ -162,7 +162,8 @@ bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) { case BLE_GAP_EVT_AUTH_STATUS: { // 0x19 // Pairing process completed ble_gap_evt_auth_status_t* status = &ble_evt->evt.gap_evt.params.auth_status; - if (BLE_GAP_SEC_STATUS_SUCCESS == status->auth_status) { + self->sec_status = status->auth_status; + if (status->auth_status == BLE_GAP_SEC_STATUS_SUCCESS) { // TODO _ediv = bonding_keys->own_enc.master_id.ediv; self->pair_status = PAIR_PAIRED; } else { @@ -242,19 +243,13 @@ void common_hal_bleio_connection_disconnect(bleio_connection_internal_t *self) { void common_hal_bleio_connection_pair(bleio_connection_internal_t *self) { self->pair_status = PAIR_WAITING; - uint32_t err_code = sd_ble_gap_authenticate(self->conn_handle, &pairing_sec_params); - - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to start pairing, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM])); - } + check_nrf_error(sd_ble_gap_authenticate(self->conn_handle, &pairing_sec_params)); while (self->pair_status == PAIR_WAITING) { RUN_BACKGROUND_TASKS; } - if (self->pair_status == PAIR_NOT_PAIRED) { - mp_raise_OSError_msg(translate("Failed to pair")); - } + check_sec_status(self->sec_status); } @@ -263,11 +258,8 @@ STATIC bool discover_next_services(bleio_connection_internal_t* connection, uint m_discovery_successful = false; m_discovery_in_process = true; - uint32_t err_code = sd_ble_gattc_primary_services_discover(connection->conn_handle, start_handle, service_uuid); - - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg(translate("Failed to discover services")); - } + check_nrf_error(sd_ble_gattc_primary_services_discover(connection->conn_handle, + start_handle, service_uuid)); // Wait for a discovery event. while (m_discovery_in_process) { @@ -516,7 +508,7 @@ STATIC void discover_remote_services(bleio_connection_internal_t *self, mp_obj_t mp_obj_t uuid_obj; while ((uuid_obj = mp_iternext(iterable)) != MP_OBJ_STOP_ITERATION) { if (!MP_OBJ_IS_TYPE(uuid_obj, &bleio_uuid_type)) { - mp_raise_ValueError(translate("non-UUID found in service_uuids_whitelist")); + mp_raise_TypeError(translate("non-UUID found in service_uuids_whitelist")); } bleio_uuid_obj_t *uuid = MP_OBJ_TO_PTR(uuid_obj); diff --git a/ports/nrf/common-hal/_bleio/Connection.h b/ports/nrf/common-hal/_bleio/Connection.h index 2d4aad0c8d..d5548de453 100644 --- a/ports/nrf/common-hal/_bleio/Connection.h +++ b/ports/nrf/common-hal/_bleio/Connection.h @@ -60,6 +60,7 @@ typedef struct { bonding_keys_t bonding_keys; uint16_t ediv; pair_status_t pair_status; + uint8_t sec_status; // Internal security status. mp_obj_t connection_obj; ble_drv_evt_handler_entry_t handler_entry; } bleio_connection_internal_t; diff --git a/ports/nrf/common-hal/_bleio/Service.c b/ports/nrf/common-hal/_bleio/Service.c index 3362ed1373..5918327c14 100644 --- a/ports/nrf/common-hal/_bleio/Service.c +++ b/ports/nrf/common-hal/_bleio/Service.c @@ -56,10 +56,8 @@ uint32_t _common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uu } void common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uuid_obj_t *uuid, bool is_secondary) { - const uint32_t err_code = _common_hal_bleio_service_construct(self, uuid, is_secondary, mp_obj_new_list(0, NULL)); - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to create service, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM])); - } + check_nrf_error(_common_hal_bleio_service_construct(self, uuid, is_secondary, + mp_obj_new_list(0, NULL))); } void bleio_service_from_connection(bleio_service_obj_t *self, mp_obj_t connection) { @@ -133,11 +131,7 @@ void common_hal_bleio_service_add_characteristic(bleio_service_obj_t *self, ble_gatts_char_handles_t char_handles; - uint32_t err_code; - err_code = sd_ble_gatts_characteristic_add(self->handle, &char_md, &char_attr, &char_handles); - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to add characteristic, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM])); - } + check_nrf_error(sd_ble_gatts_characteristic_add(self->handle, &char_md, &char_attr, &char_handles)); characteristic->user_desc_handle = char_handles.user_desc_handle; characteristic->cccd_handle = char_handles.cccd_handle; diff --git a/ports/nrf/common-hal/_bleio/UUID.c b/ports/nrf/common-hal/_bleio/UUID.c index 5bf35e6a54..6a3d643050 100644 --- a/ports/nrf/common-hal/_bleio/UUID.c +++ b/ports/nrf/common-hal/_bleio/UUID.c @@ -49,10 +49,7 @@ void common_hal_bleio_uuid_construct(bleio_uuid_obj_t *self, uint32_t uuid16, co memcpy(vs_uuid.uuid128, uuid128, sizeof(vs_uuid.uuid128)); // Register this vendor-specific UUID. Bytes 12 and 13 will be zero. - const uint32_t err_code = sd_ble_uuid_vs_add(&vs_uuid, &self->nrf_ble_uuid.type); - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to register Vendor-Specific UUID, err 0x%04x"), err_code); - } + check_nrf_error(sd_ble_uuid_vs_add(&vs_uuid, &self->nrf_ble_uuid.type)); vm_used_ble = true; } } @@ -67,11 +64,7 @@ uint32_t common_hal_bleio_uuid_get_uuid16(bleio_uuid_obj_t *self) { void common_hal_bleio_uuid_get_uuid128(bleio_uuid_obj_t *self, uint8_t uuid128[16]) { uint8_t length; - const uint32_t err_code = sd_ble_uuid_encode(&self->nrf_ble_uuid, &length, uuid128); - - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Could not decode ble_uuid, err 0x%04x"), err_code); - } + check_nrf_error(sd_ble_uuid_encode(&self->nrf_ble_uuid, &length, uuid128)); } void common_hal_bleio_uuid_pack_into(bleio_uuid_obj_t *self, uint8_t* buf) { @@ -85,7 +78,7 @@ void common_hal_bleio_uuid_pack_into(bleio_uuid_obj_t *self, uint8_t* buf) { void bleio_uuid_construct_from_nrf_ble_uuid(bleio_uuid_obj_t *self, ble_uuid_t *nrf_ble_uuid) { if (nrf_ble_uuid->type == BLE_UUID_TYPE_UNKNOWN) { - mp_raise_RuntimeError(translate("Unexpected nrfx uuid type")); + mp_raise_bleio_BluetoothError(translate("Unexpected nrfx uuid type")); } self->nrf_ble_uuid.uuid = nrf_ble_uuid->uuid; self->nrf_ble_uuid.type = nrf_ble_uuid->type; diff --git a/ports/nrf/common-hal/_bleio/__init__.c b/ports/nrf/common-hal/_bleio/__init__.c index 1e07ea969c..429de2de6d 100644 --- a/ports/nrf/common-hal/_bleio/__init__.c +++ b/ports/nrf/common-hal/_bleio/__init__.c @@ -40,28 +40,39 @@ #include "common-hal/_bleio/__init__.h" -const mp_obj_t base_error_messages[20] = { - MP_ROM_QSTR(MP_QSTR_SUCCESS), - MP_ROM_QSTR(MP_QSTR_SVC_HANDLER_MISSING), - MP_ROM_QSTR(MP_QSTR_SOFTDEVICE_NOT_ENABLED), - MP_ROM_QSTR(MP_QSTR_INTERNAL), - MP_ROM_QSTR(MP_QSTR_NO_MEM), - MP_ROM_QSTR(MP_QSTR_NOT_FOUND), - MP_ROM_QSTR(MP_QSTR_NOT_SUPPORTED), - MP_ROM_QSTR(MP_QSTR_INVALID_PARAM), - MP_ROM_QSTR(MP_QSTR_INVALID_STATE), - MP_ROM_QSTR(MP_QSTR_INVALID_LENGTH), - MP_ROM_QSTR(MP_QSTR_INVALID_FLAGS), - MP_ROM_QSTR(MP_QSTR_INVALID_DATA), - MP_ROM_QSTR(MP_QSTR_DATA_SIZE), - MP_ROM_QSTR(MP_QSTR_TIMEOUT), - MP_ROM_QSTR(MP_QSTR_NULL), - MP_ROM_QSTR(MP_QSTR_FORBIDDEN), - MP_ROM_QSTR(MP_QSTR_INVALID_ADDR), - MP_ROM_QSTR(MP_QSTR_BUSY), - MP_ROM_QSTR(MP_QSTR_CONN_COUNT), - MP_ROM_QSTR(MP_QSTR_RESOURCES), -}; +void check_nrf_error(uint32_t err_code) { + if (err_code == NRF_SUCCESS) { + return; + } + switch (err_code) { + case NRF_ERROR_TIMEOUT: + mp_raise_msg(&mp_type_TimeoutError, NULL); + return; + default: + mp_raise_bleio_BluetoothError(translate("Unknown soft device error: %04x"), err_code); + break; + } +} + +void check_gatt_status(uint16_t gatt_status) { + if (gatt_status == BLE_GATT_STATUS_SUCCESS) { + return; + } + switch (gatt_status) { + case BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION: + mp_raise_bleio_SecurityError(translate("Insufficient authentication")); + return; + default: + mp_raise_bleio_BluetoothError(translate("Unknown gatt error: 0x%04x"), gatt_status); + } +} + +void check_sec_status(uint8_t sec_status) { + if (sec_status == BLE_GAP_SEC_STATUS_SUCCESS) { + return; + } + mp_raise_bleio_SecurityError(translate("Unknown security error: 0x%04x"), sec_status); +} // Turn off BLE on a reset or reload. void bleio_reset() { @@ -85,7 +96,7 @@ bleio_adapter_obj_t common_hal_bleio_adapter_obj = { void common_hal_bleio_check_connected(uint16_t conn_handle) { if (conn_handle == BLE_CONN_HANDLE_INVALID) { - mp_raise_OSError_msg(translate("Not connected")); + mp_raise_bleio_ConnectionError(translate("Not connected")); } } @@ -99,10 +110,7 @@ size_t common_hal_bleio_gatts_read(uint16_t handle, uint16_t conn_handle, uint8_ .len = len, }; - uint32_t err_code = sd_ble_gatts_value_get(conn_handle, handle, &gatts_value); - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to read gatts value, err 0x%04x"), err_code); - } + check_nrf_error(sd_ble_gatts_value_get(conn_handle, handle, &gatts_value)); return gatts_value.len; } @@ -116,10 +124,7 @@ void common_hal_bleio_gatts_write(uint16_t handle, uint16_t conn_handle, mp_buff .len = bufinfo->len, }; - const uint32_t err_code = sd_ble_gatts_value_set(conn_handle, handle, &gatts_value); - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to write gatts value, err 0x%04x"), err_code); - } + check_nrf_error(sd_ble_gatts_value_set(conn_handle, handle, &gatts_value)); } typedef struct { @@ -172,17 +177,12 @@ size_t common_hal_bleio_gattc_read(uint16_t handle, uint16_t conn_handle, uint8_ read_info.done = false; ble_drv_add_event_handler(_on_gattc_read_rsp_evt, &read_info); - const uint32_t err_code = sd_ble_gattc_read(conn_handle, handle, 0); - if (err_code != NRF_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed initiate attribute read, err 0x%04x"), err_code); - } + check_nrf_error(sd_ble_gattc_read(conn_handle, handle, 0)); while (!read_info.done) { RUN_BACKGROUND_TASKS; } - if (read_info.status != BLE_GATT_STATUS_SUCCESS) { - mp_raise_OSError_msg_varg(translate("Failed to read attribute value, err 0x%04x"), read_info.status); - } + check_gatt_status(read_info.status); ble_drv_remove_event_handler(_on_gattc_read_rsp_evt, &read_info); return read_info.final_len; @@ -213,7 +213,7 @@ void common_hal_bleio_gattc_write(uint16_t handle, uint16_t conn_handle, mp_buff } // Some real error occurred. - mp_raise_OSError_msg_varg(translate("Failed to write attribute value, err 0x%04x"), err_code); + check_nrf_error(err_code); } } diff --git a/ports/nrf/common-hal/_bleio/__init__.h b/ports/nrf/common-hal/_bleio/__init__.h index 5fd2769f26..ecacf7c85d 100644 --- a/ports/nrf/common-hal/_bleio/__init__.h +++ b/ports/nrf/common-hal/_bleio/__init__.h @@ -39,7 +39,10 @@ typedef struct { // 20 bytes max (23 - 3). #define GATT_MAX_DATA_LENGTH (BLE_GATT_ATT_MTU_DEFAULT - 3) -const mp_obj_t base_error_messages[20]; +// These helpers raise the appropriate exceptions if the code doesn't equal success. +void check_nrf_error(uint32_t err_code); +void check_gatt_status(uint16_t gatt_status); +void check_sec_status(uint8_t sec_status); // Track if the user code modified the BLE state to know if we need to undo it on reload. bool vm_used_ble; diff --git a/py/runtime.c b/py/runtime.c index 9968f26e06..a786619bf0 100644 --- a/py/runtime.c +++ b/py/runtime.c @@ -31,8 +31,6 @@ #include "extmod/vfs.h" -// #include "py/mpstate.h" -// #include "py/nlr.h" #include "py/parsenum.h" #include "py/compile.h" #include "py/objstr.h" diff --git a/shared-bindings/_bleio/Adapter.c b/shared-bindings/_bleio/Adapter.c index 24a70f4084..dfd20cb5c4 100644 --- a/shared-bindings/_bleio/Adapter.c +++ b/shared-bindings/_bleio/Adapter.c @@ -342,7 +342,7 @@ STATIC mp_obj_t bleio_adapter_connect(mp_uint_t n_args, const mp_obj_t *pos_args mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); if (!MP_OBJ_IS_TYPE(args[ARG_address].u_obj, &bleio_address_type)) { - mp_raise_ValueError(translate("Expected an Address")); + mp_raise_TypeError(translate("Expected an Address")); } bleio_address_obj_t *address = MP_OBJ_TO_PTR(args[ARG_address].u_obj); diff --git a/shared-bindings/_bleio/Characteristic.c b/shared-bindings/_bleio/Characteristic.c index d89da2a2fa..f8a7a1b4af 100644 --- a/shared-bindings/_bleio/Characteristic.c +++ b/shared-bindings/_bleio/Characteristic.c @@ -94,12 +94,12 @@ STATIC mp_obj_t bleio_characteristic_add_to_service(size_t n_args, const mp_obj_ const mp_obj_t service_obj = args[ARG_service].u_obj; if (!MP_OBJ_IS_TYPE(service_obj, &bleio_service_type)) { - mp_raise_ValueError(translate("Expected a Service")); + mp_raise_TypeError(translate("Expected a Service")); } const mp_obj_t uuid_obj = args[ARG_uuid].u_obj; if (!MP_OBJ_IS_TYPE(uuid_obj, &bleio_uuid_type)) { - mp_raise_ValueError(translate("Expected a UUID")); + mp_raise_TypeError(translate("Expected a UUID")); } const bleio_characteristic_properties_t properties = args[ARG_properties].u_int; diff --git a/shared-bindings/_bleio/CharacteristicBuffer.c b/shared-bindings/_bleio/CharacteristicBuffer.c index 9cc708eb78..e7524da2d5 100644 --- a/shared-bindings/_bleio/CharacteristicBuffer.c +++ b/shared-bindings/_bleio/CharacteristicBuffer.c @@ -30,13 +30,14 @@ #include "py/runtime.h" #include "py/stream.h" +#include "shared-bindings/_bleio/__init__.h" #include "shared-bindings/_bleio/CharacteristicBuffer.h" #include "shared-bindings/_bleio/UUID.h" #include "shared-bindings/util.h" STATIC void raise_error_if_not_connected(bleio_characteristic_buffer_obj_t *self) { if (!common_hal_bleio_characteristic_buffer_connected(self)) { - mp_raise_ValueError(translate("Not connected")); + mp_raise_bleio_ConnectionError(translate("Not connected")); } } @@ -83,7 +84,7 @@ STATIC mp_obj_t bleio_characteristic_buffer_make_new(const mp_obj_type_t *type, } if (!MP_OBJ_IS_TYPE(characteristic, &bleio_characteristic_type)) { - mp_raise_ValueError(translate("Expected a Characteristic")); + mp_raise_TypeError(translate("Expected a Characteristic")); } bleio_characteristic_buffer_obj_t *self = m_new_obj(bleio_characteristic_buffer_obj_t); @@ -151,9 +152,6 @@ STATIC mp_uint_t bleio_characteristic_buffer_ioctl(mp_obj_t self_in, mp_uint_t r bleio_characteristic_buffer_obj_t *self = MP_OBJ_TO_PTR(self_in); check_for_deinit(self); raise_error_if_not_connected(self); - if (!common_hal_bleio_characteristic_buffer_connected(self)) { - mp_raise_ValueError(translate("Not connected")); - } mp_uint_t ret; if (request == MP_IOCTL_POLL) { mp_uint_t flags = arg; diff --git a/shared-bindings/_bleio/Connection.c b/shared-bindings/_bleio/Connection.c index 1c6931b29d..9935658bb5 100644 --- a/shared-bindings/_bleio/Connection.c +++ b/shared-bindings/_bleio/Connection.c @@ -36,6 +36,7 @@ #include "py/objproperty.h" #include "py/objstr.h" #include "py/runtime.h" +#include "shared-bindings/_bleio/__init__.h" #include "shared-bindings/_bleio/Adapter.h" #include "shared-bindings/_bleio/Address.h" #include "shared-bindings/_bleio/Characteristic.h" @@ -67,7 +68,7 @@ STATIC void ensure_connected(bleio_connection_obj_t *self) { if (!common_hal_bleio_connection_get_connected(self)) { - mp_raise_ValueError(translate("Connection has been disconnected and can no longer be used. Create a new connection.")); + mp_raise_bleio_ConnectionError(translate("Connection has been disconnected and can no longer be used. Create a new connection.")); } } diff --git a/shared-bindings/_bleio/Descriptor.c b/shared-bindings/_bleio/Descriptor.c index 45a95903e1..f7b6b5bbf1 100644 --- a/shared-bindings/_bleio/Descriptor.c +++ b/shared-bindings/_bleio/Descriptor.c @@ -89,12 +89,12 @@ STATIC mp_obj_t bleio_descriptor_add_to_characteristic(size_t n_args, const mp_o const mp_obj_t characteristic_obj = args[ARG_characteristic].u_obj; if (!MP_OBJ_IS_TYPE(characteristic_obj, &bleio_characteristic_type)) { - mp_raise_ValueError(translate("Expected a Characteristic")); + mp_raise_TypeError(translate("Expected a Characteristic")); } const mp_obj_t uuid_obj = args[ARG_uuid].u_obj; if (!MP_OBJ_IS_TYPE(uuid_obj, &bleio_uuid_type)) { - mp_raise_ValueError(translate("Expected a UUID")); + mp_raise_TypeError(translate("Expected a UUID")); } const bleio_attribute_security_mode_t read_perm = args[ARG_read_perm].u_int; diff --git a/shared-bindings/_bleio/Service.c b/shared-bindings/_bleio/Service.c index 3e1ad70883..43679393a2 100644 --- a/shared-bindings/_bleio/Service.c +++ b/shared-bindings/_bleio/Service.c @@ -64,7 +64,7 @@ STATIC mp_obj_t bleio_service_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t uuid_obj = args[ARG_uuid].u_obj; if (!MP_OBJ_IS_TYPE(uuid_obj, &bleio_uuid_type)) { - mp_raise_ValueError(translate("Expected a UUID")); + mp_raise_TypeError(translate("Expected a UUID")); } const bool is_secondary = args[ARG_secondary].u_bool; diff --git a/shared-bindings/_bleio/__init__.c b/shared-bindings/_bleio/__init__.c index 0c6ebb973b..8204673223 100644 --- a/shared-bindings/_bleio/__init__.c +++ b/shared-bindings/_bleio/__init__.c @@ -26,6 +26,8 @@ * THE SOFTWARE. */ +#include "py/objexcept.h" +#include "py/runtime.h" #include "shared-bindings/_bleio/__init__.h" #include "shared-bindings/_bleio/Address.h" #include "shared-bindings/_bleio/Attribute.h" @@ -78,6 +80,56 @@ //| This object is the sole instance of `_bleio.Adapter`. //| +//| .. class:: BluetoothError(Exception) +//| +//| Catch all exception for Bluetooth related errors. +//| +MP_DEFINE_EXCEPTION(BluetoothError, Exception) + +NORETURN void mp_raise_bleio_BluetoothError(const compressed_string_t* fmt, ...) { + va_list argptr; + va_start(argptr,fmt); + mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_BluetoothError, fmt, argptr); + va_end(argptr); + nlr_raise(exception); +} + +//| .. class:: ConnectionError(BluetoothError) +//| +//| Raised when a connection is unavailable. +//| +MP_DEFINE_EXCEPTION(ConnectionError, BluetoothError) +NORETURN void mp_raise_bleio_ConnectionError(const compressed_string_t* fmt, ...) { + va_list argptr; + va_start(argptr,fmt); + mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_ConnectionError, fmt, argptr); + va_end(argptr); + nlr_raise(exception); +} + +//| .. class:: RoleError(BluetoothError) +//| +//| Raised when a resource is used as the mismatched role. For example, if a local CCCD is +//| attempted to be set but they can only be set when remote. +//| +MP_DEFINE_EXCEPTION(RoleError, BluetoothError) +NORETURN void mp_raise_bleio_RoleError(const compressed_string_t* msg) { + mp_raise_msg(&mp_type_RoleError, msg); +} + +//| .. class:: SecurityError(BluetoothError) +//| +//| Raised when a security related error occurs. +//| +MP_DEFINE_EXCEPTION(SecurityError, BluetoothError) +NORETURN void mp_raise_bleio_SecurityError(const compressed_string_t* fmt, ...) { + va_list argptr; + va_start(argptr,fmt); + mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_SecurityError, fmt, argptr); + va_end(argptr); + nlr_raise(exception); +} + STATIC const mp_rom_map_elem_t bleio_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__bleio) }, { MP_ROM_QSTR(MP_QSTR_Adapter), MP_ROM_PTR(&bleio_adapter_type) }, @@ -94,6 +146,12 @@ STATIC const mp_rom_map_elem_t bleio_module_globals_table[] = { // Properties { MP_ROM_QSTR(MP_QSTR_adapter), MP_ROM_PTR(&common_hal_bleio_adapter_obj) }, + + // Errors + { MP_ROM_QSTR(MP_QSTR_BluetoothError), MP_ROM_PTR(&mp_type_BluetoothError) }, + { MP_ROM_QSTR(MP_QSTR_ConnectionError), MP_ROM_PTR(&mp_type_ConnectionError) }, + { MP_ROM_QSTR(MP_QSTR_RoleError), MP_ROM_PTR(&mp_type_RoleError) }, + { MP_ROM_QSTR(MP_QSTR_SecurityError), MP_ROM_PTR(&mp_type_SecurityError) }, }; STATIC MP_DEFINE_CONST_DICT(bleio_module_globals, bleio_module_globals_table); diff --git a/shared-bindings/_bleio/__init__.h b/shared-bindings/_bleio/__init__.h index 92c695fa66..962d151c1b 100644 --- a/shared-bindings/_bleio/__init__.h +++ b/shared-bindings/_bleio/__init__.h @@ -38,6 +38,16 @@ extern bleio_adapter_obj_t common_hal_bleio_adapter_obj; +extern const mp_obj_type_t mp_type_BluetoothError; +extern const mp_obj_type_t mp_type_ConnectionError; +extern const mp_obj_type_t mp_type_RoleError; +extern const mp_obj_type_t mp_type_SecurityError; + +NORETURN void mp_raise_bleio_BluetoothError(const compressed_string_t* msg, ...); +NORETURN void mp_raise_bleio_ConnectionError(const compressed_string_t* msg, ...); +NORETURN void mp_raise_bleio_RoleError(const compressed_string_t* msg); +NORETURN void mp_raise_bleio_SecurityError(const compressed_string_t* msg, ...); + void common_hal_bleio_check_connected(uint16_t conn_handle); uint16_t common_hal_bleio_device_get_conn_handle(mp_obj_t device); From 521c7531bcdc2e8b7bb72c571eaa5e48468b0599 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Nov 2019 11:04:17 -0800 Subject: [PATCH 22/79] Improve printing to include _bleio. prefix for type. --- shared-bindings/_bleio/__init__.c | 35 ++++++++++++++++++++----------- shared-bindings/_bleio/__init__.h | 20 ++++++++++++++---- 2 files changed, 39 insertions(+), 16 deletions(-) diff --git a/shared-bindings/_bleio/__init__.c b/shared-bindings/_bleio/__init__.c index 8204673223..be7ef1179b 100644 --- a/shared-bindings/_bleio/__init__.c +++ b/shared-bindings/_bleio/__init__.c @@ -84,12 +84,12 @@ //| //| Catch all exception for Bluetooth related errors. //| -MP_DEFINE_EXCEPTION(BluetoothError, Exception) +MP_DEFINE_BLEIO_EXCEPTION(BluetoothError, Exception) NORETURN void mp_raise_bleio_BluetoothError(const compressed_string_t* fmt, ...) { va_list argptr; va_start(argptr,fmt); - mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_BluetoothError, fmt, argptr); + mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_bleio_BluetoothError, fmt, argptr); va_end(argptr); nlr_raise(exception); } @@ -98,11 +98,11 @@ NORETURN void mp_raise_bleio_BluetoothError(const compressed_string_t* fmt, ...) //| //| Raised when a connection is unavailable. //| -MP_DEFINE_EXCEPTION(ConnectionError, BluetoothError) +MP_DEFINE_BLEIO_EXCEPTION(ConnectionError, bleio_BluetoothError) NORETURN void mp_raise_bleio_ConnectionError(const compressed_string_t* fmt, ...) { va_list argptr; va_start(argptr,fmt); - mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_ConnectionError, fmt, argptr); + mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_bleio_ConnectionError, fmt, argptr); va_end(argptr); nlr_raise(exception); } @@ -112,25 +112,26 @@ NORETURN void mp_raise_bleio_ConnectionError(const compressed_string_t* fmt, ... //| Raised when a resource is used as the mismatched role. For example, if a local CCCD is //| attempted to be set but they can only be set when remote. //| -MP_DEFINE_EXCEPTION(RoleError, BluetoothError) +MP_DEFINE_BLEIO_EXCEPTION(RoleError, bleio_BluetoothError) NORETURN void mp_raise_bleio_RoleError(const compressed_string_t* msg) { - mp_raise_msg(&mp_type_RoleError, msg); + mp_raise_msg(&mp_type_bleio_RoleError, msg); } //| .. class:: SecurityError(BluetoothError) //| //| Raised when a security related error occurs. //| -MP_DEFINE_EXCEPTION(SecurityError, BluetoothError) +MP_DEFINE_BLEIO_EXCEPTION(SecurityError, bleio_BluetoothError) NORETURN void mp_raise_bleio_SecurityError(const compressed_string_t* fmt, ...) { va_list argptr; va_start(argptr,fmt); - mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_SecurityError, fmt, argptr); + mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_bleio_SecurityError, fmt, argptr); va_end(argptr); nlr_raise(exception); } STATIC const mp_rom_map_elem_t bleio_module_globals_table[] = { + // Name must be the first entry so that the exception printing below is correct. { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__bleio) }, { MP_ROM_QSTR(MP_QSTR_Adapter), MP_ROM_PTR(&bleio_adapter_type) }, { MP_ROM_QSTR(MP_QSTR_Address), MP_ROM_PTR(&bleio_address_type) }, @@ -148,14 +149,24 @@ STATIC const mp_rom_map_elem_t bleio_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_adapter), MP_ROM_PTR(&common_hal_bleio_adapter_obj) }, // Errors - { MP_ROM_QSTR(MP_QSTR_BluetoothError), MP_ROM_PTR(&mp_type_BluetoothError) }, - { MP_ROM_QSTR(MP_QSTR_ConnectionError), MP_ROM_PTR(&mp_type_ConnectionError) }, - { MP_ROM_QSTR(MP_QSTR_RoleError), MP_ROM_PTR(&mp_type_RoleError) }, - { MP_ROM_QSTR(MP_QSTR_SecurityError), MP_ROM_PTR(&mp_type_SecurityError) }, + { MP_ROM_QSTR(MP_QSTR_BluetoothError), MP_ROM_PTR(&mp_type_bleio_BluetoothError) }, + { MP_ROM_QSTR(MP_QSTR_ConnectionError), MP_ROM_PTR(&mp_type_bleio_ConnectionError) }, + { MP_ROM_QSTR(MP_QSTR_RoleError), MP_ROM_PTR(&mp_type_bleio_RoleError) }, + { MP_ROM_QSTR(MP_QSTR_SecurityError), MP_ROM_PTR(&mp_type_bleio_SecurityError) }, }; STATIC MP_DEFINE_CONST_DICT(bleio_module_globals, bleio_module_globals_table); +void bleio_exception_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind) { + mp_print_kind_t k = kind & ~PRINT_EXC_SUBCLASS; + bool is_subclass = kind & PRINT_EXC_SUBCLASS; + if (!is_subclass && (k == PRINT_REPR || k == PRINT_EXC)) { + mp_print_str(print, qstr_str(MP_OBJ_QSTR_VALUE(bleio_module_globals_table[0].value))); + mp_print_str(print, "."); + } + mp_obj_exception_print(print, o_in, kind); +} + const mp_obj_module_t bleio_module = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t*)&bleio_module_globals, diff --git a/shared-bindings/_bleio/__init__.h b/shared-bindings/_bleio/__init__.h index 962d151c1b..5256bdaa0e 100644 --- a/shared-bindings/_bleio/__init__.h +++ b/shared-bindings/_bleio/__init__.h @@ -38,10 +38,22 @@ extern bleio_adapter_obj_t common_hal_bleio_adapter_obj; -extern const mp_obj_type_t mp_type_BluetoothError; -extern const mp_obj_type_t mp_type_ConnectionError; -extern const mp_obj_type_t mp_type_RoleError; -extern const mp_obj_type_t mp_type_SecurityError; +void bleio_exception_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind); + +#define MP_DEFINE_BLEIO_EXCEPTION(exc_name, base_name) \ +const mp_obj_type_t mp_type_bleio_ ## exc_name = { \ + { &mp_type_type }, \ + .name = MP_QSTR_ ## exc_name, \ + .print = bleio_exception_print, \ + .make_new = mp_obj_exception_make_new, \ + .attr = mp_obj_exception_attr, \ + .parent = &mp_type_ ## base_name, \ +}; + +extern const mp_obj_type_t mp_type_bleio_BluetoothError; +extern const mp_obj_type_t mp_type_bleio_ConnectionError; +extern const mp_obj_type_t mp_type_bleio_RoleError; +extern const mp_obj_type_t mp_type_bleio_SecurityError; NORETURN void mp_raise_bleio_BluetoothError(const compressed_string_t* msg, ...); NORETURN void mp_raise_bleio_ConnectionError(const compressed_string_t* msg, ...); From a96317d5662476023a4d297f5304edca1832c269 Mon Sep 17 00:00:00 2001 From: Hierophect Date: Thu, 21 Nov 2019 14:30:07 -0500 Subject: [PATCH 23/79] requested style changes --- ports/stm32f4/common-hal/busio/SPI.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/stm32f4/common-hal/busio/SPI.c b/ports/stm32f4/common-hal/busio/SPI.c index f98d29054d..b5517f470f 100644 --- a/ports/stm32f4/common-hal/busio/SPI.c +++ b/ports/stm32f4/common-hal/busio/SPI.c @@ -38,6 +38,8 @@ #define MAX_SPI 6 //TODO; replace this as part of periph cleanup #define ALL_CLOCKS 0xFF + +//arrays use 0 based numbering: SPI1 is stored at index 0 STATIC bool reserved_spi[MAX_SPI]; STATIC bool never_reset_spi[MAX_SPI]; @@ -360,4 +362,4 @@ STATIC void spi_clock_disable(uint8_t mask) { #ifdef SPI6 if (mask & 1<<5) __HAL_RCC_SPI6_CLK_DISABLE(); #endif -} \ No newline at end of file +} From 98e55eb57790b16fb45d802925195b3bf5250ecb Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Nov 2019 12:26:25 -0800 Subject: [PATCH 24/79] Only add module when printing exception. --- shared-bindings/_bleio/__init__.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-bindings/_bleio/__init__.c b/shared-bindings/_bleio/__init__.c index be7ef1179b..ba2454da45 100644 --- a/shared-bindings/_bleio/__init__.c +++ b/shared-bindings/_bleio/__init__.c @@ -160,7 +160,7 @@ STATIC MP_DEFINE_CONST_DICT(bleio_module_globals, bleio_module_globals_table); void bleio_exception_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind) { mp_print_kind_t k = kind & ~PRINT_EXC_SUBCLASS; bool is_subclass = kind & PRINT_EXC_SUBCLASS; - if (!is_subclass && (k == PRINT_REPR || k == PRINT_EXC)) { + if (!is_subclass && (k == PRINT_EXC)) { mp_print_str(print, qstr_str(MP_OBJ_QSTR_VALUE(bleio_module_globals_table[0].value))); mp_print_str(print, "."); } From 39f4046f701388d20ddad1429616dfb729063c1e Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Nov 2019 10:35:15 -0800 Subject: [PATCH 25/79] Fix pairing when peripheral. Central untested. --- ports/nrf/common-hal/_bleio/Adapter.c | 3 +- ports/nrf/common-hal/_bleio/Connection.c | 26 ++++++++---- ports/nrf/common-hal/_bleio/__init__.c | 3 ++ shared-bindings/_bleio/Adapter.c | 7 ++-- shared-bindings/_bleio/Adapter.h | 2 +- shared-bindings/_bleio/Characteristic.c | 4 +- shared-bindings/_bleio/Connection.c | 52 ++++++++++++++++++++++-- shared-bindings/_bleio/Connection.h | 2 + 8 files changed, 79 insertions(+), 20 deletions(-) diff --git a/ports/nrf/common-hal/_bleio/Adapter.c b/ports/nrf/common-hal/_bleio/Adapter.c index 7d87b3579f..ec8d361115 100644 --- a/ports/nrf/common-hal/_bleio/Adapter.c +++ b/ports/nrf/common-hal/_bleio/Adapter.c @@ -178,6 +178,7 @@ STATIC bool adapter_on_ble_evt(ble_evt_t *ble_evt, void *self_in) { connection->conn_handle = ble_evt->evt.gap_evt.conn_handle; connection->connection_obj = mp_const_none; + connection->pair_status = PAIR_NOT_PAIRED; ble_drv_add_event_handler_entry(&connection->handler_entry, connection_on_ble_evt, connection); self->connection_objs = NULL; @@ -436,7 +437,7 @@ STATIC bool connect_on_ble_evt(ble_evt_t *ble_evt, void *info_in) { return true; } -mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout, bool pair) { +mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout) { ble_gap_addr_t addr; diff --git a/ports/nrf/common-hal/_bleio/Connection.c b/ports/nrf/common-hal/_bleio/Connection.c index 65fadfecce..4e1c22cdf7 100644 --- a/ports/nrf/common-hal/_bleio/Connection.c +++ b/ports/nrf/common-hal/_bleio/Connection.c @@ -34,6 +34,7 @@ #include "ble_drv.h" #include "ble_hci.h" #include "nrf_soc.h" +#include "lib/utils/interrupt_char.h" #include "py/gc.h" #include "py/objlist.h" #include "py/objstr.h" @@ -51,7 +52,7 @@ #define BLE_AD_TYPE_FLAGS_DATA_SIZE 1 static const ble_gap_sec_params_t pairing_sec_params = { - .bond = 1, + .bond = 0, .mitm = 0, .lesc = 0, .keypress = 0, @@ -109,7 +110,7 @@ bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) { // SoftDevice will respond to a length update request. sd_ble_gap_data_length_update(self->conn_handle, NULL, NULL); break; - + case BLE_GAP_EVT_DATA_LENGTH_UPDATE: // 0x24 break; @@ -214,7 +215,7 @@ bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) { if (dump_events) { mp_printf(&mp_plat_print, "Unhandled connection event: 0x%04x\n", ble_evt->header.evt_id); } - + return false; } return true; @@ -229,6 +230,13 @@ void bleio_connection_clear(bleio_connection_internal_t *self) { memset(&self->bonding_keys, 0, sizeof(self->bonding_keys)); } +bool common_hal_bleio_connection_get_paired(bleio_connection_obj_t *self) { + if (self->connection == NULL) { + return false; + } + return self->connection->pair_status == PAIR_PAIRED; +} + bool common_hal_bleio_connection_get_connected(bleio_connection_obj_t *self) { if (self->connection == NULL) { return false; @@ -240,15 +248,17 @@ void common_hal_bleio_connection_disconnect(bleio_connection_internal_t *self) { sd_ble_gap_disconnect(self->conn_handle, BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION); } -void common_hal_bleio_connection_pair(bleio_connection_internal_t *self) { +void common_hal_bleio_connection_pair(bleio_connection_internal_t *self, bool bond) { self->pair_status = PAIR_WAITING; check_nrf_error(sd_ble_gap_authenticate(self->conn_handle, &pairing_sec_params)); - while (self->pair_status == PAIR_WAITING) { + while (self->pair_status == PAIR_WAITING && !mp_hal_is_interrupted()) { RUN_BACKGROUND_TASKS; } - + if (mp_hal_is_interrupted()) { + return; + } check_sec_status(self->sec_status); } @@ -280,6 +290,7 @@ STATIC bool discover_next_characteristics(bleio_connection_internal_t* connectio uint32_t err_code = sd_ble_gattc_characteristics_discover(connection->conn_handle, &handle_range); if (err_code != NRF_SUCCESS) { + asm("bkpt"); return false; } @@ -574,10 +585,9 @@ STATIC void discover_remote_services(bleio_connection_internal_t *self, mp_obj_t // discovery call returns nothing. // discover_next_descriptors() appends to the descriptor_list. while (next_desc_start_handle <= service->end_handle && - next_desc_start_handle < next_desc_end_handle && + next_desc_start_handle <= next_desc_end_handle && discover_next_descriptors(self, characteristic, next_desc_start_handle, next_desc_end_handle)) { - // Get the most recently discovered descriptor, and then ask for descriptors // whose handles start after that descriptor's handle. const bleio_descriptor_obj_t *descriptor = characteristic->descriptor_list; diff --git a/ports/nrf/common-hal/_bleio/__init__.c b/ports/nrf/common-hal/_bleio/__init__.c index 429de2de6d..bc2500f681 100644 --- a/ports/nrf/common-hal/_bleio/__init__.c +++ b/ports/nrf/common-hal/_bleio/__init__.c @@ -62,6 +62,9 @@ void check_gatt_status(uint16_t gatt_status) { case BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION: mp_raise_bleio_SecurityError(translate("Insufficient authentication")); return; + case BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION: + mp_raise_bleio_SecurityError(translate("Insufficient encryption")); + return; default: mp_raise_bleio_BluetoothError(translate("Unknown gatt error: 0x%04x"), gatt_status); } diff --git a/shared-bindings/_bleio/Adapter.c b/shared-bindings/_bleio/Adapter.c index dfd20cb5c4..7e2a5f05b2 100644 --- a/shared-bindings/_bleio/Adapter.c +++ b/shared-bindings/_bleio/Adapter.c @@ -321,7 +321,7 @@ const mp_obj_property_t bleio_adapter_connections_obj = { (mp_obj_t)&mp_const_none_obj }, }; -//| .. method:: connect(address, *, timeout, pair=False) +//| .. method:: connect(address, *, timeout) //| //| Attempts a connection to the device with the given address. //| @@ -331,11 +331,10 @@ const mp_obj_property_t bleio_adapter_connections_obj = { STATIC mp_obj_t bleio_adapter_connect(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { bleio_adapter_obj_t *self = MP_OBJ_TO_PTR(pos_args[0]); - enum { ARG_address, ARG_timeout, ARG_pair }; + enum { ARG_address, ARG_timeout }; static const mp_arg_t allowed_args[] = { { MP_QSTR_address, MP_ARG_REQUIRED | MP_ARG_OBJ }, { MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_REQUIRED | MP_ARG_OBJ }, - { MP_QSTR_pair, MP_ARG_KW_ONLY | MP_ARG_BOOL, { .u_bool = false } }, }; mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; @@ -348,7 +347,7 @@ STATIC mp_obj_t bleio_adapter_connect(mp_uint_t n_args, const mp_obj_t *pos_args bleio_address_obj_t *address = MP_OBJ_TO_PTR(args[ARG_address].u_obj); mp_float_t timeout = mp_obj_get_float(args[ARG_timeout].u_obj); - return common_hal_bleio_adapter_connect(self, address, timeout, args[ARG_pair].u_bool); + return common_hal_bleio_adapter_connect(self, address, timeout); } STATIC MP_DEFINE_CONST_FUN_OBJ_KW(bleio_adapter_connect_obj, 2, bleio_adapter_connect); diff --git a/shared-bindings/_bleio/Adapter.h b/shared-bindings/_bleio/Adapter.h index 2ff77f755b..4340d82c10 100644 --- a/shared-bindings/_bleio/Adapter.h +++ b/shared-bindings/_bleio/Adapter.h @@ -55,6 +55,6 @@ void common_hal_bleio_adapter_stop_scan(bleio_adapter_obj_t *self); bool common_hal_bleio_adapter_get_connected(bleio_adapter_obj_t *self); mp_obj_t common_hal_bleio_adapter_get_connections(bleio_adapter_obj_t *self); -mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout, bool pair); +mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout); #endif // MICROPY_INCLUDED_SHARED_BINDINGS_BLEIO_ADAPTER_H diff --git a/shared-bindings/_bleio/Characteristic.c b/shared-bindings/_bleio/Characteristic.c index f8a7a1b4af..aa09f3f001 100644 --- a/shared-bindings/_bleio/Characteristic.c +++ b/shared-bindings/_bleio/Characteristic.c @@ -168,7 +168,7 @@ const mp_obj_property_t bleio_characteristic_properties_obj = { //| .. attribute:: uuid //| //| The UUID of this characteristic. (read-only) -//| +//| //| Will be ``None`` if the 128-bit UUID for this characteristic is not known. //| STATIC mp_obj_t bleio_characteristic_get_uuid(mp_obj_t self_in) { @@ -338,7 +338,7 @@ STATIC MP_DEFINE_CONST_DICT(bleio_characteristic_locals_dict, bleio_characterist STATIC void bleio_characteristic_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) { bleio_characteristic_obj_t *self = MP_OBJ_TO_PTR(self_in); if (self->uuid) { - mp_printf(print, "Characteristic("); + mp_printf(print, "0x%08x Characteristic(", (uint32_t) self_in); bleio_uuid_print(print, MP_OBJ_FROM_PTR(self->uuid), kind); mp_printf(print, ")"); } else { diff --git a/shared-bindings/_bleio/Connection.c b/shared-bindings/_bleio/Connection.c index 9935658bb5..da2fbff287 100644 --- a/shared-bindings/_bleio/Connection.c +++ b/shared-bindings/_bleio/Connection.c @@ -92,6 +92,29 @@ STATIC mp_obj_t bleio_connection_disconnect(mp_obj_t self_in) { } STATIC MP_DEFINE_CONST_FUN_OBJ_1(bleio_connection_disconnect_obj, bleio_connection_disconnect); + +//| .. method:: pair(*, bond=True) +//| +//| Pair to the peer to improve security. +//| +STATIC mp_obj_t bleio_connection_pair(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { + bleio_connection_obj_t *self = MP_OBJ_TO_PTR(pos_args[0]); + + enum { ARG_bond }; + static const mp_arg_t allowed_args[] = { + { MP_QSTR_bond, MP_ARG_BOOL, {.u_bool = true} }, + }; + + mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; + mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); + + ensure_connected(self); + + common_hal_bleio_connection_pair(self->connection, args[ARG_bond].u_bool); + return mp_const_none; +} +STATIC MP_DEFINE_CONST_FUN_OBJ_KW(bleio_connection_pair_obj, 1, bleio_connection_pair); + //| .. method:: discover_remote_services(service_uuids_whitelist=None) //| //| Do BLE discovery for all services or for the given service UUIDS, @@ -99,19 +122,19 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(bleio_connection_disconnect_obj, bleio_connecti //| `Connection.connected` must be True. //| //| :param iterable service_uuids_whitelist: -//| +//| //| an iterable of :py:class:~`UUID` objects for the services provided by the peripheral //| that you want to use. //| //| The peripheral may provide more services, but services not listed are ignored //| and will not be returned. //| -//| If service_uuids_whitelist is None, then all services will undergo discovery, which can be +//| If service_uuids_whitelist is None, then all services will undergo discovery, which can be //| slow. //| //| If the service UUID is 128-bit, or its characteristic UUID's are 128-bit, you //| you must have already created a :py:class:~`UUID` object for that UUID in order for the -//| service or characteristic to be discovered. Creating the UUID causes the UUID to be +//| service or characteristic to be discovered. Creating the UUID causes the UUID to be //| registered for use. (This restriction may be lifted in the future.) //| //| :return: A tuple of `_bleio.Service` objects provided by the remote peripheral. @@ -137,7 +160,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(bleio_connection_discover_remote_services_obj, //| .. attribute:: connected //| -//| True if connected to a remote peer. +//| True if connected to the remote peer. //| STATIC mp_obj_t bleio_connection_get_connected(mp_obj_t self_in) { bleio_connection_obj_t *self = MP_OBJ_TO_PTR(self_in); @@ -153,13 +176,34 @@ const mp_obj_property_t bleio_connection_connected_obj = { (mp_obj_t)&mp_const_none_obj }, }; + +//| .. attribute:: paired +//| +//| True if paired to the remote peer. +//| +STATIC mp_obj_t bleio_connection_get_paired(mp_obj_t self_in) { + bleio_connection_obj_t *self = MP_OBJ_TO_PTR(self_in); + + return mp_obj_new_bool(common_hal_bleio_connection_get_paired(self)); +} +STATIC MP_DEFINE_CONST_FUN_OBJ_1(bleio_connection_get_paired_obj, bleio_connection_get_paired); + +const mp_obj_property_t bleio_connection_paired_obj = { + .base.type = &mp_type_property, + .proxy = { (mp_obj_t)&bleio_connection_get_paired_obj, + (mp_obj_t)&mp_const_none_obj, + (mp_obj_t)&mp_const_none_obj }, +}; + STATIC const mp_rom_map_elem_t bleio_connection_locals_dict_table[] = { // Methods + { MP_ROM_QSTR(MP_QSTR_pair), MP_ROM_PTR(&bleio_connection_pair_obj) }, { MP_ROM_QSTR(MP_QSTR_disconnect), MP_ROM_PTR(&bleio_connection_disconnect_obj) }, { MP_ROM_QSTR(MP_QSTR_discover_remote_services), MP_ROM_PTR(&bleio_connection_discover_remote_services_obj) }, // Properties { MP_ROM_QSTR(MP_QSTR_connected), MP_ROM_PTR(&bleio_connection_connected_obj) }, + { MP_ROM_QSTR(MP_QSTR_paired), MP_ROM_PTR(&bleio_connection_paired_obj) }, }; STATIC MP_DEFINE_CONST_DICT(bleio_connection_locals_dict, bleio_connection_locals_dict_table); diff --git a/shared-bindings/_bleio/Connection.h b/shared-bindings/_bleio/Connection.h index 5de6730c99..f7eee180f7 100644 --- a/shared-bindings/_bleio/Connection.h +++ b/shared-bindings/_bleio/Connection.h @@ -34,8 +34,10 @@ extern const mp_obj_type_t bleio_connection_type; +extern void common_hal_bleio_connection_pair(bleio_connection_internal_t *self, bool bond); extern void common_hal_bleio_connection_disconnect(bleio_connection_internal_t *self); extern bool common_hal_bleio_connection_get_connected(bleio_connection_obj_t *self); +extern bool common_hal_bleio_connection_get_paired(bleio_connection_obj_t *self); extern mp_obj_tuple_t *common_hal_bleio_connection_discover_remote_services(bleio_connection_obj_t *self, mp_obj_t service_uuids_whitelist); #endif // MICROPY_INCLUDED_SHARED_BINDINGS_BLEIO_CONNECTION_H From e63796c7bc28d8add63441f54ef4060a4ec11006 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Nov 2019 16:32:28 -0800 Subject: [PATCH 26/79] Special exception message for when pairing prompt is ignored. --- ports/nrf/common-hal/_bleio/__init__.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ports/nrf/common-hal/_bleio/__init__.c b/ports/nrf/common-hal/_bleio/__init__.c index bc2500f681..7ba3dc8c1f 100644 --- a/ports/nrf/common-hal/_bleio/__init__.c +++ b/ports/nrf/common-hal/_bleio/__init__.c @@ -74,7 +74,14 @@ void check_sec_status(uint8_t sec_status) { if (sec_status == BLE_GAP_SEC_STATUS_SUCCESS) { return; } - mp_raise_bleio_SecurityError(translate("Unknown security error: 0x%04x"), sec_status); + + switch (sec_status) { + case BLE_GAP_SEC_STATUS_UNSPECIFIED: + mp_raise_bleio_SecurityError(translate("Unspecified issue. Can be that the pairing prompt on the other device was declined or ignored.")); + return; + default: + mp_raise_bleio_SecurityError(translate("Unknown security error: 0x%04x"), sec_status); + } } // Turn off BLE on a reset or reload. From 743bc829ab216288ad054cac547ab4e06d452922 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Nov 2019 16:39:57 -0800 Subject: [PATCH 27/79] Clean up debug changes --- ports/nrf/common-hal/_bleio/Connection.c | 1 - shared-bindings/_bleio/Characteristic.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ports/nrf/common-hal/_bleio/Connection.c b/ports/nrf/common-hal/_bleio/Connection.c index 4e1c22cdf7..0e1e187c2d 100644 --- a/ports/nrf/common-hal/_bleio/Connection.c +++ b/ports/nrf/common-hal/_bleio/Connection.c @@ -290,7 +290,6 @@ STATIC bool discover_next_characteristics(bleio_connection_internal_t* connectio uint32_t err_code = sd_ble_gattc_characteristics_discover(connection->conn_handle, &handle_range); if (err_code != NRF_SUCCESS) { - asm("bkpt"); return false; } diff --git a/shared-bindings/_bleio/Characteristic.c b/shared-bindings/_bleio/Characteristic.c index aa09f3f001..7fcf274da0 100644 --- a/shared-bindings/_bleio/Characteristic.c +++ b/shared-bindings/_bleio/Characteristic.c @@ -338,7 +338,7 @@ STATIC MP_DEFINE_CONST_DICT(bleio_characteristic_locals_dict, bleio_characterist STATIC void bleio_characteristic_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) { bleio_characteristic_obj_t *self = MP_OBJ_TO_PTR(self_in); if (self->uuid) { - mp_printf(print, "0x%08x Characteristic(", (uint32_t) self_in); + mp_printf(print, "Characteristic("); bleio_uuid_print(print, MP_OBJ_FROM_PTR(self->uuid), kind); mp_printf(print, ")"); } else { From 46cc9b934b9104a97196b0c53addea943e61e6b0 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 21 Nov 2019 16:50:34 -0800 Subject: [PATCH 28/79] Update translations --- locale/ID.po | 12 +++++++++++- locale/circuitpython.pot | 12 +++++++++++- locale/de_DE.po | 12 +++++++++++- locale/en_US.po | 12 +++++++++++- locale/en_x_pirate.po | 12 +++++++++++- locale/es.po | 12 +++++++++++- locale/fil.po | 12 +++++++++++- locale/fr.po | 12 +++++++++++- locale/it_IT.po | 12 +++++++++++- locale/ko.po | 12 +++++++++++- locale/pl.po | 12 +++++++++++- locale/pt_BR.po | 12 +++++++++++- locale/zh_Latn_pinyin.po | 12 +++++++++++- 13 files changed, 143 insertions(+), 13 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index 6b93b231b8..fdbf3863bb 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -680,6 +680,10 @@ msgstr "" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1239,6 +1243,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "Baudrate tidak didukung" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 74c5c22f67..24278f33c1 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -669,6 +669,10 @@ msgstr "" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1220,6 +1224,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "" diff --git a/locale/de_DE.po b/locale/de_DE.po index 628fafce29..ff4edd3705 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -677,6 +677,10 @@ msgstr "Eingabe-/Ausgabefehler" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1259,6 +1263,12 @@ msgstr "" "Nicht übereinstimmende Anzahl von Elementen auf der rechten Seite (erwartet " "%d, %d erhalten)." +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "Baudrate wird nicht unterstützt" diff --git a/locale/en_US.po b/locale/en_US.po index 3fa5ffe96d..b8025aa98e 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -669,6 +669,10 @@ msgstr "" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1220,6 +1224,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "" diff --git a/locale/en_x_pirate.po b/locale/en_x_pirate.po index df0b132af0..a307167aad 100644 --- a/locale/en_x_pirate.po +++ b/locale/en_x_pirate.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: @sommersoft, @MrCertainly\n" @@ -673,6 +673,10 @@ msgstr "" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1224,6 +1228,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "" diff --git a/locale/es.po b/locale/es.po index 083702e320..07ad7fe1b3 100644 --- a/locale/es.po +++ b/locale/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -679,6 +679,10 @@ msgstr "error Input/output" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1257,6 +1261,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "Número incomparable de elementos en RHS (%d esperado,%d obtenido)" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "Baudrate no soportado" diff --git a/locale/fil.po b/locale/fil.po index 57ea1c8be6..8cf49583ac 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -685,6 +685,10 @@ msgstr "May mali sa Input/Output" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1260,6 +1264,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "Hindi supportadong baudrate" diff --git a/locale/fr.po b/locale/fr.po index 95027be722..3a3f81653c 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2019-04-14 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -689,6 +689,10 @@ msgstr "Erreur d'entrée/sortie" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1283,6 +1287,12 @@ msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" "Pas de correspondance du nombres d'éléments à droite (attendu %d, obtenu %d)" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "Débit non supporté" diff --git a/locale/it_IT.po b/locale/it_IT.po index e0519378dc..30d843142c 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -685,6 +685,10 @@ msgstr "Errore input/output" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1260,6 +1264,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "baudrate non supportato" diff --git a/locale/ko.po b/locale/ko.po index d6e8701fdb..1452bd7e70 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2019-05-06 14:22-0700\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" @@ -673,6 +673,10 @@ msgstr "" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1225,6 +1229,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "" diff --git a/locale/pl.po b/locale/pl.po index 08c35cd8e1..ed57964325 100644 --- a/locale/pl.po +++ b/locale/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2019-03-19 18:37-0700\n" "Last-Translator: Radomir Dopieralski \n" "Language-Team: pl\n" @@ -674,6 +674,10 @@ msgstr "Błąd I/O" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1240,6 +1244,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "Zła liczba obiektów po prawej stronie (oczekiwano %d, jest %d)." +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "Zła szybkość transmisji" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index dad3060cef..715a8345d6 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -678,6 +678,10 @@ msgstr "" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1237,6 +1241,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "Taxa de transmissão não suportada" diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index d7a4039bb1..fae8b1b329 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: circuitpython-cn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-20 14:01-0800\n" +"POT-Creation-Date: 2019-11-21 16:50-0800\n" "PO-Revision-Date: 2019-04-13 10:10-0700\n" "Last-Translator: hexthat\n" "Language-Team: Chinese Hanyu Pinyin\n" @@ -675,6 +675,10 @@ msgstr "Shūrù/shūchū cuòwù" msgid "Insufficient authentication" msgstr "" +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "Insufficient encryption" +msgstr "" + #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c msgid "Invalid %q pin" @@ -1246,6 +1250,12 @@ msgstr "" msgid "Unmatched number of items on RHS (expected %d, got %d)." msgstr "RHS (yùqí %d, huòdé %d) shàng wèi pǐpèi de xiàngmù." +#: ports/nrf/common-hal/_bleio/__init__.c +msgid "" +"Unspecified issue. Can be that the pairing prompt on the other device was " +"declined or ignored." +msgstr "" + #: ports/atmel-samd/common-hal/busio/I2C.c msgid "Unsupported baudrate" msgstr "Bù zhīchí de baudrate" From 228a619af561246eed368926c0d0735c982c29e6 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Fri, 22 Nov 2019 10:59:27 -0500 Subject: [PATCH 29/79] enable network, wiznet5k, and ps2io by default on M4 --- ports/atmel-samd/boards/cp32-m4/mpconfigboard.mk | 1 - ports/atmel-samd/boards/datalore_ip_m4/mpconfigboard.mk | 4 ---- ports/atmel-samd/boards/feather_m4_express/mpconfigboard.mk | 4 ---- .../boards/grandcentral_m4_express/mpconfigboard.mk | 2 -- ports/atmel-samd/boards/hallowing_m4_express/mpconfigboard.mk | 4 ---- ports/atmel-samd/boards/itsybitsy_m4_express/mpconfigboard.mk | 1 - ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk | 2 ++ .../atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk | 4 ---- ports/atmel-samd/boards/metro_m4_express/mpconfigboard.mk | 4 ---- ports/atmel-samd/boards/mini_sam_m4/mpconfigboard.mk | 1 - ports/atmel-samd/boards/monster_m4sk/mpconfigboard.mk | 3 --- ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/pybadge/mpconfigboard.mk | 2 -- ports/atmel-samd/boards/pybadge_airlift/mpconfigboard.mk | 2 -- ports/atmel-samd/boards/pygamer/mpconfigboard.mk | 2 -- ports/atmel-samd/boards/pygamer_advance/mpconfigboard.mk | 2 -- ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk | 1 - ports/atmel-samd/boards/trellis_m4_express/mpconfigboard.mk | 1 - ports/atmel-samd/mpconfigport.mk | 3 +++ 19 files changed, 7 insertions(+), 38 deletions(-) diff --git a/ports/atmel-samd/boards/cp32-m4/mpconfigboard.mk b/ports/atmel-samd/boards/cp32-m4/mpconfigboard.mk index 86a7719b84..5cd3fe70ec 100644 --- a/ports/atmel-samd/boards/cp32-m4/mpconfigboard.mk +++ b/ports/atmel-samd/boards/cp32-m4/mpconfigboard.mk @@ -11,6 +11,5 @@ QSPI_FLASH_FILESYSTEM = 1 EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = "W25Q128JV_PM" -CIRCUITPY_PS2IO = 1 # No I2S on SAMD51G. CIRCUITPY_AUDIOBUSIO = 0 diff --git a/ports/atmel-samd/boards/datalore_ip_m4/mpconfigboard.mk b/ports/atmel-samd/boards/datalore_ip_m4/mpconfigboard.mk index aa5f47d400..398c54a119 100644 --- a/ports/atmel-samd/boards/datalore_ip_m4/mpconfigboard.mk +++ b/ports/atmel-samd/boards/datalore_ip_m4/mpconfigboard.mk @@ -11,7 +11,3 @@ QSPI_FLASH_FILESYSTEM = 1 EXTERNAL_FLASH_DEVICE_COUNT = 3 EXTERNAL_FLASH_DEVICES = "GD25Q16C, W25Q16JV_IQ, W25Q16JV_IM" LONGINT_IMPL = MPZ - -CIRCUITPY_NETWORK = 1 -MICROPY_PY_WIZNET5K = 5500 -CIRCUITPY_PS2IO = 1 diff --git a/ports/atmel-samd/boards/feather_m4_express/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m4_express/mpconfigboard.mk index 176ebac82c..4faa073876 100644 --- a/ports/atmel-samd/boards/feather_m4_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/feather_m4_express/mpconfigboard.mk @@ -11,7 +11,3 @@ QSPI_FLASH_FILESYSTEM = 1 EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = GD25Q16C LONGINT_IMPL = MPZ - -CIRCUITPY_NETWORK = 1 -MICROPY_PY_WIZNET5K = 5500 -CIRCUITPY_PS2IO = 1 diff --git a/ports/atmel-samd/boards/grandcentral_m4_express/mpconfigboard.mk b/ports/atmel-samd/boards/grandcentral_m4_express/mpconfigboard.mk index 423761c3f7..33542183b6 100644 --- a/ports/atmel-samd/boards/grandcentral_m4_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/grandcentral_m4_express/mpconfigboard.mk @@ -11,5 +11,3 @@ QSPI_FLASH_FILESYSTEM = 1 EXTERNAL_FLASH_DEVICE_COUNT = 2 EXTERNAL_FLASH_DEVICES = "W25Q64JV_IQ, GD25Q64C" LONGINT_IMPL = MPZ - -CIRCUITPY_PS2IO = 1 diff --git a/ports/atmel-samd/boards/hallowing_m4_express/mpconfigboard.mk b/ports/atmel-samd/boards/hallowing_m4_express/mpconfigboard.mk index 0d891abc82..375be283a5 100644 --- a/ports/atmel-samd/boards/hallowing_m4_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/hallowing_m4_express/mpconfigboard.mk @@ -11,7 +11,3 @@ QSPI_FLASH_FILESYSTEM = 1 EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = GD25Q64C LONGINT_IMPL = MPZ - -CIRCUITPY_NETWORK = 1 -MICROPY_PY_WIZNET5K = 5500 -CIRCUITPY_PS2IO = 1 diff --git a/ports/atmel-samd/boards/itsybitsy_m4_express/mpconfigboard.mk b/ports/atmel-samd/boards/itsybitsy_m4_express/mpconfigboard.mk index 5cab5bf43a..dca4e3706f 100644 --- a/ports/atmel-samd/boards/itsybitsy_m4_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/itsybitsy_m4_express/mpconfigboard.mk @@ -12,7 +12,6 @@ EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = GD25Q16C LONGINT_IMPL = MPZ -CIRCUITPY_PS2IO = 1 # No I2S on SAMD51G CIRCUITPY_AUDIOBUSIO = 0 diff --git a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk index 706e551c5d..163abfe1d3 100644 --- a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk +++ b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk @@ -12,5 +12,7 @@ INTERNAL_FLASH_FILESYSTEM = 1 LONGINT_IMPL = MPZ # Not needed. +CIRCUITPY_PS2IO = 0 +CIRCUITPY_NETWORK = 0 CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_DISPLAYIO = 0 diff --git a/ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk b/ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk index 98d85ba826..bd837ebd6e 100644 --- a/ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk +++ b/ports/atmel-samd/boards/metro_m4_airlift_lite/mpconfigboard.mk @@ -11,7 +11,3 @@ QSPI_FLASH_FILESYSTEM = 1 EXTERNAL_FLASH_DEVICE_COUNT = 3 EXTERNAL_FLASH_DEVICES = "S25FL116K, S25FL216K, GD25Q16C" LONGINT_IMPL = MPZ - -CIRCUITPY_NETWORK = 1 -MICROPY_PY_WIZNET5K = 5500 -CIRCUITPY_PS2IO = 1 diff --git a/ports/atmel-samd/boards/metro_m4_express/mpconfigboard.mk b/ports/atmel-samd/boards/metro_m4_express/mpconfigboard.mk index 68b6f64065..e4d8b9428e 100644 --- a/ports/atmel-samd/boards/metro_m4_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/metro_m4_express/mpconfigboard.mk @@ -11,7 +11,3 @@ QSPI_FLASH_FILESYSTEM = 1 EXTERNAL_FLASH_DEVICE_COUNT = 3 EXTERNAL_FLASH_DEVICES = "S25FL116K, S25FL216K, GD25Q16C" LONGINT_IMPL = MPZ - -CIRCUITPY_NETWORK = 1 -MICROPY_PY_WIZNET5K = 5500 -CIRCUITPY_PS2IO = 1 diff --git a/ports/atmel-samd/boards/mini_sam_m4/mpconfigboard.mk b/ports/atmel-samd/boards/mini_sam_m4/mpconfigboard.mk index 4bd1d6e522..eff8bfe08a 100644 --- a/ports/atmel-samd/boards/mini_sam_m4/mpconfigboard.mk +++ b/ports/atmel-samd/boards/mini_sam_m4/mpconfigboard.mk @@ -12,7 +12,6 @@ EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = "W25Q16JV_IM" LONGINT_IMPL = MPZ -CIRCUITPY_PS2IO = 1 # No I2S on SAMD51G CIRCUITPY_AUDIOBUSIO = 0 diff --git a/ports/atmel-samd/boards/monster_m4sk/mpconfigboard.mk b/ports/atmel-samd/boards/monster_m4sk/mpconfigboard.mk index a3db7dc890..84d1285c5b 100644 --- a/ports/atmel-samd/boards/monster_m4sk/mpconfigboard.mk +++ b/ports/atmel-samd/boards/monster_m4sk/mpconfigboard.mk @@ -11,6 +11,3 @@ QSPI_FLASH_FILESYSTEM = 1 EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = GD25Q64C LONGINT_IMPL = MPZ - -CIRCUITPY_AUDIOIO = 1 -CIRCUITPY_DISPLAYIO = 1 diff --git a/ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk index 54ec3d1d0e..bc2ae609ed 100644 --- a/ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk @@ -17,7 +17,9 @@ CIRCUITPY_BITBANGIO = 0 CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_I2CSLAVE = 0 CIRCUITPY_NEOPIXEL_WRITE = 0 +CIRCUITPY_NETWORK = 0 CIRCUITPY_PIXELBUF = 0 +CIRCUITPY_PS2IO = 0 CIRCUITPY_RTC = 0 CIRCUITPY_TOUCHIO = 0 CIRCUITPY_USB_HID = 0 diff --git a/ports/atmel-samd/boards/pybadge/mpconfigboard.mk b/ports/atmel-samd/boards/pybadge/mpconfigboard.mk index 7e2cb64398..b5a240c66b 100644 --- a/ports/atmel-samd/boards/pybadge/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pybadge/mpconfigboard.mk @@ -12,8 +12,6 @@ EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = GD25Q16C LONGINT_IMPL = MPZ -CIRCUITPY_AUDIOIO = 1 -CIRCUITPY_DISPLAYIO = 1 CIRCUITPY_GAMEPAD = 1 CIRCUITPY_GAMEPADSHIFT = 1 CIRCUITPY_STAGE = 1 diff --git a/ports/atmel-samd/boards/pybadge_airlift/mpconfigboard.mk b/ports/atmel-samd/boards/pybadge_airlift/mpconfigboard.mk index 7e77b0feaf..e78789d741 100644 --- a/ports/atmel-samd/boards/pybadge_airlift/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pybadge_airlift/mpconfigboard.mk @@ -12,8 +12,6 @@ EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = GD25Q16C LONGINT_IMPL = MPZ -CIRCUITPY_AUDIOIO = 1 -CIRCUITPY_DISPLAYIO = 1 CIRCUITPY_GAMEPAD = 1 CIRCUITPY_GAMEPADSHIFT = 1 CIRCUITPY_STAGE = 1 diff --git a/ports/atmel-samd/boards/pygamer/mpconfigboard.mk b/ports/atmel-samd/boards/pygamer/mpconfigboard.mk index 0fce468d9f..a455690e19 100644 --- a/ports/atmel-samd/boards/pygamer/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pygamer/mpconfigboard.mk @@ -12,8 +12,6 @@ EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = GD25Q64C LONGINT_IMPL = MPZ -CIRCUITPY_AUDIOIO = 1 -CIRCUITPY_DISPLAYIO = 1 CIRCUITPY_GAMEPAD = 1 CIRCUITPY_GAMEPADSHIFT = 1 CIRCUITPY_STAGE = 1 diff --git a/ports/atmel-samd/boards/pygamer_advance/mpconfigboard.mk b/ports/atmel-samd/boards/pygamer_advance/mpconfigboard.mk index 8711738d4f..b6bb266308 100644 --- a/ports/atmel-samd/boards/pygamer_advance/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pygamer_advance/mpconfigboard.mk @@ -12,8 +12,6 @@ EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = GD25Q64C LONGINT_IMPL = MPZ -CIRCUITPY_AUDIOIO = 1 -CIRCUITPY_DISPLAYIO = 1 CIRCUITPY_GAMEPAD = 1 CIRCUITPY_GAMEPADSHIFT = 1 CIRCUITPY_STAGE = 1 diff --git a/ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk b/ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk index 56f1617dbf..f18a3dbf46 100644 --- a/ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk +++ b/ports/atmel-samd/boards/robohatmm1_m4/mpconfigboard.mk @@ -14,7 +14,6 @@ EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICES = "W25Q64JV_IQ" LONGINT_IMPL = MPZ -CIRCUITPY_PS2IO = 1 # No I2S on SAMD51G CIRCUITPY_AUDIOBUSIO = 0 # Make room for more stuff diff --git a/ports/atmel-samd/boards/trellis_m4_express/mpconfigboard.mk b/ports/atmel-samd/boards/trellis_m4_express/mpconfigboard.mk index ec37186c3a..bb0b7d1754 100644 --- a/ports/atmel-samd/boards/trellis_m4_express/mpconfigboard.mk +++ b/ports/atmel-samd/boards/trellis_m4_express/mpconfigboard.mk @@ -12,7 +12,6 @@ EXTERNAL_FLASH_DEVICE_COUNT = 2 EXTERNAL_FLASH_DEVICES = "W25Q64JV_IQ, GD25Q64C" LONGINT_IMPL = MPZ -CIRCUITPY_PS2IO = 1 # No I2S on SAMD51G CIRCUITPY_AUDIOBUSIO = 0 diff --git a/ports/atmel-samd/mpconfigport.mk b/ports/atmel-samd/mpconfigport.mk index 88ddb49e01..9e6693d55e 100644 --- a/ports/atmel-samd/mpconfigport.mk +++ b/ports/atmel-samd/mpconfigport.mk @@ -27,6 +27,9 @@ endif # Put samd51-only choices here. ifeq ($(CHIP_FAMILY),samd51) +CIRCUITPY_NETWORK = 1 +MICROPY_PY_WIZNET5K = 5500 +CIRCUITPY_PS2IO = 1 CIRCUITPY_SAMD = 1 CIRCUITPY_TOUCHIO_USE_NATIVE = 0 endif From f13ba7e8d9048802e960b45264f7d85cc16a1a4d Mon Sep 17 00:00:00 2001 From: David Grimes Date: Fri, 22 Nov 2019 13:47:13 -0500 Subject: [PATCH 30/79] * only make objects long lived if they are on the GC heap --- py/gc.c | 10 ---------- py/gc.h | 11 +++++++++++ py/gc_long_lived.c | 5 +++++ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/py/gc.c b/py/gc.c index ac584d5d20..a8a5fde125 100755 --- a/py/gc.c +++ b/py/gc.c @@ -53,9 +53,6 @@ // detect untraced object still in use #define CLEAR_ON_SWEEP (0) -#define WORDS_PER_BLOCK ((MICROPY_BYTES_PER_GC_BLOCK) / BYTES_PER_WORD) -#define BYTES_PER_BLOCK (MICROPY_BYTES_PER_GC_BLOCK) - // ATB = allocation table byte // 0b00 = FREE -- free block // 0b01 = HEAD -- head of a chain of blocks @@ -209,13 +206,6 @@ bool gc_is_locked(void) { return MP_STATE_MEM(gc_lock_depth) != 0; } -// ptr should be of type void* -#define VERIFY_PTR(ptr) ( \ - ((uintptr_t)(ptr) & (BYTES_PER_BLOCK - 1)) == 0 /* must be aligned on a block */ \ - && ptr >= (void*)MP_STATE_MEM(gc_pool_start) /* must be above start of pool */ \ - && ptr < (void*)MP_STATE_MEM(gc_pool_end) /* must be below end of pool */ \ - ) - #ifndef TRACE_MARK #if DEBUG_PRINT #define TRACE_MARK(block, ptr) DEBUG_printf("gc_mark(%p)\n", ptr) diff --git a/py/gc.h b/py/gc.h index 02bf451587..cd63ba94cf 100644 --- a/py/gc.h +++ b/py/gc.h @@ -29,8 +29,19 @@ #include #include "py/mpconfig.h" +#include "py/mpstate.h" #include "py/misc.h" +#define WORDS_PER_BLOCK ((MICROPY_BYTES_PER_GC_BLOCK) / BYTES_PER_WORD) +#define BYTES_PER_BLOCK (MICROPY_BYTES_PER_GC_BLOCK) + +// ptr should be of type void* +#define VERIFY_PTR(ptr) ( \ + ((uintptr_t)(ptr) & (BYTES_PER_BLOCK - 1)) == 0 /* must be aligned on a block */ \ + && ptr >= (void*)MP_STATE_MEM(gc_pool_start) /* must be above start of pool */ \ + && ptr < (void*)MP_STATE_MEM(gc_pool_end) /* must be below end of pool */ \ + ) + void gc_init(void *start, void *end); void gc_deinit(void); diff --git a/py/gc_long_lived.c b/py/gc_long_lived.c index 49bf1fcd79..01c22a7af7 100755 --- a/py/gc_long_lived.c +++ b/py/gc_long_lived.c @@ -126,6 +126,11 @@ mp_obj_t make_obj_long_lived(mp_obj_t obj, uint8_t max_depth){ if (obj == NULL) { return obj; } + // If not in the GC pool, do nothing. This can happen (at least) when + // there are frozen mp_type_bytes objects in ROM. + if (!VERIFY_PTR((void *)obj)) { + return obj; + } if (MP_OBJ_IS_TYPE(obj, &mp_type_fun_bc)) { mp_obj_fun_bc_t *fun_bc = MP_OBJ_TO_PTR(obj); return MP_OBJ_FROM_PTR(make_fun_bc_long_lived(fun_bc, max_depth)); From 2e9aa387002468b2c35e60853aefd84cfa877897 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Fri, 22 Nov 2019 13:49:33 -0500 Subject: [PATCH 31/79] turn off network in pewpew_m4 --- ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk index 54ec3d1d0e..1861b8ec45 100644 --- a/ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew_m4/mpconfigboard.mk @@ -17,6 +17,7 @@ CIRCUITPY_BITBANGIO = 0 CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_I2CSLAVE = 0 CIRCUITPY_NEOPIXEL_WRITE = 0 +CIRCUITPY_NETWORK = 0 CIRCUITPY_PIXELBUF = 0 CIRCUITPY_RTC = 0 CIRCUITPY_TOUCHIO = 0 From 1a62a9cb1757e8e583ed709c2a96427b35a74e2d Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Fri, 22 Nov 2019 14:02:44 -0500 Subject: [PATCH 32/79] remove network from kicksat_sprite --- ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk index 706e551c5d..08af43ee93 100644 --- a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk +++ b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk @@ -14,3 +14,4 @@ LONGINT_IMPL = MPZ # Not needed. CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_DISPLAYIO = 0 +CIRCUITPY_NETWORK = 0 From aabb56c840456dfdd065c8ca2e11854f32c5a63c Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Fri, 22 Nov 2019 13:54:37 -0600 Subject: [PATCH 33/79] nrf: i2sout: Only update hold_value when appropriate If we put no samples into the buffer, then there is no last sample to fill out hold_value with. (and, in fact, the expression such as *(uint32_t*)(buffer-4) is outside an allocated region) Detect this condition, and leave the prior value in place. This improves clicks heard when pausing and resuming a waveform. --- ports/nrf/common-hal/audiobusio/I2SOut.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/ports/nrf/common-hal/audiobusio/I2SOut.c b/ports/nrf/common-hal/audiobusio/I2SOut.c index ac369277f2..5a53f66d27 100644 --- a/ports/nrf/common-hal/audiobusio/I2SOut.c +++ b/ports/nrf/common-hal/audiobusio/I2SOut.c @@ -108,6 +108,7 @@ void choose_i2s_clocking(audiobusio_i2sout_obj_t *self, uint32_t sample_rate) { static void i2s_buffer_fill(audiobusio_i2sout_obj_t* self) { void *buffer = self->buffers[self->next_buffer]; + void *buffer_start = buffer; NRF_I2S->TXD.PTR = (uintptr_t)buffer; self->next_buffer = !self->next_buffer; size_t bytesleft = self->buffer_length; @@ -157,15 +158,17 @@ static void i2s_buffer_fill(audiobusio_i2sout_obj_t* self) { // Find the last frame of real audio data and replicate its samples until // you have 32 bits worth, which is the fundamental unit of nRF I2S DMA - if (self->bytes_per_sample == 1 && self->channel_count == 1) { - // For 8-bit mono, 4 copies of the final sample are required - self->hold_value = 0x01010101 * *(uint8_t*)(buffer-1); - } else if (self->bytes_per_sample == 2 && self->channel_count == 2) { - // For 16-bit stereo, 1 copy of the final sample is required - self->hold_value = *(uint32_t*)(buffer-4); - } else { - // For 8-bit stereo and 16-bit mono, 2 copies of the final sample are required - self->hold_value = 0x00010001 * *(uint16_t*)(buffer-2); + if(buffer != buffer_start) { + if (self->bytes_per_sample == 1 && self->channel_count == 1) { + // For 8-bit mono, 4 copies of the final sample are required + self->hold_value = 0x01010101 * *(uint8_t*)(buffer-1); + } else if (self->bytes_per_sample == 2 && self->channel_count == 2) { + // For 16-bit stereo, 1 copy of the final sample is required + self->hold_value = *(uint32_t*)(buffer-4); + } else { + // For 8-bit stereo and 16-bit mono, 2 copies of the final sample are required + self->hold_value = 0x00010001 * *(uint16_t*)(buffer-2); + } } // Emulate pausing and stopping by filling the DMA buffer with copies of From 1c6c9a3e1f041670c008e719be635f4205add6e9 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Fri, 22 Nov 2019 14:15:07 -0600 Subject: [PATCH 34/79] nrf: i2sout: Ensure hardware I2S is stopped at deinit .. otherwise, it may be possible under some scenario, for the background task to continue and overwrite unrelated memory. --- ports/nrf/common-hal/audiobusio/I2SOut.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ports/nrf/common-hal/audiobusio/I2SOut.c b/ports/nrf/common-hal/audiobusio/I2SOut.c index 5a53f66d27..93e6d485d2 100644 --- a/ports/nrf/common-hal/audiobusio/I2SOut.c +++ b/ports/nrf/common-hal/audiobusio/I2SOut.c @@ -221,6 +221,8 @@ void common_hal_audiobusio_i2sout_deinit(audiobusio_i2sout_obj_t* self) { if (common_hal_audiobusio_i2sout_deinited(self)) { return; } + NRF_I2S->TASKS_STOP = 1; + NRF_I2S->ENABLE = I2S_ENABLE_ENABLE_Disabled; reset_pin_number(self->bit_clock_pin_number); self->bit_clock_pin_number = 0xff; reset_pin_number(self->word_select_pin_number); From eb44b2bb26ba4578ca97e459c9baa69d549c40a5 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 20 Nov 2019 09:38:17 -0600 Subject: [PATCH 35/79] build.yml: Use a newer build toolchain .. the new version is not offered in .deb form, so the installation process also changes --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1d5793573f..e34a2e10c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -168,7 +168,8 @@ jobs: run: | sudo apt-get install -y gettext pip install requests sh click setuptools awscli - wget https://s3.amazonaws.com/adafruit-circuit-python/gcc-arm-embedded_7-2018q2-1~xenial1_amd64.deb && sudo dpkg -i gcc-arm-embedded*_amd64.deb + wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/RC2.1/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2 + sudo tar -C /usr --strip-components=1 -xaf gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2 - name: Versions run: | gcc --version From bfdfe0e68191554b70103f249ae1fe08f7fc85f0 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Fri, 22 Nov 2019 14:30:08 -0600 Subject: [PATCH 36/79] stm32: fix uses of ticks_ms global --- ports/stm32f4/common-hal/busio/UART.c | 4 ++-- ports/stm32f4/common-hal/microcontroller/__init__.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/stm32f4/common-hal/busio/UART.c b/ports/stm32f4/common-hal/busio/UART.c index c4ab237cd1..5ddfa6a4c7 100644 --- a/ports/stm32f4/common-hal/busio/UART.c +++ b/ports/stm32f4/common-hal/busio/UART.c @@ -250,10 +250,10 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t } size_t rx_bytes = 0; - uint64_t start_ticks = ticks_ms; + uint64_t start_ticks = supervisor_ticks_ms64(); // Wait for all bytes received or timeout, same as nrf - while ( (ringbuf_count(&self->rbuf) < len) && (ticks_ms - start_ticks < self->timeout_ms) ) { + while ( (ringbuf_count(&self->rbuf) < len) && (supervisor_ticks_ms64() - start_ticks < self->timeout_ms) ) { RUN_BACKGROUND_TASKS; //restart if it failed in the callback if (errflag != HAL_OK) { diff --git a/ports/stm32f4/common-hal/microcontroller/__init__.c b/ports/stm32f4/common-hal/microcontroller/__init__.c index c7493a4d60..ffab5d1e50 100644 --- a/ports/stm32f4/common-hal/microcontroller/__init__.c +++ b/ports/stm32f4/common-hal/microcontroller/__init__.c @@ -48,9 +48,9 @@ STATIC uint32_t get_us(void) { uint32_t ticks_per_us = HAL_RCC_GetSysClockFreq()/1000000; uint32_t micros, sys_cycles; do { - micros = ticks_ms; + micros = supervisor_ticks_ms32(); sys_cycles = SysTick->VAL; //counts backwards - } while (micros != ticks_ms); //try again if ticks_ms rolled over + } while (micros != supervisor_ticks_ms32()); //try again if ticks_ms rolled over return (micros * 1000) + (ticks_per_us * 1000 - sys_cycles) / ticks_per_us; } From 13375d16f11d86f8c7c77e6be209d914d35b6372 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Fri, 22 Nov 2019 15:44:51 -0500 Subject: [PATCH 37/79] change mpconfigport.mk files so they can be overriden by mpconfigboard.mk --- .../boards/kicksat-sprite/mpconfigboard.mk | 3 +- ports/atmel-samd/mpconfigport.mk | 23 ++++++++++- ports/nrf/mpconfigport.mk | 17 +++++++-- ports/stm32f4/mpconfigport.mk | 38 +++++++++++++++++++ 4 files changed, 74 insertions(+), 7 deletions(-) diff --git a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk index 93e483928b..453be3b5ee 100644 --- a/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk +++ b/ports/atmel-samd/boards/kicksat-sprite/mpconfigboard.mk @@ -12,8 +12,7 @@ INTERNAL_FLASH_FILESYSTEM = 1 LONGINT_IMPL = MPZ # Not needed. -CIRCUITPY_PS2IO = 0 -CIRCUITPY_NETWORK = 0 CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_DISPLAYIO = 0 CIRCUITPY_NETWORK = 0 +CIRCUITPY_PS2IO = 0 diff --git a/ports/atmel-samd/mpconfigport.mk b/ports/atmel-samd/mpconfigport.mk index 9e6693d55e..8958550060 100644 --- a/ports/atmel-samd/mpconfigport.mk +++ b/ports/atmel-samd/mpconfigport.mk @@ -16,10 +16,18 @@ endif # Put samd21-only choices here. ifeq ($(CHIP_FAMILY),samd21) -# frequencyio not yet verified as working on SAMD21. +# frequencyio not yet verified as working on SAMD21, though make it possible to override. +ifndef CIRCUITPY_AUDIOMIXER CIRCUITPY_AUDIOMIXER = 0 +endif + +ifndef CIRCUITPY_FREQUENCYIO CIRCUITPY_FREQUENCYIO = 0 +endif + +ifndef CIRCUITPY_TOUCHIO_USE_NATIVE CIRCUITPY_TOUCHIO_USE_NATIVE = 1 +endif # SAMD21 needs separate endpoint pairs for MSC BULK IN and BULK OUT, otherwise it's erratic. USB_MSC_EP_NUM_OUT = 1 @@ -27,11 +35,22 @@ endif # Put samd51-only choices here. ifeq ($(CHIP_FAMILY),samd51) +# No native touchio on SAMD51. +CIRCUITPY_TOUCHIO_USE_NATIVE = 0 + +ifndef CIRCUITPY_NETWORK CIRCUITPY_NETWORK = 1 MICROPY_PY_WIZNET5K = 5500 +endif + +ifndef CIRCUITPY_PS2IO CIRCUITPY_PS2IO = 1 +endif + +ifndef CIRCUITPY_SAMD CIRCUITPY_SAMD = 1 -CIRCUITPY_TOUCHIO_USE_NATIVE = 0 +endif + endif INTERNAL_LIBM = 1 diff --git a/ports/nrf/mpconfigport.mk b/ports/nrf/mpconfigport.mk index 02bde3effa..d070978b71 100644 --- a/ports/nrf/mpconfigport.mk +++ b/ports/nrf/mpconfigport.mk @@ -11,20 +11,31 @@ USB_SERIAL_NUMBER_LENGTH = 16 LONGINT_IMPL = MPZ # Audio via PWM +ifndef CIRCUITPY_AUDIOCORE CIRCUITPY_AUDIOCORE = 1 +endif + CIRCUITPY_AUDIOIO = 0 + +ifndef CIRCUITPY_AUDIOMIXER CIRCUITPY_AUDIOMIXER = 1 +endif + +ifndef CIRCUITPY_AUDIOPWMIO CIRCUITPY_AUDIOPWMIO = 1 +endif + +ifndef CIRCUITPY_AUDIOBUSIO CIRCUITPY_AUDIOBUSIO = 1 +endif # No I2CSlave implementation CIRCUITPY_I2CSLAVE = 0 -# enable NVM -CIRCUITPY_NVM = 1 - # enable RTC +ifndef CIRCUITPY_RTC CIRCUITPY_RTC = 1 +endif # frequencyio not yet implemented CIRCUITPY_FREQUENCYIO = 0 diff --git a/ports/stm32f4/mpconfigport.mk b/ports/stm32f4/mpconfigport.mk index 928d53e67c..3ae0daaa08 100644 --- a/ports/stm32f4/mpconfigport.mk +++ b/ports/stm32f4/mpconfigport.mk @@ -15,18 +15,56 @@ LONGINT_IMPL = MPZ #Reduced feature set for early port CIRCUITPY_MINIMAL_BUILD = 1 +# The ifndef's allow overriding in mpconfigboard.mk. + +ifndef CIRCUITPY_BOARD CIRCUITPY_BOARD = 1 +endif + +ifndef CIRCUITPY_DIGITALIO CIRCUITPY_DIGITALIO = 1 +endif + +ifndef CIRCUITPY_ANALOGIO CIRCUITPY_ANALOGIO = 1 +endif + +ifndef CIRCUITPY_MICROCONTROLLER CIRCUITPY_MICROCONTROLLER = 1 +endif + +ifndef CIRCUITPY_BUSIO CIRCUITPY_BUSIO = 1 +endif + +ifndef CIRCUITPY_PULSEIO CIRCUITPY_PULSEIO = 1 +endif + +ifndef CIRCUITPY_OS CIRCUITPY_OS = 1 +endif + +ifndef CIRCUITPY_STORAGE CIRCUITPY_STORAGE = 1 +endif + +ifndef CIRCUITPY_RANDOM CIRCUITPY_RANDOM = 1 +endif + +ifndef CRICUITPY_USB_HID CIRCUITPY_USB_HID = 1 +endif + +ifndef CIRCUITPY_USB_MIDI CIRCUITPY_USB_MIDI = 1 +endif + +ifndef CIRCUITPY_NEOPIXEL_WRITE CIRCUITPY_NEOPIXEL_WRITE = 1 +endif + #ifeq ($(MCU_SUB_VARIANT), stm32f412zx) #endif From 1ccb7b4c5e4706943f8ee721eb1880ecb337fecc Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Fri, 22 Nov 2019 16:30:10 -0500 Subject: [PATCH 38/79] cosmetic commit, mostly to re-run --- ports/atmel-samd/mpconfigport.mk | 2 ++ ports/nrf/mpconfigport.mk | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ports/atmel-samd/mpconfigport.mk b/ports/atmel-samd/mpconfigport.mk index 8958550060..df108664ad 100644 --- a/ports/atmel-samd/mpconfigport.mk +++ b/ports/atmel-samd/mpconfigport.mk @@ -38,6 +38,8 @@ ifeq ($(CHIP_FAMILY),samd51) # No native touchio on SAMD51. CIRCUITPY_TOUCHIO_USE_NATIVE = 0 +# The ifndef's allow overriding in mpconfigboard.mk. + ifndef CIRCUITPY_NETWORK CIRCUITPY_NETWORK = 1 MICROPY_PY_WIZNET5K = 5500 diff --git a/ports/nrf/mpconfigport.mk b/ports/nrf/mpconfigport.mk index d070978b71..f61d9f8eae 100644 --- a/ports/nrf/mpconfigport.mk +++ b/ports/nrf/mpconfigport.mk @@ -17,6 +17,8 @@ endif CIRCUITPY_AUDIOIO = 0 +# The ifndef's allow overriding in mpconfigboard.mk. + ifndef CIRCUITPY_AUDIOMIXER CIRCUITPY_AUDIOMIXER = 1 endif From 5823f5ed04d9a213d5aed463cc157dc93abb4050 Mon Sep 17 00:00:00 2001 From: Ayan Pahwa Date: Sat, 23 Nov 2019 20:43:24 +0530 Subject: [PATCH 39/79] Add \n to file end --- supervisor/shared/filesystem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervisor/shared/filesystem.c b/supervisor/shared/filesystem.c index 225dd8d047..d26491721a 100644 --- a/supervisor/shared/filesystem.c +++ b/supervisor/shared/filesystem.c @@ -73,11 +73,11 @@ static void make_empty_file(FATFS *fatfs, const char *path) { static void make_sample_code_file(FATFS *fatfs) { FIL fs; UINT *char_written = 0; - const byte buffer[] = "print('Hello World!')"; + const byte buffer[] = "print('Hello World!')\n"; //Create or modify existing code.py file f_open(fatfs, &fs, "/code.py", FA_WRITE | FA_CREATE_ALWAYS); - f_write(&fs, buffer, sizeof(buffer), char_written); + f_write(&fs, buffer, sizeof(buffer) - 1, char_written); f_close(&fs); } From 262cfd4ea3f80697baf8ca2ccfe63ec243c02870 Mon Sep 17 00:00:00 2001 From: Ayan Pahwa Date: Sat, 23 Nov 2019 20:47:30 +0530 Subject: [PATCH 40/79] Passing address of char_written at f_write --- supervisor/shared/filesystem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/supervisor/shared/filesystem.c b/supervisor/shared/filesystem.c index d26491721a..261c481727 100644 --- a/supervisor/shared/filesystem.c +++ b/supervisor/shared/filesystem.c @@ -72,12 +72,12 @@ static void make_empty_file(FATFS *fatfs, const char *path) { static void make_sample_code_file(FATFS *fatfs) { FIL fs; - UINT *char_written = 0; + UINT char_written = 0; const byte buffer[] = "print('Hello World!')\n"; //Create or modify existing code.py file f_open(fatfs, &fs, "/code.py", FA_WRITE | FA_CREATE_ALWAYS); - f_write(&fs, buffer, sizeof(buffer) - 1, char_written); + f_write(&fs, buffer, sizeof(buffer) - 1, &char_written); f_close(&fs); } From 180b485f8b109baf64252a4b9793a37377af8c25 Mon Sep 17 00:00:00 2001 From: Ayan Pahwa Date: Sat, 23 Nov 2019 20:58:33 +0530 Subject: [PATCH 41/79] Enable creation of code.py only for full builds --- supervisor/shared/filesystem.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/supervisor/shared/filesystem.c b/supervisor/shared/filesystem.c index 261c481727..b4f6d8bb9f 100644 --- a/supervisor/shared/filesystem.c +++ b/supervisor/shared/filesystem.c @@ -75,10 +75,15 @@ static void make_sample_code_file(FATFS *fatfs) { UINT char_written = 0; const byte buffer[] = "print('Hello World!')\n"; + #if CIRCUITPY_FULL_BUILD == 0 + make_empty_file(&vfs_fat->fatfs, "/code.py"); + + #else //Create or modify existing code.py file f_open(fatfs, &fs, "/code.py", FA_WRITE | FA_CREATE_ALWAYS); f_write(&fs, buffer, sizeof(buffer) - 1, &char_written); f_close(&fs); + #endif } // we don't make this function static because it needs a lot of stack and we From 19d122e546016f02b4315a5b4a35a3e6884e127f Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 25 Nov 2019 09:07:20 -0600 Subject: [PATCH 42/79] nrf: i2sout: Fix double-increment when copying samples This caused two problems when playing unsigned samples: * When an even number of samples were present, it "worked" but only every other sample was copied into the output, changing the waveform * When an odd number of samples were present, the copy continued beyond the end of the buffers and caused a hard fault --- ports/nrf/common-hal/audiobusio/I2SOut.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/nrf/common-hal/audiobusio/I2SOut.c b/ports/nrf/common-hal/audiobusio/I2SOut.c index ac369277f2..b8d7ec8a26 100644 --- a/ports/nrf/common-hal/audiobusio/I2SOut.c +++ b/ports/nrf/common-hal/audiobusio/I2SOut.c @@ -139,14 +139,14 @@ static void i2s_buffer_fill(audiobusio_i2sout_obj_t* self) { uint16_t *bp = (uint16_t*)buffer; uint16_t *be = (uint16_t*)(buffer + bytecount); uint16_t *sp = (uint16_t*)self->sample_data; - for (; bp != be; bp++) { + for (; bp != be;) { *bp++ = *sp++ + 0x8000; } } else { uint8_t *bp = (uint8_t*)buffer; uint8_t *be = (uint8_t*)(buffer + bytecount); uint8_t *sp = (uint8_t*)self->sample_data; - for (; bp != be; bp++) { + for (; bp != be;) { *bp++ = *sp++ + 0x80; } } From c9946dfd63c642fc5378b222b33171f5607fc324 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 25 Nov 2019 09:17:02 -0600 Subject: [PATCH 43/79] nrf: i2sout: Use <, not !=, for loop condition This is good C style, h/t @danh --- ports/nrf/common-hal/audiobusio/I2SOut.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ports/nrf/common-hal/audiobusio/I2SOut.c b/ports/nrf/common-hal/audiobusio/I2SOut.c index b8d7ec8a26..04c4151962 100644 --- a/ports/nrf/common-hal/audiobusio/I2SOut.c +++ b/ports/nrf/common-hal/audiobusio/I2SOut.c @@ -139,14 +139,14 @@ static void i2s_buffer_fill(audiobusio_i2sout_obj_t* self) { uint16_t *bp = (uint16_t*)buffer; uint16_t *be = (uint16_t*)(buffer + bytecount); uint16_t *sp = (uint16_t*)self->sample_data; - for (; bp != be;) { + for (; bp < be;) { *bp++ = *sp++ + 0x8000; } } else { uint8_t *bp = (uint8_t*)buffer; uint8_t *be = (uint8_t*)(buffer + bytecount); uint8_t *sp = (uint8_t*)self->sample_data; - for (; bp != be;) { + for (; bp < be;) { *bp++ = *sp++ + 0x80; } } From 5115fdaa6f651ae4e1236e5cf7194438fe1c0533 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 25 Nov 2019 09:53:55 -0600 Subject: [PATCH 44/79] shared-bindings: I2SOut: Ensure object is deinitialised (or deinitialized, for those of us on this side of the pond) Otherwise, a sequence like ``` audio = audiobusio.I2SOut(bit_clock=board.D6, word_select=board.D9, data=board.D10) sine_wave_sample = audiocore.RawSample(sine_wave) audio.play(sine_wave_sample, loop=True) del audio ``` could free the memory associated with audio without stopping the related background task. Later, when fresh objects are allocated within a now-freed memory region, they can get overwritten in the background task, leading to a hard crash. This presumably can affect multiple I2S implementations, but it was reported against the nRF one. --- shared-bindings/audiobusio/I2SOut.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shared-bindings/audiobusio/I2SOut.c b/shared-bindings/audiobusio/I2SOut.c index 81383c7776..8f7382fde5 100644 --- a/shared-bindings/audiobusio/I2SOut.c +++ b/shared-bindings/audiobusio/I2SOut.c @@ -117,7 +117,7 @@ STATIC mp_obj_t audiobusio_i2sout_make_new(const mp_obj_type_t *type, size_t n_a assert_pin(data_obj, false); const mcu_pin_obj_t *data = MP_OBJ_TO_PTR(data_obj); - audiobusio_i2sout_obj_t *self = m_new_obj(audiobusio_i2sout_obj_t); + audiobusio_i2sout_obj_t *self = m_new_obj_with_finaliser(audiobusio_i2sout_obj_t); self->base.type = &audiobusio_i2sout_type; common_hal_audiobusio_i2sout_construct(self, bit_clock, word_select, data, args[ARG_left_justified].u_bool); @@ -268,6 +268,7 @@ const mp_obj_property_t audiobusio_i2sout_paused_obj = { STATIC const mp_rom_map_elem_t audiobusio_i2sout_locals_dict_table[] = { // Methods + { MP_ROM_QSTR(MP_QSTR___del__), MP_ROM_PTR(&audiobusio_i2sout_deinit_obj) }, { MP_ROM_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&audiobusio_i2sout_deinit_obj) }, { MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&default___enter___obj) }, { MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&audiobusio_i2sout___exit___obj) }, From fc71ed9789243d4aec94eec7bdc13e3ac75319c2 Mon Sep 17 00:00:00 2001 From: Thomas Sarlandie Date: Fri, 15 Nov 2019 21:05:42 -0800 Subject: [PATCH 45/79] add shirtty board - hackaday supercon 2019 addon --- ports/atmel-samd/boards/shirtty/board.c | 37 ++++++++++ .../atmel-samd/boards/shirtty/mpconfigboard.h | 67 +++++++++++++++++++ .../boards/shirtty/mpconfigboard.mk | 15 +++++ ports/atmel-samd/boards/shirtty/pins.c | 36 ++++++++++ 4 files changed, 155 insertions(+) create mode 100644 ports/atmel-samd/boards/shirtty/board.c create mode 100644 ports/atmel-samd/boards/shirtty/mpconfigboard.h create mode 100644 ports/atmel-samd/boards/shirtty/mpconfigboard.mk create mode 100644 ports/atmel-samd/boards/shirtty/pins.c diff --git a/ports/atmel-samd/boards/shirtty/board.c b/ports/atmel-samd/boards/shirtty/board.c new file mode 100644 index 0000000000..d7e856d611 --- /dev/null +++ b/ports/atmel-samd/boards/shirtty/board.c @@ -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 "boards/board.h" + +void board_init(void) { +} + +bool board_requests_safe_mode(void) { + return false; +} + +void reset_board(void) { +} diff --git a/ports/atmel-samd/boards/shirtty/mpconfigboard.h b/ports/atmel-samd/boards/shirtty/mpconfigboard.h new file mode 100644 index 0000000000..d5ad8e4bd1 --- /dev/null +++ b/ports/atmel-samd/boards/shirtty/mpconfigboard.h @@ -0,0 +1,67 @@ +#define MICROPY_HW_BOARD_NAME "@sarfata shIRtty" +#define MICROPY_HW_MCU_NAME "samd21e18" + +#define MICROPY_HW_LED_STATUS (&pin_PA16) + +#define MICROPY_PORT_A (PORT_PA00 | PORT_PA01) +#define MICROPY_PORT_B (0) +#define MICROPY_PORT_C (0) + +#define CIRCUITPY_INTERNAL_NVM_SIZE 256 + +#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000 - CIRCUITPY_INTERNAL_NVM_SIZE) + +// #define IGNORE_PIN_PA00 1 +// #define IGNORE_PIN_PA01 1 +// #define IGNORE_PIN_PA02 1 +#define IGNORE_PIN_PA03 1 +#define IGNORE_PIN_PA04 1 +#define IGNORE_PIN_PA05 1 +#define IGNORE_PIN_PA11 1 +#define IGNORE_PIN_PA12 1 +#define IGNORE_PIN_PA13 1 +#define IGNORE_PIN_PA17 1 +#define IGNORE_PIN_PA18 1 +#define IGNORE_PIN_PA19 1 +#define IGNORE_PIN_PA20 1 +#define IGNORE_PIN_PA21 1 +#define IGNORE_PIN_PA22 1 +// USB is always used internally so skip the pin objects for it. +#define IGNORE_PIN_PA24 1 +#define IGNORE_PIN_PA25 1 +#define IGNORE_PIN_PA27 1 +#define IGNORE_PIN_PA28 1 +#define IGNORE_PIN_PA30 1 +#define IGNORE_PIN_PA31 1 +#define IGNORE_PIN_PB01 1 +#define IGNORE_PIN_PB02 1 +#define IGNORE_PIN_PB03 1 +#define IGNORE_PIN_PB04 1 +#define IGNORE_PIN_PB05 1 +#define IGNORE_PIN_PB06 1 +#define IGNORE_PIN_PB07 1 +#define IGNORE_PIN_PB08 1 +#define IGNORE_PIN_PB09 1 +#define IGNORE_PIN_PB10 1 +#define IGNORE_PIN_PB11 1 +#define IGNORE_PIN_PB12 1 +#define IGNORE_PIN_PB13 1 +#define IGNORE_PIN_PB14 1 +#define IGNORE_PIN_PB15 1 +#define IGNORE_PIN_PB16 1 +#define IGNORE_PIN_PB17 1 +#define IGNORE_PIN_PB22 1 +#define IGNORE_PIN_PB23 1 +#define IGNORE_PIN_PB30 1 +#define IGNORE_PIN_PB31 1 +#define IGNORE_PIN_PB00 1 + +#define DEFAULT_I2C_BUS_SCL (&pin_PA09) +#define DEFAULT_I2C_BUS_SDA (&pin_PA08) + +#define DEFAULT_SPI_BUS_SCK (&pin_PA07) +#define DEFAULT_SPI_BUS_MOSI (&pin_PA06) +#define DEFAULT_SPI_BUS_MISO (&pin_PA09) + +#define DEFAULT_UART_BUS_RX (&pin_PA07) +#define DEFAULT_UART_BUS_TX (&pin_PA06) diff --git a/ports/atmel-samd/boards/shirtty/mpconfigboard.mk b/ports/atmel-samd/boards/shirtty/mpconfigboard.mk new file mode 100644 index 0000000000..e713a36b73 --- /dev/null +++ b/ports/atmel-samd/boards/shirtty/mpconfigboard.mk @@ -0,0 +1,15 @@ +LD_FILE = boards/samd21x18-bootloader.ld +USB_VID = 0x239A +USB_PID = 0x801F +USB_PRODUCT = "shIRtty" +USB_MANUFACTURER = "@sarfata" + +CHIP_VARIANT = SAMD21E18A +CHIP_FAMILY = samd21 + +INTERNAL_FLASH_FILESYSTEM = 1 +LONGINT_IMPL = NONE +CIRCUITPY_SMALL_BUILD = 1 +CIRCUITPY_I2CSLAVE = 1 + +SUPEROPT_GC = 0 diff --git a/ports/atmel-samd/boards/shirtty/pins.c b/ports/atmel-samd/boards/shirtty/pins.c new file mode 100644 index 0000000000..40e8192341 --- /dev/null +++ b/ports/atmel-samd/boards/shirtty/pins.c @@ -0,0 +1,36 @@ +#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_PA08) }, + { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) }, + + { MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA10) }, + { MP_ROM_QSTR(MP_QSTR_IR_RX), MP_ROM_PTR(&pin_PA10) }, + + { MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA09) }, + { MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA09) }, + { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) }, + { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA09) }, + + { MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA07) }, + { MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA07) }, + { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA07) }, + { MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA07) }, + + { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA06) }, + { MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA06) }, + { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA06) }, + { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA06) }, + + { MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PA14) }, + { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA15) }, + { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA16) }, + + { MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA23) }, + { MP_ROM_QSTR(MP_QSTR_IR_TX), MP_ROM_PTR(&pin_PA23) }, + + { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, +}; +MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); From 3091952c9006327fddbcf1f8a77a6ec70bfaa5fc Mon Sep 17 00:00:00 2001 From: Thomas Sarlandie Date: Mon, 25 Nov 2019 17:58:00 +0100 Subject: [PATCH 46/79] ci: add shirtty to build matrix per instructions --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1d5793573f..bc22361bde 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -140,6 +140,7 @@ jobs: - "robohatmm1_m4" - "sam32" - "serpente" + - "shirtty" - "snekboard" - "sparkfun_lumidrive" - "sparkfun_nrf52840_mini" From 8f4bab2d2478719450fb6ddb2b695709388add69 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 25 Nov 2019 10:59:21 -0600 Subject: [PATCH 47/79] i2sout: Correctly retrieve channel_count The meaning of the "single channel" parameter is not well-documented, but in fact it seems that "true" must be passed or else the returned channel_count is always 1. This caused stereo samples to be played incorrectly. --- ports/nrf/common-hal/audiobusio/I2SOut.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/nrf/common-hal/audiobusio/I2SOut.c b/ports/nrf/common-hal/audiobusio/I2SOut.c index 04c4151962..4590356603 100644 --- a/ports/nrf/common-hal/audiobusio/I2SOut.c +++ b/ports/nrf/common-hal/audiobusio/I2SOut.c @@ -240,7 +240,7 @@ void common_hal_audiobusio_i2sout_play(audiobusio_i2sout_obj_t* self, uint32_t max_buffer_length; bool single_buffer, samples_signed; - audiosample_get_buffer_structure(sample, /* single channel */ false, + audiosample_get_buffer_structure(sample, /* single channel */ true, &single_buffer, &samples_signed, &max_buffer_length, &self->channel_count); self->single_buffer = single_buffer; From 9c6466cffb0ac3a303e49bd0b685a47807a30367 Mon Sep 17 00:00:00 2001 From: Ayan Pahwa Date: Mon, 25 Nov 2019 22:31:01 +0530 Subject: [PATCH 48/79] Fix build failure for boards with less memory --- supervisor/shared/filesystem.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/supervisor/shared/filesystem.c b/supervisor/shared/filesystem.c index b4f6d8bb9f..6745c496d5 100644 --- a/supervisor/shared/filesystem.c +++ b/supervisor/shared/filesystem.c @@ -71,14 +71,13 @@ static void make_empty_file(FATFS *fatfs, const char *path) { static void make_sample_code_file(FATFS *fatfs) { + #if CIRCUITPY_FULL_BUILD == 0 + make_empty_file(fatfs, "/code.py"); + + #else FIL fs; UINT char_written = 0; const byte buffer[] = "print('Hello World!')\n"; - - #if CIRCUITPY_FULL_BUILD == 0 - make_empty_file(&vfs_fat->fatfs, "/code.py"); - - #else //Create or modify existing code.py file f_open(fatfs, &fs, "/code.py", FA_WRITE | FA_CREATE_ALWAYS); f_write(&fs, buffer, sizeof(buffer) - 1, &char_written); From 47a6eaa297216d3d1120f99dbc6a574797384700 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 25 Nov 2019 11:43:29 -0600 Subject: [PATCH 49/79] nrf: i2sout: Assign SWIDTH The sample width register was never set, so all samples were played as though they were 16 bit. After this change, 8-bit samples no longer produce audio on the MAX 98357A BOB, because only 16-, 24-, and 32-bit samples are supported by the hardware. This will be addressed by a future change to pad samples to 16 bits; see #2323 and the 98357A datasheet page 6. --- ports/nrf/common-hal/audiobusio/I2SOut.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ports/nrf/common-hal/audiobusio/I2SOut.c b/ports/nrf/common-hal/audiobusio/I2SOut.c index 4590356603..1110c84463 100644 --- a/ports/nrf/common-hal/audiobusio/I2SOut.c +++ b/ports/nrf/common-hal/audiobusio/I2SOut.c @@ -246,6 +246,10 @@ void common_hal_audiobusio_i2sout_play(audiobusio_i2sout_obj_t* self, self->single_buffer = single_buffer; self->samples_signed = samples_signed; + + NRF_I2S->CONFIG.SWIDTH = self->bytes_per_sample == 1 + ? I2S_CONFIG_SWIDTH_SWIDTH_8Bit + : I2S_CONFIG_SWIDTH_SWIDTH_16Bit; choose_i2s_clocking(self, sample_rate); /* Allocate buffers based on a maximum duration * This duration was chosen empirically based on what would From 1ee35fd6fde6ef6e1aa9fd8d5d15cfd821f2a83d Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 25 Nov 2019 11:43:51 -0600 Subject: [PATCH 50/79] nrf: i2sout: move register settings closer together .. just for consistency's sake --- ports/nrf/common-hal/audiobusio/I2SOut.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ports/nrf/common-hal/audiobusio/I2SOut.c b/ports/nrf/common-hal/audiobusio/I2SOut.c index 1110c84463..9958e5f00b 100644 --- a/ports/nrf/common-hal/audiobusio/I2SOut.c +++ b/ports/nrf/common-hal/audiobusio/I2SOut.c @@ -250,6 +250,10 @@ void common_hal_audiobusio_i2sout_play(audiobusio_i2sout_obj_t* self, NRF_I2S->CONFIG.SWIDTH = self->bytes_per_sample == 1 ? I2S_CONFIG_SWIDTH_SWIDTH_8Bit : I2S_CONFIG_SWIDTH_SWIDTH_16Bit; + NRF_I2S->CONFIG.CHANNELS = self->channel_count == 1 + ? I2S_CONFIG_CHANNELS_CHANNELS_Left + : I2S_CONFIG_CHANNELS_CHANNELS_Stereo; + choose_i2s_clocking(self, sample_rate); /* Allocate buffers based on a maximum duration * This duration was chosen empirically based on what would @@ -273,9 +277,6 @@ void common_hal_audiobusio_i2sout_play(audiobusio_i2sout_obj_t* self, self->stopping = false; i2s_buffer_fill(self); - NRF_I2S->CONFIG.CHANNELS = self->channel_count == 1 ? I2S_CONFIG_CHANNELS_CHANNELS_Left : I2S_CONFIG_CHANNELS_CHANNELS_Stereo; - - NRF_I2S->RXTXD.MAXCNT = self->buffer_length / 4; NRF_I2S->ENABLE = I2S_ENABLE_ENABLE_Enabled; From 5e1740d11f9cc446611281210a89b68013be8090 Mon Sep 17 00:00:00 2001 From: Ayan Pahwa Date: Tue, 26 Nov 2019 00:06:03 +0530 Subject: [PATCH 51/79] Not creating code.py file for non-express boards --- supervisor/shared/filesystem.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/supervisor/shared/filesystem.c b/supervisor/shared/filesystem.c index 6745c496d5..a0c2b915fa 100644 --- a/supervisor/shared/filesystem.c +++ b/supervisor/shared/filesystem.c @@ -71,10 +71,7 @@ static void make_empty_file(FATFS *fatfs, const char *path) { static void make_sample_code_file(FATFS *fatfs) { - #if CIRCUITPY_FULL_BUILD == 0 - make_empty_file(fatfs, "/code.py"); - - #else + #if CIRCUITPY_FULL_BUILD == 1 FIL fs; UINT char_written = 0; const byte buffer[] = "print('Hello World!')\n"; From 718a28c886b996c7793ad563334070f5b7517477 Mon Sep 17 00:00:00 2001 From: Ayan Pahwa Date: Tue, 26 Nov 2019 01:13:46 +0530 Subject: [PATCH 52/79] update filesystem.c --- supervisor/shared/filesystem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/supervisor/shared/filesystem.c b/supervisor/shared/filesystem.c index a0c2b915fa..92727f6fb8 100644 --- a/supervisor/shared/filesystem.c +++ b/supervisor/shared/filesystem.c @@ -71,7 +71,7 @@ static void make_empty_file(FATFS *fatfs, const char *path) { static void make_sample_code_file(FATFS *fatfs) { - #if CIRCUITPY_FULL_BUILD == 1 + #if CIRCUITPY_FULL_BUILD FIL fs; UINT char_written = 0; const byte buffer[] = "print('Hello World!')\n"; From 11dc572bcea048f8b2bd6c055d6014101d2adc04 Mon Sep 17 00:00:00 2001 From: Thomas Sarlandie Date: Mon, 25 Nov 2019 21:56:42 +0100 Subject: [PATCH 53/79] feature: our own PID - thanks @ladyada --- ports/atmel-samd/boards/shirtty/mpconfigboard.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atmel-samd/boards/shirtty/mpconfigboard.mk b/ports/atmel-samd/boards/shirtty/mpconfigboard.mk index e713a36b73..1e5f415d30 100644 --- a/ports/atmel-samd/boards/shirtty/mpconfigboard.mk +++ b/ports/atmel-samd/boards/shirtty/mpconfigboard.mk @@ -1,6 +1,6 @@ LD_FILE = boards/samd21x18-bootloader.ld USB_VID = 0x239A -USB_PID = 0x801F +USB_PID = 0x806C USB_PRODUCT = "shIRtty" USB_MANUFACTURER = "@sarfata" From 8f24ea48fbddf19429e02a211bae62c3913e4f9d Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 26 Nov 2019 08:33:22 -0600 Subject: [PATCH 54/79] time: struct_time: allow construction from another struct_time This doesn't cover ALL the cases that CPython permits for construction of a struct_time, but it at least makes constructing from any namedtuple work. Closes: #2326 --- shared-bindings/time/__init__.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-bindings/time/__init__.c b/shared-bindings/time/__init__.c index 2654de09aa..7f9e5816ea 100644 --- a/shared-bindings/time/__init__.c +++ b/shared-bindings/time/__init__.c @@ -87,7 +87,7 @@ mp_obj_t struct_time_make_new(const mp_obj_type_t *type, size_t n_args, const mp if (n_args != 1 || (kw_args != NULL && kw_args->used > 0)) { mp_raise_TypeError(translate("time.struct_time() takes exactly 1 argument")); } - if (!MP_OBJ_IS_TYPE(args[0], &mp_type_tuple) || ((mp_obj_tuple_t*) MP_OBJ_TO_PTR(args[0]))->len != 9) { + if (mp_obj_get_type(args[0])->getiter != mp_obj_tuple_getiter || ((mp_obj_tuple_t*) MP_OBJ_TO_PTR(args[0]))->len != 9) { mp_raise_TypeError(translate("time.struct_time() takes a 9-sequence")); } From e188ae8b230c464d1deb4cc4a1e853c32d093c4d Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 26 Nov 2019 08:45:07 -0600 Subject: [PATCH 55/79] time: struct_time: allow construction like a namedtuple, too Whenever there is more than one argument, delegate the operation to namedtuple_make_new. This allows other circuitpython-compatible idioms, like with keywords time.struct_time(tm_year=2000, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=14, tm_wday=5, tm_yday=5, tm_isdst=-1) with 9 positional arguments, etc. The only vaguely plausible CPython behavior still not permitted in CircuitPython that I found is constructing a timetuple from a length-9 list, a la time.struct_time(list(time.localtime()) Even better, by getting rid of an error message, the build shrinks a tiny bit. --- shared-bindings/time/__init__.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-bindings/time/__init__.c b/shared-bindings/time/__init__.c index 7f9e5816ea..b3e4604b51 100644 --- a/shared-bindings/time/__init__.c +++ b/shared-bindings/time/__init__.c @@ -85,7 +85,7 @@ MP_DEFINE_CONST_FUN_OBJ_1(time_sleep_obj, time_sleep); #if MICROPY_PY_COLLECTIONS mp_obj_t struct_time_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *args, mp_map_t *kw_args) { if (n_args != 1 || (kw_args != NULL && kw_args->used > 0)) { - mp_raise_TypeError(translate("time.struct_time() takes exactly 1 argument")); + return namedtuple_make_new(type, n_args, args, kw_args); } if (mp_obj_get_type(args[0])->getiter != mp_obj_tuple_getiter || ((mp_obj_tuple_t*) MP_OBJ_TO_PTR(args[0]))->len != 9) { mp_raise_TypeError(translate("time.struct_time() takes a 9-sequence")); From 2e4a6b94e71edd3c27cb66eaa56aec9b1e42be33 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 21 Nov 2019 09:57:20 -0600 Subject: [PATCH 56/79] atmel-samd: get most constrained m0 builds to work again By tweaking the optimizer flags, we can get back a few hundred bytes and allow these builds to work with the gcc9 compiler. --- ports/atmel-samd/Makefile | 5 +++++ ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/pyruler/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk | 2 ++ 4 files changed, 11 insertions(+) diff --git a/ports/atmel-samd/Makefile b/ports/atmel-samd/Makefile index 11e6874edd..f26d1f53ec 100644 --- a/ports/atmel-samd/Makefile +++ b/ports/atmel-samd/Makefile @@ -122,7 +122,12 @@ else ifdef CFLAGS_INLINE_LIMIT CFLAGS += -finline-limit=$(CFLAGS_INLINE_LIMIT) endif + CFLAGS += -flto -flto-partition=none + + ifdef CFLAGS_BOARD + CFLAGS += $(CFLAGS_BOARD) + endif endif CFLAGS += $(INC) -Wall -Werror -std=gnu11 -nostdlib $(BASE_CFLAGS) $(CFLAGS_MOD) $(COPT) diff --git a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk index 686c9099fc..fe48db1411 100644 --- a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk @@ -29,3 +29,5 @@ SUPEROPT_GC = 0 FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_IRRemote + +CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=20 diff --git a/ports/atmel-samd/boards/pyruler/mpconfigboard.mk b/ports/atmel-samd/boards/pyruler/mpconfigboard.mk index 9663944a38..2fbc178afd 100644 --- a/ports/atmel-samd/boards/pyruler/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pyruler/mpconfigboard.mk @@ -12,3 +12,5 @@ LONGINT_IMPL = NONE CIRCUITPY_SMALL_BUILD = 1 SUPEROPT_GC = 0 + +CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=20 diff --git a/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk b/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk index b4a00b654a..7cbfc36305 100644 --- a/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk @@ -12,3 +12,5 @@ LONGINT_IMPL = NONE CIRCUITPY_SMALL_BUILD = 1 SUPEROPT_GC = 0 + +CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=20 From 3ed6de7bafb3e128a77af749492a1267fb208f3a Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 21 Nov 2019 09:57:20 -0600 Subject: [PATCH 57/79] atmel-samd: reduce inlining on pyruler again By tweaking the optimizer flags further, this build also fits --- ports/atmel-samd/boards/pyruler/mpconfigboard.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atmel-samd/boards/pyruler/mpconfigboard.mk b/ports/atmel-samd/boards/pyruler/mpconfigboard.mk index 2fbc178afd..44537cea76 100644 --- a/ports/atmel-samd/boards/pyruler/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pyruler/mpconfigboard.mk @@ -13,4 +13,4 @@ CIRCUITPY_SMALL_BUILD = 1 SUPEROPT_GC = 0 -CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=20 +CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=15 From 82f55dc046ace450a518ed3700cffa72e1183c4f Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Fri, 22 Nov 2019 14:27:44 -0600 Subject: [PATCH 58/79] atmel-samd: reduce inlining on constrained boards again pewpew10, pirkey_m0, and uchip all fit now. However, pirkey_m0 now has just 76 bytes flash available. --- ports/atmel-samd/boards/pewpew10/mpconfigboard.mk | 2 ++ ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk | 2 +- ports/atmel-samd/boards/uchip/mpconfigboard.mk | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk index e24a290519..f9094db913 100644 --- a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk @@ -23,3 +23,5 @@ CIRCUITPY_USB_MIDI = 0 SUPEROPT_GC = 0 FROZEN_MPY_DIRS += $(TOP)/frozen/pew-pewpew-standalone-10.x + +CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=15 diff --git a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk index fe48db1411..18a1ad8686 100644 --- a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk @@ -30,4 +30,4 @@ FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_IRRemote -CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=20 +CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=12 diff --git a/ports/atmel-samd/boards/uchip/mpconfigboard.mk b/ports/atmel-samd/boards/uchip/mpconfigboard.mk index 109492b764..3967b76ee9 100644 --- a/ports/atmel-samd/boards/uchip/mpconfigboard.mk +++ b/ports/atmel-samd/boards/uchip/mpconfigboard.mk @@ -10,3 +10,5 @@ CHIP_FAMILY = samd21 INTERNAL_FLASH_FILESYSTEM = 1 LONGINT_IMPL = NONE CIRCUITPY_SMALL_BUILD = 1 + +CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=20 From 58ad38a88ed3e7dc33ca911f889f5a6b3aebae22 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Tue, 26 Nov 2019 09:31:44 -0800 Subject: [PATCH 59/79] Remove DotStar from pIRkey M0 for now to free up space Once we use PixelBuf, the library will be much smaller. --- ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk index 686c9099fc..6ce25cf690 100644 --- a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk @@ -26,6 +26,6 @@ CIRCUITPY_SMALL_BUILD = 1 SUPEROPT_GC = 0 # Include these Python libraries in firmware. -FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar +# FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_IRRemote From 2647ea0754f891243664a34c8d1059a46d71d65c Mon Sep 17 00:00:00 2001 From: Thomas Sarlandie Date: Tue, 26 Nov 2019 19:26:18 +0100 Subject: [PATCH 60/79] fix: disable touchio to save some space --- ports/atmel-samd/boards/shirtty/mpconfigboard.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/atmel-samd/boards/shirtty/mpconfigboard.mk b/ports/atmel-samd/boards/shirtty/mpconfigboard.mk index 1e5f415d30..9f3710e5ae 100644 --- a/ports/atmel-samd/boards/shirtty/mpconfigboard.mk +++ b/ports/atmel-samd/boards/shirtty/mpconfigboard.mk @@ -11,5 +11,6 @@ INTERNAL_FLASH_FILESYSTEM = 1 LONGINT_IMPL = NONE CIRCUITPY_SMALL_BUILD = 1 CIRCUITPY_I2CSLAVE = 1 +CIRCUITPY_TOUCHIO = 0 SUPEROPT_GC = 0 From e77046d49b739129f6fb25b8494c368bc7aec948 Mon Sep 17 00:00:00 2001 From: Thea Flowers Date: Tue, 26 Nov 2019 10:59:12 -0800 Subject: [PATCH 61/79] Set USB_INTERFACE_NAME for winterbloom_sol --- ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk b/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk index aa94af6a40..1f624df998 100644 --- a/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk +++ b/ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk @@ -6,6 +6,7 @@ USB_VID = 0x239A USB_PID = 0x8062 USB_PRODUCT = "Sol" USB_MANUFACTURER = "Winterbloom" +USB_INTERFACE_NAME = "Sol" CHIP_VARIANT = SAMD51J20A CHIP_FAMILY = samd51 From d32dc814d3f0d3e845e54a043467f37a5908f5f0 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Tue, 26 Nov 2019 12:48:36 -0800 Subject: [PATCH 62/79] Fix ePaper so it works after a GC. We weren't correctly collecting the start and stop sequences. As a result, the GC would free the space and allocate other info there. Thanks to JacobT on Discord for the bug report! --- shared-module/displayio/EPaperDisplay.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/shared-module/displayio/EPaperDisplay.c b/shared-module/displayio/EPaperDisplay.c index df1d5162b7..252b39eb74 100644 --- a/shared-module/displayio/EPaperDisplay.c +++ b/shared-module/displayio/EPaperDisplay.c @@ -26,6 +26,7 @@ #include "shared-bindings/displayio/EPaperDisplay.h" +#include "py/gc.h" #include "py/runtime.h" #include "shared-bindings/displayio/ColorConverter.h" #include "shared-bindings/displayio/FourWire.h" @@ -298,7 +299,7 @@ bool displayio_epaperdisplay_refresh_area(displayio_epaperdisplay_obj_t* self, c } bool common_hal_displayio_epaperdisplay_refresh(displayio_epaperdisplay_obj_t* self) { - + if (self->refreshing && self->busy.base.type == &digitalio_digitalinout_type) { if (common_hal_digitalio_digitalinout_get_value(&self->busy) != self->busy_state) { self->refreshing = false; @@ -365,6 +366,8 @@ void release_epaperdisplay(displayio_epaperdisplay_obj_t* self) { void displayio_epaperdisplay_collect_ptrs(displayio_epaperdisplay_obj_t* self) { displayio_display_core_collect_ptrs(&self->core); + gc_collect_ptr(self->start_sequence); + gc_collect_ptr(self->stop_sequence); } bool maybe_refresh_epaperdisplay(void) { From 84e1d7f304fc92f69eb1120682fe91dff7188ddc Mon Sep 17 00:00:00 2001 From: Thea Flowers Date: Tue, 12 Nov 2019 12:33:52 -0800 Subject: [PATCH 63/79] Make the @micropython.native decorator no-op if support isn't enabled When adding the ability for boards to turn on the `@micropython.native`, `viper`, and `asm_thumb` decorators it was pointed out that it's somewhat awkward to write libraries and drivers that can take advantage of this since the decorators raise `SyntaxErrors` if they aren't enabled. In the case of `viper` and `asm_thumb` this behavior makes sense as they require writing non-normative code. Drivers could have a normal and viper/thumb implementation and implement them as such: ```python try: import _viper_impl as _impl except SyntaxError: import _python_impl as _impl def do_thing(): return _impl.do_thing() ``` For `native`, however, this behavior and the pattern to work around it is less than ideal. Since `native` code should also be valid Python code (although not necessarily the other way around) using the pattern above means *duplicating* the Python implementation and adding `@micropython.native` in the code. This is an unnecessary maintenance burden. This commit *modifies* the behavior of the `@micropython.native` decorator. On boards with `CIRCUITPY_ENABLE_MPY_NATIVE` turned on it operates as usual. On boards with it turned off it does *nothing*- it doesn't raise a `SyntaxError` and doesn't apply optimizations. This means we can write our drivers/libraries once and take advantage of speedups on boards where they are enabled. --- py/compile.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/py/compile.c b/py/compile.c index 8b17935bda..77715d3fe5 100644 --- a/py/compile.c +++ b/py/compile.c @@ -775,13 +775,22 @@ STATIC bool compile_built_in_decorator(compiler_t *comp, int name_len, mp_parse_ qstr attr = MP_PARSE_NODE_LEAF_ARG(name_nodes[1]); if (attr == MP_QSTR_bytecode) { *emit_options = MP_EMIT_OPT_BYTECODE; -#if MICROPY_EMIT_NATIVE + // @micropython.native decorator. } else if (attr == MP_QSTR_native) { + // Different from MicroPython: native doesn't raise SyntaxError if native support isn't + // compiled, it just passes through the function unmodified. + #if MICROPY_EMIT_NATIVE *emit_options = MP_EMIT_OPT_NATIVE_PYTHON; + #else + return true; + #endif + #if MICROPY_EMIT_NATIVE + // @micropython.viper decorator. } else if (attr == MP_QSTR_viper) { *emit_options = MP_EMIT_OPT_VIPER; -#endif + #endif #if MICROPY_EMIT_INLINE_ASM + // @micropython.asm_thumb decorator. } else if (attr == ASM_DECORATOR_QSTR) { *emit_options = MP_EMIT_OPT_ASM; #endif From b32a9192df04c6fb36027b2b9b3e0e3a3548005a Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 27 Nov 2019 12:52:11 -0500 Subject: [PATCH 64/79] make UART.write be blocking on SAMD; add timeout property --- ports/atmel-samd/common-hal/busio/UART.c | 36 +++++---- ports/cxd56/common-hal/busio/UART.c | 12 ++- ports/cxd56/common-hal/busio/UART.h | 2 +- ports/nrf/common-hal/busio/UART.c | 24 +++--- ports/stm32f4/common-hal/busio/UART.c | 98 +++++++++++++----------- shared-bindings/board/__init__.c | 6 ++ shared-bindings/busio/UART.c | 46 +++++++++-- shared-bindings/busio/UART.h | 3 +- shared-module/board/__init__.c | 2 +- 9 files changed, 144 insertions(+), 85 deletions(-) diff --git a/ports/atmel-samd/common-hal/busio/UART.c b/ports/atmel-samd/common-hal/busio/UART.c index 2505e894af..d869f70ff4 100644 --- a/ports/atmel-samd/common-hal/busio/UART.c +++ b/ports/atmel-samd/common-hal/busio/UART.c @@ -323,29 +323,23 @@ size_t common_hal_busio_uart_write(busio_uart_obj_t *self, const uint8_t *data, struct io_descriptor *io; usart_async_get_io_descriptor(usart_desc_p, &io); + // Start writing characters. This is non-blocking and will + // return immediately after setting up the write. if (io_write(io, data, len) < 0) { *errcode = MP_EAGAIN; return MP_STREAM_ERROR; } - // Wait until write is complete or timeout. - bool done = false; - uint64_t start_ticks = ticks_ms; - // Busy-wait for timeout. - while (ticks_ms - start_ticks < self->timeout_ms) { - if (usart_async_is_tx_empty(usart_desc_p)) { - done = true; + // Busy-wait until all characters transmitted. + struct usart_async_status async_status; + while (true) { + usart_async_get_status(usart_desc_p, &async_status); + if (async_status.txcnt >= len) { break; } RUN_BACKGROUND_TASKS; } - if (!done) { - *errcode = MP_EAGAIN; - return MP_STREAM_ERROR; - } - - // All the characters got written. return len; } @@ -368,6 +362,14 @@ void common_hal_busio_uart_set_baudrate(busio_uart_obj_t *self, uint32_t baudrat self->baudrate = baudrate; } +mp_float_t common_hal_busio_uart_get_timeout(busio_uart_obj_t *self) { + return (mp_float_t) (self->timeout_ms / 1000.0f); +} + +void common_hal_busio_uart_set_timeout(busio_uart_obj_t *self, mp_float_t timeout) { + self->timeout_ms = timeout * 1000; +} + uint32_t common_hal_busio_uart_rx_characters_available(busio_uart_obj_t *self) { // This assignment is only here because the usart_async routines take a *const argument. struct usart_async_descriptor * const usart_desc_p = (struct usart_async_descriptor * const) &self->usart_desc; @@ -383,12 +385,14 @@ void common_hal_busio_uart_clear_rx_buffer(busio_uart_obj_t *self) { } +// True if there are no characters still to be written. bool common_hal_busio_uart_ready_to_tx(busio_uart_obj_t *self) { if (self->tx_pin == NO_PIN) { return false; } // This assignment is only here because the usart_async routines take a *const argument. - const struct _usart_async_device * const usart_device_p = - (struct _usart_async_device * const) &self->usart_desc.device; - return _usart_async_is_byte_sent(usart_device_p); + struct usart_async_descriptor * const usart_desc_p = (struct usart_async_descriptor * const) &self->usart_desc; + struct usart_async_status async_status; + usart_async_get_status(usart_desc_p, &async_status); + return !(async_status.flags & USART_ASYNC_STATUS_BUSY); } diff --git a/ports/cxd56/common-hal/busio/UART.c b/ports/cxd56/common-hal/busio/UART.c index 4a1376f19a..6ae2403c13 100644 --- a/ports/cxd56/common-hal/busio/UART.c +++ b/ports/cxd56/common-hal/busio/UART.c @@ -102,7 +102,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self, self->tx_pin = tx; self->rx_pin = rx; self->baudrate = baudrate; - self->timeout = timeout; + self->timeout_us = timeout * 1000000; } void common_hal_busio_uart_deinit(busio_uart_obj_t *self) { @@ -135,7 +135,7 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t FD_SET(busio_uart_dev[self->number].fd, &rfds); tv.tv_sec = 0; - tv.tv_usec = self->timeout * 1000; + tv.tv_usec = self->timeout_us; retval = select(busio_uart_dev[self->number].fd + 1, &rfds, NULL, NULL, &tv); @@ -172,6 +172,14 @@ void common_hal_busio_uart_set_baudrate(busio_uart_obj_t *self, uint32_t baudrat ioctl(busio_uart_dev[self->number].fd, TCFLSH, (long unsigned int)NULL); } +mp_float_t common_hal_busio_uart_get_timeout(busio_uart_obj_t *self) { + return (mp_float_t) (self->timeout / 1000000.0f); +} + +void common_hal_busio_uart_set_timeout(busio_uart_obj_t *self, mp_float_t timeout) { + self->timeout_us = timeout * 1000000; +} + uint32_t common_hal_busio_uart_rx_characters_available(busio_uart_obj_t *self) { int count = 0; diff --git a/ports/cxd56/common-hal/busio/UART.h b/ports/cxd56/common-hal/busio/UART.h index e1d8161491..a69c470566 100644 --- a/ports/cxd56/common-hal/busio/UART.h +++ b/ports/cxd56/common-hal/busio/UART.h @@ -37,7 +37,7 @@ typedef struct { const mcu_pin_obj_t *tx_pin; const mcu_pin_obj_t *rx_pin; uint32_t baudrate; - uint32_t timeout; + uint32_t timeout_us; } busio_uart_obj_t; void busio_uart_reset(void); diff --git a/ports/nrf/common-hal/busio/UART.c b/ports/nrf/common-hal/busio/UART.c index 54a66ddbe7..a0ae8af00e 100644 --- a/ports/nrf/common-hal/busio/UART.c +++ b/ports/nrf/common-hal/busio/UART.c @@ -265,19 +265,6 @@ size_t common_hal_busio_uart_write (busio_uart_obj_t *self, const uint8_t *data, if ( len == 0 ) return 0; - uint64_t start_ticks = ticks_ms; - - // Wait for on-going transfer to complete - while ( nrfx_uarte_tx_in_progress(self->uarte) && (ticks_ms - start_ticks < self->timeout_ms) ) { - RUN_BACKGROUND_TASKS; - } - - // Time up - if ( !(ticks_ms - start_ticks < self->timeout_ms) ) { - *errcode = MP_EAGAIN; - return MP_STREAM_ERROR; - } - // EasyDMA can only access SRAM uint8_t * tx_buf = (uint8_t*) data; if ( !nrfx_is_in_ram(data) ) { @@ -290,7 +277,8 @@ size_t common_hal_busio_uart_write (busio_uart_obj_t *self, const uint8_t *data, _VERIFY_ERR(*errcode); (*errcode) = 0; - while ( nrfx_uarte_tx_in_progress(self->uarte) && (ticks_ms - start_ticks < self->timeout_ms) ) { + // Wait for write to complete. + while ( nrfx_uarte_tx_in_progress(self->uarte) ) { RUN_BACKGROUND_TASKS; } @@ -310,6 +298,14 @@ void common_hal_busio_uart_set_baudrate(busio_uart_obj_t *self, uint32_t baudrat nrf_uarte_baudrate_set(self->uarte->p_reg, get_nrf_baud(baudrate)); } +mp_float_t common_hal_busio_uart_get_timeout(busio_uart_obj_t *self) { + return (mp_float_t) (self->timeout_ms / 1000.0f); +} + +void common_hal_busio_uart_set_timeout(busio_uart_obj_t *self, mp_float_t timeout) { + self->timeout_ms = timeout * 1000; +} + uint32_t common_hal_busio_uart_rx_characters_available(busio_uart_obj_t *self) { return ringbuf_count(&self->rbuf); } diff --git a/ports/stm32f4/common-hal/busio/UART.c b/ports/stm32f4/common-hal/busio/UART.c index c4ab237cd1..f0e0cc9eb4 100644 --- a/ports/stm32f4/common-hal/busio/UART.c +++ b/ports/stm32f4/common-hal/busio/UART.c @@ -36,7 +36,7 @@ #include "supervisor/shared/translate.h" #include "tick.h" -#include "stm32f4xx_hal.h" +#include "stm32f4xx_hal.h" #define ALL_UARTS 0xFFFF @@ -55,7 +55,7 @@ void uart_reset(void) { uart_clock_disable(ALL_UARTS); } -STATIC USART_TypeDef * assign_uart_or_throw(busio_uart_obj_t* self, bool pin_eval, +STATIC USART_TypeDef * assign_uart_or_throw(busio_uart_obj_t* self, bool pin_eval, int uart_index, bool uart_taken) { if (pin_eval) { //assign a root pointer pointer for IRQ @@ -82,7 +82,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t* self, uint8_t rx_len = sizeof(mcu_uart_rx_list)/sizeof(*mcu_uart_rx_list); bool uart_taken = false; uint8_t uart_index = 0; //origin 0 corrected - + //Can have both pins, or either if ((tx != mp_const_none) && (rx != mp_const_none)) { //normal find loop if both pins exist @@ -90,7 +90,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t* self, if (mcu_uart_tx_list[i].pin == tx) { //rx for (uint j = 0; j < rx_len; j++) { - if (mcu_uart_rx_list[j].pin == rx + if (mcu_uart_rx_list[j].pin == rx && mcu_uart_rx_list[j].uart_index == mcu_uart_tx_list[i].uart_index) { //keep looking if the UART is taken, edge case if (reserved_uart[mcu_uart_tx_list[i].uart_index - 1]) { @@ -106,7 +106,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t* self, } } uart_index = self->tx->uart_index - 1; - USARTx = assign_uart_or_throw(self, (self->tx != NULL && self->rx != NULL), + USARTx = assign_uart_or_throw(self, (self->tx != NULL && self->rx != NULL), uart_index, uart_taken); } else if (tx == mp_const_none) { //If there is no tx, run only rx @@ -123,7 +123,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t* self, } } uart_index = self->rx->uart_index - 1; - USARTx = assign_uart_or_throw(self, (self->rx != NULL), + USARTx = assign_uart_or_throw(self, (self->rx != NULL), uart_index, uart_taken); } else if (rx == mp_const_none) { //If there is no rx, run only tx @@ -140,7 +140,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t* self, } } uart_index = self->tx->uart_index - 1; - USARTx = assign_uart_or_throw(self, (self->tx != NULL), + USARTx = assign_uart_or_throw(self, (self->tx != NULL), uart_index, uart_taken); } else { //both pins cannot be empty @@ -173,7 +173,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t* self, GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; - GPIO_InitStruct.Alternate = self->rx->altfn_index; + GPIO_InitStruct.Alternate = self->rx->altfn_index; HAL_GPIO_Init(pin_port(rx->port), &GPIO_InitStruct); } @@ -186,7 +186,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t* self, self->handle.Init.BaudRate = baudrate; self->handle.Init.WordLength = (bits == 9) ? UART_WORDLENGTH_9B : UART_WORDLENGTH_8B; self->handle.Init.StopBits = (stop > 1) ? UART_STOPBITS_2 : UART_STOPBITS_1; - self->handle.Init.Parity = (parity == PARITY_ODD) ? UART_PARITY_ODD : + self->handle.Init.Parity = (parity == PARITY_ODD) ? UART_PARITY_ODD : (parity == PARITY_EVEN) ? UART_PARITY_EVEN : UART_PARITY_NONE; self->handle.Init.Mode = (self->tx != NULL && self->rx != NULL) ? UART_MODE_TX_RX : @@ -234,7 +234,7 @@ bool common_hal_busio_uart_deinited(busio_uart_obj_t *self) { void common_hal_busio_uart_deinit(busio_uart_obj_t *self) { if (common_hal_busio_uart_deinited(self)) return; - + reset_pin_number(self->tx->pin->port,self->tx->pin->number); reset_pin_number(self->rx->pin->port,self->rx->pin->number); self->tx = mp_const_none; @@ -279,7 +279,7 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t *errcode = EAGAIN; return MP_STREAM_ERROR; } - return rx_bytes; + return rx_bytes; } // Write characters. @@ -290,13 +290,15 @@ size_t common_hal_busio_uart_write(busio_uart_obj_t *self, const uint8_t *data, bool write_err = false; //write error shouldn't disable interrupts HAL_NVIC_DisableIRQ(self->irq); - if (HAL_UART_Transmit(&self->handle, (uint8_t*)data, len, self->timeout_ms) != HAL_OK) { + if (HAL_UART_Transmit(&self->handle, (uint8_t*)data, len, HAL_MAX_DELAY) != HAL_OK) { write_err = true; } HAL_UART_Receive_IT(&self->handle, &self->rx_char, 1); HAL_NVIC_EnableIRQ(self->irq); - if (write_err) mp_raise_ValueError(translate("UART write error")); + if (write_err) { + mp_raise_ValueError(translate("UART write error")); + } return len; } @@ -312,7 +314,7 @@ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *handle) } ringbuf_put_n(&context->rbuf, &context->rx_char, 1); errflag = HAL_UART_Receive_IT(handle, &context->rx_char, 1); - + return; } } @@ -360,6 +362,14 @@ void common_hal_busio_uart_set_baudrate(busio_uart_obj_t *self, uint32_t baudrat self->baudrate = baudrate; } +mp_float_t common_hal_busio_uart_get_timeout(busio_uart_obj_t *self) { + return (mp_float_t) (self->timeout_ms / 1000.0f); +} + +void common_hal_busio_uart_set_timeout(busio_uart_obj_t *self, mp_float_t timeout) { + self->timeout_ms = timeout * 1000; +} + uint32_t common_hal_busio_uart_rx_characters_available(busio_uart_obj_t *self) { return ringbuf_count(&self->rbuf); } @@ -414,71 +424,71 @@ STATIC void uart_clock_enable(uint16_t mask) { if (mask & (1 << 0)) { __HAL_RCC_USART1_FORCE_RESET(); __HAL_RCC_USART1_RELEASE_RESET(); - __HAL_RCC_USART1_CLK_ENABLE(); + __HAL_RCC_USART1_CLK_ENABLE(); } #endif #ifdef USART2 if (mask & (1 << 1)) { __HAL_RCC_USART2_FORCE_RESET(); __HAL_RCC_USART2_RELEASE_RESET(); - __HAL_RCC_USART2_CLK_ENABLE(); + __HAL_RCC_USART2_CLK_ENABLE(); } #endif #ifdef USART3 if (mask & (1 << 2)) { __HAL_RCC_USART3_FORCE_RESET(); __HAL_RCC_USART3_RELEASE_RESET(); - __HAL_RCC_USART3_CLK_ENABLE(); + __HAL_RCC_USART3_CLK_ENABLE(); } #endif #ifdef UART4 if (mask & (1 << 3)) { __HAL_RCC_UART4_FORCE_RESET(); __HAL_RCC_UART4_RELEASE_RESET(); - __HAL_RCC_UART4_CLK_ENABLE(); + __HAL_RCC_UART4_CLK_ENABLE(); } #endif #ifdef UART5 if (mask & (1 << 4)) { __HAL_RCC_UART5_FORCE_RESET(); __HAL_RCC_UART5_RELEASE_RESET(); - __HAL_RCC_UART5_CLK_ENABLE(); + __HAL_RCC_UART5_CLK_ENABLE(); } #endif #ifdef USART6 if (mask & (1 << 5)) { __HAL_RCC_USART6_FORCE_RESET(); __HAL_RCC_USART6_RELEASE_RESET(); - __HAL_RCC_USART6_CLK_ENABLE(); - } + __HAL_RCC_USART6_CLK_ENABLE(); + } #endif #ifdef UART7 if (mask & (1 << 6)) { __HAL_RCC_UART7_FORCE_RESET(); __HAL_RCC_UART7_RELEASE_RESET(); - __HAL_RCC_UART7_CLK_ENABLE(); - } + __HAL_RCC_UART7_CLK_ENABLE(); + } #endif #ifdef UART8 if (mask & (1 << 7)) { __HAL_RCC_UART8_FORCE_RESET(); __HAL_RCC_UART8_RELEASE_RESET(); - __HAL_RCC_UART8_CLK_ENABLE(); - } + __HAL_RCC_UART8_CLK_ENABLE(); + } #endif #ifdef UART9 if (mask & (1 << 8)) { __HAL_RCC_UART9_FORCE_RESET(); __HAL_RCC_UART9_RELEASE_RESET(); - __HAL_RCC_UART9_CLK_ENABLE(); - } + __HAL_RCC_UART9_CLK_ENABLE(); + } #endif #ifdef UART10 if (mask & (1 << 9)) { __HAL_RCC_UART10_FORCE_RESET(); __HAL_RCC_UART10_RELEASE_RESET(); - __HAL_RCC_UART10_CLK_ENABLE(); - } + __HAL_RCC_UART10_CLK_ENABLE(); + } #endif } @@ -487,71 +497,71 @@ STATIC void uart_clock_disable(uint16_t mask) { if (mask & (1 << 0)) { __HAL_RCC_USART1_FORCE_RESET(); __HAL_RCC_USART1_RELEASE_RESET(); - __HAL_RCC_USART1_CLK_DISABLE(); + __HAL_RCC_USART1_CLK_DISABLE(); } #endif #ifdef USART2 if (mask & (1 << 1)) { __HAL_RCC_USART2_FORCE_RESET(); __HAL_RCC_USART2_RELEASE_RESET(); - __HAL_RCC_USART2_CLK_DISABLE(); + __HAL_RCC_USART2_CLK_DISABLE(); } #endif #ifdef USART3 if (mask & (1 << 2)) { __HAL_RCC_USART3_FORCE_RESET(); __HAL_RCC_USART3_RELEASE_RESET(); - __HAL_RCC_USART3_CLK_DISABLE(); + __HAL_RCC_USART3_CLK_DISABLE(); } #endif #ifdef UART4 if (mask & (1 << 3)) { __HAL_RCC_UART4_FORCE_RESET(); __HAL_RCC_UART4_RELEASE_RESET(); - __HAL_RCC_UART4_CLK_DISABLE(); + __HAL_RCC_UART4_CLK_DISABLE(); } #endif #ifdef UART5 if (mask & (1 << 4)) { __HAL_RCC_UART5_FORCE_RESET(); __HAL_RCC_UART5_RELEASE_RESET(); - __HAL_RCC_UART5_CLK_DISABLE(); + __HAL_RCC_UART5_CLK_DISABLE(); } #endif #ifdef USART6 if (mask & (1 << 5)) { __HAL_RCC_USART6_FORCE_RESET(); __HAL_RCC_USART6_RELEASE_RESET(); - __HAL_RCC_USART6_CLK_DISABLE(); - } + __HAL_RCC_USART6_CLK_DISABLE(); + } #endif #ifdef UART7 if (mask & (1 << 6)) { __HAL_RCC_UART7_FORCE_RESET(); __HAL_RCC_UART7_RELEASE_RESET(); - __HAL_RCC_UART7_CLK_DISABLE(); - } + __HAL_RCC_UART7_CLK_DISABLE(); + } #endif #ifdef UART8 if (mask & (1 << 7)) { __HAL_RCC_UART8_FORCE_RESET(); __HAL_RCC_UART8_RELEASE_RESET(); - __HAL_RCC_UART8_CLK_DISABLE(); - } + __HAL_RCC_UART8_CLK_DISABLE(); + } #endif #ifdef UART9 if (mask & (1 << 8)) { __HAL_RCC_UART9_FORCE_RESET(); __HAL_RCC_UART9_RELEASE_RESET(); - __HAL_RCC_UART9_CLK_DISABLE(); - } + __HAL_RCC_UART9_CLK_DISABLE(); + } #endif #ifdef UART10 if (mask & (1 << 9)) { __HAL_RCC_UART10_FORCE_RESET(); __HAL_RCC_UART10_RELEASE_RESET(); - __HAL_RCC_UART10_CLK_DISABLE(); - } + __HAL_RCC_UART10_CLK_DISABLE(); + } #endif } diff --git a/shared-bindings/board/__init__.c b/shared-bindings/board/__init__.c index 47e2d64bc8..3dda59fb8e 100644 --- a/shared-bindings/board/__init__.c +++ b/shared-bindings/board/__init__.c @@ -93,6 +93,12 @@ MP_DEFINE_CONST_FUN_OBJ_0(board_spi_obj, board_spi); //| //| Returns the `busio.UART` object for the board designated TX and RX pins. It is a singleton. //| +//| The object created uses the default parameter values for `busio.UART`. If you need to set +//| parameters that are not changeable after creation, such as ``receiver_buffer_size``, +//| do not use `board.UART()`; instead create a `busio.UART` object explicitly with the +//| desired parameters. +//| +//| #if BOARD_UART mp_obj_t board_uart(void) { mp_obj_t singleton = common_hal_board_get_uart(); diff --git a/shared-bindings/busio/UART.c b/shared-bindings/busio/UART.c index c7eef8c438..9606c77e9e 100644 --- a/shared-bindings/busio/UART.c +++ b/shared-bindings/busio/UART.c @@ -57,7 +57,7 @@ //| :param int bits: the number of bits per byte, 7, 8 or 9. //| :param Parity parity: the parity used for error checking. //| :param int stop: the number of stop bits, 1 or 2. -//| :param float timeout: the timeout in seconds to wait for the first character and between subsequent characters. Raises ``ValueError`` if timeout >100 seconds. +//| :param float timeout: the timeout in seconds to wait for the first character and between subsequent characters when reading. Raises ``ValueError`` if timeout >100 seconds. //| :param int receiver_buffer_size: the character length of the read buffer (0 to disable). (When a character is 9 bits the buffer will be 2 * receiver_buffer_size bytes.) //| //| *New in CircuitPython 4.0:* ``timeout`` has incompatibly changed units from milliseconds to seconds. @@ -69,6 +69,12 @@ typedef struct { extern const busio_uart_parity_obj_t busio_uart_parity_even_obj; extern const busio_uart_parity_obj_t busio_uart_parity_odd_obj; +STATIC void validate_timeout(mp_float_t timeout) { + if (timeout < (mp_float_t) 0.0f || timeout > (mp_float_t) 100.0f) { + mp_raise_ValueError(translate("timeout must be 0.0-100.0 (units are now seconds, not msecs)")); + } +} + STATIC mp_obj_t busio_uart_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { // Always initially allocate the UART object within the long-lived heap. // This is needed to avoid crashes with certain UART implementations which @@ -116,9 +122,7 @@ STATIC mp_obj_t busio_uart_make_new(const mp_obj_type_t *type, size_t n_args, co } mp_float_t timeout = mp_obj_get_float(args[ARG_timeout].u_obj); - if (timeout > (mp_float_t)100.0) { - mp_raise_ValueError(translate("timeout >100 (units are now seconds, not msecs)")); - } + validate_timeout(timeout); common_hal_busio_uart_construct(self, tx, rx, args[ARG_baudrate].u_int, bits, parity, stop, timeout, @@ -286,6 +290,35 @@ const mp_obj_property_t busio_uart_in_waiting_obj = { (mp_obj_t)&mp_const_none_obj}, }; +//| .. attribute:: timeout +//| +//| The current timeout, in seconds (float). +//| +STATIC mp_obj_t busio_uart_obj_get_timeout(mp_obj_t self_in) { + busio_uart_obj_t *self = MP_OBJ_TO_PTR(self_in); + check_for_deinit(self); + return mp_obj_new_float(common_hal_busio_uart_get_timeout(self)); +} +MP_DEFINE_CONST_FUN_OBJ_1(busio_uart_get_timeout_obj, busio_uart_obj_get_timeout); + +STATIC mp_obj_t busio_uart_obj_set_timeout(mp_obj_t self_in, mp_obj_t timeout) { + busio_uart_obj_t *self = MP_OBJ_TO_PTR(self_in); + check_for_deinit(self); + mp_float_t timeout_float = mp_obj_get_float(timeout); + validate_timeout(timeout_float); + common_hal_busio_uart_set_timeout(self, timeout_float); + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_2(busio_uart_set_timeout_obj, busio_uart_obj_set_timeout); + + +const mp_obj_property_t busio_uart_timeout_obj = { + .base.type = &mp_type_property, + .proxy = {(mp_obj_t)&busio_uart_get_timeout_obj, + (mp_obj_t)&busio_uart_set_timeout_obj, + (mp_obj_t)&mp_const_none_obj}, +}; + //| .. method:: reset_input_buffer() //| //| Discard any unread characters in the input buffer. @@ -355,8 +388,9 @@ STATIC const mp_rom_map_elem_t busio_uart_locals_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_reset_input_buffer), MP_ROM_PTR(&busio_uart_reset_input_buffer_obj) }, // Properties - { MP_ROM_QSTR(MP_QSTR_baudrate), MP_ROM_PTR(&busio_uart_baudrate_obj) }, - { MP_ROM_QSTR(MP_QSTR_in_waiting), MP_ROM_PTR(&busio_uart_in_waiting_obj) }, + { MP_ROM_QSTR(MP_QSTR_baudrate), MP_ROM_PTR(&busio_uart_baudrate_obj) }, + { MP_ROM_QSTR(MP_QSTR_in_waiting), MP_ROM_PTR(&busio_uart_in_waiting_obj) }, + { MP_ROM_QSTR(MP_QSTR_timeout), MP_ROM_PTR(&busio_uart_timeout_obj) }, // Nested Enum-like Classes. { MP_ROM_QSTR(MP_QSTR_Parity), MP_ROM_PTR(&busio_uart_parity_type) }, diff --git a/shared-bindings/busio/UART.h b/shared-bindings/busio/UART.h index 776a996be8..cfd2c800c3 100644 --- a/shared-bindings/busio/UART.h +++ b/shared-bindings/busio/UART.h @@ -57,7 +57,8 @@ extern size_t common_hal_busio_uart_write(busio_uart_obj_t *self, extern uint32_t common_hal_busio_uart_get_baudrate(busio_uart_obj_t *self); extern void common_hal_busio_uart_set_baudrate(busio_uart_obj_t *self, uint32_t baudrate); - +extern mp_float_t common_hal_busio_uart_get_timeout(busio_uart_obj_t *self); +extern void common_hal_busio_uart_set_timeout(busio_uart_obj_t *self, mp_float_t timeout); extern uint32_t common_hal_busio_uart_rx_characters_available(busio_uart_obj_t *self); extern void common_hal_busio_uart_clear_rx_buffer(busio_uart_obj_t *self); diff --git a/shared-module/board/__init__.c b/shared-module/board/__init__.c index dd07d7190c..914bc43137 100644 --- a/shared-module/board/__init__.c +++ b/shared-module/board/__init__.c @@ -101,7 +101,7 @@ mp_obj_t common_hal_board_create_uart(void) { const mcu_pin_obj_t* rx = MP_OBJ_TO_PTR(DEFAULT_UART_BUS_RX); const mcu_pin_obj_t* tx = MP_OBJ_TO_PTR(DEFAULT_UART_BUS_TX); - common_hal_busio_uart_construct(self, tx, rx, 9600, 8, PARITY_NONE, 1, 1000, 64); + common_hal_busio_uart_construct(self, tx, rx, 9600, 8, PARITY_NONE, 1, 1.0f, 64); MP_STATE_VM(shared_uart_bus) = MP_OBJ_FROM_PTR(self); return MP_STATE_VM(shared_uart_bus); } From 778a7a73e55b906cca170f9bfc961b87c18b4455 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 27 Nov 2019 13:13:29 -0500 Subject: [PATCH 65/79] make translate --- locale/ID.po | 20 ++++++++------------ locale/circuitpython.pot | 8 ++------ locale/de_DE.po | 19 ++----------------- locale/en_US.po | 8 ++------ locale/en_x_pirate.po | 8 ++------ locale/es.po | 26 ++++++++++---------------- locale/fil.po | 28 +++++++++++++++------------- locale/fr.po | 31 +++++++++++++++---------------- locale/it_IT.po | 25 +++++++++++-------------- locale/ko.po | 8 ++------ locale/pl.po | 25 +++++++++---------------- locale/pt_BR.po | 20 ++++++++------------ locale/zh_Latn_pinyin.po | 28 +++++++++------------------- 13 files changed, 95 insertions(+), 159 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index fdbf3863bb..55dd77d54c 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2454,12 +2454,8 @@ msgstr "" msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c @@ -2734,7 +2730,7 @@ msgstr "" #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Gagal untuk melaporkan nilai atribut, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX" @@ -2742,11 +2738,11 @@ msgstr "" #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "Gagal untuk menambahkan Vendor Spesific UUID, status: 0x%08lX" @@ -2766,7 +2762,7 @@ msgstr "" #~ msgid "Failed to start scanning" #~ msgstr "Gagal untuk melakukan scanning, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "Gagal untuk melakukan scanning, status: 0x%08lX" @@ -2778,11 +2774,11 @@ msgstr "" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "Gagal untuk menulis nilai atribut, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX" diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 24278f33c1..0fbb0d5cb9 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2423,12 +2423,8 @@ msgstr "" msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/de_DE.po b/locale/de_DE.po index ff4edd3705..6f0e57978a 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -2484,12 +2484,8 @@ msgstr "threshold muss im Intervall 0-65536 liegen" msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c @@ -2720,7 +2716,6 @@ msgstr "" #~ msgid "Characteristic already in use by another Service." #~ msgstr "Characteristic wird bereits von einem anderen Dienst verwendet." -#, c-format #~ msgid "Could not decode ble_uuid, err 0x%04x" #~ msgstr "Konnte ble_uuid nicht decodieren. Status: 0x%04x" @@ -2749,7 +2744,6 @@ msgstr "" #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Hinzufügen des Characteristic ist gescheitert. Status: 0x%04x" -#, c-format #~ msgid "Failed to add descriptor, err 0x%04x" #~ msgstr "Deskriptor konnte nicht hinzugefügt werden. Status: 0x%04x" @@ -2789,22 +2783,18 @@ msgstr "" #~ msgid "Failed to pair" #~ msgstr "Koppeln fehlgeschlagen" -#, c-format #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "Kann CCCD value nicht lesen. Status: 0x%04x" #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Kann den Attributwert nicht lesen. Status: 0x%04x" -#, c-format #~ msgid "Failed to read attribute value, err 0x%04x" #~ msgstr "Kann Attributwert nicht lesen, Status: 0x%04x" -#, c-format #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "gatts value konnte nicht gelesen werden. Status: 0x%04x" -#, c-format #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "Kann keine herstellerspezifische UUID hinzufügen. Status: 0x%04x" @@ -2820,7 +2810,6 @@ msgstr "" #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Kann advertisement nicht starten. Status: 0x%04x" -#, c-format #~ msgid "Failed to start connecting, error 0x%04x" #~ msgstr "Verbindung konnte nicht hergestellt werden. Status: 0x%04x" @@ -2830,7 +2819,6 @@ msgstr "" #~ msgid "Failed to start scanning" #~ msgstr "Der Scanvorgang kann nicht gestartet werden" -#, c-format #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "Der Scanvorgang kann nicht gestartet werden. Status: 0x%04x" @@ -2840,15 +2828,12 @@ msgstr "" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Kann advertisement nicht stoppen. Status: 0x%04x" -#, c-format #~ msgid "Failed to write CCCD, err 0x%04x" #~ msgstr "Konnte CCCD nicht schreiben, Status: 0x%04x" -#, c-format #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "Kann den Attributwert nicht schreiben. Status: 0x%04x" -#, c-format #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "gatts value konnte nicht geschrieben werden. Status: 0x%04x" diff --git a/locale/en_US.po b/locale/en_US.po index b8025aa98e..4f07b2aa4c 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -2423,12 +2423,8 @@ msgstr "" msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/en_x_pirate.po b/locale/en_x_pirate.po index a307167aad..1593d935ea 100644 --- a/locale/en_x_pirate.po +++ b/locale/en_x_pirate.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: @sommersoft, @MrCertainly\n" @@ -2427,12 +2427,8 @@ msgstr "" msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/es.po b/locale/es.po index 07ad7fe1b3..e71527cb27 100644 --- a/locale/es.po +++ b/locale/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -2487,13 +2487,9 @@ msgstr "limite debe ser en el rango 0-65536" msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() toma un sequencio 9" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() acepta exactamente 1 argumento" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" -msgstr "timepo muerto >100 (unidades en segundos)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c msgid "timeout must be >= 0.0" @@ -2718,7 +2714,6 @@ msgstr "paso cero" #~ msgid "Characteristic already in use by another Service." #~ msgstr "Características ya esta en uso por otro Serivice" -#, c-format #~ msgid "Could not decode ble_uuid, err 0x%04x" #~ msgstr "No se puede descodificar ble_uuid, err 0x%04x" @@ -2785,11 +2780,9 @@ msgstr "paso cero" #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "No se puede notificar el valor del anuncio. status: 0x%02x" -#, c-format #~ msgid "Failed to notify or indicate attribute value, err 0x%04x" #~ msgstr "Error al notificar o indicar el valor del atributo, err 0x%04x" -#, c-format #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "No se puede leer el valor del atributo. err 0x%02x" @@ -2797,15 +2790,13 @@ msgstr "paso cero" #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "No se puede leer el valor del atributo. status 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read attribute value, err 0x%04x" #~ msgstr "Error al leer valor del atributo, err 0x%04" -#, c-format #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "No se puede escribir el valor del atributo. status: 0x%02x" -#, c-format #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "Fallo al registrar el Vendor-Specific UUID, err 0x%04x" @@ -2824,7 +2815,6 @@ msgstr "paso cero" #~ msgid "Failed to start scanning" #~ msgstr "No se puede iniciar el escaneo. status: 0x%02x" -#, c-format #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "No se puede iniciar el escaneo. err 0x%04x" @@ -2835,11 +2825,9 @@ msgstr "paso cero" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "No se puede detener el anuncio. err: 0x%04x" -#, c-format #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "No se puede escribir el valor del atributo. err: 0x%04x" -#, c-format #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "No se puede escribir el valor del atributo. err: 0x%04x" @@ -3039,6 +3027,12 @@ msgstr "paso cero" #~ msgid "tile index out of bounds" #~ msgstr "el indice del tile fuera de limite" +#~ msgid "time.struct_time() takes exactly 1 argument" +#~ msgstr "time.struct_time() acepta exactamente 1 argumento" + +#~ msgid "timeout >100 (units are now seconds, not msecs)" +#~ msgstr "timepo muerto >100 (unidades en segundos)" + #~ msgid "too many arguments" #~ msgstr "muchos argumentos" diff --git a/locale/fil.po b/locale/fil.po index 8cf49583ac..90d2bc54bb 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -2495,13 +2495,9 @@ msgstr "ang threshold ay dapat sa range 0-65536" msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() kumukuha ng 9-sequence" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() kumukuha ng 1 argument" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" -msgstr "timeout >100 (units ay seconds, hindi na msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c #, fuzzy @@ -2789,7 +2785,7 @@ msgstr "zero step" #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Hindi mabalitaan ang attribute value, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX" @@ -2797,11 +2793,11 @@ msgstr "zero step" #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "" #~ "Hindi matagumpay ang paglagay ng Vender Specific UUID, status: 0x%08lX" @@ -2822,7 +2818,7 @@ msgstr "zero step" #~ msgid "Failed to start scanning" #~ msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX" @@ -2834,11 +2830,11 @@ msgstr "zero step" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Hindi mahinto ang advertisement, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "Hindi maisulat ang attribute value, status: 0x%08lX" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "Hindi maisulat ang gatts value, status: 0x%08lX" @@ -3006,6 +3002,12 @@ msgstr "zero step" #~ msgid "scan failed" #~ msgstr "nabigo ang pag-scan" +#~ msgid "time.struct_time() takes exactly 1 argument" +#~ msgstr "time.struct_time() kumukuha ng 1 argument" + +#~ msgid "timeout >100 (units are now seconds, not msecs)" +#~ msgstr "timeout >100 (units ay seconds, hindi na msecs)" + #~ msgid "too many arguments" #~ msgstr "masyadong maraming argumento" diff --git a/locale/fr.po b/locale/fr.po index 3a3f81653c..c6987c1615 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2019-04-14 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -2535,13 +2535,9 @@ msgstr "le seuil doit être dans la gamme 0-65536" msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() prend une séquence de longueur 9" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() prend exactement 1 argument" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" -msgstr "timeout >100 (exprimé en secondes, pas en ms)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c #, fuzzy @@ -2769,7 +2765,6 @@ msgstr "'step' nul" #~ msgid "Characteristic already in use by another Service." #~ msgstr "'Characteristic' déjà en utilisation par un autre service" -#, c-format #~ msgid "Could not decode ble_uuid, err 0x%04x" #~ msgstr "Impossible de décoder le 'ble_uuid', err 0x%04x" @@ -2840,12 +2835,11 @@ msgstr "'step' nul" #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Impossible de notifier la valeur de l'attribut. status: 0x%08lX" -#, c-format #~ msgid "Failed to notify or indicate attribute value, err 0x%04x" #~ msgstr "" #~ "Impossible de notifier ou d'indiquer la valeur de l'attribut, err 0x%04x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "Impossible de lire la valeur 'CCCD', err 0x%04x" @@ -2853,15 +2847,14 @@ msgstr "'step' nul" #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Impossible de lire la valeur de l'attribut. status: 0x%08lX" -#, c-format #~ msgid "Failed to read attribute value, err 0x%04x" #~ msgstr "Impossible de lire la valeur de l'attribut, err 0x%04x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "Impossible de lire la valeur de 'gatts', err 0x%04x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "Echec de l'ajout de l'UUID du fournisseur, err 0x%04x" @@ -2881,7 +2874,7 @@ msgstr "'step' nul" #~ msgid "Failed to start scanning" #~ msgstr "Impossible de commencer à scanner" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "Impossible de commencer à scanner, err 0x%04x" @@ -2893,11 +2886,11 @@ msgstr "'step' nul" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Echec de l'arrêt de diffusion, err 0x%04x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "Impossible d'écrire la valeur de l'attribut, err 0x%04x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "Impossible d'écrire la valeur de 'gatts', err 0x%04x" @@ -3091,6 +3084,12 @@ msgstr "'step' nul" #~ msgid "tile index out of bounds" #~ msgstr "indice de tuile hors limites" +#~ msgid "time.struct_time() takes exactly 1 argument" +#~ msgstr "time.struct_time() prend exactement 1 argument" + +#~ msgid "timeout >100 (units are now seconds, not msecs)" +#~ msgstr "timeout >100 (exprimé en secondes, pas en ms)" + #~ msgid "too many arguments" #~ msgstr "trop d'arguments" diff --git a/locale/it_IT.po b/locale/it_IT.po index 30d843142c..9c72bd6071 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -2494,12 +2494,8 @@ msgstr "la soglia deve essere nell'intervallo 0-65536" msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() prende esattamente un argomento" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c @@ -2790,11 +2786,10 @@ msgstr "zero step" #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Impossibile notificare valore dell'attributo. status: 0x%02x" -#, c-format #~ msgid "Failed to notify or indicate attribute value, err 0x%04x" #~ msgstr "Notificamento o indicazione di attribute value fallito, err 0x%04x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" @@ -2802,15 +2797,14 @@ msgstr "zero step" #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x" -#, c-format #~ msgid "Failed to read attribute value, err 0x%04x" #~ msgstr "Tentative leggere attribute value fallito, err 0x%04x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "Non è possibile aggiungere l'UUID del vendor specifico da 128-bit" @@ -2830,7 +2824,7 @@ msgstr "zero step" #~ msgid "Failed to start scanning" #~ msgstr "Impossible iniziare la scansione. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "Impossible iniziare la scansione. status: 0x%02x" @@ -2842,11 +2836,11 @@ msgstr "zero step" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Impossibile fermare advertisement. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x" @@ -3008,6 +3002,9 @@ msgstr "zero step" #~ msgid "scan failed" #~ msgstr "scansione fallita" +#~ msgid "time.struct_time() takes exactly 1 argument" +#~ msgstr "time.struct_time() prende esattamente un argomento" + #~ msgid "too many arguments" #~ msgstr "troppi argomenti" diff --git a/locale/ko.po b/locale/ko.po index 1452bd7e70..868bb640ad 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2019-05-06 14:22-0700\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" @@ -2428,12 +2428,8 @@ msgstr "" msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/pl.po b/locale/pl.po index ed57964325..857d7f7ab4 100644 --- a/locale/pl.po +++ b/locale/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2019-03-19 18:37-0700\n" "Last-Translator: Radomir Dopieralski \n" "Language-Team: pl\n" @@ -2450,13 +2450,9 @@ msgstr "threshold musi być w zakresie 0-65536" msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() wymaga 9-elementowej sekwencji" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() wymaga jednego argumentu" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" -msgstr "timeout > 100 (jednostkami są sekundy)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c msgid "timeout must be >= 0.0" @@ -2664,7 +2660,6 @@ msgstr "zerowy krok" #~ msgid "Characteristic already in use by another Service." #~ msgstr "Charakterystyka w użyciu w innym serwisie" -#, c-format #~ msgid "Could not decode ble_uuid, err 0x%04x" #~ msgstr "Nie można zdekodować ble_uuid, błąd 0x%04x" @@ -2708,23 +2703,18 @@ msgstr "zerowy krok" #~ msgid "Failed to get softdevice state" #~ msgstr "Nie udało się odczytać stanu softdevice" -#, c-format #~ msgid "Failed to notify or indicate attribute value, err 0x%04x" #~ msgstr "Nie udało się powiadomić o wartości atrybutu, błąd 0x%04x" -#, c-format #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "Nie udało się odczytać CCCD, błąd 0x%04x" -#, c-format #~ msgid "Failed to read attribute value, err 0x%04x" #~ msgstr "Nie udało się odczytać wartości atrybutu, błąd 0x%04x" -#, c-format #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "Nie udało się odczytać gatts, błąd 0x%04x" -#, c-format #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "Nie udało się zarejestrować UUID dostawcy, błąd 0x%04x" @@ -2740,7 +2730,6 @@ msgstr "zerowy krok" #~ msgid "Failed to start scanning" #~ msgstr "Nie udało się rozpocząć skanowania" -#, c-format #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "Nie udało się rozpocząć skanowania, błąd 0x%04x" @@ -2750,11 +2739,9 @@ msgstr "zerowy krok" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Nie udało się zatrzymać rozgłaszania, błąd 0x%04x" -#, c-format #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "Nie udało się zapisać atrybutu, błąd 0x%04x" -#, c-format #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "Nie udało się zapisać gatts, błąd 0x%04x" @@ -2805,3 +2792,9 @@ msgstr "zerowy krok" #~ msgid "tile index out of bounds" #~ msgstr "indeks kafelka poza zakresem" + +#~ msgid "time.struct_time() takes exactly 1 argument" +#~ msgstr "time.struct_time() wymaga jednego argumentu" + +#~ msgid "timeout >100 (units are now seconds, not msecs)" +#~ msgstr "timeout > 100 (jednostkami są sekundy)" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 715a8345d6..24dd56637e 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -2447,12 +2447,8 @@ msgstr "Limite deve estar no alcance de 0-65536" msgid "time.struct_time() takes a 9-sequence" msgstr "" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c @@ -2712,7 +2708,7 @@ msgstr "passo zero" #~ msgid "Failed to notify or indicate attribute value, err %0x04x" #~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x" @@ -2720,11 +2716,11 @@ msgstr "passo zero" #~ msgid "Failed to read attribute value, err %0x04x" #~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "" #~ "Não é possível adicionar o UUID de 128 bits específico do fornecedor." @@ -2745,7 +2741,7 @@ msgstr "passo zero" #~ msgid "Failed to start scanning" #~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x" @@ -2757,11 +2753,11 @@ msgstr "passo zero" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Não pode parar propaganda. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" -#, fuzzy, c-format +#, fuzzy #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x" diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index fae8b1b329..a7d66bbcd5 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: circuitpython-cn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-21 16:50-0800\n" +"POT-Creation-Date: 2019-11-27 13:13-0500\n" "PO-Revision-Date: 2019-04-13 10:10-0700\n" "Last-Translator: hexthat\n" "Language-Team: Chinese Hanyu Pinyin\n" @@ -2463,13 +2463,9 @@ msgstr "yùzhí bìxū zài fànwéi 0-65536" msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() xūyào 9 xùliè" -#: shared-bindings/time/__init__.c -msgid "time.struct_time() takes exactly 1 argument" -msgstr "time.struct_time() xūyào wánquán 1 cānshù" - #: shared-bindings/busio/UART.c -msgid "timeout >100 (units are now seconds, not msecs)" -msgstr "chāoshí >100 (dānwèi shì miǎo, ér bùshì háomiǎo)" +msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c msgid "timeout must be >= 0.0" @@ -2680,7 +2676,6 @@ msgstr "líng bù" #~ msgid "Characteristic already in use by another Service." #~ msgstr "Qítā fúwù bùmén yǐ shǐyòng de gōngnéng." -#, c-format #~ msgid "Could not decode ble_uuid, err 0x%04x" #~ msgstr "Wúfǎ jiěmǎ kě dú_uuid, err 0x%04x" @@ -2696,7 +2691,6 @@ msgstr "líng bù" #~ msgid "Failed to add characteristic, err 0x%04x" #~ msgstr "Tiānjiā tèxìng shībài, err 0x%04x" -#, c-format #~ msgid "Failed to add descriptor, err 0x%04x" #~ msgstr "Wúfǎ tiānjiā miáoshù fú, err 0x%04x" @@ -2733,26 +2727,21 @@ msgstr "líng bù" #~ msgid "Failed to get softdevice state" #~ msgstr "Wúfǎ huòdé ruǎnjiàn shèbèi zhuàngtài" -#, c-format #~ msgid "Failed to notify or indicate attribute value, err 0x%04x" #~ msgstr "Wúfǎ tōngzhī huò xiǎnshì shǔxìng zhí, err 0x%04x" #~ msgid "Failed to pair" #~ msgstr "Pèiduì shībài" -#, c-format #~ msgid "Failed to read CCCD value, err 0x%04x" #~ msgstr "Dòu qǔ CCCD zhí, err 0x%04x shībài" -#, c-format #~ msgid "Failed to read attribute value, err 0x%04x" #~ msgstr "Dòu qǔ shǔxìng zhí shībài, err 0x%04x" -#, c-format #~ msgid "Failed to read gatts value, err 0x%04x" #~ msgstr "Wúfǎ dòu qǔ gatts zhí, err 0x%04x" -#, c-format #~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x" #~ msgstr "Wúfǎ zhùcè màizhǔ tèdìng de UUID, err 0x%04x" @@ -2768,7 +2757,6 @@ msgstr "líng bù" #~ msgid "Failed to start advertising, err 0x%04x" #~ msgstr "Qǐdòng guǎnggào shībài, err 0x%04x" -#, c-format #~ msgid "Failed to start connecting, error 0x%04x" #~ msgstr "Wúfǎ kāishǐ liánjiē, cuòwù 0x%04x" @@ -2778,7 +2766,6 @@ msgstr "líng bù" #~ msgid "Failed to start scanning" #~ msgstr "Qǐdòng sǎomiáo shībài" -#, c-format #~ msgid "Failed to start scanning, err 0x%04x" #~ msgstr "Qǐdòng sǎomiáo shībài, err 0x%04x" @@ -2788,15 +2775,12 @@ msgstr "líng bù" #~ msgid "Failed to stop advertising, err 0x%04x" #~ msgstr "Wúfǎ tíngzhǐ guǎnggào, err 0x%04x" -#, c-format #~ msgid "Failed to write CCCD, err 0x%04x" #~ msgstr "Wúfǎ xiě rù CCCD, cuòwù 0x%04x" -#, c-format #~ msgid "Failed to write attribute value, err 0x%04x" #~ msgstr "Xiě rù shǔxìng zhí shībài, err 0x%04x" -#, c-format #~ msgid "Failed to write gatts value, err 0x%04x" #~ msgstr "Xiě rù gatts zhí,err 0x%04x shībài" @@ -2866,6 +2850,12 @@ msgstr "líng bù" #~ msgid "tile index out of bounds" #~ msgstr "kuài suǒyǐn chāochū fànwéi" +#~ msgid "time.struct_time() takes exactly 1 argument" +#~ msgstr "time.struct_time() xūyào wánquán 1 cānshù" + +#~ msgid "timeout >100 (units are now seconds, not msecs)" +#~ msgstr "chāoshí >100 (dānwèi shì miǎo, ér bùshì háomiǎo)" + #~ msgid "too many arguments" #~ msgstr "tài duō cānshù" From dd6dfeb30a4e688339612d509fb491bc2e72d078 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 27 Nov 2019 14:47:35 -0500 Subject: [PATCH 66/79] Squeeze pyruler zh_Latn_pinyin --- ports/atmel-samd/boards/pyruler/mpconfigboard.mk | 4 ++++ ports/cxd56/common-hal/busio/UART.c | 2 +- shared-bindings/busio/UART.c | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ports/atmel-samd/boards/pyruler/mpconfigboard.mk b/ports/atmel-samd/boards/pyruler/mpconfigboard.mk index 9663944a38..9d9e4ba349 100644 --- a/ports/atmel-samd/boards/pyruler/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pyruler/mpconfigboard.mk @@ -12,3 +12,7 @@ LONGINT_IMPL = NONE CIRCUITPY_SMALL_BUILD = 1 SUPEROPT_GC = 0 + +ifeq ($(TRANSLATION), zh_Latn_pinyin) +CFLAGS_INLINE_LIMIT = 35 +endif diff --git a/ports/cxd56/common-hal/busio/UART.c b/ports/cxd56/common-hal/busio/UART.c index 6ae2403c13..40ae3b7614 100644 --- a/ports/cxd56/common-hal/busio/UART.c +++ b/ports/cxd56/common-hal/busio/UART.c @@ -173,7 +173,7 @@ void common_hal_busio_uart_set_baudrate(busio_uart_obj_t *self, uint32_t baudrat } mp_float_t common_hal_busio_uart_get_timeout(busio_uart_obj_t *self) { - return (mp_float_t) (self->timeout / 1000000.0f); + return (mp_float_t) (self->timeout_us / 1000000.0f); } void common_hal_busio_uart_set_timeout(busio_uart_obj_t *self, mp_float_t timeout) { diff --git a/shared-bindings/busio/UART.c b/shared-bindings/busio/UART.c index 9606c77e9e..4c0655e268 100644 --- a/shared-bindings/busio/UART.c +++ b/shared-bindings/busio/UART.c @@ -71,7 +71,7 @@ extern const busio_uart_parity_obj_t busio_uart_parity_odd_obj; STATIC void validate_timeout(mp_float_t timeout) { if (timeout < (mp_float_t) 0.0f || timeout > (mp_float_t) 100.0f) { - mp_raise_ValueError(translate("timeout must be 0.0-100.0 (units are now seconds, not msecs)")); + mp_raise_ValueError(translate("timeout must be 0.0-100.0")); } } From d089f16656f4b6de1f524c691d2135dd0fcbc37d Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 27 Nov 2019 14:49:39 -0500 Subject: [PATCH 67/79] 'seconds' --- shared-bindings/busio/UART.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-bindings/busio/UART.c b/shared-bindings/busio/UART.c index 4c0655e268..7a3b48e895 100644 --- a/shared-bindings/busio/UART.c +++ b/shared-bindings/busio/UART.c @@ -71,7 +71,7 @@ extern const busio_uart_parity_obj_t busio_uart_parity_odd_obj; STATIC void validate_timeout(mp_float_t timeout) { if (timeout < (mp_float_t) 0.0f || timeout > (mp_float_t) 100.0f) { - mp_raise_ValueError(translate("timeout must be 0.0-100.0")); + mp_raise_ValueError(translate("timeout must be 0.0-100.0 seconds")); } } From ae52ec7c8591450b4953426f6bc21fe17d221531 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Wed, 27 Nov 2019 14:54:35 -0500 Subject: [PATCH 68/79] make translate again --- locale/ID.po | 4 ++-- locale/circuitpython.pot | 4 ++-- locale/de_DE.po | 4 ++-- locale/en_US.po | 4 ++-- locale/en_x_pirate.po | 4 ++-- locale/es.po | 4 ++-- locale/fil.po | 4 ++-- locale/fr.po | 4 ++-- locale/it_IT.po | 4 ++-- locale/ko.po | 4 ++-- locale/pl.po | 4 ++-- locale/pt_BR.po | 4 ++-- locale/zh_Latn_pinyin.po | 4 ++-- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/locale/ID.po b/locale/ID.po index 55dd77d54c..6a0b73b6f7 100644 --- a/locale/ID.po +++ b/locale/ID.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2455,7 +2455,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 0fbb0d5cb9..a24ab186a4 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2424,7 +2424,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/de_DE.po b/locale/de_DE.po index 6f0e57978a..37937b94f7 100644 --- a/locale/de_DE.po +++ b/locale/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n" @@ -2485,7 +2485,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/en_US.po b/locale/en_US.po index 4f07b2aa4c..e0e63e4fd4 100644 --- a/locale/en_US.po +++ b/locale/en_US.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: \n" @@ -2424,7 +2424,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/en_x_pirate.po b/locale/en_x_pirate.po index 1593d935ea..b22687469c 100644 --- a/locale/en_x_pirate.po +++ b/locale/en_x_pirate.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n" "Last-Translator: \n" "Language-Team: @sommersoft, @MrCertainly\n" @@ -2428,7 +2428,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/es.po b/locale/es.po index e71527cb27..4e8df4195b 100644 --- a/locale/es.po +++ b/locale/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -2488,7 +2488,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() toma un sequencio 9" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/fil.po b/locale/fil.po index 90d2bc54bb..f3f2b7e3b0 100644 --- a/locale/fil.po +++ b/locale/fil.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n" "Last-Translator: Timothy \n" "Language-Team: fil\n" @@ -2496,7 +2496,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() kumukuha ng 9-sequence" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/fr.po b/locale/fr.po index c6987c1615..098bd8d1fc 100644 --- a/locale/fr.po +++ b/locale/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2019-04-14 20:05+0100\n" "Last-Translator: Pierrick Couturier \n" "Language-Team: fr\n" @@ -2536,7 +2536,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() prend une séquence de longueur 9" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/it_IT.po b/locale/it_IT.po index 9c72bd6071..154dda932e 100644 --- a/locale/it_IT.po +++ b/locale/it_IT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n" "Last-Translator: Enrico Paganin \n" "Language-Team: \n" @@ -2495,7 +2495,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/ko.po b/locale/ko.po index 868bb640ad..5fc91553b2 100644 --- a/locale/ko.po +++ b/locale/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2019-05-06 14:22-0700\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" @@ -2429,7 +2429,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/pl.po b/locale/pl.po index 857d7f7ab4..edfce95c62 100644 --- a/locale/pl.po +++ b/locale/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2019-03-19 18:37-0700\n" "Last-Translator: Radomir Dopieralski \n" "Language-Team: pl\n" @@ -2451,7 +2451,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() wymaga 9-elementowej sekwencji" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 24dd56637e..a2b259fc46 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n" "Last-Translator: \n" "Language-Team: \n" @@ -2448,7 +2448,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index a7d66bbcd5..b45650d87e 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: circuitpython-cn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-27 13:13-0500\n" +"POT-Creation-Date: 2019-11-27 14:54-0500\n" "PO-Revision-Date: 2019-04-13 10:10-0700\n" "Last-Translator: hexthat\n" "Language-Team: Chinese Hanyu Pinyin\n" @@ -2464,7 +2464,7 @@ msgid "time.struct_time() takes a 9-sequence" msgstr "time.struct_time() xūyào 9 xùliè" #: shared-bindings/busio/UART.c -msgid "timeout must be 0.0-100.0 (units are now seconds, not msecs)" +msgid "timeout must be 0.0-100.0 seconds" msgstr "" #: shared-bindings/_bleio/CharacteristicBuffer.c From d843156a5e2018a8dd763dbcce325e62cca38cc2 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Fri, 29 Nov 2019 10:51:16 -0600 Subject: [PATCH 69/79] samd: Consolidate small build optimization flags .. inline-unit-growth was the same across all boards, and the highest max-inline-insns-auto parameter was shared across 2 of 5 boards, so it's worth a little work to follow the DRY principle --- ports/atmel-samd/Makefile | 4 ++++ ports/atmel-samd/boards/pewpew10/mpconfigboard.mk | 2 +- ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk | 2 +- ports/atmel-samd/boards/pyruler/mpconfigboard.mk | 2 +- ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk | 2 -- ports/atmel-samd/boards/uchip/mpconfigboard.mk | 2 -- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ports/atmel-samd/Makefile b/ports/atmel-samd/Makefile index f26d1f53ec..5d47fd0871 100644 --- a/ports/atmel-samd/Makefile +++ b/ports/atmel-samd/Makefile @@ -125,6 +125,10 @@ else CFLAGS += -flto -flto-partition=none + ifeq ($(CIRCUITPY_SMALL_BUILD),1) + CFLAGS += --param inline-unit-growth=15 --param max-inline-insns-auto=20 + endif + ifdef CFLAGS_BOARD CFLAGS += $(CFLAGS_BOARD) endif diff --git a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk index f9094db913..8a1d6b16a4 100644 --- a/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pewpew10/mpconfigboard.mk @@ -24,4 +24,4 @@ SUPEROPT_GC = 0 FROZEN_MPY_DIRS += $(TOP)/frozen/pew-pewpew-standalone-10.x -CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=15 +CFLAGS_BOARD = --param max-inline-insns-auto=15 diff --git a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk index 18a1ad8686..12d6ace0c8 100644 --- a/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pirkey_m0/mpconfigboard.mk @@ -30,4 +30,4 @@ FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_IRRemote -CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=12 +CFLAGS_BOARD = --param max-inline-insns-auto=12 diff --git a/ports/atmel-samd/boards/pyruler/mpconfigboard.mk b/ports/atmel-samd/boards/pyruler/mpconfigboard.mk index 44537cea76..72893be8da 100644 --- a/ports/atmel-samd/boards/pyruler/mpconfigboard.mk +++ b/ports/atmel-samd/boards/pyruler/mpconfigboard.mk @@ -13,4 +13,4 @@ CIRCUITPY_SMALL_BUILD = 1 SUPEROPT_GC = 0 -CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=15 +CFLAGS_BOARD = --param max-inline-insns-auto=15 diff --git a/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk b/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk index 7cbfc36305..b4a00b654a 100644 --- a/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk @@ -12,5 +12,3 @@ LONGINT_IMPL = NONE CIRCUITPY_SMALL_BUILD = 1 SUPEROPT_GC = 0 - -CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=20 diff --git a/ports/atmel-samd/boards/uchip/mpconfigboard.mk b/ports/atmel-samd/boards/uchip/mpconfigboard.mk index 3967b76ee9..109492b764 100644 --- a/ports/atmel-samd/boards/uchip/mpconfigboard.mk +++ b/ports/atmel-samd/boards/uchip/mpconfigboard.mk @@ -10,5 +10,3 @@ CHIP_FAMILY = samd21 INTERNAL_FLASH_FILESYSTEM = 1 LONGINT_IMPL = NONE CIRCUITPY_SMALL_BUILD = 1 - -CFLAGS_BOARD = --param inline-unit-growth=15 --param max-inline-insns-auto=20 From 5a49e58fb4191af58cef39035c7b69f2251b2924 Mon Sep 17 00:00:00 2001 From: hexthat Date: Sun, 1 Dec 2019 09:38:39 -0800 Subject: [PATCH 70/79] Update zh_Latn_pinyin.po Added Translations --- locale/zh_Latn_pinyin.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locale/zh_Latn_pinyin.po b/locale/zh_Latn_pinyin.po index b45650d87e..de78d35b5f 100644 --- a/locale/zh_Latn_pinyin.po +++ b/locale/zh_Latn_pinyin.po @@ -673,11 +673,11 @@ msgstr "Shūrù/shūchū cuòwù" #: ports/nrf/common-hal/_bleio/__init__.c msgid "Insufficient authentication" -msgstr "" +msgstr "Rènzhèng bùzú" #: ports/nrf/common-hal/_bleio/__init__.c msgid "Insufficient encryption" -msgstr "" +msgstr "Jiāmì bùzú" #: ports/atmel-samd/common-hal/audiobusio/I2SOut.c #: ports/atmel-samd/common-hal/audiobusio/PDMIn.c @@ -2465,7 +2465,7 @@ msgstr "time.struct_time() xūyào 9 xùliè" #: shared-bindings/busio/UART.c msgid "timeout must be 0.0-100.0 seconds" -msgstr "" +msgstr "Chāo shí shíjiān bìxū wèi 0.0 Dào 100.0 Miǎo" #: shared-bindings/_bleio/CharacteristicBuffer.c msgid "timeout must be >= 0.0" From 002f5c0f1cb0f44a471dac0fafcc7850521a246f Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 2 Dec 2019 08:25:48 -0600 Subject: [PATCH 71/79] samd: trinket_m0: make board fit again --- ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk b/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk index b4a00b654a..af8b561a21 100644 --- a/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk +++ b/ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk @@ -12,3 +12,9 @@ LONGINT_IMPL = NONE CIRCUITPY_SMALL_BUILD = 1 SUPEROPT_GC = 0 + +CFLAGS_BOARD = --param max-inline-insns-auto=15 +ifeq ($(TRANSLATION), zh_Latn_pinyin) +CFLAGS_INLINE_LIMIT = 35 +endif + From e06a3bbceb548432969bfcfa1076dc4363478151 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 2 Dec 2019 08:41:03 -0600 Subject: [PATCH 72/79] translation: Compress as unicode, not bytes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit By treating each unicode code-point as a single entity for huffman compression, the overall compression rate can be somewhat improved without changing the algorithm. On the decompression side, when compressed values above 127 are encountered, they need to be converted from a 16-bit Unicode code point into a UTF-8 byte sequence. Doing this returns approximately 1.5kB of flash storage with the zh_Latn_pinyin translation. (292 -> 1768 bytes remaining in my build of trinket_m0) Other "more ASCII" translations benefit less, and in fact zh_Latn_pinyin is no longer the most constrained translation! (de_DE 1156 -> 1384 bytes free in flash, I didn't check others before pushing for CI) English is slightly pessimized, 2840 -> 2788 bytes, probably mostly because the "values" array was changed from uint8_t to uint16_t, which is strictly not required for an all-ASCII translation. This could probably be avoided in this case, but as English is not the most constrained translation it doesn't really matter. Testing performed: built for feather nRF52840 express and trinket m0 in English and zh_Latn_pinyin; ran and verified the localized messages such as Àn xià rènhé jiàn jìnrù REPL. Shǐyòng CTRL-D chóngxīn jiāzài. and Press any key to enter the REPL. Use CTRL-D to reload. were properly displayed. --- py/makeqstrdata.py | 36 ++++++++++++++++------------------- supervisor/shared/translate.c | 20 +++++++++++++++++-- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/py/makeqstrdata.py b/py/makeqstrdata.py index 8e3835d861..b9c0ce3e11 100644 --- a/py/makeqstrdata.py +++ b/py/makeqstrdata.py @@ -103,14 +103,10 @@ def compute_huffman_coding(translations, qstrs, compression_filename): # go through each qstr and print it out for _, _, qstr in qstrs.values(): all_strings.append(qstr) - all_strings_concat = "".join(all_strings).encode("utf-8") + all_strings_concat = "".join(all_strings) counts = collections.Counter(all_strings_concat) - # add other values - for i in range(256): - if i not in counts: - counts[i] = 0 cb = huffman.codebook(counts.items()) - values = bytearray() + values = [] length_count = {} renumbered = 0 last_l = None @@ -124,26 +120,26 @@ def compute_huffman_coding(translations, qstrs, compression_filename): if last_l: renumbered <<= (l - last_l) canonical[ch] = '{0:0{width}b}'.format(renumbered, width=l) - if chr(ch) in C_ESCAPES: - s = C_ESCAPES[chr(ch)] - else: - s = chr(ch) - print("//", ch, s, counts[ch], canonical[ch], renumbered) + s = C_ESCAPES.get(ch, ch) + print("//", ord(ch), s, counts[ch], canonical[ch], renumbered) renumbered += 1 last_l = l lengths = bytearray() - for i in range(1, max(length_count) + 1): + print("// length count", length_count) + for i in range(1, max(length_count) + 2): lengths.append(length_count.get(i, 0)) + print("// values", values, "lengths", len(lengths), lengths) + print("// estimated total memory size", len(lengths) + 2*len(values) + sum(len(cb[u]) for u in all_strings_concat)) print("//", values, lengths) with open(compression_filename, "w") as f: f.write("const uint8_t lengths[] = {{ {} }};\n".format(", ".join(map(str, lengths)))) - f.write("const uint8_t values[256] = {{ {} }};\n".format(", ".join(map(str, values)))) + f.write("const uint16_t values[] = {{ {} }};\n".format(", ".join(str(ord(u)) for u in values))) return values, lengths def decompress(encoding_table, length, encoded): values, lengths = encoding_table #print(l, encoded) - dec = bytearray(length) + dec = [] this_byte = 0 this_bit = 7 b = encoded[this_byte] @@ -173,14 +169,14 @@ def decompress(encoding_table, length, encoded): searched_length += lengths[bit_length] v = values[searched_length + bits - max_code] - dec[i] = v - return dec + dec.append(v) + return ''.join(dec) def compress(encoding_table, decompressed): - if not isinstance(decompressed, bytes): + if not isinstance(decompressed, str): raise TypeError() values, lengths = encoding_table - enc = bytearray(len(decompressed) * 2) + enc = bytearray(len(decompressed) * 3) #print(decompressed) #print(lengths) current_bit = 7 @@ -347,9 +343,9 @@ def print_qstr_data(encoding_table, qcfgs, qstrs, i18ns): total_text_compressed_size = 0 for original, translation in i18ns: translation_encoded = translation.encode("utf-8") - compressed = compress(encoding_table, translation_encoded) + compressed = compress(encoding_table, translation) total_text_compressed_size += len(compressed) - decompressed = decompress(encoding_table, len(translation_encoded), compressed).decode("utf-8") + decompressed = decompress(encoding_table, len(translation_encoded), compressed) for c in C_ESCAPES: decompressed = decompressed.replace(c, C_ESCAPES[c]) print("TRANSLATION(\"{}\", {}, {{ {} }}) // {}".format(original, len(translation_encoded)+1, ", ".join(["0x{:02x}".format(x) for x in compressed]), decompressed)) diff --git a/supervisor/shared/translate.c b/supervisor/shared/translate.c index aa5e4517c2..187d5ff8a5 100644 --- a/supervisor/shared/translate.c +++ b/supervisor/shared/translate.c @@ -42,12 +42,28 @@ void serial_write_compressed(const compressed_string_t* compressed) { serial_write(decompressed); } +STATIC int put_utf8(char *buf, int u) { + if(u <= 0x7f) { + *buf = u; + return 1; + } else if(u <= 0x07ff) { + *buf++ = 0b11000000 | (u >> 6); + *buf = 0b10000000 | (u & 0b00111111); + return 2; + } else { // u <= 0xffff) + *buf++ = 0b11000000 | (u >> 12); + *buf = 0b10000000 | ((u >> 6) & 0b00111111); + *buf = 0b10000000 | (u & 0b00111111); + return 3; + } +} + char* decompress(const compressed_string_t* compressed, char* decompressed) { uint8_t this_byte = 0; uint8_t this_bit = 7; uint8_t b = compressed->data[this_byte]; // Stop one early because the last byte is always NULL. - for (uint16_t i = 0; i < compressed->length - 1; i++) { + for (uint16_t i = 0; i < compressed->length - 1;) { uint32_t bits = 0; uint8_t bit_length = 0; uint32_t max_code = lengths[0]; @@ -72,7 +88,7 @@ char* decompress(const compressed_string_t* compressed, char* decompressed) { max_code = (max_code << 1) + lengths[bit_length]; searched_length += lengths[bit_length]; } - decompressed[i] = values[searched_length + bits - max_code]; + i += put_utf8(decompressed + i, values[searched_length + bits - max_code]); } decompressed[compressed->length-1] = '\0'; From 879e1041c9bb0067bc06337870f2515922469cf0 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 2 Dec 2019 10:18:48 -0600 Subject: [PATCH 73/79] makeqstrdata: fix printing of 'increased length' message --- py/makeqstrdata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/makeqstrdata.py b/py/makeqstrdata.py index b9c0ce3e11..9df1a82b6b 100644 --- a/py/makeqstrdata.py +++ b/py/makeqstrdata.py @@ -224,7 +224,7 @@ def compress(encoding_table, decompressed): if current_bit != 7: current_byte += 1 if current_byte > len(decompressed): - print("Note: compression increased length", repr(decompressed.decode('utf-8')), len(decompressed), current_byte, file=sys.stderr) + print("Note: compression increased length", repr(decompressed), len(decompressed), current_byte, file=sys.stderr) return enc[:current_byte] def qstr_escape(qst): From 1a0dcb5caaaa2d9f0dc25d87735b76f1bf5f2c24 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Mon, 2 Dec 2019 14:49:23 -0600 Subject: [PATCH 74/79] makeqstrdata: reclaim some more bytes on some translations If a translation only has unicode code points 255 and below, the "values" array can be 8 bits instead of 16 bits. This reclaims some code size, e.g., in a local build, trinket_m0 / en_US reclaimed 112 bytes and de_DE reclaimed 104 bytes. However, languages like zh_Latn_pinyin, which use code points above 255, did not benefit. --- py/makeqstrdata.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/py/makeqstrdata.py b/py/makeqstrdata.py index 9df1a82b6b..0d667959d9 100644 --- a/py/makeqstrdata.py +++ b/py/makeqstrdata.py @@ -131,9 +131,10 @@ def compute_huffman_coding(translations, qstrs, compression_filename): print("// values", values, "lengths", len(lengths), lengths) print("// estimated total memory size", len(lengths) + 2*len(values) + sum(len(cb[u]) for u in all_strings_concat)) print("//", values, lengths) + values_type = "uint16_t" if max(ord(u) for u in values) > 255 else "uint8_t" with open(compression_filename, "w") as f: f.write("const uint8_t lengths[] = {{ {} }};\n".format(", ".join(map(str, lengths)))) - f.write("const uint16_t values[] = {{ {} }};\n".format(", ".join(str(ord(u)) for u in values))) + f.write("const {} values[] = {{ {} }};\n".format(values_type, ", ".join(str(ord(u)) for u in values))) return values, lengths def decompress(encoding_table, length, encoded): From 012b3bdf1869114a383baeef29300b588c234d81 Mon Sep 17 00:00:00 2001 From: Hierophect Date: Tue, 3 Dec 2019 16:18:49 -0500 Subject: [PATCH 75/79] Add I2C never reset, SPI bugfix --- ports/stm32f4/common-hal/busio/I2C.c | 25 +++++++++++++++++++++---- ports/stm32f4/common-hal/busio/SPI.c | 3 ++- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/ports/stm32f4/common-hal/busio/I2C.c b/ports/stm32f4/common-hal/busio/I2C.c index c2f5dbe0a2..d2292845ea 100644 --- a/ports/stm32f4/common-hal/busio/I2C.c +++ b/ports/stm32f4/common-hal/busio/I2C.c @@ -36,6 +36,7 @@ #include "common-hal/microcontroller/Pin.h" STATIC bool reserved_i2c[3]; +STATIC bool never_reset[3]; void i2c_reset(void) { //Note: I2Cs are also forcibly reset in construct, due to silicon error @@ -48,11 +49,24 @@ void i2c_reset(void) { __HAL_RCC_I2C2_CLK_DISABLE(); #endif #ifdef I2C3 - reserved_i2c[3] = false; + reserved_i2c[2] = false; __HAL_RCC_I2C3_CLK_DISABLE(); #endif } +void common_hal_busio_i2c_never_reset(busio_i2c_obj_t *self) { + for (size_t i = 0 ; i < MP_ARRAY_SIZE(mcu_i2c_banks); i++) { + if (self->handle.Instance == mcu_i2c_banks[i]) { + never_reset[i] = true; + + never_reset_pin_number(self->scl->pin->port, self->scl->pin->number); + never_reset_pin_number(self->sda->pin->port, self->scl->pin->number); + break; + } + } +} + + void common_hal_busio_i2c_construct(busio_i2c_obj_t *self, const mcu_pin_obj_t* scl, const mcu_pin_obj_t* sda, uint32_t frequency, uint32_t timeout) { @@ -166,19 +180,22 @@ void common_hal_busio_i2c_deinit(busio_i2c_obj_t *self) { } #ifdef I2C1 if(self->handle.Instance==I2C1) { - reserved_i2c[0] = 0; + never_reset[0] = false; + reserved_i2c[0] = false; __HAL_RCC_I2C1_CLK_DISABLE(); } #endif #ifdef I2C2 if(self->handle.Instance==I2C2) { - reserved_i2c[1] = 0; + never_reset[1] = false; + reserved_i2c[1] = false; __HAL_RCC_I2C2_CLK_DISABLE(); } #endif #ifdef I2C3 if(self->handle.Instance==I2C3) { - reserved_i2c[3] = 0; + never_reset[2] = false; + reserved_i2c[2] = false; __HAL_RCC_I2C3_CLK_DISABLE(); } #endif diff --git a/ports/stm32f4/common-hal/busio/SPI.c b/ports/stm32f4/common-hal/busio/SPI.c index b5517f470f..1142657b7f 100644 --- a/ports/stm32f4/common-hal/busio/SPI.c +++ b/ports/stm32f4/common-hal/busio/SPI.c @@ -191,7 +191,8 @@ bool common_hal_busio_spi_deinited(busio_spi_obj_t *self) { void common_hal_busio_spi_deinit(busio_spi_obj_t *self) { spi_clock_disable(1<<(self->sck->spi_index - 1)); - reserved_spi[self->sck->spi_index - 1] = true; + reserved_spi[self->sck->spi_index - 1] = false; + never_reset_spi[self->sck->spi_index - 1] = false; reset_pin_number(self->sck->pin->port,self->sck->pin->number); reset_pin_number(self->mosi->pin->port,self->mosi->pin->number); From e6b45656f9ce93aee719542ff8aa3e966d6b1a67 Mon Sep 17 00:00:00 2001 From: Hierophect Date: Tue, 3 Dec 2019 17:18:42 -0500 Subject: [PATCH 76/79] Add module and empty parallelbus --- .../common-hal/displayio/ParallelBus.c | 68 +++++++++++++++++++ .../common-hal/displayio/ParallelBus.h | 36 ++++++++++ ports/stm32f4/mpconfigport.mk | 3 + 3 files changed, 107 insertions(+) create mode 100644 ports/stm32f4/common-hal/displayio/ParallelBus.c create mode 100644 ports/stm32f4/common-hal/displayio/ParallelBus.h diff --git a/ports/stm32f4/common-hal/displayio/ParallelBus.c b/ports/stm32f4/common-hal/displayio/ParallelBus.c new file mode 100644 index 0000000000..1b808ec025 --- /dev/null +++ b/ports/stm32f4/common-hal/displayio/ParallelBus.c @@ -0,0 +1,68 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2019 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/displayio/ParallelBus.h" + +#include + +#include "common-hal/microcontroller/Pin.h" +#include "py/runtime.h" +#include "shared-bindings/digitalio/DigitalInOut.h" +#include "shared-bindings/microcontroller/__init__.h" + +#include "tick.h" + +void common_hal_displayio_parallelbus_construct(displayio_parallelbus_obj_t* self, + const mcu_pin_obj_t* data0, const mcu_pin_obj_t* command, const mcu_pin_obj_t* chip_select, + const mcu_pin_obj_t* write, const mcu_pin_obj_t* read, const mcu_pin_obj_t* reset) { + + mp_raise_NotImplementedError(translate("ParallelBus not yet supported")); +} + +void common_hal_displayio_parallelbus_deinit(displayio_parallelbus_obj_t* self) { + +} + +bool common_hal_displayio_parallelbus_reset(mp_obj_t obj) { + return false; +} + +bool common_hal_displayio_parallelbus_bus_free(mp_obj_t obj) { + return false; +} + +bool common_hal_displayio_parallelbus_begin_transaction(mp_obj_t obj) { + + return false; +} + +void common_hal_displayio_parallelbus_send(mp_obj_t obj, display_byte_type_t byte_type, display_chip_select_behavior_t chip_select, uint8_t *data, uint32_t data_length) { + +} + +void common_hal_displayio_parallelbus_end_transaction(mp_obj_t obj) { + +} diff --git a/ports/stm32f4/common-hal/displayio/ParallelBus.h b/ports/stm32f4/common-hal/displayio/ParallelBus.h new file mode 100644 index 0000000000..85d100715e --- /dev/null +++ b/ports/stm32f4/common-hal/displayio/ParallelBus.h @@ -0,0 +1,36 @@ +/* + * This file is part of the MicroPython project, http://micropython.org/ + * + * The MIT License (MIT) + * + * Copyright (c) 2019 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_STM32F4_COMMON_HAL_DISPLAYIO_PARALLELBUS_H +#define MICROPY_INCLUDED_STM32F4_COMMON_HAL_DISPLAYIO_PARALLELBUS_H + +#include "common-hal/digitalio/DigitalInOut.h" + +typedef struct { + mp_obj_base_t base; +} displayio_parallelbus_obj_t; + +#endif // MICROPY_INCLUDED_STM32F4_COMMON_HAL_DISPLAYIO_PARALLELBUS_H diff --git a/ports/stm32f4/mpconfigport.mk b/ports/stm32f4/mpconfigport.mk index 3ae0daaa08..88636a9d89 100644 --- a/ports/stm32f4/mpconfigport.mk +++ b/ports/stm32f4/mpconfigport.mk @@ -65,6 +65,9 @@ ifndef CIRCUITPY_NEOPIXEL_WRITE CIRCUITPY_NEOPIXEL_WRITE = 1 endif +ifndef +CIRCUITPY_DISPLAYIO = 1 +endif #ifeq ($(MCU_SUB_VARIANT), stm32f412zx) #endif From e30dde0afc71bbd0e01bfa9454589ef2b553d75a Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Thu, 5 Dec 2019 08:35:02 -0500 Subject: [PATCH 77/79] Make _bleio.Connection.disconnect() idempotent --- shared-bindings/_bleio/Connection.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/shared-bindings/_bleio/Connection.c b/shared-bindings/_bleio/Connection.c index da2fbff287..e1e458c226 100644 --- a/shared-bindings/_bleio/Connection.c +++ b/shared-bindings/_bleio/Connection.c @@ -80,14 +80,12 @@ STATIC void ensure_connected(bleio_connection_obj_t *self) { //| //| .. method:: disconnect() //| -//| Disconnects from the remote peripheral. +//| Disconnects from the remote peripheral. Does nothing if already disconnected. //| STATIC mp_obj_t bleio_connection_disconnect(mp_obj_t self_in) { bleio_connection_obj_t *self = MP_OBJ_TO_PTR(self_in); - ensure_connected(self); - + // common_hal_bleio_connection_disconnect() does nothing if already disconnected. common_hal_bleio_connection_disconnect(self->connection); - return mp_const_none; } STATIC MP_DEFINE_CONST_FUN_OBJ_1(bleio_connection_disconnect_obj, bleio_connection_disconnect); From f3f2c7f5dea80b827242988f031baf249b9df302 Mon Sep 17 00:00:00 2001 From: Hierophect Date: Thu, 5 Dec 2019 11:38:20 -0500 Subject: [PATCH 78/79] change default phase for SPI --- ports/stm32f4/common-hal/busio/SPI.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/stm32f4/common-hal/busio/SPI.c b/ports/stm32f4/common-hal/busio/SPI.c index 1142657b7f..32089887f9 100644 --- a/ports/stm32f4/common-hal/busio/SPI.c +++ b/ports/stm32f4/common-hal/busio/SPI.c @@ -165,7 +165,7 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self, self->baudrate = (get_busclock(SPIx)/16); self->prescaler = 16; self->polarity = 0; - self->phase = 1; + self->phase = 0; self->bits = 8; claim_pin(sck); From ab74f45bfbed78fd752e3ed3a12c01fa910ad672 Mon Sep 17 00:00:00 2001 From: Hierophect Date: Thu, 5 Dec 2019 11:44:21 -0500 Subject: [PATCH 79/79] Define polarity and phase in Fourwire --- shared-module/displayio/FourWire.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared-module/displayio/FourWire.c b/shared-module/displayio/FourWire.c index 92d4507dde..256c29642d 100644 --- a/shared-module/displayio/FourWire.c +++ b/shared-module/displayio/FourWire.c @@ -49,8 +49,8 @@ void common_hal_displayio_fourwire_construct(displayio_fourwire_obj_t* self, gc_never_free(self->bus); self->frequency = baudrate; - self->polarity = common_hal_busio_spi_get_polarity(spi); - self->phase = common_hal_busio_spi_get_phase(spi); + self->polarity = 0; + self->phase = 0; common_hal_digitalio_digitalinout_construct(&self->command, command); common_hal_digitalio_digitalinout_switch_to_output(&self->command, true, DRIVE_MODE_PUSH_PULL);