Merge pull request #1535 from tannewt/group_sequence_and_font
A variety of displayio improvements
This commit is contained in:
commit
a61f68f0fe
166
locale/ID.po
166
locale/ID.po
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-02-07 09:09-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15:01-0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -1810,69 +1810,69 @@ msgstr ""
|
||||
msgid "string index out of range"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
||||
@ -2181,7 +2181,7 @@ msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -2344,74 +2344,89 @@ msgstr ""
|
||||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
msgid "row data must be a buffer"
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
msgid "%q should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
msgid "color should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
msgid "Group must have size at least 1"
|
||||
msgstr ""
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
#, fuzzy
|
||||
msgid "%q must be >= 1"
|
||||
msgstr "buffers harus mempunyai panjang yang sama"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
msgid "palette_index should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
msgid "start_x should be an int"
|
||||
msgstr ""
|
||||
@ -2424,19 +2439,19 @@ msgstr ""
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
@ -2464,6 +2479,7 @@ msgstr ""
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr ""
|
||||
|
||||
@ -2513,19 +2529,7 @@ msgid ""
|
||||
"PWM frequency not writable when variable_frequency is False on construction."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -2574,11 +2578,6 @@ msgstr ""
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
#, fuzzy
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr "keyword harus berupa string"
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
msgstr ""
|
||||
@ -2697,27 +2696,28 @@ msgstr ""
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "sistem file (filesystem) bersifat Read-only"
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
#, fuzzy
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr "Baudrate tidak didukung"
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
msgid "Group empty"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
msgid "Invalid BMP file"
|
||||
msgstr ""
|
||||
@ -2848,6 +2848,16 @@ msgid ""
|
||||
"exit safe mode.\n"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unicode_characters must be a string"
|
||||
#~ msgstr "keyword harus berupa string"
|
||||
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Semua perangkat PWM sedang digunakan"
|
||||
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Panjang string UUID tidak valid"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "enough power for the whole circuit and press reset (after ejecting "
|
||||
#~ "CIRCUITPY).\n"
|
||||
@ -2855,18 +2865,12 @@ msgstr ""
|
||||
#~ "tegangan cukup untuk semua sirkuit dan tekan reset (setelah mencabut "
|
||||
#~ "CIRCUITPY).\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte"
|
||||
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Panjang string UUID tidak valid"
|
||||
|
||||
#~ msgid "Invalid UUID parameter"
|
||||
#~ msgstr "Parameter UUID tidak valid"
|
||||
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Semua perangkat PWM sedang digunakan"
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte"
|
||||
|
||||
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
|
||||
#~ msgstr ""
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-02-07 09:09-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15:01-0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -1777,69 +1777,69 @@ msgstr ""
|
||||
msgid "string index out of range"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
||||
@ -2148,7 +2148,7 @@ msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -2306,74 +2306,88 @@ msgstr ""
|
||||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
msgid "row data must be a buffer"
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
msgid "%q should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
msgid "color should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
msgid "Group must have size at least 1"
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
msgid "%q must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
msgid "palette_index should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
msgid "start_x should be an int"
|
||||
msgstr ""
|
||||
@ -2386,19 +2400,19 @@ msgstr ""
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
@ -2426,6 +2440,7 @@ msgstr ""
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr ""
|
||||
|
||||
@ -2475,19 +2490,7 @@ msgid ""
|
||||
"PWM frequency not writable when variable_frequency is False on construction."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -2536,10 +2539,6 @@ msgstr ""
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
msgstr ""
|
||||
@ -2658,26 +2657,26 @@ msgstr ""
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
msgid "Group empty"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
msgid "Invalid BMP file"
|
||||
msgstr ""
|
||||
|
373
locale/de_DE.po
373
locale/de_DE.po
@ -7,10 +7,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-02-07 01:10-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15: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"
|
||||
"Last-Translator: Sebastian Plamauer\n"
|
||||
"Language-Team: \n"
|
||||
"Language: en_US\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@ -69,11 +69,11 @@ msgstr "eine nicht-hex zahl wurde gefunden"
|
||||
|
||||
#: extmod/modubinascii.c:169
|
||||
msgid "incorrect padding"
|
||||
msgstr "padding ist inkorrekt"
|
||||
msgstr "falsches padding"
|
||||
|
||||
#: extmod/moductypes.c:122
|
||||
msgid "syntax error in uctypes descriptor"
|
||||
msgstr "Syntaxfehler in uctypes Deskriptor"
|
||||
msgstr "Syntaxfehler in uctypes Definition"
|
||||
|
||||
#: extmod/moductypes.c:219
|
||||
msgid "Cannot unambiguously get sizeof scalar"
|
||||
@ -105,7 +105,7 @@ msgstr "Syntaxfehler in JSON"
|
||||
|
||||
#: extmod/modure.c:161
|
||||
msgid "Splitting with sub-captures"
|
||||
msgstr "Splitting with sub-captures"
|
||||
msgstr "Teilen mit unter-captures"
|
||||
|
||||
#: extmod/modure.c:207
|
||||
msgid "Error in regex"
|
||||
@ -161,7 +161,7 @@ msgid ""
|
||||
"disable.\n"
|
||||
msgstr ""
|
||||
"Automatisches Neuladen ist aktiv. Speichere Dateien über USB um sie "
|
||||
"auszuführen oder verbinde dich mit der REPL zum Deaktivieren.\n"
|
||||
"auszuführen oder verbinde dich mit der REPL zum deaktivieren.\n"
|
||||
|
||||
#: main.c:168
|
||||
msgid "Running in safe mode! Auto-reload is off.\n"
|
||||
@ -185,12 +185,12 @@ msgid ""
|
||||
"\n"
|
||||
"Code done running. Waiting for reload.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Der Code wurde ausgeführt. Warte auf reload.\n"
|
||||
|
||||
#: main.c:254
|
||||
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
|
||||
msgstr "Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu laden"
|
||||
msgstr ""
|
||||
"Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu "
|
||||
"laden"
|
||||
|
||||
#: main.c:419
|
||||
msgid "soft reboot\n"
|
||||
@ -492,7 +492,9 @@ msgstr "Minimale PWM Frequenz ist %dHz"
|
||||
#: ports/esp8266/common-hal/pulseio/PWMOut.c:68
|
||||
#, c-format
|
||||
msgid "Multiple PWM frequencies not supported. PWM already set to %dhz."
|
||||
msgstr "Mehrere PWM Frequenzen werden nicht unterstützt. PWM wurde bereits auf %dHz gesetzt."
|
||||
msgstr ""
|
||||
"Mehrere PWM Frequenzen werden nicht unterstützt. PWM wurde bereits auf %dHz "
|
||||
"gesetzt."
|
||||
|
||||
#: ports/esp8266/common-hal/pulseio/PWMOut.c:77 ports/esp8266/machine_pwm.c:70
|
||||
#, c-format
|
||||
@ -509,7 +511,8 @@ msgstr "Dateisystem kann nicht wieder gemounted werden."
|
||||
|
||||
#: ports/esp8266/common-hal/storage/__init__.c:38
|
||||
msgid "Use esptool to erase flash and re-upload Python instead"
|
||||
msgstr "Benutze das esptool um den flash zu löschen und Python erneut hochzuladen"
|
||||
msgstr ""
|
||||
"Benutze esptool um den flash zu löschen und stattdessen Python hochzuladen"
|
||||
|
||||
#: ports/esp8266/esp_mphal.c:154
|
||||
msgid "C-level assert"
|
||||
@ -565,7 +568,8 @@ msgstr "len muss ein vielfaches von 4 sein"
|
||||
#: ports/esp8266/modesp.c:274
|
||||
#, c-format
|
||||
msgid "memory allocation failed, allocating %u bytes for native code"
|
||||
msgstr "Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code"
|
||||
msgstr ""
|
||||
"Speicherallozierung fehlgeschlagen, alloziere %u Bytes für nativen Code"
|
||||
|
||||
#: ports/esp8266/modesp.c:317
|
||||
msgid "flash location must be below 1MByte"
|
||||
@ -840,7 +844,7 @@ msgstr "Ungültige Puffergröße"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c:99
|
||||
msgid "Odd parity is not supported"
|
||||
msgstr "Eine ungerade Parität wird nicht unterstützt"
|
||||
msgstr "Ungerade Parität wird nicht unterstützt"
|
||||
|
||||
#: ports/nrf/common-hal/busio/UART.c:335 ports/nrf/common-hal/busio/UART.c:339
|
||||
#: ports/nrf/common-hal/busio/UART.c:344 ports/nrf/common-hal/busio/UART.c:349
|
||||
@ -868,12 +872,12 @@ msgstr "ffi_prep_closure_loc"
|
||||
|
||||
#: ports/unix/modffi.c:413
|
||||
msgid "Don't know how to pass object to native function"
|
||||
msgstr "Ich weiß nicht, wie man das Objekt an die native Funktion übergeben kann"
|
||||
msgstr ""
|
||||
|
||||
#: ports/unix/modusocket.c:474
|
||||
#, c-format
|
||||
msgid "[addrinfo error %d]"
|
||||
msgstr "[addrinfo error %d]"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c:53
|
||||
msgid "function does not take keyword arguments"
|
||||
@ -882,7 +886,8 @@ msgstr "Funktion akzeptiert keine Keyword-Argumente"
|
||||
#: py/argcheck.c:63 py/bc.c:85 py/objnamedtuple.c:108
|
||||
#, c-format
|
||||
msgid "function takes %d positional arguments but %d were given"
|
||||
msgstr "Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben"
|
||||
msgstr ""
|
||||
"Funktion nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben"
|
||||
|
||||
#: py/argcheck.c:73
|
||||
#, c-format
|
||||
@ -912,7 +917,8 @@ msgstr "Anzahl/Type der Argumente passen nicht"
|
||||
|
||||
#: py/argcheck.c:156
|
||||
msgid "keyword argument(s) not yet implemented - use normal args instead"
|
||||
msgstr "Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen "
|
||||
msgstr ""
|
||||
"Keyword-Argument(e) noch nicht implementiert - verwenden Sie stattdessen "
|
||||
"normale Argumente"
|
||||
|
||||
#: py/bc.c:88 py/objnamedtuple.c:112
|
||||
@ -950,11 +956,11 @@ msgstr "Funktion vermisst Keyword-only-Argument"
|
||||
|
||||
#: py/binary.c:112
|
||||
msgid "bad typecode"
|
||||
msgstr "schlechter typecode"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinevex.c:99
|
||||
msgid "bad compile mode"
|
||||
msgstr "schlechter compile mode"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinhelp.c:137
|
||||
msgid "Plus any modules on the filesystem\n"
|
||||
@ -1062,15 +1068,15 @@ msgstr "mehrere **x sind nicht gestattet"
|
||||
|
||||
#: py/compile.c:2271
|
||||
msgid "LHS of keyword arg must be an id"
|
||||
msgstr "LHS of keyword arg must be an id"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c:2287
|
||||
msgid "non-keyword arg after */**"
|
||||
msgstr "non-keyword arg after */**"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c:2291
|
||||
msgid "non-keyword arg after keyword arg"
|
||||
msgstr "non-keyword arg after keyword arg"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c:2463 py/compile.c:2473 py/compile.c:2712 py/compile.c:2742
|
||||
#: py/parse.c:1176
|
||||
@ -1148,56 +1154,56 @@ msgstr ""
|
||||
#: py/emitinlinethumb.c:188 py/emitinlinethumb.c:230
|
||||
#, c-format
|
||||
msgid "'%s' expects at most r%d"
|
||||
msgstr "'%s' erwartet höchstens r%d"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:197 py/emitinlinextensa.c:162
|
||||
#, c-format
|
||||
msgid "'%s' expects a register"
|
||||
msgstr "'%s' erwartet ein Register"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:211
|
||||
#, c-format
|
||||
msgid "'%s' expects a special register"
|
||||
msgstr "'%s' erwartet ein Spezialregister"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:239
|
||||
#, c-format
|
||||
msgid "'%s' expects an FPU register"
|
||||
msgstr "'%s' erwartet ein FPU-Register"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:292
|
||||
#, c-format
|
||||
msgid "'%s' expects {r0, r1, ...}"
|
||||
msgstr "'%s' erwartet {r0, r1, ...}"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:299 py/emitinlinextensa.c:169
|
||||
#, c-format
|
||||
msgid "'%s' expects an integer"
|
||||
msgstr "'%s' erwartet ein Integer"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:304
|
||||
#, c-format
|
||||
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
|
||||
msgstr "'%s' Integer 0x%x passt nicht in Maske 0x%x"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:328
|
||||
#, c-format
|
||||
msgid "'%s' expects an address of the form [a, b]"
|
||||
msgstr "'%s' erwartet eine Adresse in der Form [a, b]"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:334 py/emitinlinextensa.c:182
|
||||
#, c-format
|
||||
msgid "'%s' expects a label"
|
||||
msgstr "'%s' erwartet ein Label"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:345 py/emitinlinextensa.c:193
|
||||
msgid "label '%q' not defined"
|
||||
msgstr "Label '%q' nicht definiert"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:806
|
||||
#, c-format
|
||||
msgid "unsupported Thumb instruction '%s' with %d arguments"
|
||||
msgstr "nicht unterstützter Thumb-Befehl '%s' mit %d Argumenten"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinethumb.c:810
|
||||
msgid "branch not in range"
|
||||
@ -1205,11 +1211,11 @@ msgstr "Zweig ist außerhalb der Reichweite"
|
||||
|
||||
#: py/emitinlinextensa.c:86
|
||||
msgid "can only have up to 4 parameters to Xtensa assembly"
|
||||
msgstr "kann nur bis zu 4 Parameter für die Xtensa assembly haben"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinextensa.c:91 py/emitinlinextensa.c:96
|
||||
msgid "parameters must be registers in sequence a2 to a5"
|
||||
msgstr "Die Parameter müssen Register der Reihenfolge a2 bis a5 sein"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitinlinextensa.c:174
|
||||
#, c-format
|
||||
@ -1263,19 +1269,19 @@ msgstr ""
|
||||
|
||||
#: py/emitnative.c:1540
|
||||
msgid "can't implicitly convert '%q' to 'bool'"
|
||||
msgstr "Kann '%q' nicht implizit nach 'bool' konvertieren"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c:1774
|
||||
msgid "unary op %q not implemented"
|
||||
msgstr "Der unäre Operator %q ist nicht implementiert"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c:1930
|
||||
msgid "binary op %q not implemented"
|
||||
msgstr "Der binäre Operator %q ist nicht implementiert"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c:1951
|
||||
msgid "can't do binary op between '%q' and '%q'"
|
||||
msgstr "Eine binäre Operation zwischen '%q' und '%q' ist nicht möglich"
|
||||
msgstr ""
|
||||
|
||||
#: py/emitnative.c:2126
|
||||
msgid "casting"
|
||||
@ -1299,51 +1305,51 @@ msgstr ""
|
||||
|
||||
#: py/modbuiltins.c:162
|
||||
msgid "chr() arg not in range(0x110000)"
|
||||
msgstr "chr() arg ist nicht in range(0x110000)"
|
||||
msgstr ""
|
||||
|
||||
#: py/modbuiltins.c:171
|
||||
msgid "chr() arg not in range(256)"
|
||||
msgstr "chr() arg ist nicht in range(256)"
|
||||
msgstr ""
|
||||
|
||||
#: py/modbuiltins.c:285
|
||||
msgid "arg is an empty sequence"
|
||||
msgstr "arg ist eine leere Sequenz"
|
||||
msgstr ""
|
||||
|
||||
#: py/modbuiltins.c:350
|
||||
msgid "ord expects a character"
|
||||
msgstr "ord erwartet ein Zeichen"
|
||||
msgstr ""
|
||||
|
||||
#: py/modbuiltins.c:353
|
||||
#, c-format
|
||||
msgid "ord() expected a character, but string of length %d found"
|
||||
msgstr "ord() erwartet ein Zeichen aber es wurde eine Zeichenfolge mit Länge %d gefunden"
|
||||
msgstr ""
|
||||
|
||||
#: py/modbuiltins.c:363
|
||||
msgid "3-arg pow() not supported"
|
||||
msgstr "3-arg pow() wird nicht unterstützt"
|
||||
msgstr ""
|
||||
|
||||
#: py/modbuiltins.c:517
|
||||
msgid "must use keyword argument for key function"
|
||||
msgstr "muss Schlüsselwortargument für key function verwenden"
|
||||
msgstr ""
|
||||
|
||||
#: py/modmath.c:41 shared-bindings/math/__init__.c:53
|
||||
msgid "math domain error"
|
||||
msgstr "math domain error"
|
||||
msgstr ""
|
||||
|
||||
#: py/modmath.c:196 py/objfloat.c:270 py/objint_longlong.c:222
|
||||
#: py/objint_mpz.c:230 py/runtime.c:619 shared-bindings/math/__init__.c:346
|
||||
msgid "division by zero"
|
||||
msgstr "Division durch Null"
|
||||
msgstr ""
|
||||
|
||||
#: py/modmicropython.c:155
|
||||
msgid "schedule stack full"
|
||||
msgstr "Der schedule stack ist voll"
|
||||
msgstr ""
|
||||
|
||||
#: py/modstruct.c:148 py/modstruct.c:156 py/modstruct.c:244 py/modstruct.c:254
|
||||
#: shared-bindings/struct/__init__.c:102 shared-bindings/struct/__init__.c:161
|
||||
#: shared-module/struct/__init__.c:128 shared-module/struct/__init__.c:183
|
||||
msgid "buffer too small"
|
||||
msgstr "Der Puffer ist zu klein"
|
||||
msgstr "Puffer zu klein"
|
||||
|
||||
#: py/modthread.c:240
|
||||
msgid "expecting a dict for keyword args"
|
||||
@ -1367,7 +1373,7 @@ msgstr "Datei existiert"
|
||||
|
||||
#: py/moduerrno.c:152
|
||||
msgid "Unsupported operation"
|
||||
msgstr "Nicht unterstützte Operation"
|
||||
msgstr "Nicht unterstützter Vorgang"
|
||||
|
||||
#: py/moduerrno.c:153
|
||||
msgid "Invalid argument"
|
||||
@ -1375,7 +1381,7 @@ msgstr "Ungültiges Argument"
|
||||
|
||||
#: py/moduerrno.c:154
|
||||
msgid "No space left on device"
|
||||
msgstr "Kein Speicherplatz auf Gerät"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c:92
|
||||
msgid "Traceback (most recent call last):\n"
|
||||
@ -1391,7 +1397,7 @@ msgstr " Datei \"%q\""
|
||||
|
||||
#: py/obj.c:102
|
||||
msgid ", in %q\n"
|
||||
msgstr ", in %q\n"
|
||||
msgstr ""
|
||||
|
||||
#: py/obj.c:259
|
||||
msgid "can't convert to int"
|
||||
@ -1553,24 +1559,24 @@ msgstr ""
|
||||
|
||||
#: py/objint.c:144
|
||||
msgid "can't convert inf to int"
|
||||
msgstr "kann inf nicht nach int konvertieren"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint.c:146
|
||||
msgid "can't convert NaN to int"
|
||||
msgstr "kann NaN nicht nach int konvertieren"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint.c:163
|
||||
msgid "float too big"
|
||||
msgstr "float zu groß"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint.c:328
|
||||
msgid "long int not supported in this build"
|
||||
msgstr "long int wird in diesem Build nicht unterstützt"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint.c:334 py/objint.c:340 py/objint.c:350 py/objint.c:358
|
||||
#: py/sequence.c:41
|
||||
msgid "small int overflow"
|
||||
msgstr "small int Überlauf"
|
||||
msgstr ""
|
||||
|
||||
#: py/objint_longlong.c:189 py/objint_mpz.c:283 py/runtime.c:486
|
||||
msgid "negative power with no float support"
|
||||
@ -1789,69 +1795,69 @@ msgstr ""
|
||||
msgid "string index out of range"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
||||
@ -1973,16 +1979,16 @@ msgstr "'%s' Objekt nicht iterierbar"
|
||||
|
||||
#: py/runtime.c:1260 py/runtime.c:1296
|
||||
msgid "object not an iterator"
|
||||
msgstr "Objekt ist kein Iterator"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c:1262 py/runtime.c:1298
|
||||
#, c-format
|
||||
msgid "'%s' object is not an iterator"
|
||||
msgstr "'%s' Objekt ist kein Iterator"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c:1401
|
||||
msgid "exceptions must derive from BaseException"
|
||||
msgstr "Exceptions müssen von BaseException abgeleitet sein"
|
||||
msgstr ""
|
||||
|
||||
#: py/runtime.c:1430
|
||||
msgid "cannot import name %q"
|
||||
@ -2003,23 +2009,23 @@ msgstr "maximale Rekursionstiefe überschritten"
|
||||
|
||||
#: py/sequence.c:273
|
||||
msgid "object not in sequence"
|
||||
msgstr "Objekt ist nicht in sequence"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c:96
|
||||
msgid "stream operation not supported"
|
||||
msgstr "stream operation ist nicht unterstützt"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c:254
|
||||
msgid "string not supported; use bytes or bytearray"
|
||||
msgstr "Zeichenfolgen werden nicht unterstützt; Verwenden Sie bytes oder bytearray"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c:289
|
||||
msgid "length argument not allowed for this type"
|
||||
msgstr "Für diesen Typ ist length nicht zulässig"
|
||||
msgstr ""
|
||||
|
||||
#: py/vm.c:255
|
||||
msgid "local variable referenced before assignment"
|
||||
msgstr "Es wurde versucht auf eine Variable zuzugreifen, die es (noch) nicht gibt. Variablen immer zuerst Zuweisen!"
|
||||
msgstr ""
|
||||
|
||||
#: py/vm.c:1142
|
||||
msgid "no active exception to reraise"
|
||||
@ -2159,16 +2165,16 @@ msgstr "Es müssen 8 oder 16 bits_per_sample sein"
|
||||
msgid ""
|
||||
"sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' or "
|
||||
"'B'"
|
||||
msgstr "sample_source buffer muss ein Bytearray oder ein Array vom Typ 'h', 'H', 'b' oder 'B' sein"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audioio/RawSample.c:101
|
||||
msgid "buffer must be a bytes-like object"
|
||||
msgstr "Puffer muss ein bytes-artiges Objekt sein"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "Die Datei muss eine im Byte-Modus geöffnete Datei sein"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/bitbangio/I2C.c:109 shared-bindings/bitbangio/SPI.c:119
|
||||
#: shared-bindings/busio/SPI.c:130
|
||||
@ -2268,15 +2274,15 @@ msgstr ""
|
||||
|
||||
#: shared-bindings/bleio/UUID.c:66
|
||||
msgid "UUID integer value not in range 0 to 0xffff"
|
||||
msgstr "UUID-Integer nicht im Bereich 0 bis 0xffff"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/bleio/UUID.c:91
|
||||
msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'"
|
||||
msgstr "UUID Zeichenfolge ist nicht 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/bleio/UUID.c:103
|
||||
msgid "UUID value is not str, int or byte buffer"
|
||||
msgstr "Der UUID-Wert ist kein str-, int- oder Byte-Puffer"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/bleio/UUID.c:107
|
||||
msgid "Byte buffer must be 16 bytes."
|
||||
@ -2284,7 +2290,7 @@ msgstr "Der Puffer muss 16 Bytes lang sein"
|
||||
|
||||
#: shared-bindings/bleio/UUID.c:151
|
||||
msgid "not a 128-bit UUID"
|
||||
msgstr "keine 128-bit UUID"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/I2C.c:117
|
||||
msgid "Function requires lock."
|
||||
@ -2292,11 +2298,11 @@ msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde"
|
||||
|
||||
#: shared-bindings/busio/UART.c:103
|
||||
msgid "bits must be 7, 8 or 9"
|
||||
msgstr "bits muss 7, 8 oder 9 sein"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c:115
|
||||
msgid "stop must be 1 or 2"
|
||||
msgstr "stop muss 1 oder 2 sein"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c:120
|
||||
msgid "timeout >100 (units are now seconds, not msecs)"
|
||||
@ -2324,74 +2330,89 @@ msgstr ""
|
||||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
msgid "row data must be a buffer"
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
msgid "%q should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
msgid "color should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
msgid "Group must have size at least 1"
|
||||
msgstr ""
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
#, fuzzy
|
||||
msgid "%q must be >= 1"
|
||||
msgstr "Puffergröße muss >= 1 sein"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
msgid "palette_index should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
msgid "start_x should be an int"
|
||||
msgstr ""
|
||||
@ -2404,25 +2425,25 @@ msgstr ""
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr "Nicht unterstützter Bitmap-Typ"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/gamepad/GamePad.c:100
|
||||
msgid "too many arguments"
|
||||
msgstr "zu viele Argumente"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/gamepad/GamePad.c:104
|
||||
msgid "expected a DigitalInOut"
|
||||
@ -2430,84 +2451,73 @@ msgstr ""
|
||||
|
||||
#: shared-bindings/i2cslave/I2CSlave.c:95
|
||||
msgid "can't convert address to int"
|
||||
msgstr "kann Adresse nicht in int konvertieren"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cslave/I2CSlave.c:98
|
||||
msgid "address out of bounds"
|
||||
msgstr "Adresse außerhalb der Grenzen"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/i2cslave/I2CSlave.c:104
|
||||
msgid "addresses is empty"
|
||||
msgstr "adresses ist leer"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Pin.c:89
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr "Erwartet ein(e) %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Pin.c:100
|
||||
msgid "%q in use"
|
||||
msgstr "%q in Benutzung"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/__init__.c:126
|
||||
msgid "Invalid run mode."
|
||||
msgstr "Ungültiger Ausführungsmodus"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/multiterminal/__init__.c:68
|
||||
msgid "Stream missing readinto() or write() method."
|
||||
msgstr "Stream fehlt readinto() oder write() Methode."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c:99
|
||||
msgid "Slice and value different lengths."
|
||||
msgstr "Slice und Wert (value) haben unterschiedliche Längen."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c:104
|
||||
msgid "Array values should be single bytes."
|
||||
msgstr "Array-Werte sollten aus Einzelbytes bestehen."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c:111 shared-bindings/nvm/ByteArray.c:141
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Schreiben in nvm nicht möglich."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c:137
|
||||
msgid "Bytes must be between 0 and 255."
|
||||
msgstr "Ein Bytes kann nur Werte zwischen 0 und 255 annehmen."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/os/__init__.c:200
|
||||
msgid "No hardware random available"
|
||||
msgstr "Kein hardware random verfügbar"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PWMOut.c:117
|
||||
msgid "All timers for this pin are in use"
|
||||
msgstr "Alle timer für diesen Pin werden bereits benutzt"
|
||||
msgstr "Alle timer für diesen Pin werden benutzt"
|
||||
|
||||
#: shared-bindings/pulseio/PWMOut.c:171
|
||||
msgid ""
|
||||
"PWM duty_cycle must be between 0 and 65535 inclusive (16 bit resolution)"
|
||||
msgstr "PWM duty_cycle muss zwischen 0 und 65535 (16 Bit Auflösung) liegen"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PWMOut.c:202
|
||||
msgid ""
|
||||
"PWM frequency not writable when variable_frequency is False on construction."
|
||||
msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Kann Werte nicht löschen"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr "Slices werden nicht unterstützt"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr "index muss ein int sein"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr "Nur lesen möglich, da Schreibgeschützt"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseOut.c:135
|
||||
msgid "Array must contain halfwords (type 'H')"
|
||||
@ -2515,28 +2525,28 @@ msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c:92 shared-bindings/random/__init__.c:100
|
||||
msgid "stop not reachable from start"
|
||||
msgstr "stop ist von start aus nicht erreichbar"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c:111
|
||||
msgid "step must be non-zero"
|
||||
msgstr "Schritt (step) darf nicht Null sein"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c:114
|
||||
msgid "invalid step"
|
||||
msgstr "ungültiger Schritt (step)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/random/__init__.c:146
|
||||
msgid "empty sequence"
|
||||
msgstr "leere Sequenz"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rtc/RTC.c:40 shared-bindings/rtc/RTC.c:44
|
||||
#: shared-bindings/time/__init__.c:190
|
||||
msgid "RTC is not supported on this board"
|
||||
msgstr "Eine RTC wird auf diesem Board nicht unterstützt"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/rtc/RTC.c:52
|
||||
msgid "RTC calibration is not supported on this board"
|
||||
msgstr "Die RTC-Kalibrierung wird auf diesem Board nicht unterstützt"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socket/__init__.c:516 shared-module/network/__init__.c:81
|
||||
msgid "no available NIC"
|
||||
@ -2544,20 +2554,15 @@ msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c:77
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c:93
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Die Helligkeit muss zwischen 0 und 255 liegen"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c:119
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr "Die Stackgröße sollte mindestens 256 sein"
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
#, fuzzy
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr "unicode_characters muss eine Zeichenfolge sein"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
@ -2585,17 +2590,17 @@ msgstr ""
|
||||
|
||||
#: shared-bindings/touchio/TouchIn.c:173
|
||||
msgid "threshold must be in the range 0-65536"
|
||||
msgstr "threshold muss im Intervall 0-65536 liegen"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/util.c:38
|
||||
msgid ""
|
||||
"Object has been deinitialized and can no longer be used. Create a new object."
|
||||
msgstr "Objekt wurde deinitialisiert und kann nicht mehr verwendet werden. Erstelle ein neues Objekt."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/_pixelbuf/PixelBuf.c:69
|
||||
#, c-format
|
||||
msgid "Expected tuple of length %d, got %d"
|
||||
msgstr "Habe ein Tupel der Länge %d erwartet aber %d erhalten"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/audioio/Mixer.c:47 shared-module/audioio/WaveFile.c:117
|
||||
msgid "Couldn't allocate first buffer"
|
||||
@ -2677,26 +2682,27 @@ msgstr ""
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "Schreibgeschützte Dateisystem"
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr "Nicht unterstützter display bus type"
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
msgid "Group empty"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
msgid "Invalid BMP file"
|
||||
msgstr "Ungültige BMP-Datei"
|
||||
@ -2738,12 +2744,12 @@ msgstr ""
|
||||
|
||||
#: shared-module/struct/__init__.c:179
|
||||
msgid "buffer size must match format"
|
||||
msgstr "Die Puffergröße muss zum Format passen"
|
||||
msgstr "Buffergröße muss zum Format passen"
|
||||
|
||||
#: shared-module/usb_hid/Device.c:45
|
||||
#, c-format
|
||||
msgid "Buffer incorrect size. Should be %d bytes."
|
||||
msgstr "Der Puffergröße ist inkorrekt. Sie sollte %d bytes haben."
|
||||
msgstr "Buffergröße falsch, sollte %d bytes sein."
|
||||
|
||||
#: shared-module/usb_hid/Device.c:53
|
||||
msgid "USB Busy"
|
||||
@ -2837,3 +2843,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Die Reset-Taste wurde beim Booten von CircuitPython gedrückt. Drücke sie "
|
||||
"erneut um den abgesicherten Modus zu verlassen. \n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Group must have %q at least 1"
|
||||
#~ msgstr "Der Puffer muss eine Mindestenslänge von 1 haben"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unicode_characters must be a string"
|
||||
#~ msgstr "name muss ein String sein"
|
||||
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Alle PWM-Peripheriegeräte werden verwendet"
|
||||
|
139
locale/en_US.po
139
locale/en_US.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-02-07 01:10-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15:01-0800\n"
|
||||
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@ -1777,69 +1777,69 @@ msgstr ""
|
||||
msgid "string index out of range"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
||||
@ -2148,7 +2148,7 @@ msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -2306,74 +2306,88 @@ msgstr ""
|
||||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
msgid "row data must be a buffer"
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
msgid "%q should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
msgid "color should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
msgid "Group must have size at least 1"
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
msgid "%q must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
msgid "palette_index should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
msgid "start_x should be an int"
|
||||
msgstr ""
|
||||
@ -2386,19 +2400,19 @@ msgstr ""
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
@ -2426,6 +2440,7 @@ msgstr ""
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr ""
|
||||
|
||||
@ -2475,19 +2490,7 @@ msgid ""
|
||||
"PWM frequency not writable when variable_frequency is False on construction."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
|
||||
@ -2536,10 +2539,6 @@ msgstr ""
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
msgstr ""
|
||||
@ -2658,26 +2657,26 @@ msgstr ""
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
msgid "Read-only object"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
msgid "Group empty"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
msgid "Invalid BMP file"
|
||||
msgstr ""
|
||||
|
246
locale/es.po
246
locale/es.po
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-02-07 09:09-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15:01-0800\n"
|
||||
"PO-Revision-Date: 2018-08-24 22:56-0500\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@ -1820,69 +1820,69 @@ msgstr "índices de string deben ser enteros, no %s"
|
||||
msgid "string index out of range"
|
||||
msgstr "string index fuera de rango"
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr "__init__() deberia devolver None"
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr "__init__() deberia devolver None, no '%s'"
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr "atributo no legible"
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr "objeto no puede ser llamado"
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr "objeto '%s' no puede ser llamado"
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr "type acepta 1 o 3 argumentos"
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr "no se puede crear instancia"
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr "no se pueden crear '%q' instancias"
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr "no se puede agregar un método a una clase ya subclasificada"
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr "type no es un tipo de base aceptable"
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr "type '%q' no es un tipo de base aceptable"
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr "herencia multiple no soportada"
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr "primer argumento para super() debe ser de tipo"
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr "issubclass() arg 2 debe ser una clase o tuple de clases"
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 debe ser una clase"
|
||||
|
||||
@ -2200,7 +2200,7 @@ msgid "buffer must be a bytes-like object"
|
||||
msgstr "buffer debe de ser un objeto bytes-like"
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "el archivo deberia ser una archivo abierto en modo byte"
|
||||
|
||||
@ -2365,75 +2365,92 @@ msgstr "Pull no se usa cuando la dirección es output."
|
||||
msgid "Unsupported pull value."
|
||||
msgstr "valor pull no soportado."
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "No se puede eliminar valores"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
#, fuzzy
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr "address fuera de límites"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
#, fuzzy
|
||||
msgid "%q should be an int"
|
||||
msgstr "y deberia ser un int"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr "row buffer deberia ser un bytearray o array de tipo 'b' o 'B'"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
msgid "row data must be a buffer"
|
||||
msgstr "row data debe ser un buffer"
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
msgid "color should be an int"
|
||||
msgstr "color deberia ser un int"
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
#, fuzzy
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr "Bytes debe estar entre 0 y 255."
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
msgid "Group must have size at least 1"
|
||||
msgstr "Group debe tener size de minimo 1"
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
#, fuzzy
|
||||
msgid "%q must be >= 1"
|
||||
msgstr "los buffers deben de tener la misma longitud"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr "color buffer deberia ser un bytearray o array de tipo 'b' o 'B'"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr "color debe estar entre 0x000000 y 0xffffff"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr "color buffer deber ser un buffer o un int"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
msgid "palette_index should be an int"
|
||||
msgstr "palette_index deberia ser un int"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
msgstr "y deberia ser un int"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
#, fuzzy
|
||||
msgid "start_x should be an int"
|
||||
@ -2448,19 +2465,19 @@ msgstr "y deberia ser un int"
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr "posición debe ser 2-tuple"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr "tipo de bitmap no soportado"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader debe ser displayio.Palette o displayio.ColorConverter"
|
||||
|
||||
@ -2488,6 +2505,7 @@ msgstr "addresses esta vacío"
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr "Se espera un %q"
|
||||
|
||||
@ -2537,19 +2555,7 @@ msgid ""
|
||||
"PWM frequency not writable when variable_frequency is False on construction."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "No se puede eliminar valores"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr "indice debe ser int"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr "Solo-lectura"
|
||||
|
||||
@ -2598,11 +2604,6 @@ msgstr "Brightness debe estar entro 0 y 255"
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
#, fuzzy
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr "palabras clave deben ser strings"
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
msgstr "la longitud de sleep no puede ser negativa"
|
||||
@ -2723,27 +2724,28 @@ msgstr "No se puede transferir sin pines MOSI y MISO."
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr "Solo se admiten bit maps de color de 8 bits o menos"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr "la fila debe estar empacada y la palabra alineada"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "Solo-lectura"
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
#, fuzzy
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr "tipo de bitmap no soportado"
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr "Group lleno"
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
msgid "Group empty"
|
||||
msgstr "Group vacío"
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
msgid "Invalid BMP file"
|
||||
msgstr "Archivo BMP inválido"
|
||||
@ -2884,35 +2886,59 @@ msgstr ""
|
||||
"El botón reset fue presionado mientras arrancaba CircuitPython. Presiona "
|
||||
"otra vez para salir del modo seguro.\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Group must have %q at least 1"
|
||||
#~ msgstr "Group debe tener size de minimo 1"
|
||||
|
||||
#~ msgid "Baud rate too high for this SPI peripheral"
|
||||
#~ msgstr "Baud rate demasiado alto para este periférico SPI"
|
||||
|
||||
#~ msgid "Invalid UUID parameter"
|
||||
#~ msgstr "Parámetro UUID inválido"
|
||||
|
||||
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
#~ msgstr "row buffer deberia ser un bytearray o array de tipo 'b' o 'B'"
|
||||
|
||||
#~ msgid "row data must be a buffer"
|
||||
#~ msgstr "row data debe ser un buffer"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unicode_characters must be a string"
|
||||
#~ msgstr "palabras clave deben ser strings"
|
||||
|
||||
#~ msgid "index must be int"
|
||||
#~ msgstr "indice debe ser int"
|
||||
|
||||
#~ msgid "Can not query for the device address."
|
||||
#~ msgstr "No se puede consultar la dirección del dispositivo."
|
||||
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Todos los periféricos PWM en uso"
|
||||
|
||||
#~ msgid "displayio is a work in progress"
|
||||
#~ msgstr "displayio todavia esta en desarrollo"
|
||||
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
|
||||
#~ msgstr ""
|
||||
#~ "Parece que nuestro código CircuitPython dejó de funcionar. Whoops!\n"
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "No se pueden establecer los parámetros PPCP."
|
||||
#~ msgid "Group empty"
|
||||
#~ msgstr "Group vacío"
|
||||
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Longitud de string UUID inválida"
|
||||
|
||||
#~ msgid "Baud rate too high for this SPI peripheral"
|
||||
#~ msgstr "Baud rate demasiado alto para este periférico SPI"
|
||||
#~ msgid "Wrong address length"
|
||||
#~ msgstr "Longitud de address erronea"
|
||||
|
||||
#~ msgid "Can encode UUID into the advertisement packet."
|
||||
#~ msgstr "Se puede codificar el UUID en el paquete de anuncio."
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "No se pueden aplicar los parámetros GAP."
|
||||
#~ msgid "Invalid Service type"
|
||||
#~ msgstr "Tipo de Servicio inválido"
|
||||
|
||||
#~ msgid "Wrong address length"
|
||||
#~ msgstr "Longitud de address erronea"
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Longitud de string UUID inválida"
|
||||
|
||||
#~ msgid "Can not add Service."
|
||||
#~ msgstr "No se puede agregar el Servicio."
|
||||
|
||||
#~ msgid "displayio is a work in progress"
|
||||
#~ msgstr "displayio todavia esta en desarrollo"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "enough power for the whole circuit and press reset (after ejecting "
|
||||
@ -2921,6 +2947,25 @@ msgstr ""
|
||||
#~ "suficiente poder para todo el circuito y presiona reset (después de "
|
||||
#~ "expulsar CIRCUITPY).\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Falló la asignación del buffer RX de %d bytes"
|
||||
|
||||
#~ msgid "Can not encode UUID, to check length."
|
||||
#~ msgstr "No se puede codificar el UUID, para revisar la longitud."
|
||||
|
||||
#~ msgid "Wrong number of bytes provided"
|
||||
#~ msgstr "Numero erroneo de bytes dados"
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "No se pueden aplicar los parámetros GAP."
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "No se puede aplicar el nombre del dispositivo en el stack."
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "No se pueden establecer los parámetros PPCP."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
|
||||
@ -2928,28 +2973,5 @@ msgstr ""
|
||||
#~ "Por favor registra un issue en la siguiente URL con el contenidos de tu "
|
||||
#~ "unidad de almacenamiento CIRCUITPY:\n"
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "No se puede aplicar el nombre del dispositivo en el stack."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Falló la asignación del buffer RX de %d bytes"
|
||||
|
||||
#~ msgid "Wrong number of bytes provided"
|
||||
#~ msgstr "Numero erroneo de bytes dados"
|
||||
|
||||
#~ msgid "Can not add Service."
|
||||
#~ msgstr "No se puede agregar el Servicio."
|
||||
|
||||
#~ msgid "Can not apply advertisement data. status: 0x%02x"
|
||||
#~ msgstr "No se puede aplicar los datos de anuncio. status: 0x%02x"
|
||||
|
||||
#~ msgid "Invalid Service type"
|
||||
#~ msgstr "Tipo de Servicio inválido"
|
||||
|
||||
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
|
||||
#~ msgstr ""
|
||||
#~ "Parece que nuestro código CircuitPython dejó de funcionar. Whoops!\n"
|
||||
|
||||
#~ msgid "Can not encode UUID, to check length."
|
||||
#~ msgstr "No se puede codificar el UUID, para revisar la longitud."
|
||||
|
248
locale/fil.po
248
locale/fil.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-02-07 09:09-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15:01-0800\n"
|
||||
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
|
||||
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
|
||||
"Language-Team: fil\n"
|
||||
@ -1821,70 +1821,70 @@ msgstr "ang indeks ng string ay dapat na integer, hindi %s"
|
||||
msgid "string index out of range"
|
||||
msgstr "indeks ng string wala sa sakop"
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr "__init __ () dapat magbalik na None"
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr "__init__() dapat magbalink na None, hindi '%s'"
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr "hindi mabasa ang attribute"
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr "hindi matatawag ang object"
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr "'%s' object hindi matatawag"
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr "type kumuhuha ng 1 o 3 arguments"
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr "hindi magawa ang instance"
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr "hindi magawa '%q' instances"
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr ""
|
||||
"hindi madagdag ang isang espesyal na method sa isang na i-subclass na class"
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr "hindi puede ang type para sa base type"
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr "hindi maari ang type na '%q' para sa base type"
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr "maraming inhertance hindi sinusuportahan"
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr "maraming bases ay may instance lay-out conflict"
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr "unang argument ng super() ay dapat type"
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr "issubclass() arg 2 ay dapat na class o tuple ng classes"
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 ay dapat na class"
|
||||
|
||||
@ -2205,7 +2205,7 @@ msgid "buffer must be a bytes-like object"
|
||||
msgstr "buffer ay dapat bytes-like object"
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "file ay dapat buksan sa byte mode"
|
||||
|
||||
@ -2370,75 +2370,92 @@ msgstr "Pull hindi ginagamit kapag ang direksyon ay output."
|
||||
msgid "Unsupported pull value."
|
||||
msgstr "Hindi suportado ang pull value."
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Hindi mabura ang values"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr "Hindi suportado ang Slices"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
#, fuzzy
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr "wala sa sakop ang address"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
#, fuzzy
|
||||
msgid "%q should be an int"
|
||||
msgstr "y ay dapat int"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr "ang row buffer ay dapat bytearray o array na type ‘b’ or ‘B’"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
msgid "row data must be a buffer"
|
||||
msgstr "row data ay dapat na buffer"
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
msgid "color should be an int"
|
||||
msgstr "color ay dapat na int"
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
#, fuzzy
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr "Sa gitna ng 0 o 255 dapat ang bytes."
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
msgid "Group must have size at least 1"
|
||||
msgstr "Group dapat ay hindi baba sa 1 na haba"
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
#, fuzzy
|
||||
msgid "%q must be >= 1"
|
||||
msgstr "aarehas na haba dapat ang buffer slices"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr "ang color buffer ay dapat bytearray o array na type ‘b’ or ‘B’"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr "color buffer ay dapat na 3 bytes (RGB) o 4 bytes (RGB + pad byte)"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr "color ay dapat mula sa 0x000000 hangang 0xffffff"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr "color buffer ay dapat buffer or int"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
msgid "palette_index should be an int"
|
||||
msgstr "palette_index ay dapat na int"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
msgstr "y ay dapat int"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
#, fuzzy
|
||||
msgid "start_x should be an int"
|
||||
@ -2453,19 +2470,19 @@ msgstr "y ay dapat int"
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr "position ay dapat 2-tuple"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr "Hindi supportadong tipo ng bitmap"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader ay dapat displayio.Palette o displayio.ColorConverter"
|
||||
|
||||
@ -2493,6 +2510,7 @@ msgstr "walang laman ang address"
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr "Umasa ng %q"
|
||||
|
||||
@ -2543,19 +2561,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"PWM frequency hindi writable kapag variable_frequency ay False sa pag buo."
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Hindi mabura ang values"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr "Hindi suportado ang Slices"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr "index ay dapat int"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr "Basahin-lamang"
|
||||
|
||||
@ -2604,11 +2610,6 @@ msgstr "Ang liwanag ay dapat sa gitna ng 0 o 255"
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr "Ang laki ng stack ay dapat na hindi bababa sa 256"
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
#, fuzzy
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr "ang keywords dapat strings"
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
msgstr "sleep length ay dapat hindi negatibo"
|
||||
@ -2729,27 +2730,28 @@ msgstr "Hindi maaaring ilipat kapag walang MOSI at MISO pin."
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr "Tanging bit maps na may 8 bit color o mas mababa ang supportado"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr "row ay dapat packed at ang word nakahanay"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "Basahin-lamang"
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
#, fuzzy
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr "Hindi supportadong tipo ng bitmap"
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr "Puno ang group"
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
msgid "Group empty"
|
||||
msgstr "Walang laman ang group"
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
msgid "Invalid BMP file"
|
||||
msgstr "Mali ang BMP file"
|
||||
@ -2890,36 +2892,60 @@ msgstr ""
|
||||
"Ang reset button ay pinindot habang nag boot ang CircuitPython. Pindutin "
|
||||
"ulit para lumabas sa safe mode.\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Group must have %q at least 1"
|
||||
#~ msgstr "Group dapat ay hindi baba sa 1 na haba"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "palette must be displayio.Palette"
|
||||
#~ msgstr "ang palette ay dapat 32 bytes ang haba"
|
||||
|
||||
#~ msgid "Invalid UUID parameter"
|
||||
#~ msgstr "Mali ang UUID parameter"
|
||||
|
||||
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
#~ msgstr "ang row buffer ay dapat bytearray o array na type ‘b’ or ‘B’"
|
||||
|
||||
#~ msgid "row data must be a buffer"
|
||||
#~ msgstr "row data ay dapat na buffer"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unicode_characters must be a string"
|
||||
#~ msgstr "ang keywords dapat strings"
|
||||
|
||||
#~ msgid "index must be int"
|
||||
#~ msgstr "index ay dapat int"
|
||||
|
||||
#~ msgid "Can not query for the device address."
|
||||
#~ msgstr "Hindi maaaring mag-query para sa address ng device."
|
||||
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Lahat ng PWM peripherals ay ginagamit"
|
||||
|
||||
#~ msgid "displayio is a work in progress"
|
||||
#~ msgstr "displayio ay nasa gitna ng konstruksiyon"
|
||||
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
|
||||
#~ msgstr ""
|
||||
#~ "Mukhang ang core CircuitPython code ay nag-crash ng malakas. Aray!\n"
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "Hindi ma-set ang PPCP parameters."
|
||||
#~ msgid "Group empty"
|
||||
#~ msgstr "Walang laman ang group"
|
||||
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Mali ang UUID string length"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "palette must be displayio.Palette"
|
||||
#~ msgstr "ang palette ay dapat 32 bytes ang haba"
|
||||
#~ msgid "Wrong address length"
|
||||
#~ msgstr "Mali ang address length"
|
||||
|
||||
#~ msgid "Can encode UUID into the advertisement packet."
|
||||
#~ msgstr "Maaring i-encode ang UUID sa advertisement packet."
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "Hindi ma-apply ang GAP parameters."
|
||||
#~ msgid "Invalid Service type"
|
||||
#~ msgstr "Mali ang tipo ng serbisyo"
|
||||
|
||||
#~ msgid "Wrong address length"
|
||||
#~ msgstr "Mali ang address length"
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Mali ang UUID string length"
|
||||
|
||||
#~ msgid "Can not add Service."
|
||||
#~ msgstr "Hindi maidaragdag ang serbisyo."
|
||||
|
||||
#~ msgid "displayio is a work in progress"
|
||||
#~ msgstr "displayio ay nasa gitna ng konstruksiyon"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "enough power for the whole circuit and press reset (after ejecting "
|
||||
@ -2928,34 +2954,30 @@ msgstr ""
|
||||
#~ "ay nagbibigay ng sapat na power para sa buong circuit at i-press ang "
|
||||
#~ "reset (pagkatapos i-eject ang CIRCUITPY).\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes"
|
||||
|
||||
#~ msgid "Can not encode UUID, to check length."
|
||||
#~ msgstr "Hindi ma-encode UUID, para suriin ang haba."
|
||||
|
||||
#~ msgid "Wrong number of bytes provided"
|
||||
#~ msgstr "Mali ang bilang ng bytes"
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "Hindi ma-apply ang GAP parameters."
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "Hindi maaaring ma-aplay ang device name sa stack."
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "Hindi ma-set ang PPCP parameters."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
|
||||
#~ msgstr ""
|
||||
#~ "Mag-file ng isang isyu dito gamit ang mga nilalaman ng iyong CIRCUITPY "
|
||||
#~ "drive:\n"
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "Hindi maaaring ma-aplay ang device name sa stack."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes"
|
||||
|
||||
#~ msgid "Wrong number of bytes provided"
|
||||
#~ msgstr "Mali ang bilang ng bytes"
|
||||
|
||||
#~ msgid "Can not add Service."
|
||||
#~ msgstr "Hindi maidaragdag ang serbisyo."
|
||||
|
||||
#~ msgid "Can not apply advertisement data. status: 0x%02x"
|
||||
#~ msgstr "Hindi ma i-apply ang advertisement data. status: 0x%02x"
|
||||
|
||||
#~ msgid "Invalid Service type"
|
||||
#~ msgstr "Mali ang tipo ng serbisyo"
|
||||
|
||||
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
|
||||
#~ msgstr ""
|
||||
#~ "Mukhang ang core CircuitPython code ay nag-crash ng malakas. Aray!\n"
|
||||
|
||||
#~ msgid "Can not encode UUID, to check length."
|
||||
#~ msgstr "Hindi ma-encode UUID, para suriin ang haba."
|
||||
|
267
locale/fr.po
267
locale/fr.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: 0.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-02-07 09:09-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15:01-0800\n"
|
||||
"PO-Revision-Date: 2018-12-23 20:05+0100\n"
|
||||
"Last-Translator: Pierrick Couturier <arofarn@arofarn.info>\n"
|
||||
"Language-Team: fr\n"
|
||||
@ -1819,71 +1819,71 @@ msgstr "les indices de chaîne de caractère doivent être des entiers, pas %s"
|
||||
msgid "string index out of range"
|
||||
msgstr "index de chaîne hors gamme"
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr "__init__() doit retourner None"
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr "__init__() doit retourner None, pas '%s'"
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr "attribut illisible"
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr "objet non appelable"
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr "objet '%s' non appelable"
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr "le type prend 1 ou 3 arguments"
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr "ne peut pas créer une instance"
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr "ne peut pas créer une instance de '%q'"
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr ""
|
||||
"impossible d'ajouter une méthode spécial à une classe déjà sous-classée"
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr "le type n'est pas un type de base accepté"
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr "le type '%q' n'est pas un type de base accepté"
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr "héritage multiple non supporté"
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr "de multiple bases ont un conflit de lay-out d'instance"
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr "le premier argument de super() doit être un type"
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr ""
|
||||
"l'argument 2 de issubclass() doit être une classe ou un tuple de classes"
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "l'argument 1 de issubclass() doit être une classe"
|
||||
|
||||
@ -2206,7 +2206,7 @@ msgid "buffer must be a bytes-like object"
|
||||
msgstr "le tampon doit être un objet bytes-like"
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "le fichier doit être un fichier ouvert en mode 'byte'"
|
||||
|
||||
@ -2371,86 +2371,99 @@ msgstr "Le tirage 'pull' n'est pas utilisé quand la direction est 'output'."
|
||||
msgid "Unsupported pull value."
|
||||
msgstr "Valeur de tirage 'pull' non supportée."
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Impossible de supprimer les valeurs"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr "Slices non supportées"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
#, fuzzy
|
||||
msgid "y should be an int"
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr "adresse hors limites"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
#, fuzzy
|
||||
msgid "%q should be an int"
|
||||
msgstr "y doit être un entier (int)"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
#, fuzzy
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
"le tampon de ligne doit être un bytearray ou un tableau de type 'b' ou 'B'"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
#, fuzzy
|
||||
msgid "row data must be a buffer"
|
||||
msgstr "les données de ligne doivent être un tampon"
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
#, fuzzy
|
||||
msgid "color should be an int"
|
||||
msgstr "la couleur doit être un entier (int)"
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
#, fuzzy
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr "Les octets 'bytes' doivent être entre 0 et 255"
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
#, fuzzy
|
||||
msgid "Group must have size at least 1"
|
||||
msgstr "Le tampon doit être de longueur au moins 1"
|
||||
msgid "%q must be >= 1"
|
||||
msgstr "les slices de tampon doivent être de longueurs égales"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
#, fuzzy
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
"le tampon de couleur doit être un bytearray ou un tableau de type 'b' ou 'B'"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr "le tampon de couleur doit faire 3 octets (RVB) ou 4 (RVB + pad byte)"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
#, fuzzy
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr "la couleur doit être entre 0x000000 et 0xffffff"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
#, fuzzy
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr "le tampon de couleur doit être un tampon ou un entier"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
#, fuzzy
|
||||
msgid "palette_index should be an int"
|
||||
msgstr "palette_index devrait être un entier (int)'"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
#, fuzzy
|
||||
msgid "y should be an int"
|
||||
msgstr "y doit être un entier (int)"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
#, fuzzy
|
||||
msgid "start_x should be an int"
|
||||
@ -2466,20 +2479,20 @@ msgstr "y doit être un entier (int)"
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr "position doit être un 2-tuple"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
#, fuzzy
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr "type de bitmap non supporté"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
"pixel_shader doit être un objet displayio.Palette ou displayio.ColorConverter"
|
||||
@ -2509,6 +2522,7 @@ msgstr "adresses vides"
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr "Attendu : %q"
|
||||
|
||||
@ -2563,19 +2577,7 @@ msgstr ""
|
||||
"La fréquence de PWM n'est pas modifiable quand variable_frequency est False "
|
||||
"à la construction."
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Impossible de supprimer les valeurs"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr "Slices non supportées"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr "l'index doit être un entier"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr "Lecture seule"
|
||||
|
||||
@ -2625,11 +2627,6 @@ msgstr "La luminosité doit être entre 0 et 255"
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr "La pile doit être au moins de 256"
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
#, fuzzy
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr "les noms doivent être des chaînes de caractère"
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
msgstr "la longueur de sleep ne doit pas être négative"
|
||||
@ -2750,28 +2747,28 @@ msgstr "Pas de transfert sans broches MOSI et MISO"
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr "Seules les bitmaps de 8bits par couleur ou moins sont supportées"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "Lecture seule"
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
#, fuzzy
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr "type de bitmap non supporté"
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr "Groupe plein"
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
#, fuzzy
|
||||
msgid "Group empty"
|
||||
msgstr "Groupe vide"
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
#, fuzzy
|
||||
msgid "Invalid BMP file"
|
||||
@ -2918,9 +2915,32 @@ msgstr ""
|
||||
"Le bouton 'reset' a été appuyé pendant le démarrage de CircuitPython. "
|
||||
"Appuyer denouveau pour quitter de le mode sans-échec.\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Group must have %q at least 1"
|
||||
#~ msgstr "Le tampon doit être de longueur au moins 1"
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "Impossible d'appliquer les paramètres PPCP"
|
||||
|
||||
#~ msgid "Invalid UUID parameter"
|
||||
#~ msgstr "Paramètre UUID invalide"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
#~ msgstr ""
|
||||
#~ "le tampon de ligne doit être un bytearray ou un tableau de type 'b' ou 'B'"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "row data must be a buffer"
|
||||
#~ msgstr "les données de ligne doivent être un tampon"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unicode_characters must be a string"
|
||||
#~ msgstr "les noms doivent être des chaînes de caractère"
|
||||
|
||||
#~ msgid "index must be int"
|
||||
#~ msgstr "l'index doit être un entier"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "palette must be displayio.Palette"
|
||||
#~ msgstr "la palette doit être une displayio.Palette"
|
||||
@ -2929,59 +2949,38 @@ msgstr ""
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Tous les périphériques PWM sont utilisés"
|
||||
|
||||
#~ msgid "displayio is a work in progress"
|
||||
#~ msgstr "displayio est en cours de développement"
|
||||
#, fuzzy
|
||||
#~ msgid "value_size must be power of two"
|
||||
#~ msgstr "value_size doit être une puissance de 2"
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "Impossible d'appliquer les paramètres GAP"
|
||||
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Longeur de chaîne UUID invalide"
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "Impossible d'appliquer les paramètres PPCP"
|
||||
|
||||
#~ msgid "Can not add Service."
|
||||
#~ msgstr "Impossible d'ajouter le Service"
|
||||
|
||||
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
|
||||
#~ msgstr ""
|
||||
#~ "Il semblerait que votre code CircuitPython a durement planté. Oups!\n"
|
||||
#, fuzzy
|
||||
#~ msgid "Group empty"
|
||||
#~ msgstr "Groupe vide"
|
||||
|
||||
#~ msgid "Wrong address length"
|
||||
#~ msgstr "Mauvaise longueur d'adresse"
|
||||
|
||||
#~ msgid "Invalid Service type"
|
||||
#~ msgstr "Type de service invalide"
|
||||
|
||||
#~ msgid "Can not encode UUID, to check length."
|
||||
#~ msgstr "Impossible d'encoder l'UUID pour vérifier la longueur."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
|
||||
#~ msgstr ""
|
||||
#~ "SVP, remontez le problème là avec le contenu du lecteur CIRCUITPY:\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Echec de l'allocation de %d octets du tampon RX"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Wrong number of bytes provided"
|
||||
#~ msgstr "mauvais nombre d'octets fourni'"
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "Impossible d'appliquer le nom de périphérique dans la pile"
|
||||
|
||||
#~ msgid "Can not query for the device address."
|
||||
#~ msgstr "Impossible d'obtenir l'adresse du périphérique"
|
||||
#~ msgid "Can not add Service."
|
||||
#~ msgstr "Impossible d'ajouter le Service"
|
||||
|
||||
#~ msgid "Can not add Characteristic."
|
||||
#~ msgstr "Impossible d'ajouter la Characteristic."
|
||||
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Longeur de chaîne UUID invalide"
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "Impossible d'appliquer le nom de périphérique dans la pile"
|
||||
|
||||
#~ msgid "displayio is a work in progress"
|
||||
#~ msgstr "displayio est en cours de développement"
|
||||
|
||||
#~ msgid "Invalid Service type"
|
||||
#~ msgstr "Type de service invalide"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "value_size must be power of two"
|
||||
#~ msgstr "value_size doit être une puissance de 2"
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Echec de l'allocation de %d octets du tampon RX"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "enough power for the whole circuit and press reset (after ejecting "
|
||||
@ -2989,3 +2988,25 @@ msgstr ""
|
||||
#~ msgstr ""
|
||||
#~ "assez de puissance pour l'ensemble du circuit et appuyez sur "
|
||||
#~ "'reset' (après avoir éjecter CIRCUITPY).\n"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Wrong number of bytes provided"
|
||||
#~ msgstr "mauvais nombre d'octets fourni'"
|
||||
|
||||
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
|
||||
#~ msgstr ""
|
||||
#~ "Il semblerait que votre code CircuitPython a durement planté. Oups!\n"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
|
||||
#~ msgstr ""
|
||||
#~ "SVP, remontez le problème là avec le contenu du lecteur CIRCUITPY:\n"
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "Impossible d'appliquer les paramètres GAP"
|
||||
|
||||
#~ msgid "Can not encode UUID, to check length."
|
||||
#~ msgstr "Impossible d'encoder l'UUID pour vérifier la longueur."
|
||||
|
||||
#~ msgid "Can not query for the device address."
|
||||
#~ msgstr "Impossible d'obtenir l'adresse du périphérique"
|
||||
|
235
locale/it_IT.po
235
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-02-07 09:09-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15:01-0800\n"
|
||||
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
|
||||
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
|
||||
"Language-Team: \n"
|
||||
@ -1815,71 +1815,71 @@ msgstr "indici della stringa devono essere interi, non %s"
|
||||
msgid "string index out of range"
|
||||
msgstr "indice della stringa fuori intervallo"
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr "__init__() deve ritornare None"
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr "__init__() deve ritornare None, non '%s'"
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr "attributo non leggibile"
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr "tipo prende 1 o 3 argomenti"
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr "impossibile creare un istanza"
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr "creare '%q' istanze"
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr "il tipo non è un tipo di base accettabile"
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr "il tipo '%q' non è un tipo di base accettabile"
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr "ereditarietà multipla non supportata"
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr ""
|
||||
"il secondo argomento di issubclass() deve essere una classe o una tupla di "
|
||||
"classi"
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "il primo argomento di issubclass() deve essere una classe"
|
||||
|
||||
@ -2203,7 +2203,7 @@ msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -2368,77 +2368,94 @@ msgstr ""
|
||||
msgid "Unsupported pull value."
|
||||
msgstr "Valore di pull non supportato."
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Impossibile cancellare valori"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr "Slice non supportate"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
#, fuzzy
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr "indirizzo fuori limite"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
#, fuzzy
|
||||
msgid "%q should be an int"
|
||||
msgstr "y dovrebbe essere un int"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr "buffer di riga deve essere un bytearray o un array di tipo 'b' o 'B'"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
msgid "row data must be a buffer"
|
||||
msgstr "valori della riga devono essere un buffer"
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
msgid "color should be an int"
|
||||
msgstr "il colore deve essere un int"
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
#, fuzzy
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr "I byte devono essere compresi tra 0 e 255"
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
msgid "Group must have size at least 1"
|
||||
msgstr "Il gruppo deve avere dimensione almeno 1"
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
#, fuzzy
|
||||
msgid "%q must be >= 1"
|
||||
msgstr "slice del buffer devono essere della stessa lunghezza"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
"buffer del colore deve essere un bytearray o un array di tipo 'b' o 'B'"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr ""
|
||||
"il buffer del colore deve esseer di 3 byte (RGB) o 4 byte (RGB + pad byte)"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr "il colore deve essere compreso tra 0x000000 e 0xffffff"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr "il buffer del colore deve essere un buffer o un int"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
msgid "palette_index should be an int"
|
||||
msgstr "palette_index deve essere un int"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
msgstr "y dovrebbe essere un int"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
#, fuzzy
|
||||
msgid "start_x should be an int"
|
||||
@ -2453,19 +2470,19 @@ msgstr "y dovrebbe essere un int"
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr "position deve essere una 2-tuple"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr "tipo di bitmap non supportato"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader deve essere displayio.Palette o displayio.ColorConverter"
|
||||
|
||||
@ -2493,6 +2510,7 @@ msgstr "gli indirizzi sono vuoti"
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr "Atteso un %q"
|
||||
|
||||
@ -2547,19 +2565,7 @@ msgstr ""
|
||||
"frequenza PWM frequency non è scrivibile quando variable_frequency è "
|
||||
"impostato nel costruttore a False."
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Impossibile cancellare valori"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr "Slice non supportate"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr "l'indice deve essere int"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr "Sola lettura"
|
||||
|
||||
@ -2609,11 +2615,6 @@ msgstr "La luminosità deve essere compreso tra 0 e 255"
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr "La dimensione dello stack deve essere almeno 256"
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
#, fuzzy
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr "argomenti nominati devono essere stringhe"
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
msgstr "la lunghezza di sleed deve essere non negativa"
|
||||
@ -2734,27 +2735,28 @@ msgstr "Impossibile trasferire senza i pin MOSI e MISO."
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr "Sono supportate solo bitmap con colori a 8 bit o meno"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr "la riga deve essere compattata e allineata alla parola"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "Sola lettura"
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
#, fuzzy
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr "tipo di bitmap non supportato"
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr "Gruppo pieno"
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
msgid "Group empty"
|
||||
msgstr "Gruppo vuoto"
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
msgid "Invalid BMP file"
|
||||
msgstr "File BMP non valido"
|
||||
@ -2887,34 +2889,75 @@ msgid ""
|
||||
"exit safe mode.\n"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "row data must be a buffer"
|
||||
#~ msgstr "valori della riga devono essere un buffer"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Wrong number of bytes provided"
|
||||
#~ msgstr "numero di argomenti errato"
|
||||
#~ msgid "Group must have %q at least 1"
|
||||
#~ msgstr "Il gruppo deve avere dimensione almeno 1"
|
||||
|
||||
#~ msgid "Invalid UUID parameter"
|
||||
#~ msgstr "Parametro UUID non valido"
|
||||
|
||||
#~ msgid "Group empty"
|
||||
#~ msgstr "Gruppo vuoto"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Tutte le periferiche SPI sono in uso"
|
||||
|
||||
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
#~ msgstr ""
|
||||
#~ "buffer di riga deve essere un bytearray o un array di tipo 'b' o 'B'"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unicode_characters must be a string"
|
||||
#~ msgstr "argomenti nominati devono essere stringhe"
|
||||
|
||||
#~ msgid "index must be int"
|
||||
#~ msgstr "l'indice deve essere int"
|
||||
|
||||
#~ msgid "Invalid Service type"
|
||||
#~ msgstr "Tipo di servizio non valido"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Wrong number of bytes provided"
|
||||
#~ msgstr "numero di argomenti errato"
|
||||
|
||||
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
|
||||
#~ msgstr ""
|
||||
#~ "Sembra che il codice del core di CircuitPython sia crashato malamente. "
|
||||
#~ "Whoops!\n"
|
||||
|
||||
#~ msgid "Can not add Characteristic."
|
||||
#~ msgstr "Non è possibile aggiungere Characteristic."
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "Impossibile applicare i parametri GAP."
|
||||
|
||||
#~ msgid "Can not apply advertisement data. status: 0x%02x"
|
||||
#~ msgstr "Impossible inserire dati advertisement. status: 0x%02x"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
|
||||
#~ msgstr ""
|
||||
#~ "Ti preghiamo di compilare una issue con il contenuto del tuo drie "
|
||||
#~ "CIRCUITPY:\n"
|
||||
|
||||
#~ msgid "Can not query for the device address."
|
||||
#~ msgstr "Non è possibile trovare l'indirizzo del dispositivo."
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "Impossibile impostare i parametri PPCP."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Fallita allocazione del buffer RX di %d byte"
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "Non è possibile inserire il nome del dipositivo nella lista."
|
||||
|
||||
#~ msgid "Can encode UUID into the advertisement packet."
|
||||
#~ msgstr "È possibile codificare l'UUID nel pacchetto di advertisement."
|
||||
|
||||
#~ msgid "Can not add Service."
|
||||
#~ msgstr "Non è possibile aggiungere Service."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "enough power for the whole circuit and press reset (after ejecting "
|
||||
@ -2923,32 +2966,12 @@ msgstr ""
|
||||
#~ "abbastanza potenza per l'intero circuito e premere reset (dopo aver "
|
||||
#~ "espulso CIRCUITPY).\n"
|
||||
|
||||
#~ msgid "Can not add Service."
|
||||
#~ msgstr "Non è possibile aggiungere Service."
|
||||
|
||||
#~ msgid "Can not apply advertisement data. status: 0x%02x"
|
||||
#~ msgstr "Impossible inserire dati advertisement. status: 0x%02x"
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "Non è possibile inserire il nome del dipositivo nella lista."
|
||||
|
||||
#~ msgid "Can not add Characteristic."
|
||||
#~ msgstr "Non è possibile aggiungere Characteristic."
|
||||
|
||||
#~ msgid "Can not encode UUID, to check length."
|
||||
#~ msgstr "Non è possibile codificare l'UUID, lunghezza da controllare."
|
||||
|
||||
#~ msgid "Invalid UUID string length"
|
||||
#~ msgstr "Lunghezza della stringa UUID non valida"
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "Impossibile applicare i parametri GAP."
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Fallita allocazione del buffer RX di %d byte"
|
||||
|
||||
#~ msgid "Can encode UUID into the advertisement packet."
|
||||
#~ msgstr "È possibile codificare l'UUID nel pacchetto di advertisement."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
|
||||
#~ msgstr ""
|
||||
#~ "Ti preghiamo di compilare una issue con il contenuto del tuo drie "
|
||||
#~ "CIRCUITPY:\n"
|
||||
#~ msgid "Can not encode UUID, to check length."
|
||||
#~ msgstr "Non è possibile codificare l'UUID, lunghezza da controllare."
|
||||
|
199
locale/pt_BR.po
199
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-02-07 09:09-0600\n"
|
||||
"POT-Creation-Date: 2019-02-12 15:01-0800\n"
|
||||
"PO-Revision-Date: 2018-10-02 21:14-0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@ -1794,69 +1794,69 @@ msgstr ""
|
||||
msgid "string index out of range"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:368
|
||||
#: py/objtype.c:371
|
||||
msgid "__init__() should return None"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:370
|
||||
#: py/objtype.c:373
|
||||
#, c-format
|
||||
msgid "__init__() should return None, not '%s'"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:633 py/objtype.c:1287 py/runtime.c:1065
|
||||
#: py/objtype.c:636 py/objtype.c:1290 py/runtime.c:1065
|
||||
msgid "unreadable attribute"
|
||||
msgstr "atributo ilegível"
|
||||
|
||||
#: py/objtype.c:878 py/runtime.c:653
|
||||
#: py/objtype.c:881 py/runtime.c:653
|
||||
msgid "object not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:880 py/runtime.c:655
|
||||
#: py/objtype.c:883 py/runtime.c:655
|
||||
#, c-format
|
||||
msgid "'%s' object is not callable"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:988
|
||||
#: py/objtype.c:991
|
||||
msgid "type takes 1 or 3 arguments"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:999
|
||||
#: py/objtype.c:1002
|
||||
msgid "cannot create instance"
|
||||
msgstr "não é possível criar instância"
|
||||
|
||||
#: py/objtype.c:1001
|
||||
#: py/objtype.c:1004
|
||||
msgid "cannot create '%q' instances"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1059
|
||||
#: py/objtype.c:1062
|
||||
msgid "can't add special method to already-subclassed class"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1103 py/objtype.c:1109
|
||||
#: py/objtype.c:1106 py/objtype.c:1112
|
||||
msgid "type is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1112
|
||||
#: py/objtype.c:1115
|
||||
msgid "type '%q' is not an acceptable base type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1149
|
||||
#: py/objtype.c:1152
|
||||
msgid "multiple inheritance not supported"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1176
|
||||
#: py/objtype.c:1179
|
||||
msgid "multiple bases have instance lay-out conflict"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1217
|
||||
#: py/objtype.c:1220
|
||||
msgid "first argument to super() must be type"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1382
|
||||
#: py/objtype.c:1385
|
||||
msgid "issubclass() arg 2 must be a class or a tuple of classes"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c:1396
|
||||
#: py/objtype.c:1399
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
||||
@ -2169,7 +2169,7 @@ msgid "buffer must be a bytes-like object"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/audioio/WaveFile.c:78
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:87
|
||||
#: shared-bindings/displayio/OnDiskBitmap.c:85
|
||||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
@ -2334,75 +2334,91 @@ msgstr ""
|
||||
msgid "Unsupported pull value."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:84 shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
#: shared-bindings/displayio/Bitmap.c:131 shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Não é possível excluir valores"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:139 shared-bindings/displayio/Group.c:253
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:156
|
||||
msgid "pixel coordinates out of bounds"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:166
|
||||
msgid "pixel value requires too many bits"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/BuiltinFont.c:93
|
||||
#, fuzzy
|
||||
msgid "%q should be an int"
|
||||
msgstr "y deve ser um int"
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:89
|
||||
msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Bitmap.c:94
|
||||
msgid "row data must be a buffer"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/ColorConverter.c:72
|
||||
#: shared-bindings/displayio/ColorConverter.c:70
|
||||
msgid "color should be an int"
|
||||
msgstr "cor deve ser um int"
|
||||
|
||||
#: shared-bindings/displayio/Display.c:131
|
||||
#: shared-bindings/displayio/Display.c:129
|
||||
msgid "Display rotation must be in 90 degree increments"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:143
|
||||
#: shared-bindings/displayio/Display.c:141
|
||||
msgid "Too many displays"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:167
|
||||
#: shared-bindings/displayio/Display.c:165
|
||||
msgid "Must be a Group subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c:209
|
||||
#: shared-bindings/displayio/Display.c:219
|
||||
#: shared-bindings/displayio/Display.c:207
|
||||
#: shared-bindings/displayio/Display.c:217
|
||||
msgid "Brightness not adjustable"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:93
|
||||
#: shared-bindings/displayio/ParallelBus.c:98
|
||||
#: shared-bindings/displayio/FourWire.c:91
|
||||
#: shared-bindings/displayio/ParallelBus.c:96
|
||||
msgid "Too many display busses"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/FourWire.c:109
|
||||
#: shared-bindings/displayio/ParallelBus.c:113
|
||||
#: shared-bindings/displayio/FourWire.c:107
|
||||
#: shared-bindings/displayio/ParallelBus.c:111
|
||||
#, fuzzy
|
||||
msgid "Command must be an int between 0 and 255"
|
||||
msgstr "Os bytes devem estar entre 0 e 255."
|
||||
|
||||
#: shared-bindings/displayio/Group.c:62
|
||||
msgid "Group must have size at least 1"
|
||||
msgstr "Grupo deve ter tamanho pelo menos 1"
|
||||
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
|
||||
#: shared-bindings/displayio/Group.c:100
|
||||
#, fuzzy
|
||||
msgid "%q must be >= 1"
|
||||
msgstr "buffers devem ser o mesmo tamanho"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:93
|
||||
#: shared-bindings/displayio/Palette.c:91
|
||||
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:99
|
||||
#: shared-bindings/displayio/Palette.c:97
|
||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:103
|
||||
#: shared-bindings/displayio/Palette.c:101
|
||||
msgid "color must be between 0x000000 and 0xffffff"
|
||||
msgstr "cor deve estar entre 0x000000 e 0xffffff"
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:107
|
||||
#: shared-bindings/displayio/Palette.c:105
|
||||
msgid "color buffer must be a buffer or int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Palette.c:120
|
||||
#: shared-bindings/displayio/Palette.c:134
|
||||
#: shared-bindings/displayio/Palette.c:118
|
||||
#: shared-bindings/displayio/Palette.c:132
|
||||
msgid "palette_index should be an int"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:88
|
||||
msgid "y should be an int"
|
||||
msgstr "y deve ser um int"
|
||||
|
||||
#: shared-bindings/displayio/Shape.c:92
|
||||
#, fuzzy
|
||||
msgid "start_x should be an int"
|
||||
@ -2417,19 +2433,19 @@ msgstr "y deve ser um int"
|
||||
msgid "position must be 2-tuple"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:117
|
||||
#: shared-bindings/displayio/TileGrid.c:115
|
||||
msgid "unsupported bitmap type"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:128
|
||||
#: shared-bindings/displayio/TileGrid.c:126
|
||||
msgid "Tile width must exactly divide bitmap width"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:131
|
||||
#: shared-bindings/displayio/TileGrid.c:129
|
||||
msgid "Tile height must exactly divide bitmap height"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c:198
|
||||
#: shared-bindings/displayio/TileGrid.c:196
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
@ -2457,6 +2473,7 @@ msgstr ""
|
||||
#: shared-bindings/neopixel_write/__init__.c:67
|
||||
#: shared-bindings/pulseio/PulseOut.c:76
|
||||
#: shared-bindings/terminalio/Terminal.c:63
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
msgid "Expected a %q"
|
||||
msgstr "Esperado um"
|
||||
|
||||
@ -2506,19 +2523,7 @@ msgid ""
|
||||
"PWM frequency not writable when variable_frequency is False on construction."
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:272
|
||||
msgid "Cannot delete values"
|
||||
msgstr "Não é possível excluir valores"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:278
|
||||
msgid "Slices not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:284
|
||||
msgid "index must be int"
|
||||
msgstr "index deve ser int"
|
||||
|
||||
#: shared-bindings/pulseio/PulseIn.c:290
|
||||
#: shared-bindings/pulseio/PulseIn.c:285
|
||||
msgid "Read-only"
|
||||
msgstr "Somente leitura"
|
||||
|
||||
@ -2567,11 +2572,6 @@ msgstr "O brilho deve estar entre 0 e 255"
|
||||
msgid "Stack size must be at least 256"
|
||||
msgstr "O tamanho da pilha deve ser pelo menos 256"
|
||||
|
||||
#: shared-bindings/terminalio/Terminal.c:68
|
||||
#, fuzzy
|
||||
msgid "unicode_characters must be a string"
|
||||
msgstr "heap deve ser uma lista"
|
||||
|
||||
#: shared-bindings/time/__init__.c:78
|
||||
msgid "sleep length must be non-negative"
|
||||
msgstr ""
|
||||
@ -2691,27 +2691,28 @@ msgstr "Não é possível transferir sem os pinos MOSI e MISO."
|
||||
msgid "Only bit maps of 8 bit color or less are supported"
|
||||
msgstr "Apenas bit maps de cores de 8 bit ou menos são suportados"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:69
|
||||
#: shared-module/displayio/Bitmap.c:81
|
||||
msgid "row must be packed and word aligned"
|
||||
msgstr "Linha deve ser comprimida e com as palavras alinhadas"
|
||||
|
||||
#: shared-module/displayio/Bitmap.c:118
|
||||
#, fuzzy
|
||||
msgid "Read-only object"
|
||||
msgstr "Somente leitura"
|
||||
|
||||
#: shared-module/displayio/Display.c:67
|
||||
#, fuzzy
|
||||
msgid "Unsupported display bus type"
|
||||
msgstr "Taxa de transmissão não suportada"
|
||||
|
||||
#: shared-module/displayio/Group.c:39
|
||||
#: shared-module/displayio/Group.c:66
|
||||
msgid "Group full"
|
||||
msgstr "Grupo cheio"
|
||||
|
||||
#: shared-module/displayio/Group.c:46
|
||||
#: shared-module/displayio/Group.c:73
|
||||
msgid "Layer must be a Group or TileGrid subclass."
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/displayio/Group.c:55
|
||||
msgid "Group empty"
|
||||
msgstr "Grupo vazio"
|
||||
|
||||
#: shared-module/displayio/OnDiskBitmap.c:49
|
||||
msgid "Invalid BMP file"
|
||||
msgstr "Arquivo BMP inválido"
|
||||
@ -2836,34 +2837,32 @@ msgid ""
|
||||
"exit safe mode.\n"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "Não é possível aplicar o nome do dispositivo na pilha."
|
||||
#~ msgid "index must be int"
|
||||
#~ msgstr "index deve ser int"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Falha ao alocar buffer RX de %d bytes"
|
||||
#~ msgid "Group must have %q at least 1"
|
||||
#~ msgstr "Grupo deve ter tamanho pelo menos 1"
|
||||
|
||||
#~ msgid "Baud rate too high for this SPI peripheral"
|
||||
#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI"
|
||||
#~ msgid "Group empty"
|
||||
#~ msgstr "Grupo vazio"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Todos os temporizadores em uso"
|
||||
#~ msgid "unicode_characters must be a string"
|
||||
#~ msgstr "heap deve ser uma lista"
|
||||
|
||||
#~ msgid "Invalid UUID parameter"
|
||||
#~ msgstr "Parâmetro UUID inválido"
|
||||
|
||||
#~ msgid "Baud rate too high for this SPI peripheral"
|
||||
#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI"
|
||||
|
||||
#~ msgid "Can encode UUID into the advertisement packet."
|
||||
#~ msgstr "Pode codificar o UUID no pacote de anúncios."
|
||||
|
||||
#~ msgid "Can not apply advertisement data. status: 0x%02x"
|
||||
#~ msgstr "Não é possível aplicar dados de anúncio. status: 0x%02x"
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "Não é possível definir parâmetros PPCP."
|
||||
|
||||
#~ msgid "Can not add Characteristic."
|
||||
#~ msgstr "Não é possível adicionar Característica."
|
||||
#, fuzzy
|
||||
#~ msgid "unpack requires a buffer of %d bytes"
|
||||
#~ msgstr "Falha ao alocar buffer RX de %d bytes"
|
||||
|
||||
#~ msgid "Can not query for the device address."
|
||||
#~ msgstr "Não é possível consultar o endereço do dispositivo."
|
||||
@ -2871,5 +2870,21 @@ msgstr ""
|
||||
#~ msgid "Invalid Service type"
|
||||
#~ msgstr "Tipo de serviço inválido"
|
||||
|
||||
#~ msgid "Cannot set PPCP parameters."
|
||||
#~ msgstr "Não é possível definir parâmetros PPCP."
|
||||
|
||||
#~ msgid "Can not apply device name in the stack."
|
||||
#~ msgstr "Não é possível aplicar o nome do dispositivo na pilha."
|
||||
|
||||
#~ msgid "Cannot apply GAP parameters."
|
||||
#~ msgstr "Não é possível aplicar parâmetros GAP."
|
||||
|
||||
#~ msgid "Can not apply advertisement data. status: 0x%02x"
|
||||
#~ msgstr "Não é possível aplicar dados de anúncio. status: 0x%02x"
|
||||
|
||||
#~ msgid "Can not add Characteristic."
|
||||
#~ msgstr "Não é possível adicionar Característica."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "All PWM peripherals are in use"
|
||||
#~ msgstr "Todos os temporizadores em uso"
|
||||
|
@ -366,6 +366,7 @@ SRC_BINDINGS_ENUMS = \
|
||||
digitalio/Direction.c \
|
||||
digitalio/DriveMode.c \
|
||||
digitalio/Pull.c \
|
||||
displayio/Glyph.c \
|
||||
microcontroller/RunMode.c \
|
||||
help.c \
|
||||
math/__init__.c \
|
||||
@ -381,6 +382,7 @@ SRC_SHARED_MODULE = \
|
||||
busio/OneWire.c \
|
||||
displayio/__init__.c \
|
||||
displayio/Bitmap.c \
|
||||
displayio/BuiltinFont.c \
|
||||
displayio/ColorConverter.c \
|
||||
displayio/Display.c \
|
||||
displayio/FourWire.c \
|
||||
|
@ -82,7 +82,7 @@ void board_init(void) {
|
||||
240, // Height
|
||||
0, // column start
|
||||
0, // row start
|
||||
90, // rotation
|
||||
270, // rotation
|
||||
16, // Color depth
|
||||
MIPI_COMMAND_SET_COLUMN_ADDRESS, // Set column command
|
||||
MIPI_COMMAND_SET_PAGE_ADDRESS, // Set row command
|
||||
|
@ -164,24 +164,24 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
|
||||
// 0x1: TX pad 2; no RTS/CTS
|
||||
// 0x2: TX pad 0; RTS: pad 2, CTS: pad 3 (not used by us right now)
|
||||
// So divide by 2 to map pad to value.
|
||||
hri_sercomusart_write_CTRLA_TXPO_bf(sercom, tx_pad / 2);
|
||||
// RXPO:
|
||||
// 0x0: RX pad 0
|
||||
// 0x1: RX pad 1
|
||||
// 0x2: RX pad 2
|
||||
// 0x3: RX pad 3
|
||||
hri_sercomusart_write_CTRLA_RXPO_bf(sercom, rx_pad);
|
||||
sercom->USART.CTRLA.reg = SERCOM_USART_CTRLA_TXPO(tx_pad / 2) |
|
||||
SERCOM_USART_CTRLA_RXPO(rx_pad) |
|
||||
(parity == PARITY_NONE ? 0 : SERCOM_USART_CTRLA_FORM(1));
|
||||
|
||||
// Enable tx and/or rx based on whether the pins were specified.
|
||||
hri_sercomusart_write_CTRLB_TXEN_bit(sercom, have_tx);
|
||||
hri_sercomusart_write_CTRLB_RXEN_bit(sercom, have_rx);
|
||||
// CHSIZE is 0 for 8 bits, 5, 6, 7 for 5, 6, 7 bits. 1 for 9 bits, but we don't support that.
|
||||
sercom->USART.CTRLB.reg = (have_tx ? SERCOM_USART_CTRLB_TXEN : 0) |
|
||||
(have_rx ? SERCOM_USART_CTRLB_RXEN : 0) |
|
||||
(parity == PARITY_ODD ? SERCOM_USART_CTRLB_PMODE : 0) |
|
||||
(stop > 1 ? SERCOM_USART_CTRLB_SBMODE : 0) |
|
||||
SERCOM_USART_CTRLB_CHSIZE(bits % 8);
|
||||
|
||||
// Set parity, baud rate, stop bits, etc. 9-bit bytes not supported.
|
||||
usart_async_set_parity(usart_desc_p, parity == PARITY_NONE ? USART_PARITY_NONE :
|
||||
(parity == PARITY_ODD ? USART_PARITY_ODD : USART_PARITY_EVEN));
|
||||
usart_async_set_stopbits(usart_desc_p, stop == 1 ? USART_STOP_BITS_ONE : USART_STOP_BITS_TWO);
|
||||
// This field is 0 for 8 bits, 5, 6, 7 for 5, 6, 7 bits. 1 for 9 bits, but we don't support that.
|
||||
usart_async_set_character_size(usart_desc_p, bits % 8);
|
||||
// Set baud rate
|
||||
common_hal_busio_uart_set_baudrate(self, baudrate);
|
||||
|
||||
// Turn on rx interrupt handling. The UART async driver has its own set of internal callbacks,
|
||||
|
@ -195,6 +195,7 @@ SRC_BINDINGS_ENUMS = \
|
||||
digitalio/Direction.c \
|
||||
digitalio/DriveMode.c \
|
||||
digitalio/Pull.c \
|
||||
displayio/Glyph.c \
|
||||
microcontroller/RunMode.c \
|
||||
help.c \
|
||||
math/__init__.c \
|
||||
@ -221,6 +222,7 @@ SRC_SHARED_MODULE = \
|
||||
busio/OneWire.c \
|
||||
displayio/__init__.c \
|
||||
displayio/Bitmap.c \
|
||||
displayio/BuiltinFont.c \
|
||||
displayio/ColorConverter.c \
|
||||
displayio/Display.c \
|
||||
displayio/FourWire.c \
|
||||
|
@ -121,9 +121,6 @@
|
||||
|
||||
#define MICROPY_KBD_EXCEPTION (1)
|
||||
|
||||
#define MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF (1)
|
||||
#define MICROPY_EMERGENCY_EXCEPTION_BUF_SIZE (0)
|
||||
|
||||
// Scan gamepad every 32ms
|
||||
#define CIRCUITPY_GAMEPAD_TICKS 0x1f
|
||||
|
||||
|
@ -171,6 +171,9 @@ STATIC void mp_obj_class_lookup(struct class_lookup_data *lookup, const mp_obj_
|
||||
// do a lookup, not a (base) type in which we found the class method.
|
||||
const mp_obj_type_t *org_type = (const mp_obj_type_t*)lookup->obj;
|
||||
mp_convert_member_lookup(MP_OBJ_NULL, org_type, elem->value, lookup->dest);
|
||||
} else if (MP_OBJ_IS_TYPE(elem->value, &mp_type_property)) {
|
||||
lookup->dest[0] = elem->value;
|
||||
return;
|
||||
} else {
|
||||
mp_obj_instance_t *obj = lookup->obj;
|
||||
mp_obj_t obj_obj;
|
||||
|
@ -43,8 +43,6 @@
|
||||
//|
|
||||
//| Stores values of a certain size in a 2D array
|
||||
//|
|
||||
//| .. warning:: This will likely be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| .. class:: Bitmap(width, height, value_count)
|
||||
//|
|
||||
//| Create a Bitmap object with the given fixed size. Each pixel stores a value that is used to
|
||||
@ -71,34 +69,110 @@ STATIC mp_obj_t displayio_bitmap_make_new(const mp_obj_type_t *type, size_t n_ar
|
||||
|
||||
return MP_OBJ_FROM_PTR(self);
|
||||
}
|
||||
|
||||
|
||||
//| .. method:: _load_row(y, data)
|
||||
//| .. attribute:: width
|
||||
//|
|
||||
//| Loads pre-packed data into the given row.
|
||||
//| Width of the bitmap. (read only)
|
||||
//|
|
||||
STATIC mp_obj_t displayio_bitmap_obj__load_row(mp_obj_t self_in, mp_obj_t y_in, mp_obj_t data_in) {
|
||||
STATIC mp_obj_t displayio_bitmap_obj_get_width(mp_obj_t self_in) {
|
||||
displayio_bitmap_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
mp_int_t y;
|
||||
if (!mp_obj_get_int_maybe(y_in, &y)) {
|
||||
mp_raise_ValueError(translate("y should be an int"));
|
||||
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_bitmap_get_width(self));
|
||||
}
|
||||
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(displayio_bitmap_get_width_obj, displayio_bitmap_obj_get_width);
|
||||
|
||||
const mp_obj_property_t displayio_bitmap_width_obj = {
|
||||
.base.type = &mp_type_property,
|
||||
.proxy = {(mp_obj_t)&displayio_bitmap_get_width_obj,
|
||||
(mp_obj_t)&mp_const_none_obj,
|
||||
(mp_obj_t)&mp_const_none_obj},
|
||||
};
|
||||
|
||||
//| .. attribute:: height
|
||||
//|
|
||||
//| Height of the bitmap. (read only)
|
||||
//|
|
||||
STATIC mp_obj_t displayio_bitmap_obj_get_height(mp_obj_t self_in) {
|
||||
displayio_bitmap_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_bitmap_get_height(self));
|
||||
}
|
||||
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(displayio_bitmap_get_height_obj, displayio_bitmap_obj_get_height);
|
||||
|
||||
const mp_obj_property_t displayio_bitmap_height_obj = {
|
||||
.base.type = &mp_type_property,
|
||||
.proxy = {(mp_obj_t)&displayio_bitmap_get_height_obj,
|
||||
(mp_obj_t)&mp_const_none_obj,
|
||||
(mp_obj_t)&mp_const_none_obj},
|
||||
};
|
||||
|
||||
//| .. method:: __getitem__(index)
|
||||
//|
|
||||
//| Returns the value at the given index. The index can either be an x,y tuple or an int equal
|
||||
//| to ``y * width + x``.
|
||||
//|
|
||||
//| This allows you to::
|
||||
//|
|
||||
//| print(bitmap[0,1])
|
||||
//|
|
||||
//| .. method:: __setitem__(index, value)
|
||||
//|
|
||||
//| Sets the value at the given index. The index can either be an x,y tuple or an int equal
|
||||
//| to ``y * width + x``.
|
||||
//|
|
||||
//| This allows you to::
|
||||
//|
|
||||
//| bitmap[0,1] = 3
|
||||
//|
|
||||
STATIC mp_obj_t bitmap_subscr(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t value_obj) {
|
||||
if (value_obj == mp_const_none) {
|
||||
// delete item
|
||||
mp_raise_AttributeError(translate("Cannot delete values"));
|
||||
return mp_const_none;
|
||||
}
|
||||
mp_buffer_info_t bufinfo;
|
||||
if (mp_get_buffer(data_in, &bufinfo, MP_BUFFER_READ)) {
|
||||
if (bufinfo.typecode != 'b' && bufinfo.typecode != 'B' && bufinfo.typecode != BYTEARRAY_TYPECODE) {
|
||||
mp_raise_ValueError(translate("row buffer must be a bytearray or array of type 'b' or 'B'"));
|
||||
}
|
||||
uint8_t* buf = bufinfo.buf;
|
||||
common_hal_displayio_bitmap_load_row(self, y, buf, bufinfo.len);
|
||||
|
||||
displayio_bitmap_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
if (MP_OBJ_IS_TYPE(index_obj, &mp_type_slice)) {
|
||||
// TODO(tannewt): Implement subscr after slices support start, stop and step tuples.
|
||||
mp_raise_NotImplementedError(translate("Slices not supported"));
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
uint16_t x = 0;
|
||||
uint16_t y = 0;
|
||||
if (MP_OBJ_IS_SMALL_INT(index_obj)) {
|
||||
mp_int_t i = MP_OBJ_SMALL_INT_VALUE(index_obj);
|
||||
uint16_t width = common_hal_displayio_bitmap_get_width(self);
|
||||
x = i % width;
|
||||
y = i / width;
|
||||
} else {
|
||||
mp_raise_TypeError(translate("row data must be a buffer"));
|
||||
mp_obj_t* items;
|
||||
mp_obj_get_array_fixed_n(index_obj, 2, &items);
|
||||
x = mp_obj_get_int(items[0]);
|
||||
y = mp_obj_get_int(items[1]);
|
||||
if (x >= common_hal_displayio_bitmap_get_width(self) || y >= common_hal_displayio_bitmap_get_height(self)) {
|
||||
mp_raise_IndexError(translate("pixel coordinates out of bounds"));
|
||||
}
|
||||
}
|
||||
|
||||
if (value_obj == MP_OBJ_SENTINEL) {
|
||||
// load
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_bitmap_get_pixel(self, x, y));
|
||||
} else {
|
||||
mp_int_t value = mp_obj_get_int(value_obj);
|
||||
if (value >= 1 << common_hal_displayio_bitmap_get_bits_per_value(self)) {
|
||||
mp_raise_ValueError(translate("pixel value requires too many bits"));
|
||||
}
|
||||
common_hal_displayio_bitmap_set_pixel(self, x, y, value);
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_3(displayio_bitmap__load_row_obj, displayio_bitmap_obj__load_row);
|
||||
|
||||
STATIC const mp_rom_map_elem_t displayio_bitmap_locals_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR__load_row), MP_ROM_PTR(&displayio_bitmap__load_row_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&displayio_bitmap_height_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&displayio_bitmap_width_obj) },
|
||||
};
|
||||
STATIC MP_DEFINE_CONST_DICT(displayio_bitmap_locals_dict, displayio_bitmap_locals_dict_table);
|
||||
|
||||
@ -106,7 +180,6 @@ const mp_obj_type_t displayio_bitmap_type = {
|
||||
{ &mp_type_type },
|
||||
.name = MP_QSTR_Bitmap,
|
||||
.make_new = displayio_bitmap_make_new,
|
||||
// TODO(tannewt): Implement subscr after slices support start, stop and step tuples.
|
||||
// .subscr = displayio_bitmap_subscr,
|
||||
.subscr = bitmap_subscr,
|
||||
.locals_dict = (mp_obj_dict_t*)&displayio_bitmap_locals_dict,
|
||||
};
|
||||
|
@ -36,6 +36,10 @@ void common_hal_displayio_bitmap_construct(displayio_bitmap_t *self, uint32_t wi
|
||||
|
||||
void common_hal_displayio_bitmap_load_row(displayio_bitmap_t *self, uint16_t y, uint8_t* data,
|
||||
uint16_t len);
|
||||
uint16_t common_hal_displayio_bitmap_get_height(displayio_bitmap_t *self);
|
||||
uint16_t common_hal_displayio_bitmap_get_width(displayio_bitmap_t *self);
|
||||
uint32_t common_hal_displayio_bitmap_get_bits_per_value(displayio_bitmap_t *self);
|
||||
void common_hal_displayio_bitmap_set_pixel(displayio_bitmap_t *bitmap, int16_t x, int16_t y, uint32_t value);
|
||||
uint32_t common_hal_displayio_bitmap_get_pixel(displayio_bitmap_t *bitmap, int16_t x, int16_t y);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_BITMAP_H
|
||||
|
110
shared-bindings/displayio/BuiltinFont.c
Normal file
110
shared-bindings/displayio/BuiltinFont.c
Normal file
@ -0,0 +1,110 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/displayio/BuiltinFont.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "lib/utils/context_manager_helpers.h"
|
||||
#include "py/binary.h"
|
||||
#include "py/objproperty.h"
|
||||
#include "py/runtime.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "shared-bindings/util.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
//| .. currentmodule:: displayio
|
||||
//|
|
||||
//| :class:`BuiltinFont` -- A font built into CircuitPython
|
||||
//| =========================================================================================
|
||||
//|
|
||||
//| A font built into CircuitPython.
|
||||
//|
|
||||
//| .. class:: BuiltinFont()
|
||||
//|
|
||||
//| Creation not supported. Available fonts are defined when CircuitPython is built. See the
|
||||
//| `Adafruit_CircuitPython_Bitmap_Font <https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font>`_
|
||||
//| library for dynamically loaded fonts.
|
||||
//|
|
||||
|
||||
//| .. attribute:: bitmap
|
||||
//|
|
||||
//| Bitmap containing all font glyphs starting with ASCII and followed by unicode. Use
|
||||
//| `get_glyph` in most cases. This is useful for use with `displayio.TileGrid` and
|
||||
//| `terminalio.Terminal`.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_builtinfont_obj_get_bitmap(mp_obj_t self_in) {
|
||||
displayio_builtinfont_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
return common_hal_displayio_builtinfont_get_bitmap(self);
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(displayio_builtinfont_get_bitmap_obj, displayio_builtinfont_obj_get_bitmap);
|
||||
|
||||
const mp_obj_property_t displayio_builtinfont_bitmap_obj = {
|
||||
.base.type = &mp_type_property,
|
||||
.proxy = {(mp_obj_t)&displayio_builtinfont_get_bitmap_obj,
|
||||
(mp_obj_t)&mp_const_none_obj,
|
||||
(mp_obj_t)&mp_const_none_obj},
|
||||
};
|
||||
|
||||
//| .. method:: get_bounding_box()
|
||||
//|
|
||||
//| Returns the maximum bounds of all glyphs in the font in a tuple of two values: width, height.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_builtinfont_obj_get_bounding_box(mp_obj_t self_in) {
|
||||
displayio_builtinfont_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
return common_hal_displayio_builtinfont_get_bounding_box(self);
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(displayio_builtinfont_get_bounding_box_obj, displayio_builtinfont_obj_get_bounding_box);
|
||||
|
||||
|
||||
//| .. method:: get_glyph(codepoint)
|
||||
//|
|
||||
//| Returns a `displayio.Glyph` for the given codepoint or None if no glyph is available.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_builtinfont_obj_get_glyph(mp_obj_t self_in, mp_obj_t codepoint_obj) {
|
||||
displayio_builtinfont_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
mp_int_t codepoint;
|
||||
if (!mp_obj_get_int_maybe(codepoint_obj, &codepoint)) {
|
||||
mp_raise_ValueError_varg(translate("%q should be an int"), MP_QSTR_codepoint);
|
||||
}
|
||||
return common_hal_displayio_builtinfont_get_glyph(self, codepoint);
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_2(displayio_builtinfont_get_glyph_obj, displayio_builtinfont_obj_get_glyph);
|
||||
|
||||
STATIC const mp_rom_map_elem_t displayio_builtinfont_locals_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_bitmap), MP_ROM_PTR(&displayio_builtinfont_bitmap_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_get_bounding_box), MP_ROM_PTR(&displayio_builtinfont_get_bounding_box_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_get_glyph), MP_ROM_PTR(&displayio_builtinfont_get_glyph_obj) },
|
||||
};
|
||||
STATIC MP_DEFINE_CONST_DICT(displayio_builtinfont_locals_dict, displayio_builtinfont_locals_dict_table);
|
||||
|
||||
const mp_obj_type_t displayio_builtinfont_type = {
|
||||
{ &mp_type_type },
|
||||
.name = MP_QSTR_BuiltinFont,
|
||||
.locals_dict = (mp_obj_dict_t*)&displayio_builtinfont_locals_dict,
|
||||
};
|
38
shared-bindings/displayio/BuiltinFont.h
Normal file
38
shared-bindings/displayio/BuiltinFont.h
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_BUILTINFONT_H
|
||||
#define MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_BUILTINFONT_H
|
||||
|
||||
#include "shared-module/displayio/BuiltinFont.h"
|
||||
|
||||
extern const mp_obj_type_t displayio_builtinfont_type;
|
||||
|
||||
mp_obj_t common_hal_displayio_builtinfont_get_bitmap(const displayio_builtinfont_t *self);
|
||||
mp_obj_t common_hal_displayio_builtinfont_get_bounding_box(const displayio_builtinfont_t *self);
|
||||
mp_obj_t common_hal_displayio_builtinfont_get_glyph(const displayio_builtinfont_t *self, mp_uint_t codepoint);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_BUILTINFONT_H
|
@ -43,8 +43,6 @@
|
||||
//|
|
||||
//| Converts one color format to another.
|
||||
//|
|
||||
//| .. warning:: This will be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| .. class:: ColorConverter()
|
||||
//|
|
||||
//| Create a ColorConverter object to convert color formats. Only supports RGB888 to RGB565
|
||||
|
@ -50,8 +50,6 @@
|
||||
//| Most people should not use this class directly. Use a specific display driver instead that will
|
||||
//| contain the initialization sequence at minimum.
|
||||
//|
|
||||
//| .. warning:: This will be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| .. class:: Display(display_bus, init_sequence, *, width, height, colstart=0, rowstart=0, rotation=0, color_depth=16, set_column_command=0x2a, set_row_command=0x2b, write_ram_command=0x2c, set_vertical_scroll=0, backlight_pin=None)
|
||||
//|
|
||||
//| Create a Display object on the given display bus (`displayio.FourWire` or `displayio.ParallelBus`).
|
||||
|
@ -46,8 +46,6 @@
|
||||
//| Manage updating a display over SPI four wire protocol in the background while Python code runs.
|
||||
//| It doesn't handle display initialization.
|
||||
//|
|
||||
//| .. warning:: This will be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| .. class:: FourWire(spi_bus, *, command, chip_select, reset)
|
||||
//|
|
||||
//| Create a FourWire object associated with the given pins.
|
||||
|
75
shared-bindings/displayio/Glyph.c
Normal file
75
shared-bindings/displayio/Glyph.c
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/displayio/Glyph.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
//| .. currentmodule:: displayio
|
||||
//|
|
||||
//| :class:`Glyph` -- Storage of glyph info
|
||||
//| ==========================================================================
|
||||
//|
|
||||
//| .. class:: Glyph(bitmap, tile_index, width, height, dx, dy, shift_x, shift_y)
|
||||
//|
|
||||
//| Named tuple used to capture a single glyph and its attributes.
|
||||
//|
|
||||
//| :param displayio.Bitmap bitmap: the bitmap including the glyph
|
||||
//| :param int tile_index: the tile index within the bitmap
|
||||
//| :param int width: the width of the glyph's bitmap
|
||||
//| :param int height: the height of the glyph's bitmap
|
||||
//| :param int dx: x adjustment to the bitmap's position
|
||||
//| :param int dy: y adjustment to the bitmap's position
|
||||
//| :param int shift_x: the x difference to the next glyph
|
||||
//| :param int shift_y: the y difference to the next glyph
|
||||
//|
|
||||
const mp_obj_namedtuple_type_t displayio_glyph_type = {
|
||||
.base = {
|
||||
.base = {
|
||||
.type = &mp_type_type
|
||||
},
|
||||
.name = MP_QSTR_Glyph,
|
||||
.print = namedtuple_print,
|
||||
.make_new = namedtuple_make_new,
|
||||
.unary_op = mp_obj_tuple_unary_op,
|
||||
.binary_op = mp_obj_tuple_binary_op,
|
||||
.attr = namedtuple_attr,
|
||||
.subscr = mp_obj_tuple_subscr,
|
||||
.getiter = mp_obj_tuple_getiter,
|
||||
.parent = &mp_type_tuple,
|
||||
},
|
||||
.n_fields = 8,
|
||||
.fields = {
|
||||
MP_QSTR_bitmap,
|
||||
MP_QSTR_tile_index,
|
||||
MP_QSTR_width,
|
||||
MP_QSTR_height,
|
||||
MP_QSTR_dx,
|
||||
MP_QSTR_dy,
|
||||
MP_QSTR_shift_x,
|
||||
MP_QSTR_shift_y
|
||||
},
|
||||
};
|
34
shared-bindings/displayio/Glyph.h
Normal file
34
shared-bindings/displayio/Glyph.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_GLYPH_H
|
||||
#define MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_GLYPH_H
|
||||
|
||||
#include "py/objnamedtuple.h"
|
||||
|
||||
extern const mp_obj_namedtuple_type_t displayio_glyph_type;
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_GLYPH_H
|
@ -41,57 +41,237 @@
|
||||
//|
|
||||
//| Manage a group of sprites and groups and how they are inter-related.
|
||||
//|
|
||||
//| .. warning:: This will be changed before 4.0.0. Consider it very experimental.
|
||||
//| .. class:: Group(*, max_size=4, scale=1)
|
||||
//|
|
||||
//| .. class:: Group(*, max_size=4)
|
||||
//|
|
||||
//| Create a Group of a given size.
|
||||
//| Create a Group of a given size and scale. Scale is in one dimension. For example, scale=2
|
||||
//| leads to a layer's pixel being 2x2 pixels when in the group.
|
||||
//|
|
||||
//| :param int max_size: The maximum group size.
|
||||
//| :param int scale: Scale of layer pixels in one dimension.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_group_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
enum { ARG_max_size };
|
||||
enum { ARG_max_size, ARG_scale };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_max_size, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 4} },
|
||||
{ MP_QSTR_scale, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 1} },
|
||||
};
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
mp_int_t max_size = args[ARG_max_size].u_int;
|
||||
if (max_size < 1) {
|
||||
mp_raise_ValueError(translate("Group must have size at least 1"));
|
||||
mp_raise_ValueError_varg(translate("%q must be >= 1"), MP_QSTR_max_size);
|
||||
}
|
||||
|
||||
mp_int_t scale = args[ARG_scale].u_int;
|
||||
if (scale < 1) {
|
||||
mp_raise_ValueError_varg(translate("%q must be >= 1"), MP_QSTR_scale);
|
||||
}
|
||||
|
||||
displayio_group_t *self = m_new_obj(displayio_group_t);
|
||||
self->base.type = &displayio_group_type;
|
||||
common_hal_displayio_group_construct(self, max_size);
|
||||
common_hal_displayio_group_construct(self, max_size, scale);
|
||||
|
||||
return MP_OBJ_FROM_PTR(self);
|
||||
}
|
||||
|
||||
// Helper to ensure we have the native super class instead of a subclass.
|
||||
static displayio_group_t* native_group(mp_obj_t group_obj) {
|
||||
mp_obj_t native_group = mp_instance_cast_to_native_base(group_obj, &displayio_group_type);
|
||||
return MP_OBJ_TO_PTR(native_group);
|
||||
}
|
||||
|
||||
//| .. attribute:: scale
|
||||
//|
|
||||
//| Scales each pixel within the Group in both directions. For example, when scale=2 each pixel
|
||||
//| will be represented by 2x2 pixels.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_group_obj_get_scale(mp_obj_t self_in) {
|
||||
displayio_group_t *self = native_group(self_in);
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_group_get_scale(self));
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(displayio_group_get_scale_obj, displayio_group_obj_get_scale);
|
||||
|
||||
STATIC mp_obj_t displayio_group_obj_set_scale(mp_obj_t self_in, mp_obj_t scale_obj) {
|
||||
displayio_group_t *self = native_group(self_in);
|
||||
|
||||
mp_int_t scale = mp_obj_get_int(scale_obj);
|
||||
if (scale < 1) {
|
||||
mp_raise_ValueError_varg(translate("%q must be >= 1"), MP_QSTR_scale);
|
||||
}
|
||||
common_hal_displayio_group_set_scale(self, scale);
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_2(displayio_group_set_scale_obj, displayio_group_obj_set_scale);
|
||||
|
||||
const mp_obj_property_t displayio_group_scale_obj = {
|
||||
.base.type = &mp_type_property,
|
||||
.proxy = {(mp_obj_t)&displayio_group_get_scale_obj,
|
||||
(mp_obj_t)&displayio_group_set_scale_obj,
|
||||
(mp_obj_t)&mp_const_none_obj},
|
||||
};
|
||||
|
||||
//| .. attribute:: x
|
||||
//|
|
||||
//| X position of the Group in the parent.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_group_obj_get_x(mp_obj_t self_in) {
|
||||
displayio_group_t *self = native_group(self_in);
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_group_get_x(self));
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(displayio_group_get_x_obj, displayio_group_obj_get_x);
|
||||
|
||||
STATIC mp_obj_t displayio_group_obj_set_x(mp_obj_t self_in, mp_obj_t x_obj) {
|
||||
displayio_group_t *self = native_group(self_in);
|
||||
|
||||
mp_int_t x = mp_obj_get_int(x_obj);
|
||||
common_hal_displayio_group_set_x(self, x);
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_2(displayio_group_set_x_obj, displayio_group_obj_set_x);
|
||||
|
||||
const mp_obj_property_t displayio_group_x_obj = {
|
||||
.base.type = &mp_type_property,
|
||||
.proxy = {(mp_obj_t)&displayio_group_get_x_obj,
|
||||
(mp_obj_t)&displayio_group_set_x_obj,
|
||||
(mp_obj_t)&mp_const_none_obj},
|
||||
};
|
||||
|
||||
//| .. attribute:: y
|
||||
//|
|
||||
//| Y position of the Group in the parent.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_group_obj_get_y(mp_obj_t self_in) {
|
||||
displayio_group_t *self = native_group(self_in);
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_group_get_y(self));
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(displayio_group_get_y_obj, displayio_group_obj_get_y);
|
||||
|
||||
STATIC mp_obj_t displayio_group_obj_set_y(mp_obj_t self_in, mp_obj_t y_obj) {
|
||||
displayio_group_t *self = native_group(self_in);
|
||||
|
||||
mp_int_t y = mp_obj_get_int(y_obj);
|
||||
common_hal_displayio_group_set_y(self, y);
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_2(displayio_group_set_y_obj, displayio_group_obj_set_y);
|
||||
|
||||
const mp_obj_property_t displayio_group_y_obj = {
|
||||
.base.type = &mp_type_property,
|
||||
.proxy = {(mp_obj_t)&displayio_group_get_y_obj,
|
||||
(mp_obj_t)&displayio_group_set_y_obj,
|
||||
(mp_obj_t)&mp_const_none_obj},
|
||||
};
|
||||
|
||||
//| .. method:: append(layer)
|
||||
//|
|
||||
//| Append a layer to the group. It will be drawn above other layers.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_group_obj_append(mp_obj_t self_in, mp_obj_t layer) {
|
||||
displayio_group_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
common_hal_displayio_group_append(self, layer);
|
||||
common_hal_displayio_group_insert(self, common_hal_displayio_group_get_len(self), layer);
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_2(displayio_group_append_obj, displayio_group_obj_append);
|
||||
|
||||
//| .. method:: pop()
|
||||
//| .. method:: insert(index, layer)
|
||||
//|
|
||||
//| Remove the last item and return it.
|
||||
//| Insert a layer into the group.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_group_obj_pop(mp_obj_t self_in) {
|
||||
STATIC mp_obj_t displayio_group_obj_insert(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t layer) {
|
||||
displayio_group_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
return common_hal_displayio_group_pop(self);
|
||||
size_t index = mp_get_index(&displayio_group_type, common_hal_displayio_group_get_len(self), index_obj, false);
|
||||
common_hal_displayio_group_insert(self, index, layer);
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_3(displayio_group_insert_obj, displayio_group_obj_insert);
|
||||
|
||||
//| .. method:: pop(i=-1)
|
||||
//|
|
||||
//| Remove the ith item and return it.
|
||||
//|
|
||||
STATIC mp_obj_t displayio_group_obj_pop(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
enum { ARG_i };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_i, MP_ARG_INT, {.u_int = -1} },
|
||||
};
|
||||
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);
|
||||
|
||||
displayio_group_t *self = MP_OBJ_TO_PTR(pos_args[0]);
|
||||
|
||||
size_t index = mp_get_index(&displayio_group_type,
|
||||
common_hal_displayio_group_get_len(self),
|
||||
MP_OBJ_NEW_SMALL_INT(args[ARG_i].u_int),
|
||||
false);
|
||||
return common_hal_displayio_group_pop(self, index);
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_KW(displayio_group_pop_obj, 1, displayio_group_obj_pop);
|
||||
|
||||
//| .. method:: __len__()
|
||||
//|
|
||||
//| Returns the number of layers in a Group
|
||||
//|
|
||||
STATIC mp_obj_t group_unary_op(mp_unary_op_t op, mp_obj_t self_in) {
|
||||
displayio_group_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
uint16_t len = common_hal_displayio_group_get_len(self);
|
||||
switch (op) {
|
||||
case MP_UNARY_OP_BOOL: return mp_obj_new_bool(len != 0);
|
||||
case MP_UNARY_OP_LEN: return MP_OBJ_NEW_SMALL_INT(len);
|
||||
default: return MP_OBJ_NULL; // op not supported
|
||||
}
|
||||
}
|
||||
|
||||
//| .. method:: __getitem__(index)
|
||||
//|
|
||||
//| Returns the value at the given index.
|
||||
//|
|
||||
//| This allows you to::
|
||||
//|
|
||||
//| print(group[0])
|
||||
//|
|
||||
//| .. method:: __setitem__(index, value)
|
||||
//|
|
||||
//| Sets the value at the given index.
|
||||
//|
|
||||
//| This allows you to::
|
||||
//|
|
||||
//| group[0] = sprite
|
||||
//|
|
||||
//| .. method:: __delitem__(index)
|
||||
//|
|
||||
//| Deletes the value at the given index.
|
||||
//|
|
||||
//| This allows you to::
|
||||
//|
|
||||
//| del group[0]
|
||||
//|
|
||||
STATIC mp_obj_t group_subscr(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t value) {
|
||||
displayio_group_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
|
||||
if (MP_OBJ_IS_TYPE(index_obj, &mp_type_slice)) {
|
||||
mp_raise_NotImplementedError(translate("Slices not supported"));
|
||||
} else {
|
||||
size_t index = mp_get_index(&displayio_group_type, common_hal_displayio_group_get_len(self), index_obj, false);
|
||||
|
||||
if (value == MP_OBJ_SENTINEL) {
|
||||
// load
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_displayio_group_get(self, index));
|
||||
} else if (value == mp_const_none) {
|
||||
common_hal_displayio_group_pop(self, index);
|
||||
} else {
|
||||
common_hal_displayio_group_set(self, index, value);
|
||||
}
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(displayio_group_pop_obj, displayio_group_obj_pop);
|
||||
|
||||
STATIC const mp_rom_map_elem_t displayio_group_locals_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_scale), MP_ROM_PTR(&displayio_group_scale_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_x), MP_ROM_PTR(&displayio_group_x_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_y), MP_ROM_PTR(&displayio_group_y_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_append), MP_ROM_PTR(&displayio_group_append_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_insert), MP_ROM_PTR(&displayio_group_insert_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_pop), MP_ROM_PTR(&displayio_group_pop_obj) },
|
||||
};
|
||||
STATIC MP_DEFINE_CONST_DICT(displayio_group_locals_dict, displayio_group_locals_dict_table);
|
||||
@ -100,5 +280,7 @@ const mp_obj_type_t displayio_group_type = {
|
||||
{ &mp_type_type },
|
||||
.name = MP_QSTR_Group,
|
||||
.make_new = displayio_group_make_new,
|
||||
.subscr = group_subscr,
|
||||
.unary_op = group_unary_op,
|
||||
.locals_dict = (mp_obj_dict_t*)&displayio_group_locals_dict,
|
||||
};
|
||||
|
@ -32,8 +32,18 @@
|
||||
extern const mp_obj_type_t displayio_group_type;
|
||||
|
||||
|
||||
void common_hal_displayio_group_construct(displayio_group_t* self, uint32_t max_size);
|
||||
void common_hal_displayio_group_construct(displayio_group_t* self, uint32_t max_size, uint32_t scale);
|
||||
uint32_t common_hal_displayio_group_get_scale(displayio_group_t* self);
|
||||
void common_hal_displayio_group_set_scale(displayio_group_t* self, uint32_t scale);
|
||||
mp_int_t common_hal_displayio_group_get_x(displayio_group_t* self);
|
||||
void common_hal_displayio_group_set_x(displayio_group_t* self, mp_int_t x);
|
||||
mp_int_t common_hal_displayio_group_get_y(displayio_group_t* self);
|
||||
void common_hal_displayio_group_set_y(displayio_group_t* self, mp_int_t y);
|
||||
void common_hal_displayio_group_append(displayio_group_t* self, mp_obj_t layer);
|
||||
mp_obj_t common_hal_displayio_group_pop(displayio_group_t* self);
|
||||
void common_hal_displayio_group_insert(displayio_group_t* self, size_t index, mp_obj_t layer);
|
||||
size_t common_hal_displayio_group_get_len(displayio_group_t* self);
|
||||
mp_obj_t common_hal_displayio_group_pop(displayio_group_t* self, size_t index);
|
||||
mp_obj_t common_hal_displayio_group_get(displayio_group_t* self, size_t index);
|
||||
void common_hal_displayio_group_set(displayio_group_t* self, size_t index, mp_obj_t layer);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_GROUP_H
|
||||
|
@ -42,8 +42,6 @@
|
||||
//| much slower pixel load times. These load times may result in frame tearing where only part of
|
||||
//| the image is visible.
|
||||
//|
|
||||
//| .. warning:: This will likely be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| It's easiest to use on a board with a built in display such as the `Hallowing M0 Express
|
||||
//| <https://www.adafruit.com/product/3900>`_.
|
||||
//|
|
||||
|
@ -44,8 +44,6 @@
|
||||
//| Map a pixel palette_index to a full color. Colors are transformed to the display's format internally to
|
||||
//| save memory.
|
||||
//|
|
||||
//| .. warning:: This will be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| .. class:: Palette(color_count)
|
||||
//|
|
||||
//| Create a Palette object to store a set number of colors.
|
||||
|
@ -45,8 +45,6 @@
|
||||
//| Manage updating a display over SPI four wire protocol in the background while Python code runs.
|
||||
//| It doesn't handle display initialization.
|
||||
//|
|
||||
//| .. warning:: This will be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| .. class:: ParallelBus(*, data0, command, chip_select, write, read, reset)
|
||||
//|
|
||||
//| Create a ParallelBus object associated with the given pins. The bus is inferred from data0
|
||||
|
@ -60,8 +60,6 @@ static void unpack_position(mp_obj_t position_obj, int16_t* x, int16_t* y) {
|
||||
//|
|
||||
//| A single tile grid is also known as a Sprite.
|
||||
//|
|
||||
//| .. warning:: This will be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| .. class:: TileGrid(bitmap, *, pixel_shader, position, width=1, height=1, tile_width=None, tile_height=None, default_tile=0)
|
||||
//|
|
||||
//| Create a TileGrid object. The bitmap is source for 2d pixels. The pixel_shader is used to
|
||||
|
@ -31,9 +31,11 @@
|
||||
|
||||
#include "shared-bindings/displayio/__init__.h"
|
||||
#include "shared-bindings/displayio/Bitmap.h"
|
||||
#include "shared-bindings/displayio/BuiltinFont.h"
|
||||
#include "shared-bindings/displayio/ColorConverter.h"
|
||||
#include "shared-bindings/displayio/Display.h"
|
||||
#include "shared-bindings/displayio/FourWire.h"
|
||||
#include "shared-bindings/displayio/Glyph.h"
|
||||
#include "shared-bindings/displayio/Group.h"
|
||||
#include "shared-bindings/displayio/OnDiskBitmap.h"
|
||||
#include "shared-bindings/displayio/Palette.h"
|
||||
@ -51,17 +53,17 @@
|
||||
//| The `displayio` module contains classes to manage display output
|
||||
//| including synchronizing with refresh rates and partial updating.
|
||||
//|
|
||||
//| .. warning:: This will be changed before 4.0.0. Consider it very experimental.
|
||||
//|
|
||||
//| Libraries
|
||||
//|
|
||||
//| .. toctree::
|
||||
//| :maxdepth: 3
|
||||
//|
|
||||
//| Bitmap
|
||||
//| BuiltinFont
|
||||
//| ColorConverter
|
||||
//| Display
|
||||
//| FourWire
|
||||
//| Glyph
|
||||
//| Group
|
||||
//| OnDiskBitmap
|
||||
//| Palette
|
||||
@ -88,8 +90,10 @@ MP_DEFINE_CONST_FUN_OBJ_0(displayio_release_displays_obj, displayio_release_disp
|
||||
STATIC const mp_rom_map_elem_t displayio_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_displayio) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Bitmap), MP_ROM_PTR(&displayio_bitmap_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BuiltinFont), MP_ROM_PTR(&displayio_builtinfont_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_ColorConverter), MP_ROM_PTR(&displayio_colorconverter_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Display), MP_ROM_PTR(&displayio_display_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Glyph), MP_ROM_PTR(&displayio_glyph_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Group), MP_ROM_PTR(&displayio_group_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_OnDiskBitmap), MP_ROM_PTR(&displayio_ondiskbitmap_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Palette), MP_ROM_PTR(&displayio_palette_type) },
|
||||
|
@ -257,7 +257,7 @@ STATIC mp_obj_t pulsein_unary_op(mp_unary_op_t op, mp_obj_t self_in) {
|
||||
}
|
||||
}
|
||||
|
||||
//| .. method:: __get__(index)
|
||||
//| .. method:: __getitem__(index)
|
||||
//|
|
||||
//| Returns the value at the given index or values in slice.
|
||||
//|
|
||||
@ -277,12 +277,7 @@ STATIC mp_obj_t pulsein_subscr(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t va
|
||||
if (MP_OBJ_IS_TYPE(index_obj, &mp_type_slice)) {
|
||||
mp_raise_NotImplementedError(translate("Slices not supported"));
|
||||
} else {
|
||||
uint16_t index = 0;
|
||||
if (MP_OBJ_IS_SMALL_INT(index_obj)) {
|
||||
index = MP_OBJ_SMALL_INT_VALUE(index_obj);
|
||||
} else {
|
||||
mp_raise_TypeError(translate("index must be int"));
|
||||
}
|
||||
size_t index = mp_get_index(&pulseio_pulsein_type, common_hal_pulseio_pulsein_get_len(self), index_obj, false);
|
||||
if (value == MP_OBJ_SENTINEL) {
|
||||
// load
|
||||
return MP_OBJ_NEW_SMALL_INT(common_hal_pulseio_pulsein_get_item(self, index));
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "py/objstr.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/stream.h"
|
||||
#include "shared-bindings/displayio/BuiltinFont.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
|
||||
@ -42,18 +43,17 @@
|
||||
//| :class:`Terminal` -- display a character stream with a TileGrid
|
||||
//| ================================================================
|
||||
//|
|
||||
//| .. class:: Terminal(tilegrid, *, unicode_characters="")
|
||||
//| .. class:: Terminal(tilegrid, font)
|
||||
//|
|
||||
//| Terminal manages tile indices and cursor position based on VT100 commands. Visible ASCII
|
||||
//| characters are mapped to the first 94 tile indices by substracting 0x20 from characters value.
|
||||
//| Unicode characters are mapped based on unicode_characters starting at index 94.
|
||||
//| Terminal manages tile indices and cursor position based on VT100 commands. The font should be
|
||||
//| a `displayio.BuiltinFont` and the TileGrid's bitmap should match the font's bitmap.
|
||||
//|
|
||||
|
||||
STATIC mp_obj_t terminalio_terminal_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
enum { ARG_tilegrid, ARG_unicode_characters };
|
||||
enum { ARG_tilegrid, ARG_font };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_tilegrid, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
{ MP_QSTR_unicode_characters, MP_ARG_OBJ | MP_ARG_KW_ONLY, {.u_obj = mp_const_none} },
|
||||
{ MP_QSTR_font, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
};
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
@ -63,15 +63,13 @@ STATIC mp_obj_t terminalio_terminal_make_new(const mp_obj_type_t *type, size_t n
|
||||
mp_raise_TypeError_varg(translate("Expected a %q"), displayio_tilegrid_type.name);
|
||||
}
|
||||
|
||||
mp_obj_t unicode_characters_obj = args[ARG_unicode_characters].u_obj;
|
||||
if (MP_OBJ_IS_STR(unicode_characters_obj)) {
|
||||
mp_raise_TypeError(translate("unicode_characters must be a string"));
|
||||
mp_obj_t font = args[ARG_font].u_obj;
|
||||
if (!MP_OBJ_IS_TYPE(font, &displayio_builtinfont_type)) {
|
||||
mp_raise_TypeError_varg(translate("Expected a %q"), displayio_builtinfont_type.name);
|
||||
}
|
||||
|
||||
GET_STR_DATA_LEN(unicode_characters_obj, unicode_characters, unicode_characters_len);
|
||||
terminalio_terminal_obj_t *self = m_new_obj(terminalio_terminal_obj_t);
|
||||
self->base.type = &terminalio_terminal_type;
|
||||
common_hal_terminalio_terminal_construct(self, MP_OBJ_TO_PTR(tilegrid), unicode_characters, unicode_characters_len);
|
||||
common_hal_terminalio_terminal_construct(self, MP_OBJ_TO_PTR(tilegrid), MP_OBJ_TO_PTR(font));
|
||||
return MP_OBJ_FROM_PTR(self);
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,7 @@
|
||||
extern const mp_obj_type_t terminalio_terminal_type;
|
||||
|
||||
extern void common_hal_terminalio_terminal_construct(terminalio_terminal_obj_t *self,
|
||||
displayio_tilegrid_t* tilegrid, const byte* unicode_characters, size_t unicode_characters_len);
|
||||
displayio_tilegrid_t* tilegrid, const displayio_builtinfont_t* font);
|
||||
|
||||
// Write characters. len is in characters NOT bytes!
|
||||
extern size_t common_hal_terminalio_terminal_write(terminalio_terminal_obj_t *self,
|
||||
|
@ -31,6 +31,7 @@
|
||||
|
||||
#include "shared-bindings/terminalio/__init__.h"
|
||||
#include "shared-bindings/terminalio/Terminal.h"
|
||||
#include "supervisor/shared/display.h"
|
||||
|
||||
#include "py/runtime.h"
|
||||
|
||||
@ -40,7 +41,8 @@
|
||||
//| .. module:: terminalio
|
||||
//| :synopsis: Displays text in a TileGrid
|
||||
//|
|
||||
//| The `terminalio` module contains classes to display a character stream on a display
|
||||
//| The `terminalio` module contains classes to display a character stream on a display. The built
|
||||
//| in font is available as ``terminalio.FONT``.
|
||||
//|
|
||||
//| Libraries
|
||||
//|
|
||||
@ -53,6 +55,7 @@
|
||||
STATIC const mp_rom_map_elem_t terminalio_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_terminalio) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Terminal), MP_OBJ_FROM_PTR(&terminalio_terminal_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_FONT), MP_ROM_PTR(&supervisor_terminal_font) },
|
||||
};
|
||||
|
||||
|
||||
|
@ -45,11 +45,6 @@
|
||||
//|
|
||||
//| Not currently dynamically supported.
|
||||
//|
|
||||
STATIC mp_obj_t usb_hid_device_make_new(const mp_obj_type_t *type,
|
||||
mp_uint_t n_args, const mp_obj_t *args, mp_map_t *kw_args) {
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
//| .. method:: send_report(buf)
|
||||
//|
|
||||
//| Send a HID report.
|
||||
@ -114,6 +109,5 @@ STATIC MP_DEFINE_CONST_DICT(usb_hid_device_locals_dict, usb_hid_device_locals_di
|
||||
const mp_obj_type_t usb_hid_device_type = {
|
||||
{ &mp_type_type },
|
||||
.name = MP_QSTR_Device,
|
||||
.make_new = usb_hid_device_make_new,
|
||||
.locals_dict = (mp_obj_t)&usb_hid_device_locals_dict,
|
||||
};
|
||||
|
@ -42,7 +42,7 @@ void common_hal_displayio_bitmap_construct(displayio_bitmap_t *self, uint32_t wi
|
||||
self->width = width;
|
||||
self->height = height;
|
||||
self->data = m_malloc(self->stride * height * sizeof(uint32_t), false);
|
||||
|
||||
self->read_only = false;
|
||||
self->bits_per_value = bits_per_value;
|
||||
|
||||
if (bits_per_value > 8) {
|
||||
@ -64,6 +64,18 @@ void common_hal_displayio_bitmap_construct(displayio_bitmap_t *self, uint32_t wi
|
||||
self->bitmask = (1 << bits_per_value) - 1;
|
||||
}
|
||||
|
||||
uint16_t common_hal_displayio_bitmap_get_height(displayio_bitmap_t *self) {
|
||||
return self->height;
|
||||
}
|
||||
|
||||
uint16_t common_hal_displayio_bitmap_get_width(displayio_bitmap_t *self) {
|
||||
return self->width;
|
||||
}
|
||||
|
||||
uint32_t common_hal_displayio_bitmap_get_bits_per_value(displayio_bitmap_t *self) {
|
||||
return self->bits_per_value;
|
||||
}
|
||||
|
||||
void common_hal_displayio_bitmap_load_row(displayio_bitmap_t *self, uint16_t y, uint8_t* data, uint16_t len) {
|
||||
if (len != self->stride * sizeof(uint32_t)) {
|
||||
mp_raise_ValueError(translate("row must be packed and word aligned"));
|
||||
@ -85,6 +97,7 @@ void common_hal_displayio_bitmap_load_row(displayio_bitmap_t *self, uint16_t y,
|
||||
row_value++;
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t common_hal_displayio_bitmap_get_pixel(displayio_bitmap_t *self, int16_t x, int16_t y) {
|
||||
if (x >= self->width || x < 0 || y >= self->height || y < 0) {
|
||||
return 0;
|
||||
@ -99,3 +112,21 @@ uint32_t common_hal_displayio_bitmap_get_pixel(displayio_bitmap_t *self, int16_t
|
||||
return self->data[row_start + x * bytes_per_value];
|
||||
}
|
||||
}
|
||||
|
||||
void common_hal_displayio_bitmap_set_pixel(displayio_bitmap_t *self, int16_t x, int16_t y, uint32_t value) {
|
||||
if (self->read_only) {
|
||||
mp_raise_RuntimeError(translate("Read-only object"));
|
||||
}
|
||||
int32_t row_start = y * self->stride;
|
||||
if (self->bits_per_value < 8) {
|
||||
uint32_t bit_position = (32 - ((x & self->x_mask) + 1) * self->bits_per_value);
|
||||
uint32_t index = row_start + (x >> self->x_shift);
|
||||
uint32_t word = self->data[index];
|
||||
word &= ~(self->bitmask << bit_position);
|
||||
word |= (value & self->bitmask) << bit_position;
|
||||
self->data[index] = word;
|
||||
} else {
|
||||
uint32_t bytes_per_value = self->bits_per_value / 8;
|
||||
self->data[row_start + x * bytes_per_value] = value;
|
||||
}
|
||||
}
|
||||
|
@ -42,6 +42,7 @@ typedef struct {
|
||||
uint8_t x_shift;
|
||||
uint8_t x_mask;
|
||||
uint16_t bitmask;
|
||||
bool read_only;
|
||||
} displayio_bitmap_t;
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_MODULE_DISPLAYIO_BITMAP_H
|
||||
|
79
shared-module/displayio/BuiltinFont.c
Normal file
79
shared-module/displayio/BuiltinFont.c
Normal file
@ -0,0 +1,79 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2018 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 "shared-bindings/displayio/BuiltinFont.h"
|
||||
|
||||
|
||||
#include "shared-bindings/displayio/Glyph.h"
|
||||
|
||||
#include "py/objnamedtuple.h"
|
||||
|
||||
mp_obj_t common_hal_displayio_builtinfont_get_bitmap(const displayio_builtinfont_t *self) {
|
||||
return MP_OBJ_FROM_PTR(self->bitmap);
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_displayio_builtinfont_get_bounding_box(const displayio_builtinfont_t *self) {
|
||||
mp_obj_t *items = m_new(mp_obj_t, 2);
|
||||
items[0] = MP_OBJ_NEW_SMALL_INT(self->width);
|
||||
items[1] = MP_OBJ_NEW_SMALL_INT(self->height);
|
||||
return mp_obj_new_tuple(2, items);
|
||||
}
|
||||
|
||||
uint8_t displayio_builtinfont_get_glyph_index(const displayio_builtinfont_t *self, mp_uint_t codepoint) {
|
||||
if (codepoint >= 0x20 && codepoint <= 0x7e) {
|
||||
return codepoint - 0x20;
|
||||
}
|
||||
// Do a linear search of the mapping for unicode.
|
||||
const byte* j = self->unicode_characters;
|
||||
uint8_t k = 0;
|
||||
while (j < self->unicode_characters + self->unicode_characters_len) {
|
||||
unichar potential_c = utf8_get_char(j);
|
||||
j = utf8_next_char(j);
|
||||
if (codepoint == potential_c) {
|
||||
return 0x7f - 0x20 + k;
|
||||
}
|
||||
k++;
|
||||
}
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_displayio_builtinfont_get_glyph(const displayio_builtinfont_t *self, mp_uint_t codepoint) {
|
||||
uint8_t glyph_index = displayio_builtinfont_get_glyph_index(self, codepoint);
|
||||
if (glyph_index == 0xff) {
|
||||
return mp_const_none;
|
||||
}
|
||||
mp_obj_t field_values[8] = {
|
||||
MP_OBJ_FROM_PTR(self->bitmap),
|
||||
MP_OBJ_NEW_SMALL_INT(glyph_index),
|
||||
MP_OBJ_NEW_SMALL_INT(self->width),
|
||||
MP_OBJ_NEW_SMALL_INT(self->height),
|
||||
MP_OBJ_NEW_SMALL_INT(0),
|
||||
MP_OBJ_NEW_SMALL_INT(0),
|
||||
MP_OBJ_NEW_SMALL_INT(self->width),
|
||||
MP_OBJ_NEW_SMALL_INT(0)
|
||||
};
|
||||
return namedtuple_make_new((const mp_obj_type_t*) &displayio_glyph_type, 8, field_values, NULL);
|
||||
}
|
47
shared-module/displayio/BuiltinFont.h
Normal file
47
shared-module/displayio/BuiltinFont.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* This file is part of the Micro Python project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2018 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_SHARED_MODULE_DISPLAYIO_BUILTINFONT_H
|
||||
#define MICROPY_INCLUDED_SHARED_MODULE_DISPLAYIO_BUILTINFONT_H
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "shared-bindings/displayio/Bitmap.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
const displayio_bitmap_t* bitmap;
|
||||
uint8_t width;
|
||||
uint8_t height;
|
||||
const byte* unicode_characters;
|
||||
uint16_t unicode_characters_len;
|
||||
} displayio_builtinfont_t;
|
||||
|
||||
uint8_t displayio_builtinfont_get_glyph_index(const displayio_builtinfont_t *self, mp_uint_t codepoint);
|
||||
|
||||
#endif // MICROPY_INCLUDED_SHARED_MODULE_DISPLAYIO_BUILTINFONT_H
|
@ -29,12 +29,39 @@
|
||||
#include "py/runtime.h"
|
||||
#include "shared-bindings/displayio/TileGrid.h"
|
||||
|
||||
void common_hal_displayio_group_construct(displayio_group_t* self, uint32_t max_size) {
|
||||
void common_hal_displayio_group_construct(displayio_group_t* self, uint32_t max_size, uint32_t scale) {
|
||||
mp_obj_t* children = m_new(mp_obj_t, max_size);
|
||||
displayio_group_construct(self, children, max_size);
|
||||
displayio_group_construct(self, children, max_size, scale);
|
||||
}
|
||||
|
||||
void common_hal_displayio_group_append(displayio_group_t* self, mp_obj_t layer) {
|
||||
uint32_t common_hal_displayio_group_get_scale(displayio_group_t* self) {
|
||||
return self->scale;
|
||||
}
|
||||
|
||||
void common_hal_displayio_group_set_scale(displayio_group_t* self, uint32_t scale) {
|
||||
self->needs_refresh = self->scale != scale;
|
||||
self->scale = scale;
|
||||
}
|
||||
|
||||
mp_int_t common_hal_displayio_group_get_x(displayio_group_t* self) {
|
||||
return self->x;
|
||||
}
|
||||
|
||||
void common_hal_displayio_group_set_x(displayio_group_t* self, mp_int_t x) {
|
||||
self->needs_refresh = self->x != x;
|
||||
self->x = x;
|
||||
}
|
||||
|
||||
mp_int_t common_hal_displayio_group_get_y(displayio_group_t* self) {
|
||||
return self->y;
|
||||
}
|
||||
|
||||
void common_hal_displayio_group_set_y(displayio_group_t* self, mp_int_t y) {
|
||||
self->needs_refresh = self->y != y;
|
||||
self->y = y;
|
||||
}
|
||||
|
||||
void common_hal_displayio_group_insert(displayio_group_t* self, size_t index, mp_obj_t layer) {
|
||||
if (self->size == self->max_size) {
|
||||
mp_raise_RuntimeError(translate("Group full"));
|
||||
}
|
||||
@ -45,29 +72,47 @@ void common_hal_displayio_group_append(displayio_group_t* self, mp_obj_t layer)
|
||||
if (native_layer == MP_OBJ_NULL) {
|
||||
mp_raise_ValueError(translate("Layer must be a Group or TileGrid subclass."));
|
||||
}
|
||||
self->children[self->size] = layer;
|
||||
// Shift everything right.
|
||||
for (size_t i = index; i < self->size; i++) {
|
||||
self->children[i + 1] = self->children[i];
|
||||
}
|
||||
self->children[index] = native_layer;
|
||||
self->size++;
|
||||
self->needs_refresh = true;
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_displayio_group_pop(displayio_group_t* self) {
|
||||
if (self->size == 0) {
|
||||
mp_raise_IndexError(translate("Group empty"));
|
||||
}
|
||||
mp_obj_t common_hal_displayio_group_pop(displayio_group_t* self, size_t index) {
|
||||
self->size--;
|
||||
mp_obj_t item = self->children[self->size];
|
||||
mp_obj_t item = self->children[index];
|
||||
// Shift everything left.
|
||||
for (size_t i = index; i < self->size; i++) {
|
||||
self->children[i] = self->children[i + 1];
|
||||
}
|
||||
self->children[self->size] = NULL;
|
||||
self->needs_refresh = true;
|
||||
return item;
|
||||
}
|
||||
|
||||
void displayio_group_construct(displayio_group_t* self, mp_obj_t* child_array, uint32_t max_size) {
|
||||
size_t common_hal_displayio_group_get_len(displayio_group_t* self) {
|
||||
return self->size;
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_displayio_group_get(displayio_group_t* self, size_t index) {
|
||||
return self->children[index];
|
||||
}
|
||||
|
||||
void common_hal_displayio_group_set(displayio_group_t* self, size_t index, mp_obj_t layer) {
|
||||
self->children[index] = layer;
|
||||
self->needs_refresh = true;
|
||||
}
|
||||
|
||||
void displayio_group_construct(displayio_group_t* self, mp_obj_t* child_array, uint32_t max_size, uint32_t scale) {
|
||||
self->x = 0;
|
||||
self->y = 0;
|
||||
self->children = child_array;
|
||||
self->max_size = max_size;
|
||||
self->needs_refresh = false;
|
||||
self->scale = 1;
|
||||
self->scale = scale;
|
||||
}
|
||||
|
||||
bool displayio_group_get_pixel(displayio_group_t *self, int16_t x, int16_t y, uint16_t* pixel) {
|
||||
@ -86,7 +131,6 @@ bool displayio_group_get_pixel(displayio_group_t *self, int16_t x, int16_t y, ui
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// TODO: Tiled layer
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -43,11 +43,7 @@ typedef struct {
|
||||
bool needs_refresh;
|
||||
} displayio_group_t;
|
||||
|
||||
|
||||
void common_hal_displayio_group_construct(displayio_group_t* self, uint32_t max_size);
|
||||
void common_hal_displayio_group_append(displayio_group_t* self, mp_obj_t layer);
|
||||
|
||||
void displayio_group_construct(displayio_group_t* self, mp_obj_t* child_array, uint32_t max_size);
|
||||
void displayio_group_construct(displayio_group_t* self, mp_obj_t* child_array, uint32_t max_size, uint32_t scale);
|
||||
bool displayio_group_get_pixel(displayio_group_t *group, int16_t x, int16_t y, uint16_t *pixel);
|
||||
bool displayio_group_needs_refresh(displayio_group_t *self);
|
||||
void displayio_group_finish_refresh(displayio_group_t *self);
|
||||
|
@ -40,9 +40,17 @@ void common_hal_displayio_tilegrid_construct(displayio_tilegrid_t *self, mp_obj_
|
||||
// Sprites will only have one tile so save a little memory by inlining values in the pointer.
|
||||
uint8_t inline_tiles = sizeof(uint8_t*);
|
||||
if (total_tiles <= inline_tiles) {
|
||||
self->tiles = 0;
|
||||
// Pack values into the pointer since there are only a few.
|
||||
for (uint32_t i = 0; i < inline_tiles; i++) {
|
||||
((uint8_t*) &self->tiles)[i] = default_tile;
|
||||
}
|
||||
self->inline_tiles = true;
|
||||
} else {
|
||||
self->tiles = (uint8_t*) m_malloc(total_tiles, false);
|
||||
for (uint32_t i = 0; i < total_tiles; i++) {
|
||||
self->tiles[i] = default_tile;
|
||||
}
|
||||
self->inline_tiles = false;
|
||||
}
|
||||
self->bitmap_width_in_tiles = bitmap_width_in_tiles;
|
||||
|
@ -27,14 +27,14 @@
|
||||
#include "shared-module/terminalio/Terminal.h"
|
||||
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
#include "shared-module/displayio/BuiltinFont.h"
|
||||
#include "shared-bindings/displayio/TileGrid.h"
|
||||
|
||||
void common_hal_terminalio_terminal_construct(terminalio_terminal_obj_t *self, displayio_tilegrid_t* tilegrid, const uint8_t* unicode_characters, size_t unicode_characters_len) {
|
||||
void common_hal_terminalio_terminal_construct(terminalio_terminal_obj_t *self, displayio_tilegrid_t* tilegrid, const displayio_builtinfont_t* font) {
|
||||
self->cursor_x = 0;
|
||||
self->cursor_y = 0;
|
||||
self->font = font;
|
||||
self->tilegrid = tilegrid;
|
||||
self->unicode_characters = unicode_characters;
|
||||
self->unicode_characters_len = unicode_characters_len;
|
||||
self->first_row = 0;
|
||||
}
|
||||
|
||||
@ -47,10 +47,10 @@ size_t common_hal_terminalio_terminal_write(terminalio_terminal_obj_t *self, con
|
||||
// Always handle ASCII.
|
||||
if (c < 128) {
|
||||
if (c >= 0x20 && c <= 0x7e) {
|
||||
common_hal_displayio_textgrid_set_tile(self->tilegrid, self->cursor_x, self->cursor_y, c - 0x20);
|
||||
uint8_t tile_index = displayio_builtinfont_get_glyph_index(self->font, c);
|
||||
common_hal_displayio_textgrid_set_tile(self->tilegrid, self->cursor_x, self->cursor_y, tile_index);
|
||||
self->cursor_x++;
|
||||
}
|
||||
if (c == '\r') {
|
||||
} else if (c == '\r') {
|
||||
self->cursor_x = 0;
|
||||
} else if (c == '\n') {
|
||||
self->cursor_y++;
|
||||
@ -76,6 +76,7 @@ size_t common_hal_terminalio_terminal_write(terminalio_terminal_obj_t *self, con
|
||||
n = n * 10 + (i[j] - '0');
|
||||
} else {
|
||||
c = i[j];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (c == 'D') {
|
||||
@ -84,23 +85,18 @@ size_t common_hal_terminalio_terminal_write(terminalio_terminal_obj_t *self, con
|
||||
} else {
|
||||
self->cursor_x -= n;
|
||||
}
|
||||
i += j;
|
||||
}
|
||||
i += j + 1;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Do a linear search of the mapping for unicode.
|
||||
const byte* j = self->unicode_characters;
|
||||
uint8_t k = 0;
|
||||
while (j < self->unicode_characters + self->unicode_characters_len) {
|
||||
unichar potential_c = utf8_get_char(j);
|
||||
j = utf8_next_char(j);
|
||||
if (c == potential_c) {
|
||||
common_hal_displayio_textgrid_set_tile(self->tilegrid, self->cursor_x, self->cursor_y, 0x7f - 0x20 + k);
|
||||
self->cursor_x++;
|
||||
break;
|
||||
}
|
||||
uint8_t tile_index = displayio_builtinfont_get_glyph_index(self->font, c);
|
||||
if (tile_index != 0xff) {
|
||||
common_hal_displayio_textgrid_set_tile(self->tilegrid, self->cursor_x, self->cursor_y, tile_index);
|
||||
self->cursor_x++;
|
||||
|
||||
}
|
||||
}
|
||||
if (self->cursor_x >= self->tilegrid->width_in_tiles) {
|
||||
|
@ -31,15 +31,15 @@
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "py/obj.h"
|
||||
#include "shared-module/displayio/BuiltinFont.h"
|
||||
#include "shared-module/displayio/TileGrid.h"
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
const displayio_builtinfont_t* font;
|
||||
uint16_t cursor_x;
|
||||
uint16_t cursor_y;
|
||||
displayio_tilegrid_t* tilegrid;
|
||||
const byte* unicode_characters;
|
||||
uint16_t unicode_characters_len;
|
||||
uint16_t first_row;
|
||||
} terminalio_terminal_obj_t;
|
||||
|
||||
|
@ -134,7 +134,8 @@ displayio_bitmap_t blinka_bitmap = {
|
||||
.bits_per_value = 4,
|
||||
.x_shift = 3,
|
||||
.x_mask = 0x7,
|
||||
.bitmask = 0xf
|
||||
.bitmask = 0xf,
|
||||
.read_only = true
|
||||
};
|
||||
|
||||
uint32_t blinka_transparency[1] = {0x80000000};
|
||||
|
@ -27,6 +27,7 @@
|
||||
#ifndef MICROPY_INCLUDED_SUPERVISOR_SHARED_DISPLAY_H
|
||||
#define MICROPY_INCLUDED_SUPERVISOR_SHARED_DISPLAY_H
|
||||
|
||||
#include "shared-bindings/displayio/BuiltinFont.h"
|
||||
#include "shared-bindings/displayio/Bitmap.h"
|
||||
#include "shared-bindings/displayio/TileGrid.h"
|
||||
#include "shared-bindings/terminalio/Terminal.h"
|
||||
@ -34,7 +35,9 @@
|
||||
// These are autogenerated resources.
|
||||
|
||||
// This is fixed so it doesn't need to be in RAM.
|
||||
extern const displayio_bitmap_t supervisor_terminal_font;
|
||||
extern const displayio_bitmap_t supervisor_terminal_font_bitmap;
|
||||
|
||||
extern const displayio_builtinfont_t supervisor_terminal_font;
|
||||
|
||||
// These will change so they must live in RAM.
|
||||
extern displayio_tilegrid_t supervisor_terminal_text_grid;
|
||||
|
@ -118,7 +118,7 @@ displayio_palette_t supervisor_terminal_color = {
|
||||
c_file.write("""\
|
||||
displayio_tilegrid_t supervisor_terminal_text_grid = {{
|
||||
.base = {{ .type = &displayio_tilegrid_type }},
|
||||
.bitmap = (displayio_bitmap_t*) &supervisor_terminal_font,
|
||||
.bitmap = (displayio_bitmap_t*) &supervisor_terminal_font_bitmap,
|
||||
.pixel_shader = &supervisor_terminal_color,
|
||||
.x = 16,
|
||||
.y = 0,
|
||||
@ -149,7 +149,7 @@ c_file.write("""\
|
||||
""")
|
||||
|
||||
c_file.write("""\
|
||||
const displayio_bitmap_t supervisor_terminal_font = {{
|
||||
const displayio_bitmap_t supervisor_terminal_font_bitmap = {{
|
||||
.base = {{.type = &displayio_bitmap_type }},
|
||||
.width = {},
|
||||
.height = {},
|
||||
@ -158,17 +158,29 @@ const displayio_bitmap_t supervisor_terminal_font = {{
|
||||
.bits_per_value = 1,
|
||||
.x_shift = 5,
|
||||
.x_mask = 0x1f,
|
||||
.bitmask = 0x1
|
||||
.bitmask = 0x1,
|
||||
.read_only = true
|
||||
}};
|
||||
""".format(len(all_characters) * tile_x, tile_y, bytes_per_row / 4))
|
||||
|
||||
|
||||
c_file.write("""\
|
||||
terminalio_terminal_obj_t supervisor_terminal = {{
|
||||
.base = {{.type = &terminalio_terminal_type }},
|
||||
.cursor_x = 0,
|
||||
.cursor_y = 0,
|
||||
.tilegrid = &supervisor_terminal_text_grid,
|
||||
const displayio_builtinfont_t supervisor_terminal_font = {{
|
||||
.base = {{.type = &displayio_builtinfont_type }},
|
||||
.bitmap = &supervisor_terminal_font_bitmap,
|
||||
.width = {},
|
||||
.height = {},
|
||||
.unicode_characters = (const uint8_t*) "{}",
|
||||
.unicode_characters_len = {}
|
||||
}};
|
||||
""".format(extra_characters, len(extra_characters.encode("utf-8"))))
|
||||
""".format(tile_x, tile_y, extra_characters, len(extra_characters.encode("utf-8"))))
|
||||
|
||||
c_file.write("""\
|
||||
terminalio_terminal_obj_t supervisor_terminal = {
|
||||
.base = { .type = &terminalio_terminal_type },
|
||||
.font = &supervisor_terminal_font,
|
||||
.cursor_x = 0,
|
||||
.cursor_y = 0,
|
||||
.tilegrid = &supervisor_terminal_text_grid
|
||||
};
|
||||
""")
|
||||
|
Loading…
Reference in New Issue
Block a user