summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------frozen/circuitpython-stage0
-rw-r--r--locale/ID.po79
-rw-r--r--locale/circuitpython.pot79
-rw-r--r--locale/de_DE.po85
-rw-r--r--locale/en_US.po79
-rw-r--r--locale/en_x_pirate.po79
-rw-r--r--locale/es.po85
-rw-r--r--locale/fil.po85
-rw-r--r--locale/fr.po83
-rw-r--r--locale/it_IT.po85
-rw-r--r--locale/pl.po462
-rw-r--r--locale/pt_BR.po82
-rw-r--r--ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/boards/pybadge/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/supervisor/port.c6
-rw-r--r--ports/atmel-samd/tick.c13
-rw-r--r--py/circuitpy_defns.mk5
-rw-r--r--py/circuitpy_mpconfig.h20
-rw-r--r--py/circuitpy_mpconfig.mk5
-rw-r--r--shared-bindings/digitalio/DigitalInOut.c11
-rw-r--r--shared-bindings/digitalio/DigitalInOut.h1
-rw-r--r--shared-bindings/gamepad/GamePad.c38
-rw-r--r--shared-bindings/gamepad/GamePad.h5
-rw-r--r--shared-bindings/gamepad/__init__.c4
-rw-r--r--shared-bindings/gamepad/__init__.h31
-rw-r--r--shared-bindings/gamepadshift/GamePadShift.c123
-rw-r--r--shared-bindings/gamepadshift/GamePadShift.h42
-rw-r--r--shared-bindings/gamepadshift/__init__.c54
-rw-r--r--shared-bindings/gamepadshift/__init__.h31
-rw-r--r--shared-module/gamepad/GamePad.c31
-rw-r--r--shared-module/gamepad/GamePad.h2
-rw-r--r--shared-module/gamepad/__init__.c25
-rw-r--r--shared-module/gamepadshift/GamePadShift.c49
-rw-r--r--shared-module/gamepadshift/GamePadShift.h43
-rw-r--r--shared-module/gamepadshift/__init__.c57
-rw-r--r--shared-module/gamepadshift/__init__.h33
36 files changed, 1177 insertions, 739 deletions
diff --git a/frozen/circuitpython-stage b/frozen/circuitpython-stage
-Subproject 5669083c2d2cada8b2a1108cdcd4c69694648c9
+Subproject 08d06a916cf3a4372ea90c9e20aad2bdd269d0c
diff --git a/locale/ID.po b/locale/ID.po
index 0151b2e33..216c56fc6 100644
--- a/locale/ID.po
+++ b/locale/ID.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\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"
@@ -52,8 +52,8 @@ msgstr ""
msgid "%q indices must be integers, not %s"
msgstr ""
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
#, fuzzy
msgid "%q must be >= 1"
msgstr "buffers harus mempunyai panjang yang sama"
@@ -62,7 +62,7 @@ msgstr "buffers harus mempunyai panjang yang sama"
msgid "%q should be an int"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr "%q() mengambil posisi argumen %d tapi %d yang diberikan"
@@ -70,12 +70,12 @@ msgstr "%q() mengambil posisi argumen %d tapi %d yang diberikan"
msgid "'%q' argument required"
msgstr "'%q' argumen dibutuhkan"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr "'%s' mengharapkan sebuah register"
@@ -95,7 +95,7 @@ msgstr "'%s' mengharapkan sebuah FPU register"
msgid "'%s' expects an address of the form [a, b]"
msgstr "'%s' mengharapkan sebuah alamat dengan bentuk [a, b]"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr "'%s' mengharapkan integer"
@@ -245,7 +245,7 @@ msgstr "Semua perangkat I2C sedang digunakan"
msgid "All event channels in use"
msgstr "Semua channel event sedang digunakan"
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr "Semua channel event yang disinkronisasi sedang digunakan"
@@ -253,9 +253,9 @@ msgstr "Semua channel event yang disinkronisasi sedang digunakan"
msgid "All timers for this pin are in use"
msgstr "Semua timer untuk pin ini sedang digunakan"
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -522,9 +522,8 @@ msgstr "Channel EXTINT sedang digunakan"
msgid "Error in regex"
msgstr "Error pada regex"
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr ""
@@ -532,8 +531,8 @@ msgstr ""
msgid "Expected a Characteristic"
msgstr ""
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
msgid "Expected a UUID"
msgstr ""
@@ -720,8 +719,8 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr ""
@@ -827,11 +826,10 @@ msgstr "Pin untuk channel kiri tidak valid"
msgid "Invalid pin for right channel"
msgstr "Pin untuk channel kanan tidak valid"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr "Pin-pin tidak valid"
@@ -1093,8 +1091,8 @@ msgstr "Serializer sedang digunakan"
msgid "Slice and value different lengths."
msgstr ""
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr ""
@@ -1347,7 +1345,8 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr "argumen num/types tidak cocok"
@@ -1660,7 +1659,7 @@ msgstr ""
msgid "complex division by zero"
msgstr ""
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr ""
@@ -1701,7 +1700,7 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr ""
@@ -1710,7 +1709,7 @@ msgstr ""
msgid "empty"
msgstr ""
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr "heap kosong"
@@ -1743,10 +1742,6 @@ msgstr ""
msgid "expected ':' after format specifier"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr ""
-
#: py/obj.c
msgid "expected tuple/list"
msgstr ""
@@ -1775,7 +1770,7 @@ msgstr "argumen keyword ekstra telah diberikan"
msgid "extra positional arguments given"
msgstr "argumen posisi ekstra telah diberikan"
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr ""
@@ -1816,7 +1811,7 @@ msgstr "fungsi tidak dapat mengambil argumen keyword"
msgid "function expected at most %d arguments, got %d"
msgstr "fungsi diharapkan setidaknya %d argumen, hanya mendapatkan %d"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr "fungsi mendapatkan nilai ganda untuk argumen '%q'"
@@ -1838,7 +1833,7 @@ msgstr "fungsi kehilangan argumen keyword '%q' yang dibutuhkan"
msgid "function missing required positional argument #%d"
msgstr "fungsi kehilangan argumen posisi #%d yang dibutuhkan"
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr "fungsi mengambil posisi argumen %d tapi %d yang diberikan"
@@ -1985,7 +1980,7 @@ msgstr "argumen keyword belum diimplementasi - gunakan args normal"
msgid "keywords must be strings"
msgstr "keyword harus berupa string"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr ""
@@ -2092,11 +2087,11 @@ msgstr ""
msgid "need more than %d values to unpack"
msgstr ""
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr ""
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr ""
@@ -2198,12 +2193,12 @@ msgstr ""
msgid "odd-length string"
msgstr "panjang data string memiliki keganjilan (odd-length)"
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
#, fuzzy
msgid "offset out of bounds"
msgstr "modul tidak ditemukan"
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@@ -2221,7 +2216,7 @@ msgstr ""
msgid "overflow converting long int to machine word"
msgstr ""
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr ""
@@ -2353,7 +2348,7 @@ msgstr ""
msgid "slice step cannot be zero"
msgstr ""
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr ""
@@ -2455,10 +2450,6 @@ msgstr "bits harus memilki nilai 8"
msgid "timestamp out of range for platform time_t"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr ""
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr ""
@@ -2516,7 +2507,7 @@ msgstr ""
msgid "unexpected keyword argument"
msgstr "argumen keyword tidak diharapkan"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr "keyword argumen '%q' tidak diharapkan"
diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot
index d680a125a..2ddd66493 100644
--- a/locale/circuitpython.pot
+++ b/locale/circuitpython.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\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"
@@ -52,8 +52,8 @@ msgstr ""
msgid "%q indices must be integers, not %s"
msgstr ""
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
msgid "%q must be >= 1"
msgstr ""
@@ -61,7 +61,7 @@ msgstr ""
msgid "%q should be an int"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr ""
@@ -69,12 +69,12 @@ msgstr ""
msgid "'%q' argument required"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr ""
@@ -94,7 +94,7 @@ msgstr ""
msgid "'%s' expects an address of the form [a, b]"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr ""
@@ -243,7 +243,7 @@ msgstr ""
msgid "All event channels in use"
msgstr ""
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr ""
@@ -251,9 +251,9 @@ msgstr ""
msgid "All timers for this pin are in use"
msgstr ""
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -510,9 +510,8 @@ msgstr ""
msgid "Error in regex"
msgstr ""
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr ""
@@ -520,8 +519,8 @@ msgstr ""
msgid "Expected a Characteristic"
msgstr ""
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
msgid "Expected a UUID"
msgstr ""
@@ -695,8 +694,8 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr ""
@@ -802,11 +801,10 @@ msgstr ""
msgid "Invalid pin for right channel"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr ""
@@ -1063,8 +1061,8 @@ msgstr ""
msgid "Slice and value different lengths."
msgstr ""
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr ""
@@ -1304,7 +1302,8 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr ""
@@ -1616,7 +1615,7 @@ msgstr ""
msgid "complex division by zero"
msgstr ""
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr ""
@@ -1657,7 +1656,7 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr ""
@@ -1666,7 +1665,7 @@ msgstr ""
msgid "empty"
msgstr ""
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr ""
@@ -1699,10 +1698,6 @@ msgstr ""
msgid "expected ':' after format specifier"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr ""
-
#: py/obj.c
msgid "expected tuple/list"
msgstr ""
@@ -1731,7 +1726,7 @@ msgstr ""
msgid "extra positional arguments given"
msgstr ""
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr ""
@@ -1772,7 +1767,7 @@ msgstr ""
msgid "function expected at most %d arguments, got %d"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr ""
@@ -1794,7 +1789,7 @@ msgstr ""
msgid "function missing required positional argument #%d"
msgstr ""
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr ""
@@ -1941,7 +1936,7 @@ msgstr ""
msgid "keywords must be strings"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr ""
@@ -2047,11 +2042,11 @@ msgstr ""
msgid "need more than %d values to unpack"
msgstr ""
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr ""
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr ""
@@ -2153,11 +2148,11 @@ msgstr ""
msgid "odd-length string"
msgstr ""
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
msgid "offset out of bounds"
msgstr ""
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@@ -2175,7 +2170,7 @@ msgstr ""
msgid "overflow converting long int to machine word"
msgstr ""
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr ""
@@ -2307,7 +2302,7 @@ msgstr ""
msgid "slice step cannot be zero"
msgstr ""
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr ""
@@ -2408,10 +2403,6 @@ msgstr ""
msgid "timestamp out of range for platform time_t"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr ""
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr ""
@@ -2469,7 +2460,7 @@ msgstr ""
msgid "unexpected keyword argument"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index f2b66ce5d..7b76eac35 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: Pascal Deneaux\n"
"Language-Team: Sebastian Plamauer, Pascal Deneaux\n"
@@ -54,8 +54,8 @@ msgstr "Der Index %q befindet sich außerhalb der Reihung"
msgid "%q indices must be integers, not %s"
msgstr "%q Indizes müssen ganze Zahlen sein, nicht %s"
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
msgid "%q must be >= 1"
msgstr "%q muss >= 1 sein"
@@ -63,7 +63,7 @@ msgstr "%q muss >= 1 sein"
msgid "%q should be an int"
msgstr "%q sollte ein int sein"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr "%q() nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben"
@@ -71,12 +71,12 @@ msgstr "%q() nimmt %d Argumente ohne Keyword an, aber es wurden %d angegeben"
msgid "'%q' argument required"
msgstr "'%q' Argument erforderlich"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr "'%s' erwartet ein Label"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr "'%s' erwartet ein Register"
@@ -96,7 +96,7 @@ msgstr "'%s' erwartet ein FPU-Register"
msgid "'%s' expects an address of the form [a, b]"
msgstr "'%s' erwartet eine Adresse in der Form [a, b]"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr "'%s' erwartet ein Integer"
@@ -245,7 +245,7 @@ msgstr "Alle UART-Peripheriegeräte sind in Benutzung"
msgid "All event channels in use"
msgstr "Alle event Kanäle werden benutzt"
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr "Alle sync event Kanäle werden benutzt"
@@ -253,9 +253,9 @@ msgstr "Alle sync event Kanäle werden benutzt"
msgid "All timers for this pin are in use"
msgstr "Alle timer für diesen Pin werden bereits benutzt"
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -514,9 +514,8 @@ msgstr "EXTINT Kanal ist schon in Benutzung"
msgid "Error in regex"
msgstr "Fehler in regex"
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr "Erwartet ein(e) %q"
@@ -524,8 +523,8 @@ msgstr "Erwartet ein(e) %q"
msgid "Expected a Characteristic"
msgstr "Characteristic wird erwartet"
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
msgid "Expected a UUID"
msgstr "Eine UUID wird erwartet"
@@ -699,8 +698,8 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde"
@@ -808,11 +807,10 @@ msgstr "Ungültiger Pin für linken Kanal"
msgid "Invalid pin for right channel"
msgstr "Ungültiger Pin für rechten Kanal"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr "Ungültige Pins"
@@ -1080,8 +1078,8 @@ msgstr "Serializer wird benutzt"
msgid "Slice and value different lengths."
msgstr "Slice und Wert (value) haben unterschiedliche Längen."
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr "Slices werden nicht unterstützt"
@@ -1344,7 +1342,8 @@ msgstr "arg ist eine leere Sequenz"
msgid "argument has wrong type"
msgstr "Argument hat falschen Typ"
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr "Anzahl/Type der Argumente passen nicht"
@@ -1656,7 +1655,7 @@ msgstr ""
msgid "complex division by zero"
msgstr ""
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr ""
@@ -1697,7 +1696,7 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr "Division durch Null"
@@ -1706,7 +1705,7 @@ msgstr "Division durch Null"
msgid "empty"
msgstr "leer"
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr "leerer heap"
@@ -1739,10 +1738,6 @@ msgstr "Exceptions müssen von BaseException abgeleitet sein"
msgid "expected ':' after format specifier"
msgstr "erwarte ':' nach format specifier"
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr "erwarte DigitalInOut"
-
#: py/obj.c
msgid "expected tuple/list"
msgstr "erwarte tuple/list"
@@ -1771,7 +1766,7 @@ msgstr "Es wurden zusätzliche Keyword-Argumente angegeben"
msgid "extra positional arguments given"
msgstr "Es wurden zusätzliche Argumente ohne Keyword angegeben"
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr "Die Datei muss eine im Byte-Modus geöffnete Datei sein"
@@ -1812,7 +1807,7 @@ msgstr "Funktion akzeptiert keine Keyword-Argumente"
msgid "function expected at most %d arguments, got %d"
msgstr "Funktion erwartet maximal %d Argumente, aber hat %d erhalten"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr "Funktion hat mehrere Werte für Argument '%q'"
@@ -1834,7 +1829,7 @@ msgstr "Funktion vermisst benötigtes Keyword-Argumente '%q'"
msgid "function missing required positional argument #%d"
msgstr "Funktion vermisst benötigtes Argumente ohne Keyword #%d"
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr ""
@@ -1986,7 +1981,7 @@ msgstr ""
msgid "keywords must be strings"
msgstr "Schlüsselwörter müssen Zeichenfolgen sein"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr "Label '%q' nicht definiert"
@@ -2094,11 +2089,11 @@ msgstr ""
msgid "need more than %d values to unpack"
msgstr ""
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr ""
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr ""
@@ -2200,11 +2195,11 @@ msgstr "Objekt mit Pufferprotokoll (buffer protocol) erforderlich"
msgid "odd-length string"
msgstr "String mit ungerader Länge"
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
msgid "offset out of bounds"
msgstr "offset außerhalb der Grenzen"
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@@ -2224,7 +2219,7 @@ msgstr ""
msgid "overflow converting long int to machine word"
msgstr ""
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr ""
@@ -2358,7 +2353,7 @@ msgstr ""
msgid "slice step cannot be zero"
msgstr ""
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr "small int Überlauf"
@@ -2460,10 +2455,6 @@ msgstr "timeout muss >= 0.0 sein"
msgid "timestamp out of range for platform time_t"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr "zu viele Argumente"
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr ""
@@ -2523,7 +2514,7 @@ msgstr ""
msgid "unexpected keyword argument"
msgstr "unerwartetes Keyword-Argument"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr "unerwartetes Keyword-Argument '%q'"
@@ -2748,6 +2739,9 @@ msgstr ""
#~ msgid "buffer too long"
#~ msgstr "Buffer zu lang"
+#~ msgid "expected a DigitalInOut"
+#~ msgstr "erwarte DigitalInOut"
+
#~ msgid "expecting a pin"
#~ msgstr "Ein Pin wird erwartet"
@@ -2794,6 +2788,9 @@ msgstr ""
#~ msgid "scan failed"
#~ msgstr "Scan fehlgeschlagen"
+#~ msgid "too many arguments"
+#~ msgstr "zu viele Argumente"
+
#~ msgid "unknown status param"
#~ msgstr "Unbekannter Statusparameter"
diff --git a/locale/en_US.po b/locale/en_US.po
index fe75e4f5f..f74aeb084 100644
--- a/locale/en_US.po
+++ b/locale/en_US.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -52,8 +52,8 @@ msgstr ""
msgid "%q indices must be integers, not %s"
msgstr ""
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
msgid "%q must be >= 1"
msgstr ""
@@ -61,7 +61,7 @@ msgstr ""
msgid "%q should be an int"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr ""
@@ -69,12 +69,12 @@ msgstr ""
msgid "'%q' argument required"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr ""
@@ -94,7 +94,7 @@ msgstr ""
msgid "'%s' expects an address of the form [a, b]"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr ""
@@ -243,7 +243,7 @@ msgstr ""
msgid "All event channels in use"
msgstr ""
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr ""
@@ -251,9 +251,9 @@ msgstr ""
msgid "All timers for this pin are in use"
msgstr ""
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -510,9 +510,8 @@ msgstr ""
msgid "Error in regex"
msgstr ""
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr ""
@@ -520,8 +519,8 @@ msgstr ""
msgid "Expected a Characteristic"
msgstr ""
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
msgid "Expected a UUID"
msgstr ""
@@ -695,8 +694,8 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr ""
@@ -802,11 +801,10 @@ msgstr ""
msgid "Invalid pin for right channel"
msgstr ""
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr ""
@@ -1063,8 +1061,8 @@ msgstr ""
msgid "Slice and value different lengths."
msgstr ""
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr ""
@@ -1304,7 +1302,8 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr ""
@@ -1616,7 +1615,7 @@ msgstr ""
msgid "complex division by zero"
msgstr ""
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr ""
@@ -1657,7 +1656,7 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr ""
@@ -1666,7 +1665,7 @@ msgstr ""
msgid "empty"
msgstr ""
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr ""
@@ -1699,10 +1698,6 @@ msgstr ""
msgid "expected ':' after format specifier"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr ""
-
#: py/obj.c
msgid "expected tuple/list"
msgstr ""
@@ -1731,7 +1726,7 @@ msgstr ""
msgid "extra positional arguments given"
msgstr ""
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr ""
@@ -1772,7 +1767,7 @@ msgstr ""
msgid "function expected at most %d arguments, got %d"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr ""
@@ -1794,7 +1789,7 @@ msgstr ""
msgid "function missing required positional argument #%d"
msgstr ""
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr ""
@@ -1941,7 +1936,7 @@ msgstr ""
msgid "keywords must be strings"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr ""
@@ -2047,11 +2042,11 @@ msgstr ""
msgid "need more than %d values to unpack"
msgstr ""
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr ""
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr ""
@@ -2153,11 +2148,11 @@ msgstr ""
msgid "odd-length string"
msgstr ""
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
msgid "offset out of bounds"
msgstr ""
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@@ -2175,7 +2170,7 @@ msgstr ""
msgid "overflow converting long int to machine word"
msgstr ""
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr ""
@@ -2307,7 +2302,7 @@ msgstr ""
msgid "slice step cannot be zero"
msgstr ""
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr ""
@@ -2408,10 +2403,6 @@ msgstr ""
msgid "timestamp out of range for platform time_t"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr ""
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr ""
@@ -2469,7 +2460,7 @@ msgstr ""
msgid "unexpected keyword argument"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr ""
diff --git a/locale/en_x_pirate.po b/locale/en_x_pirate.po
index 4bfdc644e..b605fa6f3 100644
--- a/locale/en_x_pirate.po
+++ b/locale/en_x_pirate.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: @sommersoft, @MrCertainly\n"
@@ -54,8 +54,8 @@ msgstr ""
msgid "%q indices must be integers, not %s"
msgstr ""
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
msgid "%q must be >= 1"
msgstr ""
@@ -63,7 +63,7 @@ msgstr ""
msgid "%q should be an int"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr ""
@@ -71,12 +71,12 @@ msgstr ""
msgid "'%q' argument required"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr ""
@@ -96,7 +96,7 @@ msgstr ""
msgid "'%s' expects an address of the form [a, b]"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr ""
@@ -245,7 +245,7 @@ msgstr ""
msgid "All event channels in use"
msgstr ""
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr ""
@@ -253,9 +253,9 @@ msgstr ""
msgid "All timers for this pin are in use"
msgstr ""
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -514,9 +514,8 @@ msgstr "Avast! EXTINT channel already in use"
msgid "Error in regex"
msgstr ""
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr ""
@@ -524,8 +523,8 @@ msgstr ""
msgid "Expected a Characteristic"
msgstr ""
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
msgid "Expected a UUID"
msgstr ""
@@ -699,8 +698,8 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr ""
@@ -806,11 +805,10 @@ msgstr "Belay that! Invalid pin for port-side channel"
msgid "Invalid pin for right channel"
msgstr "Belay that! Invalid pin for starboard-side channel"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr ""
@@ -1067,8 +1065,8 @@ msgstr ""
msgid "Slice and value different lengths."
msgstr ""
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr ""
@@ -1308,7 +1306,8 @@ msgstr ""
msgid "argument has wrong type"
msgstr ""
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr ""
@@ -1620,7 +1619,7 @@ msgstr ""
msgid "complex division by zero"
msgstr ""
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr ""
@@ -1661,7 +1660,7 @@ msgstr ""
msgid "dict update sequence has wrong length"
msgstr ""
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr ""
@@ -1670,7 +1669,7 @@ msgstr ""
msgid "empty"
msgstr ""
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr ""
@@ -1703,10 +1702,6 @@ msgstr ""
msgid "expected ':' after format specifier"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr ""
-
#: py/obj.c
msgid "expected tuple/list"
msgstr ""
@@ -1735,7 +1730,7 @@ msgstr ""
msgid "extra positional arguments given"
msgstr ""
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr ""
@@ -1776,7 +1771,7 @@ msgstr ""
msgid "function expected at most %d arguments, got %d"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr ""
@@ -1798,7 +1793,7 @@ msgstr ""
msgid "function missing required positional argument #%d"
msgstr ""
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr ""
@@ -1945,7 +1940,7 @@ msgstr ""
msgid "keywords must be strings"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr ""
@@ -2051,11 +2046,11 @@ msgstr ""
msgid "need more than %d values to unpack"
msgstr ""
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr ""
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr ""
@@ -2157,11 +2152,11 @@ msgstr ""
msgid "odd-length string"
msgstr ""
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
msgid "offset out of bounds"
msgstr ""
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@@ -2179,7 +2174,7 @@ msgstr ""
msgid "overflow converting long int to machine word"
msgstr ""
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr ""
@@ -2311,7 +2306,7 @@ msgstr ""
msgid "slice step cannot be zero"
msgstr ""
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr ""
@@ -2412,10 +2407,6 @@ msgstr ""
msgid "timestamp out of range for platform time_t"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr ""
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr ""
@@ -2473,7 +2464,7 @@ msgstr ""
msgid "unexpected keyword argument"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr ""
diff --git a/locale/es.po b/locale/es.po
index 6b84a4821..b9242c850 100644
--- a/locale/es.po
+++ b/locale/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\n"
"PO-Revision-Date: 2018-08-24 22:56-0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -55,8 +55,8 @@ msgstr "%q indice fuera de rango"
msgid "%q indices must be integers, not %s"
msgstr "%q indices deben ser enteros, no %s"
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
#, fuzzy
msgid "%q must be >= 1"
msgstr "%q debe ser >= 1"
@@ -66,7 +66,7 @@ msgstr "%q debe ser >= 1"
msgid "%q should be an int"
msgstr "%q deberia ser un int"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr "%q() toma %d argumentos posicionales pero %d fueron dados"
@@ -74,12 +74,12 @@ msgstr "%q() toma %d argumentos posicionales pero %d fueron dados"
msgid "'%q' argument required"
msgstr "argumento '%q' requerido"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr "'%s' espera una etiqueta"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr "'%s' espera un registro"
@@ -99,7 +99,7 @@ msgstr "'%s' espera un registro de FPU"
msgid "'%s' expects an address of the form [a, b]"
msgstr "'%s' espera una dirección de forma [a, b]"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr "'%s' espera un entero"
@@ -250,7 +250,7 @@ msgstr "Todos los timers están siendo usados"
msgid "All event channels in use"
msgstr "Todos los canales de eventos en uso"
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr ""
"Todos los canales de eventos de sincronización(sync event channels) están "
@@ -260,9 +260,9 @@ msgstr ""
msgid "All timers for this pin are in use"
msgstr "Todos los timers para este pin están siendo utilizados"
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -527,9 +527,8 @@ msgstr "El canal EXTINT ya está siendo utilizado"
msgid "Error in regex"
msgstr "Error en regex"
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr "Se espera un %q"
@@ -538,8 +537,8 @@ msgstr "Se espera un %q"
msgid "Expected a Characteristic"
msgstr "No se puede agregar la Característica."
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
#, fuzzy
msgid "Expected a UUID"
msgstr "Se espera un %q"
@@ -727,8 +726,8 @@ msgstr "Falló el iniciar la escritura de flash, err 0x%04x"
msgid "Frequency captured is above capability. Capture Paused."
msgstr "Frecuencia capturada por encima de la capacidad. Captura en pausa."
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr "La función requiere lock"
@@ -836,11 +835,10 @@ msgstr "Pin inválido para canal izquierdo"
msgid "Invalid pin for right channel"
msgstr "Pin inválido para canal derecho"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr "pines inválidos"
@@ -1109,8 +1107,8 @@ msgstr "Serializer está siendo utilizado"
msgid "Slice and value different lengths."
msgstr ""
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr ""
@@ -1367,7 +1365,8 @@ msgstr "argumento es una secuencia vacía"
msgid "argument has wrong type"
msgstr "el argumento tiene un tipo erroneo"
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr "argumento número/tipos no coinciden"
@@ -1685,7 +1684,7 @@ msgstr "color deberia ser un int"
msgid "complex division by zero"
msgstr "división compleja por cero"
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr "valores complejos no soportados"
@@ -1728,7 +1727,7 @@ msgstr "destination_length debe ser un int >= 0"
msgid "dict update sequence has wrong length"
msgstr "la secuencia de actualizacion del dict tiene una longitud incorrecta"
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr "división por cero"
@@ -1737,7 +1736,7 @@ msgstr "división por cero"
msgid "empty"
msgstr "vacío"
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr "heap vacío"
@@ -1771,10 +1770,6 @@ msgstr "las excepciones deben derivar de BaseException"
msgid "expected ':' after format specifier"
msgstr "se espera ':' despues de un especificaro de tipo format"
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr "se espera un DigitalInOut"
-
#: py/obj.c
msgid "expected tuple/list"
msgstr "tupla/lista esperada"
@@ -1803,7 +1798,7 @@ msgstr "argumento(s) por palabra clave adicionales fueron dados"
msgid "extra positional arguments given"
msgstr "argumento posicional adicional dado"
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr "el archivo deberia ser una archivo abierto en modo byte"
@@ -1844,7 +1839,7 @@ msgstr "la función no tiene argumentos por palabra clave"
msgid "function expected at most %d arguments, got %d"
msgstr "la función esperaba minimo %d argumentos, tiene %d"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr "la función tiene múltiples valores para el argumento '%q'"
@@ -1866,7 +1861,7 @@ msgstr "la función requiere del argumento por palabra clave '%q'"
msgid "function missing required positional argument #%d"
msgstr "la función requiere del argumento posicional #%d"
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr "la función toma %d argumentos posicionales pero le fueron dados %d"
@@ -2016,7 +2011,7 @@ msgstr ""
msgid "keywords must be strings"
msgstr "palabras clave deben ser strings"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr "etiqueta '%q' no definida"
@@ -2123,11 +2118,11 @@ msgstr ""
msgid "need more than %d values to unpack"
msgstr "necesita más de %d valores para descomprimir"
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr "potencia negativa sin float support"
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr "cuenta negativa de turnos"
@@ -2232,12 +2227,12 @@ msgstr "objeto con protocolo de buffer requerido"
msgid "odd-length string"
msgstr "string de longitud impar"
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
#, fuzzy
msgid "offset out of bounds"
msgstr "address fuera de límites"
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr "solo se admiten segmentos con step=1 (alias None)"
@@ -2255,7 +2250,7 @@ msgstr "ord() espera un carácter, pero encontró un string de longitud %d"
msgid "overflow converting long int to machine word"
msgstr "desbordamiento convirtiendo long int a palabra de máquina"
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr "palette debe ser 32 bytes de largo"
@@ -2391,7 +2386,7 @@ msgstr "la longitud de sleep no puede ser negativa"
msgid "slice step cannot be zero"
msgstr "slice step no puede ser cero"
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr "pequeño int desbordamiento"
@@ -2494,10 +2489,6 @@ msgstr "bits debe ser 8"
msgid "timestamp out of range for platform time_t"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr "muchos argumentos"
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr "demasiados argumentos provistos con el formato dado"
@@ -2555,7 +2546,7 @@ msgstr "sangría inesperada"
msgid "unexpected keyword argument"
msgstr "argumento por palabra clave inesperado"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr "argumento por palabra clave inesperado '%q'"
@@ -2795,6 +2786,9 @@ msgstr "paso cero"
#~ msgid "either pos or kw args are allowed"
#~ msgstr "ya sea pos o kw args son permitidos"
+#~ msgid "expected a DigitalInOut"
+#~ msgstr "se espera un DigitalInOut"
+
#~ msgid "expecting a pin"
#~ msgstr "esperando un pin"
@@ -2847,6 +2841,9 @@ msgstr "paso cero"
#~ msgid "scan failed"
#~ msgstr "scan ha fallado"
+#~ msgid "too many arguments"
+#~ msgstr "muchos argumentos"
+
#~ msgid "unknown config param"
#~ msgstr "parámetro config desconocido"
diff --git a/locale/fil.po b/locale/fil.po
index 55768aeba..bafdf8e97 100644
--- a/locale/fil.po
+++ b/locale/fil.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@@ -52,8 +52,8 @@ msgstr "%q indeks wala sa sakop"
msgid "%q indices must be integers, not %s"
msgstr "%q indeks ay dapat integers, hindi %s"
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
#, fuzzy
msgid "%q must be >= 1"
msgstr "aarehas na haba dapat ang buffer slices"
@@ -63,7 +63,7 @@ msgstr "aarehas na haba dapat ang buffer slices"
msgid "%q should be an int"
msgstr "y ay dapat int"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr ""
"Ang %q() ay kumukuha ng %d positional arguments pero %d lang ang binigay"
@@ -72,12 +72,12 @@ msgstr ""
msgid "'%q' argument required"
msgstr "'%q' argument kailangan"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr "'%s' umaasa ng label"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr "Inaasahan ng '%s' ang isang rehistro"
@@ -97,7 +97,7 @@ msgstr "Inaasahan ng '%s' ang isang FPU register"
msgid "'%s' expects an address of the form [a, b]"
msgstr "Inaasahan ng '%s' ang isang address sa [a, b]"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr "Inaasahan ng '%s' ang isang integer"
@@ -247,7 +247,7 @@ msgstr "Lahat ng I2C peripherals ginagamit"
msgid "All event channels in use"
msgstr "Lahat ng event channels ginagamit"
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr "Lahat ng sync event channels ay ginagamit"
@@ -255,9 +255,9 @@ msgstr "Lahat ng sync event channels ay ginagamit"
msgid "All timers for this pin are in use"
msgstr "Lahat ng timers para sa pin na ito ay ginagamit"
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -523,9 +523,8 @@ msgstr "Ginagamit na ang EXTINT channel"
msgid "Error in regex"
msgstr "May pagkakamali sa REGEX"
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr "Umasa ng %q"
@@ -534,8 +533,8 @@ msgstr "Umasa ng %q"
msgid "Expected a Characteristic"
msgstr "Hindi mabasa and Characteristic."
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
#, fuzzy
msgid "Expected a UUID"
msgstr "Umasa ng %q"
@@ -723,8 +722,8 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr "Function nangangailangan ng lock"
@@ -832,11 +831,10 @@ msgstr "Mali ang pin para sa kaliwang channel"
msgid "Invalid pin for right channel"
msgstr "Mali ang pin para sa kanang channel"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr "Mali ang pins"
@@ -1106,8 +1104,8 @@ msgstr "Serializer ginagamit"
msgid "Slice and value different lengths."
msgstr "Slice at value iba't ibang haba."
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr "Hindi suportado ang Slices"
@@ -1367,7 +1365,8 @@ msgstr "arg ay walang laman na sequence"
msgid "argument has wrong type"
msgstr "may maling type ang argument"
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr "hindi tugma ang argument num/types"
@@ -1686,7 +1685,7 @@ msgstr "color ay dapat na int"
msgid "complex division by zero"
msgstr "kumplikadong dibisyon sa pamamagitan ng zero"
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr "kumplikadong values hindi sinusuportahan"
@@ -1731,7 +1730,7 @@ msgstr "ang destination_length ay dapat na isang int >= 0"
msgid "dict update sequence has wrong length"
msgstr "may mali sa haba ng dict update sequence"
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr "dibisyon ng zero"
@@ -1740,7 +1739,7 @@ msgstr "dibisyon ng zero"
msgid "empty"
msgstr "walang laman"
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr "walang laman ang heap"
@@ -1774,10 +1773,6 @@ msgstr "ang mga exceptions ay dapat makuha mula sa BaseException"
msgid "expected ':' after format specifier"
msgstr "umaasa ng ':' pagkatapos ng format specifier"
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr "umasa ng DigitalInOut"
-
#: py/obj.c
msgid "expected tuple/list"
msgstr "umaasa ng tuple/list"
@@ -1806,7 +1801,7 @@ msgstr "dagdag na keyword argument na ibinigay"
msgid "extra positional arguments given"
msgstr "dagdag na positional argument na ibinigay"
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr "file ay dapat buksan sa byte mode"
@@ -1847,7 +1842,7 @@ msgstr "ang function ay hindi kumukuha ng mga argumento ng keyword"
msgid "function expected at most %d arguments, got %d"
msgstr "function na inaasahang %d ang argumento, ngunit %d ang nakuha"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr "ang function ay nakakuha ng maraming values para sa argument '%q'"
@@ -1869,7 +1864,7 @@ msgstr "function nangangailangan ng keyword argument '%q'"
msgid "function missing required positional argument #%d"
msgstr "function nangangailangan ng positional argument #%d"
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr ""
@@ -2021,7 +2016,7 @@ msgstr ""
msgid "keywords must be strings"
msgstr "ang keywords dapat strings"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr "label '%d' kailangan na i-define"
@@ -2128,11 +2123,11 @@ msgstr "native yield"
msgid "need more than %d values to unpack"
msgstr "kailangan ng higit sa %d na halaga upang i-unpack"
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr "negatibong power na walang float support"
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr "negative shift count"
@@ -2234,12 +2229,12 @@ msgstr "object na may buffer protocol kinakailangan"
msgid "odd-length string"
msgstr "odd-length string"
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
#, fuzzy
msgid "offset out of bounds"
msgstr "wala sa sakop ang address"
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan"
@@ -2257,7 +2252,7 @@ msgstr "ord() umaasa ng character pero string ng %d haba ang nakita"
msgid "overflow converting long int to machine word"
msgstr "overflow nagcoconvert ng long int sa machine word"
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr "ang palette ay dapat 32 bytes ang haba"
@@ -2393,7 +2388,7 @@ msgstr "sleep length ay dapat hindi negatibo"
msgid "slice step cannot be zero"
msgstr "slice step ay hindi puedeng 0"
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr "small int overflow"
@@ -2496,10 +2491,6 @@ msgstr "bits ay dapat walo (8)"
msgid "timestamp out of range for platform time_t"
msgstr "wala sa sakop ng timestamp ang platform time_t"
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr "masyadong maraming argumento"
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr "masyadong maraming mga argumento na ibinigay sa ibinigay na format"
@@ -2557,7 +2548,7 @@ msgstr "hindi inaasahang indent"
msgid "unexpected keyword argument"
msgstr "hindi inaasahang argumento ng keyword"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr "hindi inaasahang argumento ng keyword na '%q'"
@@ -2801,6 +2792,9 @@ msgstr "zero step"
#~ msgid "either pos or kw args are allowed"
#~ msgstr "pos o kw args ang pinahihintulutan"
+#~ msgid "expected a DigitalInOut"
+#~ msgstr "umasa ng DigitalInOut"
+
#~ msgid "expecting a pin"
#~ msgstr "umaasa ng isang pin"
@@ -2853,6 +2847,9 @@ msgstr "zero step"
#~ msgid "scan failed"
#~ msgstr "nabigo ang pag-scan"
+#~ msgid "too many arguments"
+#~ msgstr "masyadong maraming argumento"
+
#~ msgid "unknown config param"
#~ msgstr "hindi alam na config param"
diff --git a/locale/fr.po b/locale/fr.po
index 3f8b1c0bb..44ccde64b 100644
--- a/locale/fr.po
+++ b/locale/fr.po
@@ -54,8 +54,8 @@ msgstr "index %q hors gamme"
msgid "%q indices must be integers, not %s"
msgstr "les indices %q doivent être des entiers, pas %s"
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
#, fuzzy
msgid "%q must be >= 1"
msgstr "%d doit être >=1"
@@ -65,7 +65,7 @@ msgstr "%d doit être >=1"
msgid "%q should be an int"
msgstr "y doit être un entier (int)"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr "%q() prend %d arguments positionnels mais %d ont été donnés"
@@ -73,12 +73,12 @@ msgstr "%q() prend %d arguments positionnels mais %d ont été donnés"
msgid "'%q' argument required"
msgstr "'%q' argument requis"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr "'%s' attend un label"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr "'%s' attend un registre"
@@ -98,7 +98,7 @@ msgstr "'%s' attend un registre FPU"
msgid "'%s' expects an address of the form [a, b]"
msgstr "'%s' attend une adresse de la forme [a, b]"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr "'%s' attend un entier"
@@ -250,7 +250,7 @@ msgstr "Tous les périphériques I2C sont utilisés"
msgid "All event channels in use"
msgstr "Tous les canaux d'événements sont utilisés"
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr "Tous les canaux d'événements de synchro sont utilisés"
@@ -258,9 +258,9 @@ msgstr "Tous les canaux d'événements de synchro sont utilisés"
msgid "All timers for this pin are in use"
msgstr "Tous les timers pour cette broche sont utilisés"
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -523,9 +523,8 @@ msgstr "Canal EXTINT déjà utilisé"
msgid "Error in regex"
msgstr "Erreur dans l'expression régulière"
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr "Attendu un %q"
@@ -534,8 +533,8 @@ msgstr "Attendu un %q"
msgid "Expected a Characteristic"
msgstr "Une 'Characteristic' est attendue"
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
#, fuzzy
msgid "Expected a UUID"
msgstr "Un UUID est attendu"
@@ -723,8 +722,8 @@ msgstr "Echec du démarrage de l'écriture de la flash, err 0x%04x"
msgid "Frequency captured is above capability. Capture Paused."
msgstr "La fréquence capturée est au delà des capacités. Capture en pause."
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr "La fonction nécessite un verrou"
@@ -835,11 +834,10 @@ msgstr "Broche invalide pour le canal gauche"
msgid "Invalid pin for right channel"
msgstr "Broche invalide pour le canal droit"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr "Broches invalides"
@@ -1118,8 +1116,8 @@ msgstr "Sérialiseur en cours d'utilisation"
msgid "Slice and value different lengths."
msgstr "Tranche et valeur de tailles différentes"
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr "Tranches non supportées"
@@ -1381,7 +1379,8 @@ msgstr "l'argument est une séquence vide"
msgid "argument has wrong type"
msgstr "l'argument est d'un mauvais type"
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr "argument num/types ne correspond pas"
@@ -1706,7 +1705,7 @@ msgstr "la couleur doit être un entier 'int'"
msgid "complex division by zero"
msgstr "division complexe par zéro"
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr "valeurs complexes non supportées"
@@ -1748,7 +1747,7 @@ msgstr "destination_length doit être un entier >= 0"
msgid "dict update sequence has wrong length"
msgstr "la séquence de mise à jour de dict a une mauvaise longueur"
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr "division par zéro"
@@ -1757,7 +1756,7 @@ msgstr "division par zéro"
msgid "empty"
msgstr "vide"
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr "tas vide"
@@ -1791,10 +1790,6 @@ msgstr "les exceptions doivent dériver de 'BaseException'"
msgid "expected ':' after format specifier"
msgstr "':' attendu après la spécification de format"
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr "objet DigitalInOut attendu"
-
#: py/obj.c
msgid "expected tuple/list"
msgstr "un tuple ou une liste est attendu"
@@ -1823,7 +1818,7 @@ msgstr "argument(s) nommé(s) supplémentaire(s) donné(s)"
msgid "extra positional arguments given"
msgstr "argument(s) positionnel(s) supplémentaire(s) donné(s)"
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr "le fichier doit être un fichier ouvert en mode 'byte'"
@@ -1864,7 +1859,7 @@ msgstr "la fonction ne prend pas d'arguments nommés"
msgid "function expected at most %d arguments, got %d"
msgstr "la fonction attendait au plus %d arguments, reçu %d"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr "la fonction a reçu plusieurs valeurs pour l'argument '%q'"
@@ -1886,7 +1881,7 @@ msgstr "il manque l'argument nommé obligatoire '%q'"
msgid "function missing required positional argument #%d"
msgstr "il manque l'argument positionnel obligatoire #%d"
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr "la fonction prend %d argument(s) positionnels mais %d ont été donné(s)"
@@ -2033,7 +2028,7 @@ msgstr "argument(s) nommé(s) pas encore implémenté(s) - utilisez les argument
msgid "keywords must be strings"
msgstr "les noms doivent être des chaînes de caractères"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr "label '%q' non supporté"
@@ -2140,11 +2135,11 @@ msgstr ""
msgid "need more than %d values to unpack"
msgstr "nécessite plus de %d valeurs à dégrouper"
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr "puissance négative sans support des nombres à virgule flottante"
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr "compte de décalage négatif"
@@ -2247,12 +2242,12 @@ msgstr "un objet avec un protocole de tampon est nécessaire"
msgid "odd-length string"
msgstr "chaîne de longueur impaire"
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
#, fuzzy
msgid "offset out of bounds"
msgstr "adresse hors limites"
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr "seules les tranches avec 'step=1' (cad None) sont supportées"
@@ -2270,7 +2265,7 @@ msgstr "ord() attend un caractère mais une chaîne de caractère de longueur %d
msgid "overflow converting long int to machine word"
msgstr "dépassement de capacité en convertissant un entier long en mot machine"
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr "la palette doit être longue de 32 octets"
@@ -2408,7 +2403,7 @@ msgstr "la longueur de sleep ne doit pas être négative"
msgid "slice step cannot be zero"
msgstr "le pas 'step' de la tranche ne peut être zéro"
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr "dépassement de capacité d'un entier court"
@@ -2511,10 +2506,6 @@ msgstr "'timeout' doit être >=0.0"
msgid "timestamp out of range for platform time_t"
msgstr "'timestamp' hors bornes pour 'time_t' de la plateforme"
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr "trop d'arguments"
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr "trop d'arguments fournis avec ce format"
@@ -2572,7 +2563,7 @@ msgstr "indentation inattendue"
msgid "unexpected keyword argument"
msgstr "argument nommé inattendu"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr "argument nommé '%q' inattendu"
@@ -2811,6 +2802,9 @@ msgstr "'step' nul"
#~ msgid "either pos or kw args are allowed"
#~ msgstr "soit 'pos', soit 'kw' est permis en argument"
+#~ msgid "expected a DigitalInOut"
+#~ msgstr "objet DigitalInOut attendu"
+
#~ msgid "expecting a pin"
#~ msgstr "une broche (Pin) est attendue"
@@ -2858,6 +2852,9 @@ msgstr "'step' nul"
#~ msgid "scan failed"
#~ msgstr "échec du scan"
+#~ msgid "too many arguments"
+#~ msgstr "trop d'arguments"
+
#~ msgid "unknown config param"
#~ msgstr "paramètre de config. inconnu"
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 355f59494..e51de9703 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@@ -52,8 +52,8 @@ msgstr "indice %q fuori intervallo"
msgid "%q indices must be integers, not %s"
msgstr "gli indici %q devono essere interi, non %s"
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
#, fuzzy
msgid "%q must be >= 1"
msgstr "slice del buffer devono essere della stessa lunghezza"
@@ -63,7 +63,7 @@ msgstr "slice del buffer devono essere della stessa lunghezza"
msgid "%q should be an int"
msgstr "y dovrebbe essere un int"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr "%q() prende %d argomenti posizionali ma ne sono stati forniti %d"
@@ -71,12 +71,12 @@ msgstr "%q() prende %d argomenti posizionali ma ne sono stati forniti %d"
msgid "'%q' argument required"
msgstr "'%q' argomento richiesto"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr "'%s' aspetta una etichetta"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr "'%s' aspetta un registro"
@@ -96,7 +96,7 @@ msgstr "'%s' aspetta un registro"
msgid "'%s' expects an address of the form [a, b]"
msgstr "'%s' aspetta un registro"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr "'%s' aspetta un intero"
@@ -246,7 +246,7 @@ msgstr "Tutte le periferiche I2C sono in uso"
msgid "All event channels in use"
msgstr "Tutti i canali eventi utilizati"
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr "Tutti i canali di eventi sincronizzati in uso"
@@ -254,9 +254,9 @@ msgstr "Tutti i canali di eventi sincronizzati in uso"
msgid "All timers for this pin are in use"
msgstr "Tutti i timer per questo pin sono in uso"
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -523,9 +523,8 @@ msgstr "Canale EXTINT già in uso"
msgid "Error in regex"
msgstr "Errore nella regex"
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr "Atteso un %q"
@@ -534,8 +533,8 @@ msgstr "Atteso un %q"
msgid "Expected a Characteristic"
msgstr "Non è possibile aggiungere Characteristic."
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
#, fuzzy
msgid "Expected a UUID"
msgstr "Atteso un %q"
@@ -722,8 +721,8 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr ""
@@ -833,11 +832,10 @@ msgstr "Pin non valido per il canale sinistro"
msgid "Invalid pin for right channel"
msgstr "Pin non valido per il canale destro"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr "Pin non validi"
@@ -1112,8 +1110,8 @@ msgstr "Serializer in uso"
msgid "Slice and value different lengths."
msgstr ""
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr "Slice non supportate"
@@ -1361,7 +1359,8 @@ msgstr "l'argomento è una sequenza vuota"
msgid "argument has wrong type"
msgstr "il tipo dell'argomento è errato"
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr "discrepanza di numero/tipo di argomenti"
@@ -1679,7 +1678,7 @@ msgstr "il colore deve essere un int"
msgid "complex division by zero"
msgstr "complex divisione per zero"
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr "valori complessi non supportai"
@@ -1723,7 +1722,7 @@ msgstr "destination_length deve essere un int >= 0"
msgid "dict update sequence has wrong length"
msgstr "sequanza di aggiornamento del dizionario ha la lunghezza errata"
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr "divisione per zero"
@@ -1732,7 +1731,7 @@ msgstr "divisione per zero"
msgid "empty"
msgstr "vuoto"
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr "heap vuoto"
@@ -1766,10 +1765,6 @@ msgstr "le eccezioni devono derivare da BaseException"
msgid "expected ':' after format specifier"
msgstr "':' atteso dopo lo specificatore di formato"
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr "DigitalInOut atteso"
-
#: py/obj.c
msgid "expected tuple/list"
msgstr "lista/tupla prevista"
@@ -1798,7 +1793,7 @@ msgstr "argomento nominato aggiuntivo fornito"
msgid "extra positional arguments given"
msgstr "argomenti posizonali extra dati"
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr ""
@@ -1839,7 +1834,7 @@ msgstr "la funzione non prende argomenti nominati"
msgid "function expected at most %d arguments, got %d"
msgstr "la funzione prevede al massimo %d argmoneti, ma ne ha ricevuti %d"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr "la funzione ha ricevuto valori multipli per l'argomento '%q'"
@@ -1861,7 +1856,7 @@ msgstr "argomento nominato '%q' mancante alla funzione"
msgid "function missing required positional argument #%d"
msgstr "mancante il #%d argomento posizonale obbligatorio della funzione"
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr ""
@@ -2014,7 +2009,7 @@ msgstr ""
msgid "keywords must be strings"
msgstr "argomenti nominati devono essere stringhe"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr "etichetta '%q' non definita"
@@ -2121,11 +2116,11 @@ msgstr "yield nativo"
msgid "need more than %d values to unpack"
msgstr "necessari più di %d valori da scompattare"
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr "potenza negativa senza supporto per float"
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr ""
@@ -2230,12 +2225,12 @@ msgstr ""
msgid "odd-length string"
msgstr "stringa di lunghezza dispari"
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
#, fuzzy
msgid "offset out of bounds"
msgstr "indirizzo fuori limite"
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr "solo slice con step=1 (aka None) sono supportate"
@@ -2254,7 +2249,7 @@ msgstr ""
msgid "overflow converting long int to machine word"
msgstr "overflow convertendo long int in parola"
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr "la palette deve essere lunga 32 byte"
@@ -2391,7 +2386,7 @@ msgstr "la lunghezza di sleed deve essere non negativa"
msgid "slice step cannot be zero"
msgstr "la step della slice non può essere zero"
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr "small int overflow"
@@ -2494,10 +2489,6 @@ msgstr "i bit devono essere 8"
msgid "timestamp out of range for platform time_t"
msgstr "timestamp è fuori intervallo per il time_t della piattaforma"
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr "troppi argomenti"
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr "troppi argomenti forniti con il formato specificato"
@@ -2555,7 +2546,7 @@ msgstr "indentazione inaspettata"
msgid "unexpected keyword argument"
msgstr "argomento nominato inaspettato"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr "argomento nominato '%q' inaspettato"
@@ -2793,6 +2784,9 @@ msgstr "zero step"
#~ msgid "either pos or kw args are allowed"
#~ msgstr "sono permesse solo gli argomenti pos o kw"
+#~ msgid "expected a DigitalInOut"
+#~ msgstr "DigitalInOut atteso"
+
#~ msgid "expecting a pin"
#~ msgstr "pin atteso"
@@ -2845,6 +2839,9 @@ msgstr "zero step"
#~ msgid "scan failed"
#~ msgstr "scansione fallita"
+#~ msgid "too many arguments"
+#~ msgstr "troppi argomenti"
+
#~ msgid "unknown config param"
#~ msgstr "parametro di configurazione sconosciuto"
diff --git a/locale/pl.po b/locale/pl.po
index a82ad6fb6..ebee96e64 100644
--- a/locale/pl.po
+++ b/locale/pl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\n"
"PO-Revision-Date: 2019-03-19 18:37-0700\n"
"Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n"
"Language-Team: pl\n"
@@ -22,7 +22,7 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
"\n"
-"Kod wykonany. Oczekiwanie na przeładowanie.\n"
+"Kod wykonany. Czekam na przeładowanie.\n"
#: py/obj.c
msgid " File \"%q\""
@@ -53,8 +53,8 @@ msgstr "%q poza zakresem"
msgid "%q indices must be integers, not %s"
msgstr "%q indeks musi być liczbą całkowitą, a nie %s"
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
msgid "%q must be >= 1"
msgstr "%q musi być >= 1"
@@ -62,7 +62,7 @@ msgstr "%q musi być >= 1"
msgid "%q should be an int"
msgstr "%q powinno być typu int"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr "%q() bierze %d argumentów pozycyjnych, lecz podano %d"
@@ -70,12 +70,12 @@ msgstr "%q() bierze %d argumentów pozycyjnych, lecz podano %d"
msgid "'%q' argument required"
msgstr "'%q' wymaga argumentu"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr "'%s' oczekuje etykiety"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr "'%s' oczekuje rejestru"
@@ -95,7 +95,7 @@ msgstr "'%s' oczekuje rejestru FPU"
msgid "'%s' expects an address of the form [a, b]"
msgstr "'%s' oczekuje adresu w postaci [a, b]"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr "'%s' oczekuje liczby całkowitej"
@@ -113,7 +113,7 @@ msgstr "'%s' oczekuje {r0, r1, ...}"
#: py/emitinlinextensa.c
#, c-format
msgid "'%s' integer %d is not within range %d..%d"
-msgstr "'%s' liczba %d nie mieści się w zakresie %d..%d"
+msgstr "'%s' liczba %d poza zakresem %d..%d"
#: py/emitinlinethumb.c
#, c-format
@@ -123,12 +123,12 @@ msgstr "'%s' liczba 0x%x nie pasuje do maski 0x%x"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item assignment"
-msgstr "'%s' obiekt nie pozwala na przypisanie do elementów"
+msgstr "'%s' obiekt nie wspiera przypisania do elementów"
#: py/obj.c
#, c-format
msgid "'%s' object does not support item deletion"
-msgstr "'%s' obiekt nie pozwala na usuwanie elementów"
+msgstr "'%s' obiekt nie wspiera usuwania elementów"
#: py/runtime.c
msgid "'%s' object has no attribute '%q'"
@@ -160,7 +160,7 @@ msgstr "wyrównanie '=' niedozwolone w specyfikacji formatu"
#: shared-module/struct/__init__.c
msgid "'S' and 'O' are not supported format types"
-msgstr "typy formatowanie 'S' oraz 'O' nie są wspierane"
+msgstr "typy formatowania 'S' oraz 'O' są niewspierane"
#: py/compile.c
msgid "'align' requires 1 argument"
@@ -180,7 +180,7 @@ msgstr "'continue' poza pętlą"
#: py/compile.c
msgid "'data' requires at least 2 arguments"
-msgstr "'data' wymaga co najmniej 2 argumentów"
+msgstr "'data' wymaga 2 lub więcej argumentów"
#: py/compile.c
msgid "'data' requires integer arguments"
@@ -216,12 +216,12 @@ msgstr "3-argumentowy pow() jest niewspierany"
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
msgid "A hardware interrupt channel is already in use"
-msgstr "Kanał przerwań sprzętowych jest już w użyciu"
+msgstr "Kanał przerwań sprzętowych w użyciu"
#: shared-bindings/bleio/Address.c
#, c-format
msgid "Address is not %d bytes long or is in wrong format"
-msgstr "Adres nie ma długości %d bajtów lub jest w złym formacie"
+msgstr "Adres nie ma długości %d bajtów lub zły format"
#: shared-bindings/bleio/Address.c
#, c-format
@@ -230,43 +230,43 @@ msgstr "Adres musi mieć %d bajtów"
#: ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
-msgstr "Wszystkie peryferia I2C są w użyciu"
+msgstr "Wszystkie peryferia I2C w użyciu"
#: ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
-msgstr "Wszystkie peryferia SPI są w użyciu"
+msgstr "Wszystkie peryferia SPI w użyciu"
#: ports/nrf/common-hal/busio/UART.c
msgid "All UART peripherals are in use"
-msgstr "Wszystkie peryferia UART są w użyciu"
+msgstr "Wszystkie peryferia UART w użyciu"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "All event channels in use"
-msgstr "Wszystkie kanały zdarzeń są w użyciu"
+msgstr "Wszystkie kanały zdarzeń w użyciu"
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
-msgstr "Wszystkie kanały zdarzeń synchronizacji są w użyciu"
+msgstr "Wszystkie kanały zdarzeń synchronizacji w użyciu"
#: shared-bindings/pulseio/PWMOut.c
msgid "All timers for this pin are in use"
-msgstr "Wszystkie "
+msgstr "Wszystkie timery tej nóżki w użyciu"
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
-msgstr "Wszystkie timery są w użyciu"
+msgstr "Wszystkie timery w użyciu"
#: ports/nrf/common-hal/analogio/AnalogOut.c
msgid "AnalogOut functionality not supported"
-msgstr "AnalogOut nie jest wspierane"
+msgstr "AnalogOut jest niewspierane"
#: shared-bindings/analogio/AnalogOut.c
msgid "AnalogOut is only 16 bits. Value must be less than 65536."
-msgstr "AnalogOut ma tylko 16 bitów. Wartość musi być mniejsza od 65536."
+msgstr "AnalogOut ma 16 bitów. Wartość musi być mniejsza od 65536."
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
msgid "AnalogOut not supported on given pin"
@@ -282,23 +282,23 @@ msgstr "Tablica musi zawierać pół-słowa (typ 'H')"
#: shared-bindings/nvm/ByteArray.c
msgid "Array values should be single bytes."
-msgstr "Wartości tablicy powinny być pojedynczymi bajtami"
+msgstr "Wartości powinny być bajtami."
#: supervisor/shared/safe_mode.c
msgid "Attempted heap allocation when MicroPython VM not running.\n"
-msgstr "Próba alokacji pamięci na stercie gdy maszyna wirtualna nie działa.\n"
+msgstr "Próba alokacji pamięci na stercie gdy VM nie działa.\n"
#: main.c
msgid "Auto-reload is off.\n"
-msgstr "Samo-przeładowywanie jest wyłączone.\n"
+msgstr "Samo-przeładowywanie wyłączone.\n"
#: main.c
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
msgstr ""
-"Samo-przeładowywanie jest włączone. Po prostu zapisz pliki przez USBaby je "
-"uruchomić, albo wejdź w konsolę aby je wyłączyć.\n"
+"Samo-przeładowywanie włączone. Po prostu zapisz pliki przez USB aby je "
+"uruchomić, albo wejdź w konsolę aby wyłączyć.\n"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Bit clock and word select must share a clock unit"
@@ -306,7 +306,7 @@ msgstr "Zegar bitowy i wybór słowa muszą współdzielić jednostkę zegara"
#: shared-bindings/audiobusio/PDMIn.c
msgid "Bit depth must be multiple of 8."
-msgstr "Głębia bitowa musi być wielokrotnością 8."
+msgstr "Głębia musi być wielokrotnością 8."
#: ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c
msgid "Both pins must support hardware interrupts"
@@ -327,17 +327,17 @@ msgstr "Zła wielkość bufora. Powinno być %d bajtów."
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1"
-msgstr "Bufor musi mieć długość co najmniej 1"
+msgstr "Bufor musi mieć długość 1 lub więcej"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
msgid "Bus pin %d is already in use"
-msgstr "Nóżka magistrali %d jest już w użyciu"
+msgstr "Nóżka magistrali %d jest w użyciu"
#: shared-bindings/bleio/UUID.c
msgid "Byte buffer must be 16 bytes."
-msgstr "Bufor bajtów musi mieć 16 bajtów."
+msgstr "Bufor musi mieć 16 bajtów."
#: shared-bindings/nvm/ByteArray.c
msgid "Bytes must be between 0 and 255."
@@ -350,7 +350,7 @@ msgstr "Nie można używać dotstar z %s"
#: shared-bindings/bleio/Device.c
msgid "Can't add services in Central mode"
-msgstr "Nie można dodawać serwisów w trybie Central"
+msgstr "Nie można dodać serwisów w trybie Central"
#: shared-bindings/bleio/Device.c
msgid "Can't advertise in Central mode"
@@ -366,12 +366,12 @@ msgstr "Nie można się łączyć w trybie Peripheral"
#: shared-bindings/displayio/Bitmap.c shared-bindings/pulseio/PulseIn.c
msgid "Cannot delete values"
-msgstr "Nie można usunąć wartości"
+msgstr "Nie można usunąć"
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
msgid "Cannot get pull while in output mode"
-msgstr "Nie można sprawdzić podciągnięcia w trybie wyjścia"
+msgstr "Nie ma podciągnięcia w trybie wyjścia"
#: ports/nrf/common-hal/microcontroller/Processor.c
msgid "Cannot get temperature"
@@ -391,11 +391,11 @@ msgstr "Nie można nagrać do pliku"
#: shared-module/storage/__init__.c
msgid "Cannot remount '/' when USB is active."
-msgstr "Nie można przemontować '/' gdy USB jest aktywne."
+msgstr "Nie można przemontować '/' gdy USB działa."
#: ports/atmel-samd/common-hal/microcontroller/__init__.c
msgid "Cannot reset into bootloader because no bootloader is present."
-msgstr "Nie można zrestartować do bootloader, bo nie ma bootloadera."
+msgstr "Nie można zrestartować -- nie ma bootloadera."
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Cannot set value when direction is input."
@@ -419,11 +419,11 @@ msgstr "Nie można pisać bez nóżki MOSI."
#: shared-bindings/bleio/Service.c
msgid "Characteristic UUID doesn't match Service UUID"
-msgstr "UUID charakterystyki nie pasuje do UUID serwisu"
+msgstr "UUID charakterystyki inny niż UUID serwisu"
#: ports/nrf/common-hal/bleio/Service.c
msgid "Characteristic already in use by another Service."
-msgstr "Charakterystyka już w użycie w innym serwisie"
+msgstr "Charakterystyka w użyciu w innym serwisie"
#: shared-bindings/bleio/CharacteristicBuffer.c
msgid "CharacteristicBuffer writing not provided"
@@ -431,7 +431,7 @@ msgstr "Pisanie do CharacteristicBuffer niewspierane"
#: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed."
-msgstr "Nie powiodła się inicjalizacja nóżki zegara"
+msgstr "Nie powiodło się ustawienie nóżki zegara"
#: shared-module/bitbangio/I2C.c
msgid "Clock stretch too long"
@@ -447,7 +447,7 @@ msgstr "Kolumny muszą być typu digitalio.DigitalInOut"
#: shared-bindings/displayio/FourWire.c shared-bindings/displayio/ParallelBus.c
msgid "Command must be an int between 0 and 255"
-msgstr "Komenda musi być liczbą całkowitą pomiędzy 0 a 255"
+msgstr "Komenda musi być int pomiędzy 0 a 255"
#: ports/nrf/common-hal/bleio/UUID.c
#, c-format
@@ -456,7 +456,7 @@ msgstr "Nie można zdekodować ble_uuid, błąd 0x%04x"
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
-msgstr "Inicjalizacja UART nie powiodła się"
+msgstr "Ustawienie UART nie powiodło się"
#: shared-module/audioio/Mixer.c shared-module/audioio/WaveFile.c
msgid "Couldn't allocate first buffer"
@@ -472,7 +472,7 @@ msgstr "Katastrofa w HardFault_Handler.\n"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "DAC already in use"
-msgstr "DAC jest już w użyciu"
+msgstr "DAC w użyciu"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
@@ -490,7 +490,7 @@ msgstr "Zbyt dużo danych pakietu rozgłoszeniowego"
#: ports/nrf/common-hal/bleio/Device.c
msgid "Data too large for the advertisement packet"
-msgstr "Zbyt dużo danych dla pakietu rozgłoszeniowego"
+msgstr "Zbyt dużo danych pakietu rozgłoszeniowego"
#: shared-bindings/audiobusio/PDMIn.c
msgid "Destination capacity is smaller than destination_length."
@@ -498,24 +498,23 @@ msgstr "Pojemność celu mniejsza od destination_length."
#: shared-bindings/displayio/Display.c
msgid "Display rotation must be in 90 degree increments"
-msgstr "Orientacja wyświetlacza musi być wielokrotnością 90 stopni"
+msgstr "Wyświetlacz można obracać co 90 stopni"
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Drive mode not used when direction is input."
-msgstr "Tryb sterowania nie jest używany w trybie wejścia."
+msgstr "Tryb sterowania nieużywany w trybie wejścia."
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use"
-msgstr "Kanał EXTINT jest już w użyciu"
+msgstr "Kanał EXTINT w użyciu"
#: extmod/modure.c
msgid "Error in regex"
msgstr "Błąd w regex"
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr "Oczekiwano %q"
@@ -523,8 +522,8 @@ msgstr "Oczekiwano %q"
msgid "Expected a Characteristic"
msgstr "Oczekiwano charakterystyki"
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
msgid "Expected a UUID"
msgstr "Oczekiwano UUID"
@@ -678,28 +677,28 @@ msgstr "Plik istnieje"
#: ports/nrf/supervisor/internal_flash.c
msgid "Flash erase failed"
-msgstr "Nie udało się skasować pamięci flash"
+msgstr "Nie udało się skasować flash"
#: ports/nrf/supervisor/internal_flash.c
#, c-format
msgid "Flash erase failed to start, err 0x%04x"
-msgstr "Nie udało się rozpocząć kasowania pamięci flash, błąd 0x%04x"
+msgstr "Nie udało się rozpocząć kasowania flash, błąd 0x%04x"
#: ports/nrf/supervisor/internal_flash.c
msgid "Flash write failed"
-msgstr "Zapis do pamięci flash nie powiódł się"
+msgstr "Zapis do flash nie powiódł się"
#: ports/nrf/supervisor/internal_flash.c
#, c-format
msgid "Flash write failed to start, err 0x%04x"
-msgstr "Nie udało się rozpocząć zapisu do pamięci flash, błąd 0x%04x"
+msgstr "Nie udało się rozpocząć zapisu do flash, błąd 0x%04x"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused."
-msgstr "Uzyskana częstotliwość jest poza możliwościami. Spauzowano."
+msgstr "Uzyskana częstotliwość jest niemożliwa. Spauzowano."
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr "Funkcja wymaga blokady"
@@ -713,7 +712,7 @@ msgstr "Operacja I/O na zamkniętym pliku"
#: extmod/machine_i2c.c
msgid "I2C operation not supported"
-msgstr "Operacja I2C nie obsługiwana"
+msgstr "Operacja I2C nieobsługiwana"
#: py/persistentcode.c
msgid ""
@@ -729,111 +728,110 @@ msgstr "Niewłaściwa wielkość bufora"
#: py/moduerrno.c
msgid "Input/output error"
-msgstr "Błąd wejścia/wyjścia"
+msgstr "Błąd I/O"
#: shared-module/displayio/OnDiskBitmap.c
msgid "Invalid BMP file"
-msgstr "Niepoprawny plik BMP"
+msgstr "Zły BMP"
#: ports/atmel-samd/common-hal/pulseio/PWMOut.c
#: ports/nrf/common-hal/pulseio/PWMOut.c shared-bindings/pulseio/PWMOut.c
msgid "Invalid PWM frequency"
-msgstr "Niewłaściwa częstotliwość PWM"
+msgstr "Zła częstotliwość PWM"
#: py/moduerrno.c
msgid "Invalid argument"
-msgstr "Niepoprawny argument"
+msgstr "Zły argument"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Invalid bit clock pin"
-msgstr "Niewłaściwa nóżka zegara bitowego"
+msgstr "Zła nóżka zegara"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
-msgstr ""
+msgstr "Zła liczba bitów wartości"
#: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size"
-msgstr "Niewłaściwa wielkość bufora"
+msgstr "Zła wielkość bufora"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Invalid capture period. Valid range: 1 - 500"
-msgstr "Niewłaściwy okres. Poprawny zakres to: 1 - 500"
+msgstr "Zły okres. Poprawny zakres to: 1 - 500"
#: shared-bindings/audioio/Mixer.c
msgid "Invalid channel count"
-msgstr "Niewłaściwa liczba kanałów"
+msgstr "Zła liczba kanałów"
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid clock pin"
-msgstr "Niewłaściwa nóżka zegara"
+msgstr "Zła nóżka zegara"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid data pin"
-msgstr "Niewłaściwa nóżka danych"
+msgstr "Zła nóżka danych"
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Invalid direction."
-msgstr "Niewłaściwy tryb"
+msgstr "Zły tryb"
#: shared-module/audioio/WaveFile.c
msgid "Invalid file"
-msgstr "Niewłaściwy plik"
+msgstr "Zły plik"
#: shared-module/audioio/WaveFile.c
msgid "Invalid format chunk size"
-msgstr "Niewłaściwa wielkość fragmentu formatu"
+msgstr "Zła wielkość fragmentu formatu"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid number of bits"
-msgstr "Niewłaściwa liczba bitów"
+msgstr "Zła liczba bitów"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid phase"
-msgstr "Niewłaściwa faza"
+msgstr "Zła faza"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/touchio/TouchIn.c
#: shared-bindings/pulseio/PWMOut.c
msgid "Invalid pin"
-msgstr "Niewłaściwa nóżka"
+msgstr "Zła nóżka"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "Invalid pin for left channel"
-msgstr "Niewłaściwa nóżka dla lewego kanału"
+msgstr "Zła nóżka dla lewego kanału"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "Invalid pin for right channel"
-msgstr "Niewłaściwa nóżka dla prawego kanału"
+msgstr "Zła nóżka dla prawego kanału"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
-msgstr "Niewłaściwe nóżki"
+msgstr "Złe nóżki"
#: shared-bindings/bitbangio/SPI.c shared-bindings/busio/SPI.c
msgid "Invalid polarity"
-msgstr "Nie właściwa polaryzacja"
+msgstr "Zła polaryzacja"
#: shared-bindings/microcontroller/__init__.c
msgid "Invalid run mode."
-msgstr "Niewłaściwy tryb uruchomienia"
+msgstr "Zły tryb uruchomienia"
#: shared-bindings/audioio/Mixer.c
msgid "Invalid voice count"
-msgstr "Niewłaściwa liczba głosów"
+msgstr "Zła liczba głosów"
#: shared-module/audioio/WaveFile.c
msgid "Invalid wave file"
-msgstr "Błędny plik wave"
+msgstr "Zły plik wave"
#: py/compile.c
msgid "LHS of keyword arg must be an id"
-msgstr "Lewa strona argumentu musi być identyfikatorem"
+msgstr "Lewa strona argumentu nazwanego musi być nazwą"
#: shared-module/displayio/Group.c
msgid "Layer must be a Group or TileGrid subclass."
@@ -860,21 +858,21 @@ msgstr ""
#: shared-module/bitbangio/SPI.c
msgid "MISO pin init failed."
-msgstr "Nie powiodła się inicjalizacja nóżki MISO."
+msgstr "Nie powiodło się ustawienie nóżki MISO."
#: shared-module/bitbangio/SPI.c
msgid "MOSI pin init failed."
-msgstr "Nie powiodła się inicjalizacja nóżki MOSI"
+msgstr "Nie powiodło się ustawienie nóżki MOSI"
#: shared-module/displayio/Shape.c
#, c-format
msgid "Maximum x value when mirrored is %d"
-msgstr "Największa możliwa wartość x przy odwróceniu to %d"
+msgstr "Największa wartość x przy odwróceniu to %d"
#: supervisor/shared/safe_mode.c
msgid "MicroPython NLR jump failed. Likely memory corruption.\n"
msgstr ""
-"Skok NLR MicroPythona nie powiódł się. Prawdopodobne uszkodzenie pamięci.\n"
+"Skok NLR MicroPythona nie powiódł się. Prawdopodobne skażenie pamięci.\n"
#: supervisor/shared/safe_mode.c
msgid "MicroPython fatal error.\n"
@@ -907,7 +905,7 @@ msgstr "Brak nóżki TX"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "No available clocks"
-msgstr "Brak dostępnych zegarów"
+msgstr "Brak wolnych zegarów"
#: shared-bindings/board/__init__.c
msgid "No default %q bus"
@@ -919,7 +917,7 @@ msgstr "Brak wolnych GLCK"
#: shared-bindings/os/__init__.c
msgid "No hardware random available"
-msgstr "Brak sprzętowego generatora liczb losowych"
+msgstr "Brak generatora liczb losowych"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
@@ -928,11 +926,11 @@ msgstr "Brak sprzętowej obsługi na nóżce"
#: py/moduerrno.c
msgid "No space left on device"
-msgstr "Brak miejsca na urządzeniu"
+msgstr "Brak miejsca"
#: py/moduerrno.c
msgid "No such file/directory"
-msgstr "Nie ma takiego pliku/katalogu"
+msgstr "Brak pliku/katalogu"
#: shared-bindings/bleio/CharacteristicBuffer.c
msgid "Not connected"
@@ -945,7 +943,7 @@ msgstr "Nic nie jest odtwarzane"
#: shared-bindings/util.c
msgid ""
"Object has been deinitialized and can no longer be used. Create a new object."
-msgstr "Obiekt został zwolnione i nie można go już używać. Utwórz nowy obiekt."
+msgstr "Obiekt został zwolniony i nie można go już używać. Utwórz nowy obiekt."
#: ports/nrf/common-hal/busio/UART.c
msgid "Odd parity is not supported"
@@ -959,16 +957,14 @@ msgstr "Tylko 8 lub 16 bitów mono z "
#, c-format
msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d"
-msgstr ""
-"Wspierane są tylko nieskompresowane pliki BMP Windowsa: wielkość nagłówka %d"
+msgstr "Wspierane są tylko nieskompresowane pliki BMP: wielkość nagłówka %d"
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
msgid ""
"Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d bpp "
"given"
-msgstr ""
-"Wspierane są tylko pliki BMP czarno-białe, indeksowane 8bpp i 16bpp: %d bpp "
+msgstr "Wspierane są tylko pliki BMP czarno-białe, 8bpp i 16bpp: %d bpp "
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "Only slices with step=1 (aka None) are supported"
@@ -1007,9 +1003,7 @@ msgstr "Oraz moduły w systemie plików\n"
#: main.c
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
-msgstr ""
-"Naciśnij dowolny klawisz aby uruchomić konsolę. Naciśnij CTRL-D aby "
-"przeładować."
+msgstr "Dowolny klawisz aby uruchomić konsolę. CTRL-D aby przeładować."
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Pull not used when direction is output."
@@ -1017,11 +1011,11 @@ msgstr "Podciągnięcie nieużywane w trybie wyjścia."
#: ports/nrf/common-hal/rtc/RTC.c
msgid "RTC calibration is not supported on this board"
-msgstr "Ta płytka nie obsługuje kalibracji RTC"
+msgstr "Brak obsługi kalibracji RTC"
#: shared-bindings/time/__init__.c
msgid "RTC is not supported on this board"
-msgstr "Ta płytka nie obsługuje RTC"
+msgstr "Brak obsługi RTC"
#: shared-bindings/_pixelbuf/PixelBuf.c
msgid "Range out of bounds"
@@ -1041,7 +1035,7 @@ msgstr "Obiekt tylko do odczytu"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c
msgid "Right channel unsupported"
-msgstr "Prawy kanał nie jest wspierany"
+msgstr "Prawy kanał jest niewspierany"
#: shared-bindings/_pew/PewPew.c
msgid "Row entry must be digitalio.DigitalInOut"
@@ -1049,7 +1043,7 @@ msgstr "Rzędy muszą być digitalio.DigitalInOut"
#: main.c
msgid "Running in safe mode! Auto-reload is off.\n"
-msgstr "Uruchomiony tryb bezpieczeństwa! Samoprzeładowanie wyłączone.\n"
+msgstr "Uruchomiony tryb bezpieczeństwa! Samo-przeładowanie wyłączone.\n"
#: main.c
msgid "Running in safe mode! Not running saved code.\n"
@@ -1077,8 +1071,8 @@ msgstr "Serializator w użyciu"
msgid "Slice and value different lengths."
msgstr "Fragment i wartość są różnych długości."
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr "Fragmenty nieobsługiwane"
@@ -1089,7 +1083,7 @@ msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX"
#: extmod/modure.c
msgid "Splitting with sub-captures"
-msgstr "Dzielenie z podgrupami"
+msgstr "Podział z podgrupami"
#: shared-bindings/supervisor/__init__.c
msgid "Stack size must be at least 256"
@@ -1129,28 +1123,28 @@ msgid ""
"The reset button was pressed while booting CircuitPython. Press again to "
"exit safe mode.\n"
msgstr ""
-"Przycisk reset został wciśnięty podczas startu CircuitPythona.Wciśnij go "
+"Przycisk reset został wciśnięty podczas startu CircuitPythona. Wciśnij go "
"ponownie aby wyjść z trybu bezpieczeństwa.\n"
#: shared-module/audioio/Mixer.c
msgid "The sample's bits_per_sample does not match the mixer's"
-msgstr "Wartość bits_per_sample tej próbki nie pasuje do miksera"
+msgstr "Wartość bits_per_sample nie pasuje do miksera"
#: shared-module/audioio/Mixer.c
msgid "The sample's channel count does not match the mixer's"
-msgstr "Liczba kanałów tej próbki nie pasuje do miksera "
+msgstr "Liczba kanałów nie pasuje do miksera "
#: shared-module/audioio/Mixer.c
msgid "The sample's sample rate does not match the mixer's"
-msgstr "Sample rate próbki nie pasuje do miksera"
+msgstr "Sample rate nie pasuje do miksera"
#: shared-module/audioio/Mixer.c
msgid "The sample's signedness does not match the mixer's"
-msgstr "Znak próbki nie pasuje do miksera"
+msgstr "Znak nie pasuje do miksera"
#: shared-bindings/displayio/TileGrid.c
msgid "Tile height must exactly divide bitmap height"
-msgstr "Wysyokość bitmapy musi być wielokrotnością wysokości kafelka"
+msgstr "Wysokość bitmapy musi być wielokrotnością wysokości kafelka"
#: shared-bindings/displayio/TileGrid.c
msgid "Tile indices must be 0 - 255"
@@ -1162,15 +1156,15 @@ msgstr "Szerokość bitmapy musi być wielokrotnością szerokości kafelka"
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
-msgstr "Aby wyjść, proszę zresetować płytkę bez "
+msgstr "By wyjść, proszę zresetować płytkę bez "
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Too many channels in sample."
-msgstr "Zbyt wiele kanałów w próbce."
+msgstr "Zbyt wiele kanałów."
#: shared-bindings/displayio/FourWire.c shared-bindings/displayio/ParallelBus.c
msgid "Too many display busses"
-msgstr "Zbyt wiele magistrali wyświetlaczy"
+msgstr "Zbyt wiele magistrali"
#: shared-bindings/displayio/Display.c
msgid "Too many displays"
@@ -1198,7 +1192,7 @@ msgstr "Wartość UUID poza zakresem 0 do 0xffff"
#: shared-bindings/bleio/UUID.c
msgid "UUID string not 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'"
-msgstr "UUID nie pasuje do `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'"
+msgstr "UUID inny, niż `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'"
#: shared-bindings/bleio/UUID.c
msgid "UUID value is not str, int or byte buffer"
@@ -1212,11 +1206,11 @@ msgstr "Nie udała się alokacja buforów do konwersji ze znakiem"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Unable to find free GCLK"
-msgstr "Nie znaleziono wolnego GCLK"
+msgstr "Brak wolnego GCLK"
#: py/parse.c
msgid "Unable to init parser"
-msgstr "Błąd inicjalizacji parsera"
+msgstr "Błąd ustawienia parsera"
#: shared-module/displayio/OnDiskBitmap.c
msgid "Unable to read color palette data"
@@ -1233,28 +1227,27 @@ msgstr "Nieoczekiwany typ nrfx uuid."
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
-msgstr ""
-"Niepasująca liczba obiektów po prawej stronie (oczekiwano %d, jest %d)."
+msgstr "Zła liczba obiektów po prawej stronie (oczekiwano %d, jest %d)."
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
-msgstr "Niewspierana szybkość transmisji"
+msgstr "Zła szybkość transmisji"
#: shared-module/displayio/Display.c
msgid "Unsupported display bus type"
-msgstr "Niewspierany typ magistrali wyświetlaczy"
+msgstr "Zły typ magistrali wyświetlaczy"
#: shared-module/audioio/WaveFile.c
msgid "Unsupported format"
-msgstr "Niewspierany format"
+msgstr "Zły format"
#: py/moduerrno.c
msgid "Unsupported operation"
-msgstr "Niewspierana operacja"
+msgstr "Zła operacja"
#: shared-bindings/digitalio/DigitalInOut.c
msgid "Unsupported pull value."
-msgstr "Niewspierana wartość podciągnięcia."
+msgstr "Zła wartość podciągnięcia."
#: py/emitnative.c
msgid "Viper functions don't currently support more than 4 arguments"
@@ -1266,7 +1259,7 @@ msgstr "Zbyt wysoki indeks głosu"
#: main.c
msgid "WARNING: Your code filename has two extensions\n"
-msgstr "OSTRZEŻENIE: Nazwa pliku ma dwa rozszerzenia\n"
+msgstr "UWAGA: Nazwa pliku ma dwa rozszerzenia\n"
#: py/builtinhelp.c
#, c-format
@@ -1279,14 +1272,13 @@ msgid ""
msgstr ""
"Witamy w CircuitPythonie Adafruita %s!\n"
"Podręczniki dostępne na learn.adafruit.com/category/circuitpyhon.\n"
-"Aby wyświetlić wbudowane moduły, wpisz `help(\"modules\")`.\n"
+"Aby zobaczyć wbudowane moduły, wpisz `help(\"modules\")`.\n"
#: supervisor/shared/safe_mode.c
msgid ""
"You are running in safe mode which means something unanticipated happened.\n"
msgstr ""
-"Uruchomiono w trybie bezpieczeństwa, co oznacza, że nastąpiło coś "
-"nieoczekiwanego.\n"
+"Uruchomiono w trybie bezpieczeństwa, gdyż nastąpiło coś nieoczekiwanego.\n"
#: supervisor/shared/safe_mode.c
msgid "You requested starting safe mode by "
@@ -1334,9 +1326,10 @@ msgstr "arg jest puste"
msgid "argument has wrong type"
msgstr "argument ma zły typ"
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
-msgstr "niezgodna liczba lub typ argumentów"
+msgstr "zła liczba lub typ argumentów"
#: py/runtime.c
msgid "argument should be a '%q' not a '%q'"
@@ -1372,11 +1365,11 @@ msgstr "zły typecode"
#: py/emitnative.c
msgid "binary op %q not implemented"
-msgstr "dwuargumentowy operator %q niezaimplementowany"
+msgstr "brak dwu-argumentowego operatora %q"
#: shared-bindings/busio/UART.c
msgid "bits must be 7, 8 or 9"
-msgstr "buts musi być 7, 8 lub 9"
+msgstr "bits musi być 7, 8 lub 9"
#: extmod/machine_spi.c
msgid "bits must be 8"
@@ -1414,7 +1407,7 @@ msgstr "zbyt mały bufor"
#: extmod/machine_spi.c
msgid "buffers must be the same length"
-msgstr "bufory muszą mieć tę samą dłygość"
+msgstr "bufory muszą mieć tę samą długość"
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
@@ -1467,22 +1460,22 @@ msgstr "nie można dodać specjalnej metody do podklasy"
#: py/compile.c
msgid "can't assign to expression"
-msgstr "nie można przypisać do wyrażenia"
+msgstr "przypisanie do wyrażenia"
#: py/obj.c
#, c-format
msgid "can't convert %s to complex"
-msgstr "nie można skonwertować %s do liczby zespolonej"
+msgstr "nie można skonwertować %s do complex"
#: py/obj.c
#, c-format
msgid "can't convert %s to float"
-msgstr "nie można skonwertować %s do liczby zmiennoprzecinkowej"
+msgstr "nie można skonwertować %s do float"
#: py/obj.c
#, c-format
msgid "can't convert %s to int"
-msgstr "nie można skonwertować %s do liczby całkowitej"
+msgstr "nie można skonwertować %s do int"
#: py/objstr.c
msgid "can't convert '%q' object to %q implicitly"
@@ -1490,35 +1483,35 @@ msgstr "nie można automatycznie skonwertować '%q' do '%q'"
#: py/objint.c
msgid "can't convert NaN to int"
-msgstr "nie można skonwertować NaN do liczby całkowitej"
+msgstr "nie można skonwertować NaN do int"
#: shared-bindings/i2cslave/I2CSlave.c
msgid "can't convert address to int"
-msgstr "nie można skonwertować adresu do liczby całkowitej"
+msgstr "nie można skonwertować adresu do int"
#: py/objint.c
msgid "can't convert inf to int"
-msgstr "nie można skonwertować inf do liczby całkowitej"
+msgstr "nie można skonwertować inf do int"
#: py/obj.c
msgid "can't convert to complex"
-msgstr "nie można skonwertować do liczby zespolonej"
+msgstr "nie można skonwertować do complex"
#: py/obj.c
msgid "can't convert to float"
-msgstr "nie można skonwertować do liczby zmiennoprzecinkowej"
+msgstr "nie można skonwertować do float"
#: py/obj.c
msgid "can't convert to int"
-msgstr "nie można skonwertować do liczby całkowitej"
+msgstr "nie można skonwertować do int"
#: py/objstr.c
msgid "can't convert to str implicitly"
-msgstr "nie można automatycznie skonwertować do łańcucha"
+msgstr "nie można automatycznie skonwertować do str"
#: py/compile.c
msgid "can't declare nonlocal in outer code"
-msgstr "nie można deklarować nonlocal na poziomie modułu"
+msgstr "deklaracja nonlocal na poziomie modułu"
#: py/compile.c
msgid "can't delete expression"
@@ -1558,7 +1551,7 @@ msgstr "nie można skoczyć do świeżo stworzonego generatora"
#: py/objgenerator.c
msgid "can't send non-None value to a just-started generator"
-msgstr "świerzo stworzony generator może tylko przyjąć None"
+msgstr "świeżo stworzony generator może tylko przyjąć None"
#: py/objnamedtuple.c
msgid "can't set attribute"
@@ -1604,7 +1597,7 @@ msgstr "nie można wykonać relatywnego importu"
#: py/emitnative.c
msgid "casting"
-msgstr "rzutoowanie"
+msgstr "rzutowanie"
#: shared-bindings/bleio/Service.c
msgid "characteristics includes an object that is not a Characteristic"
@@ -1646,7 +1639,7 @@ msgstr "kolor powinien być liczbą całkowitą"
msgid "complex division by zero"
msgstr "zespolone dzielenie przez zero"
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr "wartości zespolone nieobsługiwane"
@@ -1688,7 +1681,7 @@ msgstr "destination_length musi być nieujemną liczbą całkowitą"
msgid "dict update sequence has wrong length"
msgstr "sekwencja ma złą długość"
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr "dzielenie przez zero"
@@ -1697,7 +1690,7 @@ msgstr "dzielenie przez zero"
msgid "empty"
msgstr "puste"
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr "pusta sterta"
@@ -1730,17 +1723,13 @@ msgstr "wyjątki muszą dziedziczyć po BaseException"
msgid "expected ':' after format specifier"
msgstr "oczekiwano ':' po specyfikacji formatu"
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr "oczekiwano DigitalInOut"
-
#: py/obj.c
msgid "expected tuple/list"
msgstr "oczekiwano krotki/listy"
#: py/modthread.c
msgid "expecting a dict for keyword args"
-msgstr "oczekiwano słownika dla argumentów nazwanych"
+msgstr "oczekiwano dict dla argumentów nazwanych"
#: py/compile.c
msgid "expecting an assembler instruction"
@@ -1756,15 +1745,15 @@ msgstr "oczekiwano klucz:wartość dla słownika"
#: py/argcheck.c
msgid "extra keyword arguments given"
-msgstr "nadmiarowe argumenty"
+msgstr "nadmiarowe argumenty nazwane"
#: py/argcheck.c
msgid "extra positional arguments given"
msgstr "nadmiarowe argumenty pozycyjne"
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
-msgstr "file musi być plikiem otwartym w trybie bajtowym"
+msgstr "file musi być otwarte w trybie bajtowym"
#: shared-bindings/storage/__init__.c
msgid "filesystem must provide mount method"
@@ -1780,7 +1769,7 @@ msgstr "firstbit musi być MSB"
#: py/objint.c
msgid "float too big"
-msgstr "liczba zmiennoprzecinkowa zbyt wielka"
+msgstr "float zbyt wielki"
#: shared-bindings/_stage/Text.c
msgid "font must be 2048 bytes long"
@@ -1801,9 +1790,9 @@ msgstr "funkcja nie bierze argumentów nazwanych"
#: py/argcheck.c
#, c-format
msgid "function expected at most %d arguments, got %d"
-msgstr "funkcja oczekuje najwyżej %d argumentów, jest %d"
+msgstr "funkcja bierze najwyżej %d argumentów, jest %d"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr "funkcja dostała wiele wartości dla argumentu '%q'"
@@ -1825,7 +1814,7 @@ msgstr "brak wymaganego argumentu nazwanego '%q' funkcji"
msgid "function missing required positional argument #%d"
msgstr "brak wymaganego argumentu pozycyjnego #%d funkcji"
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr "funkcja wymaga %d argumentów pozycyjnych, ale jest %d"
@@ -1852,11 +1841,11 @@ msgstr "heap musi być listą"
#: py/compile.c
msgid "identifier redefined as global"
-msgstr "identyfikator przedefiniowany jako globalny"
+msgstr "nazwa przedefiniowana jako globalna"
#: py/compile.c
msgid "identifier redefined as nonlocal"
-msgstr "identyfikator przedefiniowany jako nielokalny"
+msgstr "nazwa przedefiniowana jako nielokalna"
#: py/objstr.c
msgid "incomplete format"
@@ -1868,7 +1857,7 @@ msgstr "niepełny klucz formatu"
#: extmod/modubinascii.c
msgid "incorrect padding"
-msgstr "niepoprawne wypełnienie"
+msgstr "złe wypełnienie"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c py/obj.c
@@ -1885,7 +1874,7 @@ msgstr "wtrącony asembler musi być funkcją"
#: py/parsenum.c
msgid "int() arg 2 must be >= 2 and <= 36"
-msgstr "drugi argument do int() busi być pomiędzy 2 a 36"
+msgstr "argument 2 do int() busi być pomiędzy 2 a 36"
#: py/objstr.c
msgid "integer required"
@@ -1897,60 +1886,60 @@ msgstr "przedział poza zakresem 0.0020 do 10.24"
#: extmod/machine_i2c.c
msgid "invalid I2C peripheral"
-msgstr "niewłaściwe peryferium I2C"
+msgstr "złe I2C"
#: extmod/machine_spi.c
msgid "invalid SPI peripheral"
-msgstr "niewłaściwe peryferium SPI"
+msgstr "złe SPI"
#: lib/netutils/netutils.c
msgid "invalid arguments"
-msgstr "niewłaściwe arguemnty"
+msgstr "złe arguemnty"
#: extmod/modussl_axtls.c
msgid "invalid cert"
-msgstr "niewłaściwy ceryfikat"
+msgstr "zły ceryfikat"
#: extmod/uos_dupterm.c
msgid "invalid dupterm index"
-msgstr "niewłaściwy indeks dupterm"
+msgstr "zły indeks dupterm"
#: extmod/modframebuf.c
msgid "invalid format"
-msgstr "niewłaściwy format"
+msgstr "zły format"
#: py/objstr.c
msgid "invalid format specifier"
-msgstr "niewłaściwa specyfikacja formatu"
+msgstr "zła specyfikacja formatu"
#: extmod/modussl_axtls.c
msgid "invalid key"
-msgstr "niewłaściwy klucz"
+msgstr "zły klucz"
#: py/compile.c
msgid "invalid micropython decorator"
-msgstr "niewłaściwy dekorator micropythona"
+msgstr "zły dekorator micropythona"
#: shared-bindings/random/__init__.c
msgid "invalid step"
-msgstr "niewłaściwy krok"
+msgstr "zły krok"
#: py/compile.c py/parse.c
msgid "invalid syntax"
-msgstr "niewłaściwa składnia"
+msgstr "zła składnia"
#: py/parsenum.c
msgid "invalid syntax for integer"
-msgstr "niewłaściwa składnia dla liczby całkowitej"
+msgstr "zła składnia dla liczby całkowitej"
#: py/parsenum.c
#, c-format
msgid "invalid syntax for integer with base %d"
-msgstr "niewłaściwa składnia dla liczby całkowitej w bazie %d"
+msgstr "zła składnia dla liczby całkowitej w bazie %d"
#: py/parsenum.c
msgid "invalid syntax for number"
-msgstr "niewłaściwa składnia dla liczby"
+msgstr "zła składnia dla liczby"
#: py/objtype.c
msgid "issubclass() arg 1 must be a class"
@@ -1962,7 +1951,7 @@ msgstr "argument 2 dla issubclass() musi być klasą lub krotką klas"
#: py/objstr.c
msgid "join expects a list of str/bytes objects consistent with self object"
-msgstr "join oczekuje listy łańcuchów/bytes zgodnych z self"
+msgstr "join oczekuje listy str/bytes zgodnych z self"
#: py/argcheck.c
msgid "keyword argument(s) not yet implemented - use normal args instead"
@@ -1972,7 +1961,7 @@ msgstr "argumenty nazwane nieobsługiwane - proszę użyć zwykłych argumentów
msgid "keywords must be strings"
msgstr "słowa kluczowe muszą być łańcuchami"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr "etykieta '%q' niezdefiniowana"
@@ -2002,7 +1991,7 @@ msgstr "zmienna lokalna użyta przed przypisaniem"
#: py/objint.c
msgid "long int not supported in this build"
-msgstr "long int nie jest obsługiwany w tej kompilacji"
+msgstr "long int jest nieobsługiwany"
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
@@ -2010,11 +1999,11 @@ msgstr "bufor mapy zbyt mały"
#: py/modmath.c shared-bindings/math/__init__.c
msgid "math domain error"
-msgstr "błąd domeny matematycznej"
+msgstr "błąd domeny"
#: py/runtime.c
msgid "maximum recursion depth exceeded"
-msgstr "przkroczono dozwoloną głębokość rekurencji"
+msgstr "przekroczono dozwoloną głębokość rekurencji"
#: py/runtime.c
#, c-format
@@ -2027,7 +2016,7 @@ msgstr "alokacja pamięci nie powiodła się, sterta zablokowana"
#: py/builtinimport.c
msgid "module not found"
-msgstr "nie znaleziono modułu"
+msgstr "brak modułu"
#: py/compile.c
msgid "multiple *x in assignment"
@@ -2039,7 +2028,7 @@ msgstr "konflikt w planie instancji z powodu wielu baz"
#: py/objtype.c
msgid "multiple inheritance not supported"
-msgstr "wielokrotne dziedzicznie nie wspierane"
+msgstr "wielokrotne dziedzicznie niewspierane"
#: py/emitnative.c
msgid "must raise an object"
@@ -2078,11 +2067,11 @@ msgstr "natywny yield"
msgid "need more than %d values to unpack"
msgstr "potrzeba więcej niż %d do rozpakowania"
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr "ujemna potęga, ale brak obsługi liczb zmiennoprzecinkowych"
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr "ujemne przesunięcie"
@@ -2092,7 +2081,7 @@ msgstr "brak wyjątku do ponownego rzucenia"
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
msgid "no available NIC"
-msgstr "brak dostępnego NIC"
+msgstr "brak wolnego NIC"
#: py/compile.c
msgid "no binding for nonlocal found"
@@ -2112,7 +2101,7 @@ msgstr "argument z wartością domyślną przed argumentem bez"
#: extmod/modubinascii.c
msgid "non-hex digit found"
-msgstr "cyfra nieszesnastkowa znaleziona"
+msgstr "cyfra nieszesnastkowa"
#: py/compile.c
msgid "non-keyword arg after */**"
@@ -2184,11 +2173,11 @@ msgstr "wymagany obiekt z protokołem buforu"
msgid "odd-length string"
msgstr "łańcuch o nieparzystej długości"
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
msgid "offset out of bounds"
msgstr "offset poza zakresem"
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr "tylko fragmenty ze step=1 (lub None) są wspierane"
@@ -2206,7 +2195,7 @@ msgstr "ord() oczekuje znaku, a jest łańcuch od długości %d"
msgid "overflow converting long int to machine word"
msgstr "przepełnienie przy konwersji long in to słowa maszynowego"
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr "paleta musi mieć 32 bajty długości"
@@ -2326,7 +2315,7 @@ msgstr "znak jest niedopuszczalny w specyfikacji formatu łańcucha"
#: py/objstr.c
msgid "sign not allowed with integer format specifier 'c'"
-msgstr "znak jest niedopuszczalny w specyfikacji formatu liczby całkowitej"
+msgstr "znak jest niedopuszczalny w specyfikacji 'c'"
#: py/objstr.c
msgid "single '}' encountered in format string"
@@ -2338,9 +2327,9 @@ msgstr "okres snu musi być nieujemny"
#: py/objslice.c py/sequence.c
msgid "slice step cannot be zero"
-msgstr "krok fragmentu nie może być zerowy"
+msgstr "zerowy krok"
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr "przepełnienie small int"
@@ -2399,7 +2388,7 @@ msgstr "struct: brak pól"
#: py/objstr.c
msgid "substring not found"
-msgstr "pod-łańcuch nie znaleziony"
+msgstr "brak pod-łańcucha"
#: py/compile.c
msgid "super() can't find self"
@@ -2441,10 +2430,6 @@ msgstr "timeout musi być >= 0.0"
msgid "timestamp out of range for platform time_t"
msgstr "timestamp poza zakresem dla time_t na tej platformie"
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr "zbyt wiele argumentów"
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr "zbyt wiele argumentów podanych dla tego formatu"
@@ -2468,15 +2453,15 @@ msgstr "wymagana krotka/lista po prawej stronie"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "tx and rx cannot both be None"
-msgstr "tx i rx nie mogą być jednocześnie None"
+msgstr "tx i rx nie mogą być oba None"
#: py/objtype.c
msgid "type '%q' is not an acceptable base type"
-msgstr "typ '%q' nie może być typem bazowym"
+msgstr "typ '%q' nie może być bazowy"
#: py/objtype.c
msgid "type is not an acceptable base type"
-msgstr "typ nie może być typem bazowym"
+msgstr "typ nie może być bazowy"
#: py/runtime.c
msgid "type object '%q' has no attribute '%q'"
@@ -2492,19 +2477,19 @@ msgstr "ulonglong zbyt wielkie"
#: py/emitnative.c
msgid "unary op %q not implemented"
-msgstr "operator unarny %q nie jest zaimplementowany"
+msgstr "operator unarny %q niezaimplementowany"
#: py/parse.c
msgid "unexpected indent"
-msgstr "nieoczekiwane wcięcie"
+msgstr "złe wcięcie"
#: py/bc.c
msgid "unexpected keyword argument"
-msgstr "nieoczekiwany argument nazwany"
+msgstr "zły argument nazwany"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
-msgstr "nieoczekiwany argument nazwany '%q'"
+msgstr "zły argument nazwany '%q'"
#: py/lexer.c
msgid "unicode name escapes"
@@ -2517,30 +2502,30 @@ msgstr "wcięcie nie pasuje do żadnego wcześniejszego wcięcia"
#: py/objstr.c
#, c-format
msgid "unknown conversion specifier %c"
-msgstr "nieznana specyfikacja konwersji %c"
+msgstr "zła specyfikacja konwersji %c"
#: py/objstr.c
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
-msgstr "nieznany kod formatowania '%c' dla obiektu typu '%s'"
+msgstr "zły kod formatowania '%c' dla obiektu typu '%s'"
#: py/objstr.c
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
-msgstr "nieznany kod foratowania '%c' dla obiektu typu 'float'"
+msgstr "zły kod foratowania '%c' dla obiektu typu 'float'"
#: py/objstr.c
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
-msgstr "nieznany kod formatowania '%c' dla obiektu typu 'str'"
+msgstr "zły kod formatowania '%c' dla obiektu typu 'str'"
#: py/compile.c
msgid "unknown type"
-msgstr "nieznany typ"
+msgstr "zły typ"
#: py/emitnative.c
msgid "unknown type '%q'"
-msgstr "nieznany typ '%q'"
+msgstr "zły typ '%q'"
#: py/objstr.c
msgid "unmatched '{' in format"
@@ -2552,34 +2537,34 @@ msgstr "nieczytelny atrybut"
#: shared-bindings/displayio/TileGrid.c
msgid "unsupported %q type"
-msgstr "niewspierany typ %q"
+msgstr "zły typ %q"
#: py/emitinlinethumb.c
#, c-format
msgid "unsupported Thumb instruction '%s' with %d arguments"
-msgstr "niewspierana instrukcja Thumb '%s' z %d argumentami"
+msgstr "zła instrukcja Thumb '%s' z %d argumentami"
#: py/emitinlinextensa.c
#, c-format
msgid "unsupported Xtensa instruction '%s' with %d arguments"
-msgstr "niewspierana instrukcja Xtensa '%s' z %d argumentami"
+msgstr "zła instrukcja Xtensa '%s' z %d argumentami"
#: py/objstr.c
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
-msgstr "niewspierany znak formatowania '%c' (0x%x) na pozycji %d"
+msgstr "zły znak formatowania '%c' (0x%x) na pozycji %d"
#: py/runtime.c
msgid "unsupported type for %q: '%s'"
-msgstr "niewspierany typ dla %q: '%s'"
+msgstr "zły typ dla %q: '%s'"
#: py/runtime.c
msgid "unsupported type for operator"
-msgstr "typ niewspierany przez operator"
+msgstr "zły typ dla operatora"
#: py/runtime.c
msgid "unsupported types for %q: '%s', '%s'"
-msgstr "niewspierane typy dla %q: '%s', '%s'"
+msgstr "złe typy dla %q: '%s', '%s'"
#: shared-bindings/displayio/Bitmap.c
msgid "value_count must be > 0"
@@ -2599,7 +2584,7 @@ msgstr "zła liczba wartości do rozpakowania"
#: shared-module/displayio/Shape.c
msgid "x value out of bounds"
-msgstr "wartość c poza zakresem"
+msgstr "x poza zakresem"
#: shared-bindings/displayio/Shape.c
msgid "y should be an int"
@@ -2607,17 +2592,8 @@ msgstr "y powinno być całkowite"
#: shared-module/displayio/Shape.c
msgid "y value out of bounds"
-msgstr "wartość y poza zakresem"
+msgstr "y poza zakresem"
#: py/objrange.c
msgid "zero step"
msgstr "zerowy krok"
-
-#~ msgid "Only bit maps of 8 bit color or less are supported"
-#~ msgstr "Wspierane są tylko mapy bitowe z 8 bitami lub mniej"
-
-#~ msgid "RTC set is not supported on this board"
-#~ msgstr "Ustawianie RTC nie jest obsługiwane na tej płytce"
-
-#~ msgid "row must be packed and word aligned"
-#~ msgstr "row musi być upakowana i wyrównana do słowa"
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index fe9e750a8..499c7dec4 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-04-12 13:44-0700\n"
+"POT-Creation-Date: 2019-04-13 11:50+0200\n"
"PO-Revision-Date: 2018-10-02 21:14-0000\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -52,8 +52,8 @@ msgstr ""
msgid "%q indices must be integers, not %s"
msgstr ""
-#: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
+#: shared-bindings/bleio/CharacteristicBuffer.c
#, fuzzy
msgid "%q must be >= 1"
msgstr "buffers devem ser o mesmo tamanho"
@@ -63,7 +63,7 @@ msgstr "buffers devem ser o mesmo tamanho"
msgid "%q should be an int"
msgstr "y deve ser um int"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "%q() takes %d positional arguments but %d were given"
msgstr ""
@@ -71,12 +71,12 @@ msgstr ""
msgid "'%q' argument required"
msgstr "'%q' argumento(s) requerido(s)"
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a label"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a register"
msgstr ""
@@ -96,7 +96,7 @@ msgstr ""
msgid "'%s' expects an address of the form [a, b]"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
#, c-format
msgid "'%s' expects an integer"
msgstr ""
@@ -246,7 +246,7 @@ msgstr "Todos os periféricos I2C estão em uso"
msgid "All event channels in use"
msgstr "Todos os canais de eventos em uso"
-#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
+#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c ports/atmel-samd/audio_dma.c
msgid "All sync event channels in use"
msgstr ""
@@ -254,9 +254,9 @@ msgstr ""
msgid "All timers for this pin are in use"
msgstr "Todos os temporizadores para este pino estão em uso"
-#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
+#: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c
msgid "All timers in use"
@@ -518,9 +518,8 @@ msgstr "Canal EXTINT em uso"
msgid "Error in regex"
msgstr "Erro no regex"
-#: shared-bindings/microcontroller/Pin.c
-#: shared-bindings/neopixel_write/__init__.c shared-bindings/pulseio/PulseOut.c
-#: shared-bindings/terminalio/Terminal.c
+#: shared-bindings/pulseio/PulseOut.c shared-bindings/neopixel_write/__init__.c
+#: shared-bindings/terminalio/Terminal.c shared-bindings/microcontroller/Pin.c
msgid "Expected a %q"
msgstr "Esperado um"
@@ -529,8 +528,8 @@ msgstr "Esperado um"
msgid "Expected a Characteristic"
msgstr "Não é possível adicionar Característica."
-#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
-#: shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Descriptor.c shared-bindings/bleio/Service.c
+#: shared-bindings/bleio/Characteristic.c
#, fuzzy
msgid "Expected a UUID"
msgstr "Esperado um"
@@ -715,8 +714,8 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
-#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
-#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
+#: shared-bindings/bitbangio/SPI.c shared-bindings/bitbangio/I2C.c
+#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c
msgid "Function requires lock"
msgstr ""
@@ -824,11 +823,10 @@ msgstr "Pino inválido para canal esquerdo"
msgid "Invalid pin for right channel"
msgstr "Pino inválido para canal direito"
-#: ports/atmel-samd/common-hal/busio/I2C.c
-#: ports/atmel-samd/common-hal/busio/SPI.c
-#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
-#: ports/nrf/common-hal/busio/I2C.c
+#: ports/atmel-samd/common-hal/busio/UART.c
+#: ports/atmel-samd/common-hal/busio/SPI.c
+#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins"
msgstr "Pinos inválidos"
@@ -1091,8 +1089,8 @@ msgstr "Serializer em uso"
msgid "Slice and value different lengths."
msgstr ""
-#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
-#: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
+#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c
+#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported"
msgstr ""
@@ -1333,7 +1331,8 @@ msgstr ""
msgid "argument has wrong type"
msgstr "argumento tem tipo errado"
-#: py/argcheck.c
+#: py/argcheck.c shared-bindings/gamepad/__init__.c
+#: shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr ""
@@ -1648,7 +1647,7 @@ msgstr "cor deve ser um int"
msgid "complex division by zero"
msgstr ""
-#: py/objfloat.c py/parsenum.c
+#: py/parsenum.c py/objfloat.c
msgid "complex values not supported"
msgstr ""
@@ -1689,7 +1688,7 @@ msgstr "destination_length deve ser um int >= 0"
msgid "dict update sequence has wrong length"
msgstr ""
-#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/modmath.c py/objint_mpz.c py/objint_longlong.c py/objfloat.c
#: shared-bindings/math/__init__.c
msgid "division by zero"
msgstr "divisão por zero"
@@ -1698,7 +1697,7 @@ msgstr "divisão por zero"
msgid "empty"
msgstr "vazio"
-#: extmod/moduheapq.c extmod/modutimeq.c
+#: extmod/modutimeq.c extmod/moduheapq.c
msgid "empty heap"
msgstr "heap vazia"
@@ -1732,10 +1731,6 @@ msgstr ""
msgid "expected ':' after format specifier"
msgstr ""
-#: shared-bindings/gamepad/GamePad.c
-msgid "expected a DigitalInOut"
-msgstr ""
-
#: py/obj.c
msgid "expected tuple/list"
msgstr ""
@@ -1764,7 +1759,7 @@ msgstr "argumentos extras de palavras-chave passados"
msgid "extra positional arguments given"
msgstr "argumentos extra posicionais passados"
-#: shared-bindings/audioio/WaveFile.c shared-bindings/displayio/OnDiskBitmap.c
+#: shared-bindings/displayio/OnDiskBitmap.c shared-bindings/audioio/WaveFile.c
msgid "file must be a file opened in byte mode"
msgstr ""
@@ -1805,7 +1800,7 @@ msgstr "função não aceita argumentos de palavras-chave"
msgid "function expected at most %d arguments, got %d"
msgstr "função esperada na maioria dos %d argumentos, obteve %d"
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "function got multiple values for argument '%q'"
msgstr ""
@@ -1827,7 +1822,7 @@ msgstr ""
msgid "function missing required positional argument #%d"
msgstr ""
-#: py/argcheck.c py/bc.c py/objnamedtuple.c
+#: py/argcheck.c py/objnamedtuple.c py/bc.c
#, c-format
msgid "function takes %d positional arguments but %d were given"
msgstr "função leva %d argumentos posicionais, mas apenas %d foram passadas"
@@ -1974,7 +1969,7 @@ msgstr ""
msgid "keywords must be strings"
msgstr ""
-#: py/emitinlinethumb.c py/emitinlinextensa.c
+#: py/emitinlinextensa.c py/emitinlinethumb.c
msgid "label '%q' not defined"
msgstr ""
@@ -2081,11 +2076,11 @@ msgstr ""
msgid "need more than %d values to unpack"
msgstr "precisa de mais de %d valores para desempacotar"
-#: py/objint_longlong.c py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c py/objint_longlong.c
msgid "negative power with no float support"
msgstr ""
-#: py/objint_mpz.c py/runtime.c
+#: py/runtime.c py/objint_mpz.c
msgid "negative shift count"
msgstr ""
@@ -2187,11 +2182,11 @@ msgstr ""
msgid "odd-length string"
msgstr ""
-#: py/objstr.c py/objstrunicode.c
+#: py/objstrunicode.c py/objstr.c
msgid "offset out of bounds"
msgstr ""
-#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
+#: py/objarray.c py/objtuple.c py/objstrunicode.c py/objstr.c
#: shared-bindings/nvm/ByteArray.c
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@@ -2209,7 +2204,7 @@ msgstr ""
msgid "overflow converting long int to machine word"
msgstr ""
-#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
+#: shared-bindings/_stage/Text.c shared-bindings/_stage/Layer.c
msgid "palette must be 32 bytes long"
msgstr ""
@@ -2342,7 +2337,7 @@ msgstr ""
msgid "slice step cannot be zero"
msgstr ""
-#: py/objint.c py/sequence.c
+#: py/sequence.c py/objint.c
msgid "small int overflow"
msgstr ""
@@ -2445,10 +2440,6 @@ msgstr "bits devem ser 8"
msgid "timestamp out of range for platform time_t"
msgstr "timestamp fora do intervalo para a plataforma time_t"
-#: shared-bindings/gamepad/GamePad.c
-msgid "too many arguments"
-msgstr "muitos argumentos"
-
#: shared-module/struct/__init__.c
msgid "too many arguments provided with the given format"
msgstr "Muitos argumentos fornecidos com o formato dado"
@@ -2506,7 +2497,7 @@ msgstr ""
msgid "unexpected keyword argument"
msgstr ""
-#: py/bc.c py/objnamedtuple.c
+#: py/objnamedtuple.c py/bc.c
msgid "unexpected keyword argument '%q'"
msgstr ""
@@ -2785,6 +2776,9 @@ msgstr "passo zero"
#~ msgid "scan failed"
#~ msgstr "varredura falhou"
+#~ msgid "too many arguments"
+#~ msgstr "muitos argumentos"
+
#~ msgid "unknown config param"
#~ msgstr "parâmetro configuração desconhecido"
diff --git a/ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk
index 2c1d9c717..620a0d505 100644
--- a/ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/feather_m0_express_crickit/mpconfigboard.mk
@@ -20,6 +20,8 @@ CHIP_FAMILY = samd21
CFLAGS_INLINE_LIMIT = 50
+CIRCUITPY_GAMEPAD = 0
+
# Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Crickit
diff --git a/ports/atmel-samd/boards/pybadge/mpconfigboard.mk b/ports/atmel-samd/boards/pybadge/mpconfigboard.mk
index 837e2e514..a2ab9ed00 100644
--- a/ports/atmel-samd/boards/pybadge/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/pybadge/mpconfigboard.mk
@@ -14,6 +14,8 @@ CIRCUITPY_AUDIOBUSIO = 0
# No touch on SAMD51 yet
CIRCUITPY_TOUCHIO = 0
+CIRCUITPY_GAMEPADSHIFT = 1
+
CHIP_VARIANT = SAMD51J19A
CHIP_FAMILY = samd51
diff --git a/ports/atmel-samd/supervisor/port.c b/ports/atmel-samd/supervisor/port.c
index f8d830d8b..4f53d30f9 100644
--- a/ports/atmel-samd/supervisor/port.c
+++ b/ports/atmel-samd/supervisor/port.c
@@ -71,6 +71,9 @@
#if CIRCUITPY_GAMEPAD
#include "shared-module/gamepad/__init__.h"
#endif
+#if CIRCUITPY_GAMEPADSHIFT
+#include "shared-module/gamepadshift/__init__.h"
+#endif
#include "shared-module/_pew/PewPew.h"
extern volatile bool mp_msc_enabled;
@@ -229,6 +232,9 @@ void reset_port(void) {
#if CIRCUITPY_GAMEPAD
gamepad_reset();
#endif
+#if CIRCUITPY_GAMEPADSHIFT
+ gamepadshift_reset();
+#endif
#if CIRCUITPY_PEW
pew_reset();
#endif
diff --git a/ports/atmel-samd/tick.c b/ports/atmel-samd/tick.c
index 149347793..dde473375 100644
--- a/ports/atmel-samd/tick.c
+++ b/ports/atmel-samd/tick.c
@@ -29,10 +29,16 @@
#include "peripheral_clk_config.h"
#include "supervisor/shared/autoreload.h"
-#include "shared-module/gamepad/__init__.h"
#include "shared-bindings/microcontroller/__init__.h"
#include "shared-bindings/microcontroller/Processor.h"
+#if CIRCUITPY_GAMEPAD
+#include "shared-module/gamepad/__init__.h"
+#endif
+
+#if CIRCUITPY_GAMEPADSHIFT
+#include "shared-module/gamepadshift/__init__.h"
+#endif
// Global millisecond tick count
volatile uint64_t ticks_ms = 0;
@@ -51,7 +57,12 @@ void SysTick_Handler(void) {
#endif
#ifdef CIRCUITPY_GAMEPAD_TICKS
if (!(ticks_ms & CIRCUITPY_GAMEPAD_TICKS)) {
+ #if CIRCUITPY_GAMEPAD
gamepad_tick();
+ #endif
+ #if CIRCUITPY_GAMEPADSHIFT
+ gamepadshift_tick();
+ #endif
}
#endif
}
diff --git a/py/circuitpy_defns.mk b/py/circuitpy_defns.mk
index 342c0ab0c..1aca33901 100644
--- a/py/circuitpy_defns.mk
+++ b/py/circuitpy_defns.mk
@@ -132,6 +132,9 @@ endif
ifeq ($(CIRCUITPY_GAMEPAD),1)
SRC_PATTERNS += gamepad/%
endif
+ifeq ($(CIRCUITPY_GAMEPADSHIFT),1)
+SRC_PATTERNS += gamepadshift/%
+endif
ifeq ($(CIRCUITPY_I2CSLAVE),1)
SRC_PATTERNS += i2cslave/%
endif
@@ -318,6 +321,8 @@ $(filter $(SRC_PATTERNS), \
fontio/__init__.c \
gamepad/GamePad.c \
gamepad/__init__.c \
+ gamepadshift/GamePadShift.c \
+ gamepadshift/__init__.c \
os/__init__.c \
random/__init__.c \
socket/__init__.c \
diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h
index 441dd5bad..f957886f4 100644
--- a/py/circuitpy_mpconfig.h
+++ b/py/circuitpy_mpconfig.h
@@ -315,13 +315,26 @@ extern const struct _mp_obj_module_t frequencyio_module;
#if CIRCUITPY_GAMEPAD
extern const struct _mp_obj_module_t gamepad_module;
-// Scan gamepad every 32ms
-#define CIRCUITPY_GAMEPAD_TICKS 0x1f
#define GAMEPAD_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_gamepad),(mp_obj_t)&gamepad_module },
#else
#define GAMEPAD_MODULE
#endif
+#if CIRCUITPY_GAMEPADSHIFT
+extern const struct _mp_obj_module_t gamepadshift_module;
+#define GAMEPADSHIFT_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_gamepadshift),(mp_obj_t)&gamepadshift_module },
+#else
+#define GAMEPADSHIFT_MODULE
+#endif
+
+#if CIRCUITPY_GAMEPAD || CIRCUITPY_GAMEPADSHIFT
+// Scan gamepad every 32ms
+#define CIRCUITPY_GAMEPAD_TICKS 0x1f
+#define GAMEPAD_ROOT_POINTERS mp_obj_t gamepad_singleton;
+#else
+#define GAMEPAD_ROOT_POINTERS
+#endif
+
#if CIRCUITPY_I2CSLAVE
extern const struct _mp_obj_module_t i2cslave_module;
#define I2CSLAVE_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_i2cslave), (mp_obj_t)&i2cslave_module },
@@ -554,6 +567,7 @@ extern const struct _mp_obj_module_t ustack_module;
ERRNO_MODULE \
FREQUENCYIO_MODULE \
GAMEPAD_MODULE \
+ GAMEPADSHIFT_MODULE \
I2CSLAVE_MODULE \
JSON_MODULE \
MATH_MODULE \
@@ -604,7 +618,7 @@ extern const struct _mp_obj_module_t ustack_module;
const char *readline_hist[8]; \
vstr_t *repl_line; \
mp_obj_t rtc_time_source; \
- mp_obj_t gamepad_singleton; \
+ GAMEPAD_ROOT_POINTERS \
mp_obj_t pew_singleton; \
mp_obj_t terminal_tilegrid_tiles; \
BOARD_I2C_ROOT_POINTER \
diff --git a/py/circuitpy_mpconfig.mk b/py/circuitpy_mpconfig.mk
index 8ea72f0bf..b436929e0 100644
--- a/py/circuitpy_mpconfig.mk
+++ b/py/circuitpy_mpconfig.mk
@@ -102,6 +102,11 @@ CIRCUITPY_GAMEPAD = $(CIRCUITPY_FULL_BUILD)
endif
CFLAGS += -DCIRCUITPY_GAMEPAD=$(CIRCUITPY_GAMEPAD)
+ifndef CIRCUITPY_GAMEPADSHIFT
+CIRCUITPY_GAMEPADSHIFT = 0
+endif
+CFLAGS += -DCIRCUITPY_GAMEPADSHIFT=$(CIRCUITPY_GAMEPADSHIFT)
+
ifndef CIRCUITPY_I2CSLAVE
CIRCUITPY_I2CSLAVE = $(CIRCUITPY_FULL_BUILD)
endif
diff --git a/shared-bindings/digitalio/DigitalInOut.c b/shared-bindings/digitalio/DigitalInOut.c
index 2fcbefe11..1ced15137 100644
--- a/shared-bindings/digitalio/DigitalInOut.c
+++ b/shared-bindings/digitalio/DigitalInOut.c
@@ -374,3 +374,14 @@ const mp_obj_type_t digitalio_digitalinout_type = {
.make_new = digitalio_digitalinout_make_new,
.locals_dict = (mp_obj_t)&digitalio_digitalinout_locals_dict,
};
+
+// Helper for validating digitalio.DigitalInOut arguments
+digitalio_digitalinout_obj_t *assert_digitalinout(mp_obj_t obj) {
+ if (!MP_OBJ_IS_TYPE(obj, &digitalio_digitalinout_type)) {
+ mp_raise_TypeError(translate("argument num/types mismatch"));
+ }
+ digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(obj);
+ raise_error_if_deinited(
+ common_hal_digitalio_digitalinout_deinited(pin));
+ return pin;
+}
diff --git a/shared-bindings/digitalio/DigitalInOut.h b/shared-bindings/digitalio/DigitalInOut.h
index 037979098..eee0d5801 100644
--- a/shared-bindings/digitalio/DigitalInOut.h
+++ b/shared-bindings/digitalio/DigitalInOut.h
@@ -53,5 +53,6 @@ digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(digitali
void common_hal_digitalio_digitalinout_set_pull(digitalio_digitalinout_obj_t* self, digitalio_pull_t pull);
digitalio_pull_t common_hal_digitalio_digitalinout_get_pull(digitalio_digitalinout_obj_t* self);
void common_hal_digitalio_digitalinout_never_reset(digitalio_digitalinout_obj_t *self);
+digitalio_digitalinout_obj_t *assert_digitalinout(mp_obj_t obj);
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_DIGITALIO_DIGITALINOUT_H
diff --git a/shared-bindings/gamepad/GamePad.c b/shared-bindings/gamepad/GamePad.c
index 4458c972f..c342cbbf9 100644
--- a/shared-bindings/gamepad/GamePad.c
+++ b/shared-bindings/gamepad/GamePad.c
@@ -23,17 +23,16 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+#include "shared-bindings/gamepad/GamePad.h"
+
#include "py/obj.h"
#include "py/runtime.h"
#include "py/mphal.h"
#include "py/gc.h"
#include "py/mpstate.h"
-#include "shared-module/gamepad/__init__.h"
-#include "shared-module/gamepad/GamePad.h"
+#include "shared-bindings/gamepad/__init__.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
-#include "shared-bindings/util.h"
#include "supervisor/shared/translate.h"
-#include "GamePad.h"
//| .. currentmodule:: gamepad
@@ -96,27 +95,24 @@
//|
STATIC mp_obj_t gamepad_make_new(const mp_obj_type_t *type, size_t n_args,
const mp_obj_t *args, mp_map_t *kw_args) {
- if (n_args > 8) {
- mp_raise_TypeError(translate("too many arguments"));
+ if (n_args > 8 || n_args == 0) {
+ mp_raise_TypeError(translate("argument num/types mismatch"));
}
for (size_t i = 0; i < n_args; ++i) {
- if (!MP_OBJ_IS_TYPE(args[i], &digitalio_digitalinout_type)) {
- mp_raise_TypeError(translate("expected a DigitalInOut"));
- }
- digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(args[i]);
- raise_error_if_deinited(
- common_hal_digitalio_digitalinout_deinited(pin));
+ assert_digitalinout(args[i]);
}
- if (!MP_STATE_VM(gamepad_singleton)) {
- gamepad_obj_t* gamepad_singleton = m_new_obj(gamepad_obj_t);
+ gamepad_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton);
+ if (!gamepad_singleton ||
+ !MP_OBJ_IS_TYPE(MP_OBJ_FROM_PTR(gamepad_singleton), &gamepad_type)) {
+ gamepad_singleton = m_new_obj(gamepad_obj_t);
gamepad_singleton->base.type = &gamepad_type;
- MP_STATE_VM(gamepad_singleton) = gc_make_long_lived(gamepad_singleton);
+ gamepad_singleton = gc_make_long_lived(gamepad_singleton);
+ MP_STATE_VM(gamepad_singleton) = gamepad_singleton;
}
- gamepad_init(n_args, args);
- return MP_OBJ_FROM_PTR(MP_STATE_VM(gamepad_singleton));
+ common_hal_gamepad_gamepad_init(gamepad_singleton, args, n_args);
+ return MP_OBJ_FROM_PTR(gamepad_singleton);
}
-
//| .. method:: get_pressed()
//|
//| Get the status of buttons pressed since the last call and clear it.
@@ -129,9 +125,9 @@ STATIC mp_obj_t gamepad_make_new(const mp_obj_type_t *type, size_t n_args,
//|
STATIC mp_obj_t gamepad_get_pressed(mp_obj_t self_in) {
gamepad_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton);
- mp_obj_t gamepad = MP_OBJ_NEW_SMALL_INT(gamepad_singleton->pressed);
+ mp_obj_t pressed = MP_OBJ_NEW_SMALL_INT(gamepad_singleton->pressed);
gamepad_singleton->pressed = 0;
- return gamepad;
+ return pressed;
}
MP_DEFINE_CONST_FUN_OBJ_1(gamepad_get_pressed_obj, gamepad_get_pressed);
@@ -141,7 +137,7 @@ MP_DEFINE_CONST_FUN_OBJ_1(gamepad_get_pressed_obj, gamepad_get_pressed);
//| Disable button scanning.
//|
STATIC mp_obj_t gamepad_deinit(mp_obj_t self_in) {
- gamepad_reset();
+ common_hal_gamepad_gamepad_deinit(self_in);
return mp_const_none;
}
MP_DEFINE_CONST_FUN_OBJ_1(gamepad_deinit_obj, gamepad_deinit);
diff --git a/shared-bindings/gamepad/GamePad.h b/shared-bindings/gamepad/GamePad.h
index 172c95ace..3bbad4c97 100644
--- a/shared-bindings/gamepad/GamePad.h
+++ b/shared-bindings/gamepad/GamePad.h
@@ -28,6 +28,11 @@
#ifndef MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPAD_GAMEPAD_H
#define MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPAD_GAMEPAD_H
+#include "shared-module/gamepad/GamePad.h"
+
extern const mp_obj_type_t gamepad_type;
+void common_hal_gamepad_gamepad_init(gamepad_obj_t *gamepad, const mp_obj_t pins[], size_t n_pins);
+void common_hal_gamepad_gamepad_deinit(gamepad_obj_t *gamepad);
+
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPAD_GAMEPAD_H
diff --git a/shared-bindings/gamepad/__init__.c b/shared-bindings/gamepad/__init__.c
index 0c99d0d52..cea0b4ee9 100644
--- a/shared-bindings/gamepad/__init__.c
+++ b/shared-bindings/gamepad/__init__.c
@@ -26,8 +26,8 @@
#include "py/obj.h"
#include "py/runtime.h"
#include "py/mphal.h"
-#include "GamePad.h"
-
+#include "shared-bindings/gamepad/GamePad.h"
+#include "shared-bindings/util.h"
//| :mod:`gamepad` --- Button handling
//| ==================================
diff --git a/shared-bindings/gamepad/__init__.h b/shared-bindings/gamepad/__init__.h
new file mode 100644
index 000000000..2ae5efb3a
--- /dev/null
+++ b/shared-bindings/gamepad/__init__.h
@@ -0,0 +1,31 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 Radomir Dopieralski 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_GAMEPAD___INIT___H
+#define MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPAD___INIT___H
+
+#endif // MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPAD___INIT___H
diff --git a/shared-bindings/gamepadshift/GamePadShift.c b/shared-bindings/gamepadshift/GamePadShift.c
new file mode 100644
index 000000000..d6f365388
--- /dev/null
+++ b/shared-bindings/gamepadshift/GamePadShift.c
@@ -0,0 +1,123 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+#include "py/obj.h"
+#include "py/runtime.h"
+#include "py/mphal.h"
+#include "py/gc.h"
+#include "py/mpstate.h"
+#include "shared-bindings/gamepadshift/GamePadShift.h"
+#include "shared-bindings/gamepadshift/__init__.h"
+#include "supervisor/shared/translate.h"
+
+//| .. currentmodule:: gamepadshift
+//|
+//| :class:`GamePadShift` -- Scan buttons for presses through a shift register
+//| ===========================================================================
+//|
+//| .. class:: GamePadShift(clock, data, latch)
+//|
+//| Initializes button scanning routines.
+//|
+//| The ``clock``, ``data`` and ``latch`` parameters are ``DigitalInOut``
+//| objects connected to the shift register controlling the buttons.
+//|
+//| They button presses are accumulated, until the ``get_pressed`` method
+//| is called, at which point the button state is cleared, and the new
+//| button presses start to be recorded.
+//|
+//| Only one gamepad (`gamepad.GamePad` or `gamepadshift.GamePadShift`)
+//| may be used at a time.
+//|
+STATIC mp_obj_t gamepadshift_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_clock, ARG_data, ARG_latch };
+ static const mp_arg_t allowed_args[] = {
+ { MP_QSTR_clock, MP_ARG_REQUIRED | MP_ARG_OBJ},
+ { MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ },
+ { MP_QSTR_latch, 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);
+
+ digitalio_digitalinout_obj_t *clock_pin = assert_digitalinout(args[ARG_clock].u_obj);
+ digitalio_digitalinout_obj_t *data_pin = assert_digitalinout(args[ARG_data].u_obj);
+ digitalio_digitalinout_obj_t *latch_pin = assert_digitalinout(args[ARG_latch].u_obj);
+
+ gamepadshift_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton);
+ if (!gamepad_singleton ||
+ !MP_OBJ_IS_TYPE(MP_OBJ_FROM_PTR(gamepad_singleton),
+ &gamepadshift_type)) {
+ gamepad_singleton = m_new_obj(gamepadshift_obj_t);
+ gamepad_singleton->base.type = &gamepadshift_type;
+ gamepad_singleton = gc_make_long_lived(gamepad_singleton);
+ MP_STATE_VM(gamepad_singleton) = gamepad_singleton;
+ }
+ common_hal_gamepadshift_gamepadshift_init(gamepad_singleton, clock_pin, data_pin, latch_pin);
+ return MP_OBJ_FROM_PTR(gamepad_singleton);
+}
+
+//| .. method:: get_pressed()
+//|
+//| Get the status of buttons pressed since the last call and clear it.
+//|
+//| Returns an 8-bit number, with bits that correspond to buttons,
+//| which have been pressed (or held down) since the last call to this
+//| function set to 1, and the remaining bits set to 0. Then it clears
+//| the button state, so that new button presses (or buttons that are
+//| held down) can be recorded for the next call.
+//|
+STATIC mp_obj_t gamepadshift_get_pressed(mp_obj_t self_in) {
+ gamepadshift_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton);
+ mp_obj_t pressed = MP_OBJ_NEW_SMALL_INT(gamepad_singleton->pressed);
+ gamepad_singleton->pressed = 0;
+ return pressed;
+}
+MP_DEFINE_CONST_FUN_OBJ_1(gamepadshift_get_pressed_obj, gamepadshift_get_pressed);
+
+//| .. method:: deinit()
+//|
+//| Disable button scanning.
+//|
+STATIC mp_obj_t gamepadshift_deinit(mp_obj_t self_in) {
+ common_hal_gamepadshift_gamepadshift_deinit(self_in);
+ return mp_const_none;
+}
+MP_DEFINE_CONST_FUN_OBJ_1(gamepadshift_deinit_obj, gamepadshift_deinit);
+
+
+STATIC const mp_rom_map_elem_t gamepadshift_locals_dict_table[] = {
+ { MP_OBJ_NEW_QSTR(MP_QSTR_get_pressed), MP_ROM_PTR(&gamepadshift_get_pressed_obj)},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_deinit), MP_ROM_PTR(&gamepadshift_deinit_obj)},
+};
+STATIC MP_DEFINE_CONST_DICT(gamepadshift_locals_dict, gamepadshift_locals_dict_table);
+const mp_obj_type_t gamepadshift_type = {
+ { &mp_type_type },
+ .name = MP_QSTR_GamePadShift,
+ .make_new = gamepadshift_make_new,
+ .locals_dict = (mp_obj_dict_t*)&gamepadshift_locals_dict,
+};
diff --git a/shared-bindings/gamepadshift/GamePadShift.h b/shared-bindings/gamepadshift/GamePadShift.h
new file mode 100644
index 000000000..3e8ea9693
--- /dev/null
+++ b/shared-bindings/gamepadshift/GamePadShift.h
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 Radomir Dopieralski 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_GAMEPADSHIFT_GAMEPADSHIFT_H
+#define MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPADSHIFT_GAMEPADSHIFT_H
+
+#include "shared-module/gamepadshift/GamePadShift.h"
+
+extern const mp_obj_type_t gamepadshift_type;
+
+void common_hal_gamepadshift_gamepadshift_init(gamepadshift_obj_t *gamepadshift,
+ digitalio_digitalinout_obj_t *clock_pin,
+ digitalio_digitalinout_obj_t *data_pin,
+ digitalio_digitalinout_obj_t *latch_pin);
+
+void common_hal_gamepadshift_gamepadshift_deinit(gamepadshift_obj_t *gamepadshift);
+
+#endif // MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPADSHIFT_GAMEPADSHIFT_H
diff --git a/shared-bindings/gamepadshift/__init__.c b/shared-bindings/gamepadshift/__init__.c
new file mode 100644
index 000000000..2d3667726
--- /dev/null
+++ b/shared-bindings/gamepadshift/__init__.c
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+#include "py/obj.h"
+#include "py/runtime.h"
+#include "py/mphal.h"
+#include "shared-bindings/gamepadshift/GamePadShift.h"
+#include "shared-bindings/digitalio/DigitalInOut.h"
+#include "shared-bindings/util.h"
+
+//| :mod:`gamepadshift` --- Tracks button presses read through a shift register
+//| ===========================================================================
+//|
+//| .. module:: gamepadshift
+//| :synopsis: Tracks button presses read through a shift register
+//| :platform: SAMD21, SAMD51
+//|
+//| .. toctree::
+//| :maxdepth: 3
+//|
+//| GamePadShift
+//|
+STATIC const mp_rom_map_elem_t gamepadshift_module_globals_table[] = {
+ { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_gamepadshift) },
+ { MP_OBJ_NEW_QSTR(MP_QSTR_GamePadShift), MP_ROM_PTR(&gamepadshift_type)},
+};
+STATIC MP_DEFINE_CONST_DICT(gamepadshift_module_globals, gamepadshift_module_globals_table);
+
+const mp_obj_module_t gamepadshift_module = {
+ .base = { &mp_type_module },
+ .globals = (mp_obj_dict_t*)&gamepadshift_module_globals,
+};
diff --git a/shared-bindings/gamepadshift/__init__.h b/shared-bindings/gamepadshift/__init__.h
new file mode 100644
index 000000000..4b4be756a
--- /dev/null
+++ b/shared-bindings/gamepadshift/__init__.h
@@ -0,0 +1,31 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 Radomir Dopieralski 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_GAMEPADSHIFT___INIT___H
+#define MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPADSHIFT___INIT___H
+
+#endif // MICROPY_INCLUDED_SHARED_BINDINGS_GAMEPADSHIFT___INIT___H
diff --git a/shared-module/gamepad/GamePad.c b/shared-module/gamepad/GamePad.c
index 2c14fa02a..fdce0caab 100644
--- a/shared-module/gamepad/GamePad.c
+++ b/shared-module/gamepad/GamePad.c
@@ -24,27 +24,20 @@
* THE SOFTWARE.
*/
-#include <stdbool.h>
-
#include "py/mpstate.h"
-#include "__init__.h"
-#include "GamePad.h"
-
-#include "shared-bindings/digitalio/Pull.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
-#include "shared-bindings/util.h"
-
+#include "shared-bindings/gamepad/GamePad.h"
-void gamepad_init(size_t n_pins, const mp_obj_t* pins) {
- gamepad_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton);
+void common_hal_gamepad_gamepad_init(gamepad_obj_t *gamepad,
+ const mp_obj_t pins[], size_t n_pins) {
for (size_t i = 0; i < 8; ++i) {
- gamepad_singleton->pins[i] = NULL;
+ gamepad->pins[i] = NULL;
}
- gamepad_singleton->pulls = 0;
+ gamepad->pulls = 0;
for (size_t i = 0; i < n_pins; ++i) {
digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(pins[i]);
- digitalio_direction_t direction = common_hal_digitalio_digitalinout_get_direction(pin);
- if (direction != DIRECTION_INPUT) {
+ if (common_hal_digitalio_digitalinout_get_direction(pin) !=
+ DIRECTION_INPUT) {
common_hal_digitalio_digitalinout_switch_to_input(pin, PULL_UP);
}
digitalio_pull_t pull = common_hal_digitalio_digitalinout_get_pull(pin);
@@ -52,9 +45,13 @@ void gamepad_init(size_t n_pins, const mp_obj_t* pins) {
common_hal_digitalio_digitalinout_set_pull(pin, PULL_UP);
}
if (pull != PULL_DOWN) {
- gamepad_singleton->pulls |= 1 << i;
+ gamepad->pulls |= 1 << i;
}
- gamepad_singleton->pins[i] = pin;
+ gamepad->pins[i] = pin;
}
- gamepad_singleton->last = 0;
+ gamepad->last = 0;
+}
+
+void common_hal_gamepad_gamepad_deinit(gamepad_obj_t *self) {
+ MP_STATE_VM(gamepad_singleton) = NULL;
}
diff --git a/shared-module/gamepad/GamePad.h b/shared-module/gamepad/GamePad.h
index 9fd5c9626..048fbcd2b 100644
--- a/shared-module/gamepad/GamePad.h
+++ b/shared-module/gamepad/GamePad.h
@@ -39,6 +39,4 @@ typedef struct {
uint8_t pulls;
} gamepad_obj_t;
-void gamepad_init(size_t n_pins, const mp_obj_t* pins);
-
#endif // MICROPY_INCLUDED_GAMEPAD_GAMEPAD_H
diff --git a/shared-module/gamepad/__init__.c b/shared-module/gamepad/__init__.c
index 8414ddfbe..3e17a0fb5 100644
--- a/shared-module/gamepad/__init__.c
+++ b/shared-module/gamepad/__init__.c
@@ -27,32 +27,35 @@
#include <stdbool.h>
#include "py/mpstate.h"
-#include "__init__.h"
-#include "GamePad.h"
+#include "shared-bindings/gamepad/__init__.h"
+#include "shared-bindings/gamepad/GamePad.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
void gamepad_tick(void) {
- gamepad_obj_t* gamepad_singleton = MP_STATE_VM(gamepad_singleton);
- if (!gamepad_singleton) {
+ uint8_t current = 0;
+ uint8_t bit = 1;
+
+ void* singleton = MP_STATE_VM(gamepad_singleton);
+ if (singleton == NULL || !MP_OBJ_IS_TYPE(MP_OBJ_FROM_PTR(singleton), &gamepad_type)) {
return;
}
- uint8_t gamepad_current = 0;
- uint8_t bit = 1;
+
+ gamepad_obj_t *self = MP_OBJ_TO_PTR(singleton);
for (int i = 0; i < 8; ++i) {
- digitalio_digitalinout_obj_t* pin = gamepad_singleton->pins[i];
+ digitalio_digitalinout_obj_t* pin = self->pins[i];
if (!pin) {
break;
}
if (common_hal_digitalio_digitalinout_get_value(pin)) {
- gamepad_current |= bit;
+ current |= bit;
}
bit <<= 1;
}
- gamepad_current ^= gamepad_singleton->pulls;
- gamepad_singleton->pressed |= gamepad_singleton->last & gamepad_current;
- gamepad_singleton->last = gamepad_current;
+ current ^= self->pulls;
+ self->pressed |= self->last & current;
+ self->last = current;
}
void gamepad_reset(void) {
diff --git a/shared-module/gamepadshift/GamePadShift.c b/shared-module/gamepadshift/GamePadShift.c
new file mode 100644
index 000000000..b8fb4d3f4
--- /dev/null
+++ b/shared-module/gamepadshift/GamePadShift.c
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 Radomir Dopieralski for Adafruit Industries
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "py/mpstate.h"
+#include "shared-bindings/digitalio/DigitalInOut.h"
+#include "shared-module/gamepadshift/GamePadShift.h"
+
+void common_hal_gamepadshift_gamepadshift_init(gamepadshift_obj_t *gamepadshift,
+ digitalio_digitalinout_obj_t *clock_pin,
+ digitalio_digitalinout_obj_t *data_pin,
+ digitalio_digitalinout_obj_t *latch_pin) {
+ common_hal_digitalio_digitalinout_switch_to_input(data_pin, PULL_NONE);
+ gamepadshift->data_pin = data_pin;
+ common_hal_digitalio_digitalinout_switch_to_output(clock_pin, 0,
+ DRIVE_MODE_PUSH_PULL);
+ gamepadshift->clock_pin = clock_pin;
+ common_hal_digitalio_digitalinout_switch_to_output(latch_pin, 1,
+ DRIVE_MODE_PUSH_PULL);
+ gamepadshift->latch_pin = latch_pin;
+
+ gamepadshift->last = 0;
+}
+
+void common_hal_gamepadshift_gamepadshift_deinit(gamepadshift_obj_t *gamepadshift) {
+ MP_STATE_VM(gamepad_singleton) = NULL;
+}
diff --git a/shared-module/gamepadshift/GamePadShift.h b/shared-module/gamepadshift/GamePadShift.h
new file mode 100644
index 000000000..b4b26b7a9
--- /dev/null
+++ b/shared-module/gamepadshift/GamePadShift.h
@@ -0,0 +1,43 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 Radomir Dopieralski 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_GAMEPADSHIFT_GAMEPADSHIFT_H
+#define MICROPY_INCLUDED_GAMEPADSHIFT_GAMEPADSHIFT_H
+
+#include <stdint.h>
+
+#include "shared-bindings/digitalio/DigitalInOut.h"
+
+typedef struct {
+ mp_obj_base_t base;
+ digitalio_digitalinout_obj_t* data_pin;
+ digitalio_digitalinout_obj_t* clock_pin;
+ digitalio_digitalinout_obj_t* latch_pin;
+ volatile uint8_t pressed;
+ volatile uint8_t last;
+} gamepadshift_obj_t;
+
+#endif // MICROPY_INCLUDED_GAMEPADSHIFT_GAMEPADSHIFT_H
diff --git a/shared-module/gamepadshift/__init__.c b/shared-module/gamepadshift/__init__.c
new file mode 100644
index 000000000..47a008c50
--- /dev/null
+++ b/shared-module/gamepadshift/__init__.c
@@ -0,0 +1,57 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2019 Scott Shawcroft
+ *
+ * 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-module/gamepadshift/__init__.h"
+
+#include "py/mpstate.h"
+#include "shared-bindings/gamepadshift/GamePadShift.h"
+
+void gamepadshift_tick(void) {
+ void* singleton = MP_STATE_VM(gamepad_singleton);
+ if (singleton == NULL || !MP_OBJ_IS_TYPE(MP_OBJ_FROM_PTR(singleton), &gamepadshift_type)) {
+ return;
+ }
+
+ gamepadshift_obj_t *self = MP_OBJ_TO_PTR(singleton);
+ uint8_t current = 0;
+ uint8_t bit = 1;
+ common_hal_digitalio_digitalinout_set_value(self->latch_pin, 1);
+ for (int i = 0; i < 8; ++i) {
+ common_hal_digitalio_digitalinout_set_value(self->clock_pin, 0);
+ if (common_hal_digitalio_digitalinout_get_value(self->data_pin)) {
+ current |= bit;
+ }
+ common_hal_digitalio_digitalinout_set_value(self->clock_pin, 1);
+ bit <<= 1;
+ }
+ common_hal_digitalio_digitalinout_set_value(self->latch_pin, 0);
+ self->pressed |= self->last & current;
+ self->last = current;
+}
+
+void gamepadshift_reset(void) {
+ MP_STATE_VM(gamepad_singleton) = NULL;
+}
diff --git a/shared-module/gamepadshift/__init__.h b/shared-module/gamepadshift/__init__.h
new file mode 100644
index 000000000..225db7336
--- /dev/null
+++ b/shared-module/gamepadshift/__init__.h
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the MicroPython project, http://micropython.org/
+ *
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2016 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_GAMEPADSHIFT___INIT___H
+#define MICROPY_INCLUDED_GAMEPADSHIFT___INIT___H
+
+void gamepadshift_tick(void);
+void gamepadshift_reset(void);
+
+#endif // MICROPY_INCLUDED_GAMEPADSHIFT___INIT___H