Merge branch 'master' into master

This commit is contained in:
Scott Shawcroft 2019-04-09 14:40:36 -07:00 committed by GitHub
commit 129e725599
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 516 additions and 320 deletions

View File

@ -22,10 +22,10 @@ git:
# just try to make the builds "about equal in run time" # just try to make the builds "about equal in run time"
env: env:
- TRAVIS_TESTS="unix docs translations website" TRAVIS_BOARDS="circuitplayground_express mini_sam_m4 grandcentral_m4_express pca10056 pca10059 feather_nrf52840_express makerdiary_nrf52840_mdk makerdiary_nrf52840_mdk_usb_dongle particle_boron particle_argon particle_xenon sparkfun_nrf52840_mini" TRAVIS_SDK=arm:nrf - TRAVIS_TESTS="unix docs translations website" TRAVIS_BOARDS="circuitplayground_express mini_sam_m4 grandcentral_m4_express pca10056 pca10059 feather_nrf52840_express makerdiary_nrf52840_mdk makerdiary_nrf52840_mdk_usb_dongle particle_boron particle_argon particle_xenon sparkfun_nrf52840_mini" TRAVIS_SDK=arm:nrf
- TRAVIS_BOARDS="metro_m0_express metro_m4_express metro_m4_airlift_lite pirkey_m0 trellis_m4_express trinket_m0 sparkfun_lumidrive sparkfun_redboard_turbo pybadge bast_pro_mini_m0" TRAVIS_SDK=arm - TRAVIS_BOARDS="metro_m0_express metro_m4_express metro_m4_airlift_lite pirkey_m0 trellis_m4_express trinket_m0 sparkfun_lumidrive sparkfun_redboard_turbo bast_pro_mini_m0" TRAVIS_SDK=arm
- TRAVIS_BOARDS="feather_radiofruit_zigbee gemma_m0 hallowing_m0_express itsybitsy_m0_express itsybitsy_m4_express meowmeow sam32 uchip" TRAVIS_SDK=arm - TRAVIS_BOARDS="feather_radiofruit_zigbee gemma_m0 hallowing_m0_express itsybitsy_m0_express itsybitsy_m4_express meowmeow sam32 uchip" TRAVIS_SDK=arm
- TRAVIS_BOARDS="feather_m0_express_crickit feather_m0_rfm69 feather_m0_rfm9x feather_m4_express arduino_zero arduino_mkr1300 arduino_mkrzero pewpew10" TRAVIS_SDK=arm - TRAVIS_BOARDS="feather_m0_express_crickit feather_m0_rfm69 feather_m0_rfm9x feather_m4_express arduino_zero arduino_mkr1300 arduino_mkrzero pewpew10" TRAVIS_SDK=arm
- TRAVIS_BOARDS="circuitplayground_express_crickit feather_m0_adalogger feather_m0_basic feather_m0_express catwan_usbstick pyportal sparkfun_samd21_mini sparkfun_samd21_dev" TRAVIS_SDK=arm - TRAVIS_BOARDS="circuitplayground_express_crickit feather_m0_adalogger feather_m0_basic feather_m0_express catwan_usbstick pyportal sparkfun_samd21_mini sparkfun_samd21_dev pybadge" TRAVIS_SDK=arm
addons: addons:
artifacts: artifacts:

@ -1 +1 @@
Subproject commit 547cc045fa1d8862e7e00c1d7b4a0026531d0098 Subproject commit 0848c462b3e431a9da42e96537d2b597a4579636

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -53,7 +53,7 @@ msgid "%q indices must be integers, not %s"
msgstr "" msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
#, fuzzy #, fuzzy
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "buffers harus mempunyai panjang yang sama" msgstr "buffers harus mempunyai panjang yang sama"
@ -254,8 +254,8 @@ msgid "All timers for this pin are in use"
msgstr "Semua timer untuk pin ini sedang digunakan" msgstr "Semua timer untuk pin ini sedang digunakan"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -513,8 +513,8 @@ msgstr ""
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "Channel EXTINT sedang digunakan" msgstr "Channel EXTINT sedang digunakan"
@ -532,8 +532,8 @@ msgstr ""
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "" msgstr ""
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "" msgstr ""
@ -721,7 +721,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "" msgstr ""
@ -768,6 +768,10 @@ msgstr ""
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "Bit clock pada pin tidak valid" msgstr "Bit clock pada pin tidak valid"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size" msgid "Invalid buffer size"
msgstr "Ukuran buffer tidak valid" msgstr "Ukuran buffer tidak valid"
@ -824,8 +828,8 @@ msgid "Invalid pin for right channel"
msgstr "Pin untuk channel kanan tidak valid" msgstr "Pin untuk channel kanan tidak valid"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -940,8 +944,8 @@ msgstr "Tidak ada GCLK yang kosong"
msgid "No hardware random available" msgid "No hardware random available"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "Tidak ada dukungan hardware untuk pin" msgstr "Tidak ada dukungan hardware untuk pin"
@ -981,10 +985,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1101,8 +1101,8 @@ msgstr "Serializer sedang digunakan"
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "" msgstr ""
@ -2315,10 +2315,6 @@ msgstr "anotasi return harus sebuah identifier"
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -53,7 +53,7 @@ msgid "%q indices must be integers, not %s"
msgstr "" msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "" msgstr ""
@ -252,8 +252,8 @@ msgid "All timers for this pin are in use"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -501,8 +501,8 @@ msgstr ""
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "" msgstr ""
@ -520,8 +520,8 @@ msgstr ""
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "" msgstr ""
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "" msgstr ""
@ -696,7 +696,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "" msgstr ""
@ -743,6 +743,10 @@ msgstr ""
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size" msgid "Invalid buffer size"
msgstr "" msgstr ""
@ -799,8 +803,8 @@ msgid "Invalid pin for right channel"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -915,8 +919,8 @@ msgstr ""
msgid "No hardware random available" msgid "No hardware random available"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "" msgstr ""
@ -955,10 +959,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1071,8 +1071,8 @@ msgstr ""
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "" msgstr ""
@ -2269,10 +2269,6 @@ msgstr ""
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: Pascal Deneaux\n" "Last-Translator: Pascal Deneaux\n"
"Language-Team: Sebastian Plamauer, Pascal Deneaux\n" "Language-Team: Sebastian Plamauer, Pascal Deneaux\n"
@ -55,7 +55,7 @@ msgid "%q indices must be integers, not %s"
msgstr "%q Indizes müssen ganze Zahlen sein, nicht %s" msgstr "%q Indizes müssen ganze Zahlen sein, nicht %s"
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "%q muss >= 1 sein" msgstr "%q muss >= 1 sein"
@ -254,8 +254,8 @@ msgid "All timers for this pin are in use"
msgstr "Alle timer für diesen Pin werden bereits benutzt" msgstr "Alle timer für diesen Pin werden bereits benutzt"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -505,8 +505,8 @@ msgstr "Die Rotation der Anzeige muss in 90-Grad-Schritten erfolgen"
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "Drive mode wird nicht verwendet, wenn die Richtung input ist." msgstr "Drive mode wird nicht verwendet, wenn die Richtung input ist."
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "EXTINT Kanal ist schon in Benutzung" msgstr "EXTINT Kanal ist schon in Benutzung"
@ -524,8 +524,8 @@ msgstr "Erwartet ein(e) %q"
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "Characteristic wird erwartet" msgstr "Characteristic wird erwartet"
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "Eine UUID wird erwartet" msgstr "Eine UUID wird erwartet"
@ -700,7 +700,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde" msgstr "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde"
@ -749,6 +749,10 @@ msgstr "Ungültiges Argument"
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "Ungültiges bit clock pin" msgstr "Ungültiges bit clock pin"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size" msgid "Invalid buffer size"
msgstr "Ungültige Puffergröße" msgstr "Ungültige Puffergröße"
@ -805,8 +809,8 @@ msgid "Invalid pin for right channel"
msgstr "Ungültiger Pin für rechten Kanal" msgstr "Ungültiger Pin für rechten Kanal"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -928,8 +932,8 @@ msgstr "Keine freien GCLKs"
msgid "No hardware random available" msgid "No hardware random available"
msgstr "Kein hardware random verfügbar" msgstr "Kein hardware random verfügbar"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "Keine Hardwareunterstützung an diesem Pin" msgstr "Keine Hardwareunterstützung an diesem Pin"
@ -970,11 +974,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr ""
"Es werden nur Bitmaps mit einer Farbtiefe von 8 Bit oder weniger unterstützt"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1089,8 +1088,8 @@ msgstr "Serializer wird benutzt"
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice und Wert (value) haben unterschiedliche Längen." msgstr "Slice und Wert (value) haben unterschiedliche Längen."
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "Slices werden nicht unterstützt" msgstr "Slices werden nicht unterstützt"
@ -2319,10 +2318,6 @@ msgstr "return annotation muss ein identifier sein"
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""
@ -2716,6 +2711,11 @@ msgstr ""
#~ msgid "Only Windows format, uncompressed BMP supported %d" #~ msgid "Only Windows format, uncompressed BMP supported %d"
#~ msgstr "Nur unkomprimiertes Windows-Format (BMP) unterstützt %d" #~ msgstr "Nur unkomprimiertes Windows-Format (BMP) unterstützt %d"
#~ msgid "Only bit maps of 8 bit color or less are supported"
#~ msgstr ""
#~ "Es werden nur Bitmaps mit einer Farbtiefe von 8 Bit oder weniger "
#~ "unterstützt"
#~ msgid "Only tx supported on UART1 (GPIO2)." #~ msgid "Only tx supported on UART1 (GPIO2)."
#~ msgstr "UART1 (GPIO2) unterstützt nur tx" #~ msgstr "UART1 (GPIO2) unterstützt nur tx"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -53,7 +53,7 @@ msgid "%q indices must be integers, not %s"
msgstr "" msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "" msgstr ""
@ -252,8 +252,8 @@ msgid "All timers for this pin are in use"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -501,8 +501,8 @@ msgstr ""
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "" msgstr ""
@ -520,8 +520,8 @@ msgstr ""
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "" msgstr ""
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "" msgstr ""
@ -696,7 +696,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "" msgstr ""
@ -743,6 +743,10 @@ msgstr ""
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size" msgid "Invalid buffer size"
msgstr "" msgstr ""
@ -799,8 +803,8 @@ msgid "Invalid pin for right channel"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -915,8 +919,8 @@ msgstr ""
msgid "No hardware random available" msgid "No hardware random available"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "" msgstr ""
@ -955,10 +959,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1071,8 +1071,8 @@ msgstr ""
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "" msgstr ""
@ -2269,10 +2269,6 @@ msgstr ""
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n" "PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: @sommersoft, @MrCertainly\n" "Language-Team: @sommersoft, @MrCertainly\n"
@ -55,7 +55,7 @@ msgid "%q indices must be integers, not %s"
msgstr "" msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "" msgstr ""
@ -254,8 +254,8 @@ msgid "All timers for this pin are in use"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -505,8 +505,8 @@ msgstr ""
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "Avast! EXTINT channel already in use" msgstr "Avast! EXTINT channel already in use"
@ -524,8 +524,8 @@ msgstr ""
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "" msgstr ""
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "" msgstr ""
@ -700,7 +700,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "" msgstr ""
@ -747,6 +747,10 @@ msgstr ""
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size" msgid "Invalid buffer size"
msgstr "" msgstr ""
@ -803,8 +807,8 @@ msgid "Invalid pin for right channel"
msgstr "Belay that! Invalid pin for starboard-side channel" msgstr "Belay that! Invalid pin for starboard-side channel"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -919,8 +923,8 @@ msgstr ""
msgid "No hardware random available" msgid "No hardware random available"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "" msgstr ""
@ -959,10 +963,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr ""
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1075,8 +1075,8 @@ msgstr ""
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "" msgstr ""
@ -2273,10 +2273,6 @@ msgstr ""
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2018-08-24 22:56-0500\n" "PO-Revision-Date: 2018-08-24 22:56-0500\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -56,7 +56,7 @@ msgid "%q indices must be integers, not %s"
msgstr "%q indices deben ser enteros, no %s" msgstr "%q indices deben ser enteros, no %s"
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
#, fuzzy #, fuzzy
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "%q debe ser >= 1" msgstr "%q debe ser >= 1"
@ -261,8 +261,8 @@ msgid "All timers for this pin are in use"
msgstr "Todos los timers para este pin están siendo utilizados" msgstr "Todos los timers para este pin están siendo utilizados"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -518,8 +518,8 @@ msgstr "Rotación de display debe ser en incrementos de 90 grados"
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "Modo Drive no se usa cuando la dirección es input." msgstr "Modo Drive no se usa cuando la dirección es input."
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "El canal EXTINT ya está siendo utilizado" msgstr "El canal EXTINT ya está siendo utilizado"
@ -538,8 +538,8 @@ msgstr "Se espera un %q"
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "No se puede agregar la Característica." msgstr "No se puede agregar la Característica."
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
#, fuzzy #, fuzzy
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "Se espera un %q" msgstr "Se espera un %q"
@ -728,7 +728,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "Frecuencia capturada por encima de la capacidad. Captura en pausa." msgstr "Frecuencia capturada por encima de la capacidad. Captura en pausa."
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "La función requiere lock" msgstr "La función requiere lock"
@ -777,6 +777,10 @@ msgstr "Argumento inválido"
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "Pin bit clock inválido" msgstr "Pin bit clock inválido"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size" msgid "Invalid buffer size"
msgstr "Tamaño de buffer inválido" msgstr "Tamaño de buffer inválido"
@ -833,8 +837,8 @@ msgid "Invalid pin for right channel"
msgstr "Pin inválido para canal derecho" msgstr "Pin inválido para canal derecho"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -953,8 +957,8 @@ msgstr "Sin GCLKs libres"
msgid "No hardware random available" msgid "No hardware random available"
msgstr "No hay hardware random disponible" msgstr "No hay hardware random disponible"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "Sin soporte de hardware en pin" msgstr "Sin soporte de hardware en pin"
@ -996,10 +1000,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr "Solo se admiten bit maps de color de 8 bits o menos"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1117,8 +1117,8 @@ msgstr "Serializer está siendo utilizado"
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "" msgstr ""
@ -2351,10 +2351,6 @@ msgstr "la anotación de retorno debe ser un identificador"
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "retorno esperado '%q' pero se obtuvo '%q'" msgstr "retorno esperado '%q' pero se obtuvo '%q'"
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr "la fila debe estar empacada y la palabra alineada"
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""
@ -2743,6 +2739,9 @@ msgstr "paso cero"
#~ msgid "Only Windows format, uncompressed BMP supported %d" #~ msgid "Only Windows format, uncompressed BMP supported %d"
#~ msgstr "Solo formato Windows, BMP sin comprimir soportado %d" #~ msgstr "Solo formato Windows, BMP sin comprimir soportado %d"
#~ msgid "Only bit maps of 8 bit color or less are supported"
#~ msgstr "Solo se admiten bit maps de color de 8 bits o menos"
#~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgid "Only true color (24 bpp or higher) BMP supported %x"
#~ msgstr "Solo color verdadero (24 bpp o superior) BMP admitido %x" #~ msgstr "Solo color verdadero (24 bpp o superior) BMP admitido %x"
@ -2850,6 +2849,9 @@ msgstr "paso cero"
#~ msgid "position must be 2-tuple" #~ msgid "position must be 2-tuple"
#~ msgstr "posición debe ser 2-tuple" #~ msgstr "posición debe ser 2-tuple"
#~ msgid "row must be packed and word aligned"
#~ msgstr "la fila debe estar empacada y la palabra alineada"
#~ msgid "scan failed" #~ msgid "scan failed"
#~ msgstr "scan ha fallado" #~ msgstr "scan ha fallado"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n" "PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n" "Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n" "Language-Team: fil\n"
@ -53,7 +53,7 @@ msgid "%q indices must be integers, not %s"
msgstr "%q indeks ay dapat integers, hindi %s" msgstr "%q indeks ay dapat integers, hindi %s"
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
#, fuzzy #, fuzzy
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "aarehas na haba dapat ang buffer slices" msgstr "aarehas na haba dapat ang buffer slices"
@ -256,8 +256,8 @@ msgid "All timers for this pin are in use"
msgstr "Lahat ng timers para sa pin na ito ay ginagamit" msgstr "Lahat ng timers para sa pin na ito ay ginagamit"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -514,8 +514,8 @@ msgstr ""
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input." msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input."
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "Ginagamit na ang EXTINT channel" msgstr "Ginagamit na ang EXTINT channel"
@ -534,8 +534,8 @@ msgstr "Umasa ng %q"
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "Hindi mabasa and Characteristic." msgstr "Hindi mabasa and Characteristic."
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
#, fuzzy #, fuzzy
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "Umasa ng %q" msgstr "Umasa ng %q"
@ -724,7 +724,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "Function nangangailangan ng lock" msgstr "Function nangangailangan ng lock"
@ -773,6 +773,10 @@ msgstr "Maling argumento"
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "Mali ang bit clock pin" msgstr "Mali ang bit clock pin"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size" msgid "Invalid buffer size"
msgstr "Mali ang buffer size" msgstr "Mali ang buffer size"
@ -829,8 +833,8 @@ msgid "Invalid pin for right channel"
msgstr "Mali ang pin para sa kanang channel" msgstr "Mali ang pin para sa kanang channel"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -949,8 +953,8 @@ msgstr "Walang libreng GCLKs"
msgid "No hardware random available" msgid "No hardware random available"
msgstr "Walang magagamit na hardware random" msgstr "Walang magagamit na hardware random"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "Walang support sa hardware ang pin" msgstr "Walang support sa hardware ang pin"
@ -992,10 +996,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr "Tanging bit maps na may 8 bit color o mas mababa ang supportado"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1114,8 +1114,8 @@ msgstr "Serializer ginagamit"
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice at value iba't ibang haba." msgstr "Slice at value iba't ibang haba."
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "Hindi suportado ang Slices" msgstr "Hindi suportado ang Slices"
@ -2353,10 +2353,6 @@ msgstr "return annotation ay dapat na identifier"
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "return umasa ng '%q' pero ang nakuha ay %q" msgstr "return umasa ng '%q' pero ang nakuha ay %q"
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr "row ay dapat packed at ang word nakahanay"
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "rsplit(None,n)" msgstr "rsplit(None,n)"
@ -2746,6 +2742,9 @@ msgstr "zero step"
#~ msgid "Only Windows format, uncompressed BMP supported %d" #~ msgid "Only Windows format, uncompressed BMP supported %d"
#~ msgstr "Tanging Windows format, uncompressed BMP lamang ang supportado %d" #~ msgstr "Tanging Windows format, uncompressed BMP lamang ang supportado %d"
#~ msgid "Only bit maps of 8 bit color or less are supported"
#~ msgstr "Tanging bit maps na may 8 bit color o mas mababa ang supportado"
#~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgid "Only true color (24 bpp or higher) BMP supported %x"
#~ msgstr "Dapat true color (24 bpp o mas mataas) BMP lamang ang supportado %x" #~ msgstr "Dapat true color (24 bpp o mas mataas) BMP lamang ang supportado %x"
@ -2856,6 +2855,9 @@ msgstr "zero step"
#~ msgid "position must be 2-tuple" #~ msgid "position must be 2-tuple"
#~ msgstr "position ay dapat 2-tuple" #~ msgstr "position ay dapat 2-tuple"
#~ msgid "row must be packed and word aligned"
#~ msgstr "row ay dapat packed at ang word nakahanay"
#~ msgid "scan failed" #~ msgid "scan failed"
#~ msgstr "nabigo ang pag-scan" #~ msgstr "nabigo ang pag-scan"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 0.1\n" "Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2018-12-23 20:05+0100\n" "PO-Revision-Date: 2018-12-23 20:05+0100\n"
"Last-Translator: Pierrick Couturier <arofarn@arofarn.info>\n" "Last-Translator: Pierrick Couturier <arofarn@arofarn.info>\n"
"Language-Team: fr\n" "Language-Team: fr\n"
@ -52,7 +52,7 @@ msgid "%q indices must be integers, not %s"
msgstr "les indices %q doivent être des entiers, pas %s" msgstr "les indices %q doivent être des entiers, pas %s"
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
#, fuzzy #, fuzzy
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "les slices de tampon doivent être de longueurs égales" msgstr "les slices de tampon doivent être de longueurs égales"
@ -256,8 +256,8 @@ msgid "All timers for this pin are in use"
msgstr "Tous les timers pour cette broche sont utilisés" msgstr "Tous les timers pour cette broche sont utilisés"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -513,8 +513,8 @@ msgstr ""
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "Le mode Drive n'est pas utilisé quand la direction est 'input'." msgstr "Le mode Drive n'est pas utilisé quand la direction est 'input'."
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "Canal EXTINT déjà utilisé" msgstr "Canal EXTINT déjà utilisé"
@ -533,8 +533,8 @@ msgstr "Attendu : %q"
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "Impossible d'ajouter la Characteristic." msgstr "Impossible d'ajouter la Characteristic."
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
#, fuzzy #, fuzzy
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "Attendu : %q" msgstr "Attendu : %q"
@ -723,7 +723,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "La fonction nécessite un verrou" msgstr "La fonction nécessite un verrou"
@ -773,6 +773,10 @@ msgstr "Argument invalide"
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "Broche invalide pour 'bit clock'" msgstr "Broche invalide pour 'bit clock'"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
#, fuzzy #, fuzzy
msgid "Invalid buffer size" msgid "Invalid buffer size"
@ -831,8 +835,8 @@ msgid "Invalid pin for right channel"
msgstr "Broche invalide pour le canal droit" msgstr "Broche invalide pour le canal droit"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -952,8 +956,8 @@ msgstr "Pas de GCLK libre"
msgid "No hardware random available" msgid "No hardware random available"
msgstr "Pas de source matérielle d'aléa disponible" msgstr "Pas de source matérielle d'aléa disponible"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "Pas de support matériel pour cette broche" msgstr "Pas de support matériel pour cette broche"
@ -996,10 +1000,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr "Seules les bitmaps de 8bits par couleur ou moins sont supportées"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1122,8 +1122,8 @@ msgstr "Sérialiseur en cours d'utilisation"
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Slice et valeur de tailles différentes" msgstr "Slice et valeur de tailles différentes"
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "Slices non supportées" msgstr "Slices non supportées"
@ -2373,10 +2373,6 @@ msgstr "l'annotation de return doit être un identifiant"
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "return attendait '%q' mais a reçu '%q'" msgstr "return attendait '%q' mais a reçu '%q'"
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr ""
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""
@ -2765,6 +2761,9 @@ msgstr "'step' nul"
#~ msgid "Only Windows format, uncompressed BMP supported %d" #~ msgid "Only Windows format, uncompressed BMP supported %d"
#~ msgstr "Seul les BMP non-compressé au format Windows sont supportés %d" #~ msgstr "Seul les BMP non-compressé au format Windows sont supportés %d"
#~ msgid "Only bit maps of 8 bit color or less are supported"
#~ msgstr "Seules les bitmaps de 8bits par couleur ou moins sont supportées"
#~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgid "Only true color (24 bpp or higher) BMP supported %x"
#~ msgstr "Seul les BMP 24bits ou plus sont supportés %x" #~ msgstr "Seul les BMP 24bits ou plus sont supportés %x"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n" "PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n" "Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n" "Language-Team: \n"
@ -53,7 +53,7 @@ msgid "%q indices must be integers, not %s"
msgstr "gli indici %q devono essere interi, non %s" msgstr "gli indici %q devono essere interi, non %s"
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
#, fuzzy #, fuzzy
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "slice del buffer devono essere della stessa lunghezza" msgstr "slice del buffer devono essere della stessa lunghezza"
@ -255,8 +255,8 @@ msgid "All timers for this pin are in use"
msgstr "Tutti i timer per questo pin sono in uso" msgstr "Tutti i timer per questo pin sono in uso"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -514,8 +514,8 @@ msgstr ""
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "Canale EXTINT già in uso" msgstr "Canale EXTINT già in uso"
@ -534,8 +534,8 @@ msgstr "Atteso un %q"
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "Non è possibile aggiungere Characteristic." msgstr "Non è possibile aggiungere Characteristic."
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
#, fuzzy #, fuzzy
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "Atteso un %q" msgstr "Atteso un %q"
@ -723,7 +723,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "" msgstr ""
@ -772,6 +772,10 @@ msgstr "Argomento non valido"
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "Pin del clock di bit non valido" msgstr "Pin del clock di bit non valido"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
#, fuzzy #, fuzzy
msgid "Invalid buffer size" msgid "Invalid buffer size"
@ -830,8 +834,8 @@ msgid "Invalid pin for right channel"
msgstr "Pin non valido per il canale destro" msgstr "Pin non valido per il canale destro"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -948,8 +952,8 @@ msgstr "Nessun GCLK libero"
msgid "No hardware random available" msgid "No hardware random available"
msgstr "Nessun generatore hardware di numeri casuali disponibile" msgstr "Nessun generatore hardware di numeri casuali disponibile"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "Nessun supporto hardware sul pin" msgstr "Nessun supporto hardware sul pin"
@ -992,10 +996,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr "Sono supportate solo bitmap con colori a 8 bit o meno"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1120,8 +1120,8 @@ msgstr "Serializer in uso"
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "Slice non supportate" msgstr "Slice non supportate"
@ -2351,10 +2351,6 @@ msgstr ""
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "return aspettava '%q' ma ha ottenuto '%q'" msgstr "return aspettava '%q' ma ha ottenuto '%q'"
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr "la riga deve essere compattata e allineata alla parola"
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""
@ -2739,6 +2735,9 @@ msgstr "zero step"
#~ msgid "Only Windows format, uncompressed BMP supported %d" #~ msgid "Only Windows format, uncompressed BMP supported %d"
#~ msgstr "Formato solo di Windows, BMP non compresso supportato %d" #~ msgstr "Formato solo di Windows, BMP non compresso supportato %d"
#~ msgid "Only bit maps of 8 bit color or less are supported"
#~ msgstr "Sono supportate solo bitmap con colori a 8 bit o meno"
#~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgid "Only true color (24 bpp or higher) BMP supported %x"
#~ msgstr "Solo BMP true color (24 bpp o superiore) sono supportati %x" #~ msgstr "Solo BMP true color (24 bpp o superiore) sono supportati %x"
@ -2848,6 +2847,9 @@ msgstr "zero step"
#~ msgid "position must be 2-tuple" #~ msgid "position must be 2-tuple"
#~ msgstr "position deve essere una 2-tuple" #~ msgstr "position deve essere una 2-tuple"
#~ msgid "row must be packed and word aligned"
#~ msgstr "la riga deve essere compattata e allineata alla parola"
#~ msgid "scan failed" #~ msgid "scan failed"
#~ msgstr "scansione fallita" #~ msgstr "scansione fallita"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2019-03-19 18:37-0700\n" "PO-Revision-Date: 2019-03-19 18:37-0700\n"
"Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n" "Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n"
"Language-Team: pl\n" "Language-Team: pl\n"
@ -54,7 +54,7 @@ msgid "%q indices must be integers, not %s"
msgstr "%q indeks musi być liczbą całkowitą, a nie %s" msgstr "%q indeks musi być liczbą całkowitą, a nie %s"
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "%q musi być >= 1" msgstr "%q musi być >= 1"
@ -253,8 +253,8 @@ msgid "All timers for this pin are in use"
msgstr "Wszystkie " msgstr "Wszystkie "
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -504,8 +504,8 @@ msgstr "Orientacja wyświetlacza musi być wielokrotnością 90 stopni"
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "Tryb sterowania nie jest używany w trybie wejścia." msgstr "Tryb sterowania nie jest używany w trybie wejścia."
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "Kanał EXTINT jest już w użyciu" msgstr "Kanał EXTINT jest już w użyciu"
@ -523,8 +523,8 @@ msgstr "Oczekiwano %q"
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "Oczekiwano charakterystyki" msgstr "Oczekiwano charakterystyki"
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "Oczekiwano UUID" msgstr "Oczekiwano UUID"
@ -699,7 +699,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "Uzyskana częstotliwość jest poza możliwościami. Spauzowano." msgstr "Uzyskana częstotliwość jest poza możliwościami. Spauzowano."
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "Funkcja wymaga blokady" msgstr "Funkcja wymaga blokady"
@ -748,6 +748,10 @@ msgstr "Niepoprawny argument"
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "Niewłaściwa nóżka zegara bitowego" msgstr "Niewłaściwa nóżka zegara bitowego"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
msgid "Invalid buffer size" msgid "Invalid buffer size"
msgstr "Niewłaściwa wielkość bufora" msgstr "Niewłaściwa wielkość bufora"
@ -804,8 +808,8 @@ msgid "Invalid pin for right channel"
msgstr "Niewłaściwa nóżka dla prawego kanału" msgstr "Niewłaściwa nóżka dla prawego kanału"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -925,8 +929,8 @@ msgstr "Brak wolnych GLCK"
msgid "No hardware random available" msgid "No hardware random available"
msgstr "Brak sprzętowego generatora liczb losowych" msgstr "Brak sprzętowego generatora liczb losowych"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "Brak sprzętowej obsługi na nóżce" msgstr "Brak sprzętowej obsługi na nóżce"
@ -966,10 +970,6 @@ msgid ""
msgstr "" msgstr ""
"Wspierane są tylko nieskompresowane pliki BMP Windowsa: wielkość nagłówka %d" "Wspierane są tylko nieskompresowane pliki BMP Windowsa: wielkość nagłówka %d"
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr "Wspierane są tylko mapy bitowe z 8 bitami lub mniej"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1085,8 +1085,8 @@ msgstr "Serializator w użyciu"
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "Fragment i wartość są różnych długości." msgstr "Fragment i wartość są różnych długości."
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "Fragmenty nieobsługiwane" msgstr "Fragmenty nieobsługiwane"
@ -2301,10 +2301,6 @@ msgstr "anotacja wartości musi być identyfikatorem"
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "return oczekiwał '%q', a jest '%q'" msgstr "return oczekiwał '%q', a jest '%q'"
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr "row musi być upakowana i wyrównana do słowa"
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "rsplit(None,n)" msgstr "rsplit(None,n)"
@ -2625,5 +2621,11 @@ msgstr "wartość y poza zakresem"
msgid "zero step" msgid "zero step"
msgstr "zerowy krok" 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" #~ msgid "RTC set is not supported on this board"
#~ msgstr "Ustawianie RTC nie jest obsługiwane na tej płytce" #~ 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"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-02 13:43+1100\n" "POT-Creation-Date: 2019-04-04 13:37-0700\n"
"PO-Revision-Date: 2018-10-02 21:14-0000\n" "PO-Revision-Date: 2018-10-02 21:14-0000\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -53,7 +53,7 @@ msgid "%q indices must be integers, not %s"
msgstr "" msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c #: shared-bindings/bleio/CharacteristicBuffer.c
#: shared-bindings/displayio/Shape.c shared-bindings/displayio/Group.c #: shared-bindings/displayio/Group.c shared-bindings/displayio/Shape.c
#, fuzzy #, fuzzy
msgid "%q must be >= 1" msgid "%q must be >= 1"
msgstr "buffers devem ser o mesmo tamanho" msgstr "buffers devem ser o mesmo tamanho"
@ -255,8 +255,8 @@ msgid "All timers for this pin are in use"
msgstr "Todos os temporizadores para este pino estão em uso" msgstr "Todos os temporizadores para este pino estão em uso"
#: ports/atmel-samd/common-hal/audioio/AudioOut.c #: ports/atmel-samd/common-hal/audioio/AudioOut.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c #: ports/nrf/common-hal/pulseio/PulseOut.c shared-bindings/pulseio/PWMOut.c
#: shared-module/_pew/PewPew.c #: shared-module/_pew/PewPew.c
msgid "All timers in use" msgid "All timers in use"
@ -509,8 +509,8 @@ msgstr ""
msgid "Drive mode not used when direction is input." msgid "Drive mode not used when direction is input."
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "EXTINT channel already in use" msgid "EXTINT channel already in use"
msgstr "Canal EXTINT em uso" msgstr "Canal EXTINT em uso"
@ -529,8 +529,8 @@ msgstr "Esperado um"
msgid "Expected a Characteristic" msgid "Expected a Characteristic"
msgstr "Não é possível adicionar Característica." msgstr "Não é possível adicionar Característica."
#: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Service.c #: shared-bindings/bleio/Characteristic.c shared-bindings/bleio/Descriptor.c
#: shared-bindings/bleio/Descriptor.c #: shared-bindings/bleio/Service.c
#, fuzzy #, fuzzy
msgid "Expected a UUID" msgid "Expected a UUID"
msgstr "Esperado um" msgstr "Esperado um"
@ -716,7 +716,7 @@ msgid "Frequency captured is above capability. Capture Paused."
msgstr "" msgstr ""
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c #: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/SPI.c shared-bindings/busio/I2C.c #: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
msgid "Function requires lock" msgid "Function requires lock"
msgstr "" msgstr ""
@ -763,6 +763,10 @@ msgstr "Argumento inválido"
msgid "Invalid bit clock pin" msgid "Invalid bit clock pin"
msgstr "Pino de bit clock inválido" msgstr "Pino de bit clock inválido"
#: shared-module/displayio/Bitmap.c
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c #: ports/nrf/common-hal/busio/UART.c
#, fuzzy #, fuzzy
msgid "Invalid buffer size" msgid "Invalid buffer size"
@ -821,8 +825,8 @@ msgid "Invalid pin for right channel"
msgstr "Pino inválido para canal direito" msgstr "Pino inválido para canal direito"
#: ports/atmel-samd/common-hal/busio/I2C.c #: ports/atmel-samd/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/SPI.c
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c #: ports/atmel-samd/common-hal/i2cslave/I2CSlave.c
#: ports/nrf/common-hal/busio/I2C.c #: ports/nrf/common-hal/busio/I2C.c
msgid "Invalid pins" msgid "Invalid pins"
@ -938,8 +942,8 @@ msgstr "Não há GCLKs livre"
msgid "No hardware random available" msgid "No hardware random available"
msgstr "" msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c #: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "No hardware support on pin" msgid "No hardware support on pin"
msgstr "Nenhum suporte de hardware no pino" msgstr "Nenhum suporte de hardware no pino"
@ -981,10 +985,6 @@ msgid ""
"Only Windows format, uncompressed BMP supported: given header size is %d" "Only Windows format, uncompressed BMP supported: given header size is %d"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "Only bit maps of 8 bit color or less are supported"
msgstr "Apenas bit maps de cores de 8 bit ou menos são suportados"
#: shared-module/displayio/OnDiskBitmap.c #: shared-module/displayio/OnDiskBitmap.c
#, c-format #, c-format
msgid "" msgid ""
@ -1099,8 +1099,8 @@ msgstr "Serializer em uso"
msgid "Slice and value different lengths." msgid "Slice and value different lengths."
msgstr "" msgstr ""
#: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/TileGrid.c #: shared-bindings/displayio/Bitmap.c shared-bindings/displayio/Group.c
#: shared-bindings/displayio/Group.c shared-bindings/pulseio/PulseIn.c #: shared-bindings/displayio/TileGrid.c shared-bindings/pulseio/PulseIn.c
msgid "Slices not supported" msgid "Slices not supported"
msgstr "" msgstr ""
@ -2304,10 +2304,6 @@ msgstr ""
msgid "return expected '%q' but got '%q'" msgid "return expected '%q' but got '%q'"
msgstr "" msgstr ""
#: shared-module/displayio/Bitmap.c
msgid "row must be packed and word aligned"
msgstr "Linha deve ser comprimida e com as palavras alinhadas"
#: py/objstr.c #: py/objstr.c
msgid "rsplit(None,n)" msgid "rsplit(None,n)"
msgstr "" msgstr ""
@ -2686,6 +2682,9 @@ msgstr "passo zero"
#~ msgid "Only Windows format, uncompressed BMP supported %d" #~ msgid "Only Windows format, uncompressed BMP supported %d"
#~ msgstr "Apenas formato Windows, BMP descomprimido suportado" #~ msgstr "Apenas formato Windows, BMP descomprimido suportado"
#~ msgid "Only bit maps of 8 bit color or less are supported"
#~ msgstr "Apenas bit maps de cores de 8 bit ou menos são suportados"
#~ msgid "Only true color (24 bpp or higher) BMP supported %x" #~ msgid "Only true color (24 bpp or higher) BMP supported %x"
#~ msgstr "Apenas cores verdadeiras (24 bpp ou maior) BMP suportadas" #~ msgstr "Apenas cores verdadeiras (24 bpp ou maior) BMP suportadas"
@ -2788,6 +2787,9 @@ msgstr "passo zero"
#~ msgid "pin does not have IRQ capabilities" #~ msgid "pin does not have IRQ capabilities"
#~ msgstr "Pino não tem recursos de IRQ" #~ msgstr "Pino não tem recursos de IRQ"
#~ msgid "row must be packed and word aligned"
#~ msgstr "Linha deve ser comprimida e com as palavras alinhadas"
#~ msgid "scan failed" #~ msgid "scan failed"
#~ msgstr "varredura falhou" #~ msgstr "varredura falhou"

View File

@ -212,6 +212,7 @@ SRC_C = \
bindings/samd/__init__.c \ bindings/samd/__init__.c \
boards/$(BOARD)/board.c \ boards/$(BOARD)/board.c \
boards/$(BOARD)/pins.c \ boards/$(BOARD)/pins.c \
eic_handler.c \
fatfs_port.c \ fatfs_port.c \
freetouch/adafruit_ptc.c \ freetouch/adafruit_ptc.c \
lib/libc/string0.c \ lib/libc/string0.c \

View File

@ -29,6 +29,7 @@
#include "shared-bindings/displayio/FourWire.h" #include "shared-bindings/displayio/FourWire.h"
#include "shared-module/displayio/__init__.h" #include "shared-module/displayio/__init__.h"
#include "shared-module/displayio/mipi_constants.h" #include "shared-module/displayio/mipi_constants.h"
#include "shared-bindings/busio/SPI.h"
#include "tick.h" #include "tick.h"
@ -71,8 +72,10 @@ uint8_t display_init_sequence[] = {
void board_init(void) { void board_init(void) {
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus; displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;
bus->base.type = &displayio_fourwire_type; bus->base.type = &displayio_fourwire_type;
busio_spi_obj_t *spi = board_spi();
common_hal_busio_spi_configure(spi, 12000000, 0, 0, 8);
common_hal_displayio_fourwire_construct(bus, common_hal_displayio_fourwire_construct(bus,
board_spi(), spi,
&pin_PA28, // Command or data &pin_PA28, // Command or data
&pin_PA01, // Chip select &pin_PA01, // Chip select
&pin_PA27); // Reset &pin_PA27); // Reset
@ -94,7 +97,8 @@ void board_init(void) {
display_init_sequence, display_init_sequence,
sizeof(display_init_sequence), sizeof(display_init_sequence),
&pin_PA00, &pin_PA00,
false); // single_byte_bounds false, // single_byte_bounds
false); // data_as_commands
common_hal_displayio_display_set_auto_brightness(display, true); common_hal_displayio_display_set_auto_brightness(display, true);
} }

View File

@ -13,7 +13,7 @@ LONGINT_IMPL = MPZ
CIRCUITPY_I2CSLAVE = 0 CIRCUITPY_I2CSLAVE = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0
CFLAGS_INLINE_LIMIT = 55 CFLAGS_INLINE_LIMIT = 50
CHIP_VARIANT = SAMD21G18A CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21 CHIP_FAMILY = samd21

View File

@ -16,6 +16,7 @@ CIRCUITPY_PEW = 1
CIRCUITPY_ANALOGIO = 1 CIRCUITPY_ANALOGIO = 1
CIRCUITPY_MATH = 1 CIRCUITPY_MATH = 1
CIRCUITPY_NEOPIXEL_WRITE = 1 CIRCUITPY_NEOPIXEL_WRITE = 1
CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
CIRCUITPY_SAMD = 0 CIRCUITPY_SAMD = 0
CIRCUITPY_USB_MIDI = 0 CIRCUITPY_USB_MIDI = 0

View File

@ -13,6 +13,7 @@ LONGINT_IMPL = NONE
CIRCUITPY_ANALOGIO = 0 CIRCUITPY_ANALOGIO = 0
CIRCUITPY_MATH = 0 CIRCUITPY_MATH = 0
CIRCUITPY_NEOPIXEL_WRITE = 0 CIRCUITPY_NEOPIXEL_WRITE = 0
CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
CIRCUITPY_SAMD = 0 CIRCUITPY_SAMD = 0
CIRCUITPY_USB_MIDI = 0 CIRCUITPY_USB_MIDI = 0

View File

@ -100,7 +100,8 @@ void board_init(void) {
display_init_sequence, display_init_sequence,
sizeof(display_init_sequence), sizeof(display_init_sequence),
&pin_PA00, &pin_PA00,
false); // single_byte_bounds false, // single_byte_bounds
false); // data_as_commands
common_hal_displayio_display_set_auto_brightness(display, true); common_hal_displayio_display_set_auto_brightness(display, true);
} }

View File

@ -91,7 +91,8 @@ void board_init(void) {
display_init_sequence, display_init_sequence,
sizeof(display_init_sequence), sizeof(display_init_sequence),
&pin_PB31, &pin_PB31,
false); // single_byte_bounds false, // single_byte_bounds
false); // data_as_commands
common_hal_displayio_display_set_auto_brightness(display, true); common_hal_displayio_display_set_auto_brightness(display, true);
} }

View File

@ -10,8 +10,10 @@ LONGINT_IMPL = MPZ
CHIP_VARIANT = SAMD21G18A CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21 CHIP_FAMILY = samd21
# Make room for frozen libraries.
CFLAGS_INLINE_LIMIT = 65
EXTERNAL_FLASH_DEVICE_COUNT = 1 EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = "W25Q32FV" EXTERNAL_FLASH_DEVICES = "W25Q32FV"
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar

View File

@ -361,3 +361,13 @@ bool common_hal_busio_spi_transfer(busio_spi_obj_t *self, uint8_t *data_out, uin
uint32_t common_hal_busio_spi_get_frequency(busio_spi_obj_t* self) { uint32_t common_hal_busio_spi_get_frequency(busio_spi_obj_t* self) {
return samd_peripherals_spi_baud_reg_value_to_baudrate(hri_sercomspi_read_BAUD_reg(self->spi_desc.dev.prvt)); return samd_peripherals_spi_baud_reg_value_to_baudrate(hri_sercomspi_read_BAUD_reg(self->spi_desc.dev.prvt));
} }
uint8_t common_hal_busio_spi_get_phase(busio_spi_obj_t* self) {
void * hw = self->spi_desc.dev.prvt;
return hri_sercomspi_get_CTRLA_CPHA_bit(hw);
}
uint8_t common_hal_busio_spi_get_polarity(busio_spi_obj_t* self) {
void * hw = self->spi_desc.dev.prvt;
return hri_sercomspi_get_CTRLA_CPOL_bit(hw);
}

View File

@ -32,6 +32,7 @@
#include "hal/include/hal_gpio.h" #include "hal/include/hal_gpio.h"
#include "background.h" #include "background.h"
#include "eic_handler.h"
#include "mpconfigport.h" #include "mpconfigport.h"
#include "py/gc.h" #include "py/gc.h"
#include "py/runtime.h" #include "py/runtime.h"
@ -54,7 +55,8 @@ static void pulsein_set_config(pulseio_pulsein_obj_t* self, bool first_edge) {
} else { } else {
sense_setting = EIC_CONFIG_SENSE0_RISE_Val; sense_setting = EIC_CONFIG_SENSE0_RISE_Val;
} }
turn_on_eic_channel(self->channel, sense_setting, EIC_HANDLER_PULSEIN); set_eic_handler(self->channel, EIC_HANDLER_PULSEIN);
turn_on_eic_channel(self->channel, sense_setting);
} }
void pulsein_interrupt_handler(uint8_t channel) { void pulsein_interrupt_handler(uint8_t channel) {
@ -153,6 +155,7 @@ void common_hal_pulseio_pulsein_deinit(pulseio_pulsein_obj_t* self) {
if (common_hal_pulseio_pulsein_deinited(self)) { if (common_hal_pulseio_pulsein_deinited(self)) {
return; return;
} }
set_eic_handler(self->channel, EIC_HANDLER_NO_INTERRUPT);
turn_off_eic_channel(self->channel); turn_off_eic_channel(self->channel);
reset_pin_number(self->pin); reset_pin_number(self->pin);
self->pin = NO_PIN; self->pin = NO_PIN;

View File

@ -28,6 +28,7 @@
#include "atmel_start_pins.h" #include "atmel_start_pins.h"
#include "eic_handler.h"
#include "samd/external_interrupts.h" #include "samd/external_interrupts.h"
#include "py/runtime.h" #include "py/runtime.h"
#include "supervisor/shared/translate.h" #include "supervisor/shared/translate.h"
@ -76,8 +77,11 @@ void common_hal_rotaryio_incrementalencoder_construct(rotaryio_incrementalencode
claim_pin(pin_a); claim_pin(pin_a);
claim_pin(pin_b); claim_pin(pin_b);
turn_on_eic_channel(self->eic_channel_a, EIC_CONFIG_SENSE0_BOTH_Val, EIC_HANDLER_INCREMENTAL_ENCODER); set_eic_handler(self->eic_channel_a, EIC_HANDLER_INCREMENTAL_ENCODER);
turn_on_eic_channel(self->eic_channel_b, EIC_CONFIG_SENSE0_BOTH_Val, EIC_HANDLER_INCREMENTAL_ENCODER); turn_on_eic_channel(self->eic_channel_a, EIC_CONFIG_SENSE0_BOTH_Val);
set_eic_handler(self->eic_channel_b, EIC_HANDLER_INCREMENTAL_ENCODER);
turn_on_eic_channel(self->eic_channel_b, EIC_CONFIG_SENSE0_BOTH_Val);
} }
bool common_hal_rotaryio_incrementalencoder_deinited(rotaryio_incrementalencoder_obj_t* self) { bool common_hal_rotaryio_incrementalencoder_deinited(rotaryio_incrementalencoder_obj_t* self) {
@ -88,10 +92,16 @@ void common_hal_rotaryio_incrementalencoder_deinit(rotaryio_incrementalencoder_o
if (common_hal_rotaryio_incrementalencoder_deinited(self)) { if (common_hal_rotaryio_incrementalencoder_deinited(self)) {
return; return;
} }
set_eic_handler(self->eic_channel_a, EIC_HANDLER_NO_INTERRUPT);
turn_off_eic_channel(self->eic_channel_a); turn_off_eic_channel(self->eic_channel_a);
set_eic_handler(self->eic_channel_b, EIC_HANDLER_NO_INTERRUPT);
turn_off_eic_channel(self->eic_channel_b); turn_off_eic_channel(self->eic_channel_b);
reset_pin_number(self->pin_a); reset_pin_number(self->pin_a);
self->pin_a = NO_PIN; self->pin_a = NO_PIN;
reset_pin_number(self->pin_b); reset_pin_number(self->pin_b);
self->pin_b = NO_PIN; self->pin_b = NO_PIN;
} }

View File

@ -0,0 +1,58 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "common-hal/pulseio/PulseIn.h"
#include "common-hal/rotaryio/IncrementalEncoder.h"
#include "shared-bindings/microcontroller/__init__.h"
//#include "samd/external_interrupts.h"
#include "eic_handler.h"
// Which handler should be called for a particular channel?
static uint8_t eic_channel_handler[EIC_EXTINT_NUM];
void set_eic_handler(uint8_t channel, uint8_t eic_handler) {
eic_channel_handler[channel] = eic_handler;
}
void shared_eic_handler(uint8_t channel) {
uint8_t handler = eic_channel_handler[channel];
switch (handler) {
#if CIRCUITPY_PULSEIO
case EIC_HANDLER_PULSEIN:
pulsein_interrupt_handler(channel);
break;
#endif
#if CIRCUITPY_ROTARYIO
case EIC_HANDLER_INCREMENTAL_ENCODER:
incrementalencoder_interrupt_handler(channel);
break;
#endif
default:
break;
}
}

View File

@ -0,0 +1,36 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Dan Halbert 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_ATMEL_SAMD_EIC_HANDLER_H
#define MICROPY_INCLUDED_ATMEL_SAMD_EIC_HANDLER_H
#define EIC_HANDLER_NO_INTERRUPT 0x0
#define EIC_HANDLER_PULSEIN 0x1
#define EIC_HANDLER_INCREMENTAL_ENCODER 0x2
void set_eic_handler(uint8_t channel, uint8_t eic_handler);
void shared_eic_handler(uint8_t channel);
#endif // MICROPY_INCLUDED_ATMEL_SAMD_EIC_HANDLER_H

@ -1 +1 @@
Subproject commit 6416828bb6821779d4c62fa3c7d41c95634173c0 Subproject commit 778d4f3736728da7ba7795c5c44176c415c903cf

View File

@ -76,6 +76,9 @@ uint32_t supervisor_flash_get_block_count(void) {
void supervisor_flash_flush(void) { void supervisor_flash_flush(void) {
} }
void supervisor_flash_release_cache(void) {
}
void flash_flush(void) { void flash_flush(void) {
supervisor_flash_flush(); supervisor_flash_flush();
} }

View File

@ -327,3 +327,11 @@ uint32_t common_hal_busio_spi_get_frequency(busio_spi_obj_t* self) {
return 0; return 0;
} }
} }
uint8_t common_hal_busio_spi_get_phase(busio_spi_obj_t* self) {
return 0;
}
uint8_t common_hal_busio_spi_get_polarity(busio_spi_obj_t* self) {
return 0;
}

View File

@ -137,6 +137,9 @@ void supervisor_flash_flush(void) {
_flash_page_addr = NO_CACHE; _flash_page_addr = NO_CACHE;
} }
void supervisor_flash_release_cache(void) {
}
mp_uint_t supervisor_flash_read_blocks(uint8_t *dest, uint32_t block, uint32_t num_blocks) { mp_uint_t supervisor_flash_read_blocks(uint8_t *dest, uint32_t block, uint32_t num_blocks) {
// Must write out anything in cache before trying to read. // Must write out anything in cache before trying to read.
supervisor_flash_flush(); supervisor_flash_flush();

View File

@ -360,6 +360,13 @@ extern const struct _mp_obj_module_t os_module;
#define OS_MODULE_ALT_NAME #define OS_MODULE_ALT_NAME
#endif #endif
#if CIRCUITPY_PEW
extern const struct _mp_obj_module_t pew_module;
#define PEW_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR__pew),(mp_obj_t)&pew_module },
#else
#define PEW_MODULE
#endif
#if CIRCUITPY_PIXELBUF #if CIRCUITPY_PIXELBUF
extern const struct _mp_obj_module_t pixelbuf_module; extern const struct _mp_obj_module_t pixelbuf_module;
#define PIXELBUF_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR__pixelbuf),(mp_obj_t)&pixelbuf_module }, #define PIXELBUF_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR__pixelbuf),(mp_obj_t)&pixelbuf_module },
@ -474,13 +481,6 @@ extern const struct _mp_obj_module_t ustack_module;
#define USTACK_MODULE #define USTACK_MODULE
#endif #endif
#if CIRCUITPY_PEW
extern const struct _mp_obj_module_t pew_module;
#define PEW_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR__pew),(mp_obj_t)&pew_module },
#else
#define PEW_MODULE
#endif
// These modules are not yet in shared-bindings, but we prefer the non-uxxx names. // These modules are not yet in shared-bindings, but we prefer the non-uxxx names.
#if MICROPY_PY_UERRNO #if MICROPY_PY_UERRNO
#define ERRNO_MODULE { MP_ROM_QSTR(MP_QSTR_errno), MP_ROM_PTR(&mp_module_uerrno) }, #define ERRNO_MODULE { MP_ROM_QSTR(MP_QSTR_errno), MP_ROM_PTR(&mp_module_uerrno) },
@ -546,6 +546,7 @@ extern const struct _mp_obj_module_t pew_module;
PULSEIO_MODULE \ PULSEIO_MODULE \
RANDOM_MODULE \ RANDOM_MODULE \
RE_MODULE \ RE_MODULE \
ROTARYIO_MODULE \
RTC_MODULE \ RTC_MODULE \
SAMD_MODULE \ SAMD_MODULE \
STAGE_MODULE \ STAGE_MODULE \

View File

@ -61,6 +61,12 @@ extern bool common_hal_busio_spi_transfer(busio_spi_obj_t *self, uint8_t *data_o
// Return actual SPI bus frequency. // Return actual SPI bus frequency.
uint32_t common_hal_busio_spi_get_frequency(busio_spi_obj_t* self); uint32_t common_hal_busio_spi_get_frequency(busio_spi_obj_t* self);
// Return SPI bus phase.
uint8_t common_hal_busio_spi_get_phase(busio_spi_obj_t* self);
// Return SPI bus polarity.
uint8_t common_hal_busio_spi_get_polarity(busio_spi_obj_t* self);
// This is used by the supervisor to claim SPI devices indefinitely. // This is used by the supervisor to claim SPI devices indefinitely.
extern void common_hal_busio_spi_never_reset(busio_spi_obj_t *self); extern void common_hal_busio_spi_never_reset(busio_spi_obj_t *self);

View File

@ -50,7 +50,7 @@
//| Most people should not use this class directly. Use a specific display driver instead that will //| Most people should not use this class directly. Use a specific display driver instead that will
//| contain the initialization sequence at minimum. //| contain the initialization sequence at minimum.
//| //|
//| .. class:: Display(display_bus, init_sequence, *, width, height, colstart=0, rowstart=0, rotation=0, color_depth=16, set_column_command=0x2a, set_row_command=0x2b, write_ram_command=0x2c, set_vertical_scroll=0, backlight_pin=None, single_byte_bounds=False) //| .. class:: Display(display_bus, init_sequence, *, width, height, colstart=0, rowstart=0, rotation=0, color_depth=16, set_column_command=0x2a, set_row_command=0x2b, write_ram_command=0x2c, set_vertical_scroll=0, backlight_pin=None, single_byte_bounds=False, data_as_commands=False)
//| //|
//| Create a Display object on the given display bus (`displayio.FourWire` or `displayio.ParallelBus`). //| Create a Display object on the given display bus (`displayio.FourWire` or `displayio.ParallelBus`).
//| //|
@ -92,9 +92,10 @@
//| :param int set_vertical_scroll: Command used to set the first row to show //| :param int set_vertical_scroll: Command used to set the first row to show
//| :param microcontroller.Pin backlight_pin: Pin connected to the display's backlight //| :param microcontroller.Pin backlight_pin: Pin connected to the display's backlight
//| :param bool single_byte_bounds: Display column and row commands use single bytes //| :param bool single_byte_bounds: Display column and row commands use single bytes
//| :param bool data_as_commands: Treat all init and boundary data as SPI commands. Certain displays require this.
//| //|
STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { STATIC mp_obj_t displayio_display_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_display_bus, ARG_init_sequence, ARG_width, ARG_height, ARG_colstart, ARG_rowstart, ARG_rotation, ARG_color_depth, ARG_set_column_command, ARG_set_row_command, ARG_write_ram_command, ARG_set_vertical_scroll, ARG_backlight_pin, ARG_single_byte_bounds }; enum { ARG_display_bus, ARG_init_sequence, ARG_width, ARG_height, ARG_colstart, ARG_rowstart, ARG_rotation, ARG_color_depth, ARG_set_column_command, ARG_set_row_command, ARG_write_ram_command, ARG_set_vertical_scroll, ARG_backlight_pin, ARG_single_byte_bounds, ARG_data_as_commands };
static const mp_arg_t allowed_args[] = { static const mp_arg_t allowed_args[] = {
{ MP_QSTR_display_bus, MP_ARG_REQUIRED | MP_ARG_OBJ }, { MP_QSTR_display_bus, MP_ARG_REQUIRED | MP_ARG_OBJ },
{ MP_QSTR_init_sequence, MP_ARG_REQUIRED | MP_ARG_OBJ }, { MP_QSTR_init_sequence, MP_ARG_REQUIRED | MP_ARG_OBJ },
@ -110,6 +111,7 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a
{ MP_QSTR_set_vertical_scroll, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0x0} }, { MP_QSTR_set_vertical_scroll, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0x0} },
{ MP_QSTR_backlight_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY, {.u_obj = mp_const_none} }, { MP_QSTR_backlight_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY, {.u_obj = mp_const_none} },
{ MP_QSTR_single_byte_bounds, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} }, { MP_QSTR_single_byte_bounds, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
{ MP_QSTR_data_as_commands, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
}; };
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)]; mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
@ -149,7 +151,8 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a
args[ARG_write_ram_command].u_int, args[ARG_write_ram_command].u_int,
args[ARG_set_vertical_scroll].u_int, args[ARG_set_vertical_scroll].u_int,
bufinfo.buf, bufinfo.len, MP_OBJ_TO_PTR(backlight_pin), bufinfo.buf, bufinfo.len, MP_OBJ_TO_PTR(backlight_pin),
args[ARG_single_byte_bounds].u_bool); args[ARG_single_byte_bounds].u_bool,
args[ARG_data_as_commands].u_bool);
return self; return self;
} }
@ -292,6 +295,25 @@ const mp_obj_property_t displayio_display_height_obj = {
(mp_obj_t)&mp_const_none_obj}, (mp_obj_t)&mp_const_none_obj},
}; };
//| .. attribute:: bus
//|
//| The bus being used by the display
//|
//|
STATIC mp_obj_t displayio_display_obj_get_bus(mp_obj_t self_in) {
displayio_display_obj_t *self = MP_OBJ_TO_PTR(self_in);
return self->bus;
}
MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_bus_obj, displayio_display_obj_get_bus);
const mp_obj_property_t displayio_display_bus_obj = {
.base.type = &mp_type_property,
.proxy = {(mp_obj_t)&displayio_display_get_bus_obj,
(mp_obj_t)&mp_const_none_obj,
(mp_obj_t)&mp_const_none_obj},
};
STATIC const mp_rom_map_elem_t displayio_display_locals_dict_table[] = { STATIC const mp_rom_map_elem_t displayio_display_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_show), MP_ROM_PTR(&displayio_display_show_obj) }, { MP_ROM_QSTR(MP_QSTR_show), MP_ROM_PTR(&displayio_display_show_obj) },
{ MP_ROM_QSTR(MP_QSTR_refresh_soon), MP_ROM_PTR(&displayio_display_refresh_soon_obj) }, { MP_ROM_QSTR(MP_QSTR_refresh_soon), MP_ROM_PTR(&displayio_display_refresh_soon_obj) },
@ -302,6 +324,7 @@ STATIC const mp_rom_map_elem_t displayio_display_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&displayio_display_width_obj) }, { MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&displayio_display_width_obj) },
{ MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&displayio_display_height_obj) }, { MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&displayio_display_height_obj) },
{ MP_ROM_QSTR(MP_QSTR_bus), MP_ROM_PTR(&displayio_display_bus_obj) },
}; };
STATIC MP_DEFINE_CONST_DICT(displayio_display_locals_dict, displayio_display_locals_dict_table); STATIC MP_DEFINE_CONST_DICT(displayio_display_locals_dict, displayio_display_locals_dict_table);

View File

@ -40,7 +40,8 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self,
mp_obj_t bus, uint16_t width, uint16_t height, mp_obj_t bus, uint16_t width, uint16_t height,
int16_t colstart, int16_t rowstart, uint16_t rotation, uint16_t color_depth, int16_t colstart, int16_t rowstart, uint16_t rotation, uint16_t color_depth,
uint8_t set_column_command, uint8_t set_row_command, uint8_t write_ram_command, uint8_t set_vertical_scroll, uint8_t set_column_command, uint8_t set_row_command, uint8_t write_ram_command, uint8_t set_vertical_scroll,
uint8_t* init_sequence, uint16_t init_sequence_len, const mcu_pin_obj_t* backlight_pin, bool single_byte_bounds); uint8_t* init_sequence, uint16_t init_sequence_len, const mcu_pin_obj_t* backlight_pin, bool single_byte_bounds,
bool data_as_commands);
int32_t common_hal_displayio_display_wait_for_frame(displayio_display_obj_t* self); int32_t common_hal_displayio_display_wait_for_frame(displayio_display_obj_t* self);

View File

@ -259,9 +259,10 @@ STATIC mp_obj_t tilegrid_subscr(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t v
mp_obj_get_array_fixed_n(index_obj, 2, &items); mp_obj_get_array_fixed_n(index_obj, 2, &items);
x = mp_obj_get_int(items[0]); x = mp_obj_get_int(items[0]);
y = mp_obj_get_int(items[1]); y = mp_obj_get_int(items[1]);
if (x >= common_hal_displayio_tilegrid_get_width(self) || y >= common_hal_displayio_tilegrid_get_height(self)) { }
mp_raise_IndexError(translate("tile index out of bounds")); if (x >= common_hal_displayio_tilegrid_get_width(self) ||
} y >= common_hal_displayio_tilegrid_get_height(self)) {
mp_raise_IndexError(translate("tile index out of bounds"));
} }
if (value_obj == MP_OBJ_SENTINEL) { if (value_obj == MP_OBJ_SENTINEL) {

View File

@ -33,20 +33,21 @@
void common_hal_displayio_bitmap_construct(displayio_bitmap_t *self, uint32_t width, void common_hal_displayio_bitmap_construct(displayio_bitmap_t *self, uint32_t width,
uint32_t height, uint32_t bits_per_value) { uint32_t height, uint32_t bits_per_value) {
uint32_t row_width = width * bits_per_value; uint32_t row_width = width * bits_per_value;
// word align // align to size_t
if (row_width % 32 != 0) { uint8_t align_bits = 8 * sizeof(size_t);
self->stride = (row_width / 32 + 1); if (row_width % align_bits != 0) {
self->stride = (row_width / align_bits + 1);
} else { } else {
self->stride = row_width / 32; self->stride = row_width / align_bits;
} }
self->width = width; self->width = width;
self->height = height; self->height = height;
self->data = m_malloc(self->stride * height * sizeof(uint32_t), false); self->data = m_malloc(self->stride * height * sizeof(size_t), false);
self->read_only = false; self->read_only = false;
self->bits_per_value = bits_per_value; self->bits_per_value = bits_per_value;
if (bits_per_value > 8) { if (bits_per_value > 8 && bits_per_value != 16 && bits_per_value != 32) {
mp_raise_NotImplementedError(translate("Only bit maps of 8 bit color or less are supported")); mp_raise_NotImplementedError(translate("Invalid bits per value"));
} }
// Division and modulus can be slow because it has to handle any integer. We know bits_per_value // Division and modulus can be slow because it has to handle any integer. We know bits_per_value
@ -56,7 +57,7 @@ void common_hal_displayio_bitmap_construct(displayio_bitmap_t *self, uint32_t wi
self->x_shift = 0; // Used to divide the index by the number of pixels per word. Its used in a self->x_shift = 0; // Used to divide the index by the number of pixels per word. Its used in a
// shift which effectively divides by 2 ** x_shift. // shift which effectively divides by 2 ** x_shift.
uint32_t power_of_two = 1; uint32_t power_of_two = 1;
while (power_of_two < 32 / bits_per_value ) { while (power_of_two < align_bits / bits_per_value ) {
self->x_shift++; self->x_shift++;
power_of_two <<= 1; power_of_two <<= 1;
} }
@ -76,41 +77,27 @@ uint32_t common_hal_displayio_bitmap_get_bits_per_value(displayio_bitmap_t *self
return self->bits_per_value; return self->bits_per_value;
} }
void common_hal_displayio_bitmap_load_row(displayio_bitmap_t *self, uint16_t y, uint8_t* data, uint16_t len) {
if (len != self->stride * sizeof(uint32_t)) {
mp_raise_ValueError(translate("row must be packed and word aligned"));
}
uint32_t* row_value = self->data + (y * self->stride);
// Do the memcpy ourselves since we may want to flip endianness.
for (uint32_t i = 0; i < self->stride; i++) {
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wcast-align"
uint32_t value = ((uint32_t *)data)[i];
#pragma GCC diagnostic pop
if (self->bits_per_value < 16) {
value = ((value >> 24) & 0xff) |
((value << 8) & 0xff0000) |
((value >> 8) & 0xff00) |
((value << 24) & 0xff000000);
}
*row_value = value;
row_value++;
}
}
uint32_t common_hal_displayio_bitmap_get_pixel(displayio_bitmap_t *self, int16_t x, int16_t y) { uint32_t common_hal_displayio_bitmap_get_pixel(displayio_bitmap_t *self, int16_t x, int16_t y) {
if (x >= self->width || x < 0 || y >= self->height || y < 0) { if (x >= self->width || x < 0 || y >= self->height || y < 0) {
return 0; return 0;
} }
int32_t row_start = y * self->stride; int32_t row_start = y * self->stride;
if (self->bits_per_value < 8) { uint32_t bytes_per_value = self->bits_per_value / 8;
uint32_t word = self->data[row_start + (x >> self->x_shift)]; if (bytes_per_value < 1) {
size_t word = self->data[row_start + (x >> self->x_shift)];
return (word >> (32 - ((x & self->x_mask) + 1) * self->bits_per_value)) & self->bitmask; return (word >> (sizeof(size_t) * 8 - ((x & self->x_mask) + 1) * self->bits_per_value)) & self->bitmask;
} else { } else {
uint32_t bytes_per_value = self->bits_per_value / 8; size_t* row = self->data + row_start;
return self->data[row_start + x * bytes_per_value]; if (bytes_per_value == 1) {
return ((uint8_t*) row)[x];
} else if (bytes_per_value == 2) {
return ((uint16_t*) row)[x];
} else if (bytes_per_value == 4) {
return ((uint32_t*) row)[x];
}
} }
return 0;
} }
void common_hal_displayio_bitmap_set_pixel(displayio_bitmap_t *self, int16_t x, int16_t y, uint32_t value) { void common_hal_displayio_bitmap_set_pixel(displayio_bitmap_t *self, int16_t x, int16_t y, uint32_t value) {
@ -118,15 +105,22 @@ void common_hal_displayio_bitmap_set_pixel(displayio_bitmap_t *self, int16_t x,
mp_raise_RuntimeError(translate("Read-only object")); mp_raise_RuntimeError(translate("Read-only object"));
} }
int32_t row_start = y * self->stride; int32_t row_start = y * self->stride;
if (self->bits_per_value < 8) { uint32_t bytes_per_value = self->bits_per_value / 8;
uint32_t bit_position = (32 - ((x & self->x_mask) + 1) * self->bits_per_value); if (bytes_per_value < 1) {
uint32_t bit_position = (sizeof(size_t) * 8 - ((x & self->x_mask) + 1) * self->bits_per_value);
uint32_t index = row_start + (x >> self->x_shift); uint32_t index = row_start + (x >> self->x_shift);
uint32_t word = self->data[index]; uint32_t word = self->data[index];
word &= ~(self->bitmask << bit_position); word &= ~(self->bitmask << bit_position);
word |= (value & self->bitmask) << bit_position; word |= (value & self->bitmask) << bit_position;
self->data[index] = word; self->data[index] = word;
} else { } else {
uint32_t bytes_per_value = self->bits_per_value / 8; size_t* row = self->data + row_start;
self->data[row_start + x * bytes_per_value] = value; if (bytes_per_value == 1) {
((uint8_t*) row)[x] = value;
} else if (bytes_per_value == 2) {
((uint16_t*) row)[x] = value;
} else if (bytes_per_value == 4) {
((uint32_t*) row)[x] = value;
}
} }
} }

View File

@ -36,11 +36,11 @@ typedef struct {
mp_obj_base_t base; mp_obj_base_t base;
uint16_t width; uint16_t width;
uint16_t height; uint16_t height;
uint32_t* data; size_t* data;
uint16_t stride; // words uint16_t stride; // size_t's
uint8_t bits_per_value; uint8_t bits_per_value;
uint8_t x_shift; uint8_t x_shift;
uint8_t x_mask; size_t x_mask;
uint16_t bitmask; uint16_t bitmask;
bool read_only; bool read_only;
} displayio_bitmap_t; } displayio_bitmap_t;

View File

@ -44,7 +44,7 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self,
mp_obj_t bus, uint16_t width, uint16_t height, int16_t colstart, int16_t rowstart, uint16_t rotation, mp_obj_t bus, uint16_t width, uint16_t height, int16_t colstart, int16_t rowstart, uint16_t rotation,
uint16_t color_depth, uint8_t set_column_command, uint8_t set_row_command, uint16_t color_depth, uint8_t set_column_command, uint8_t set_row_command,
uint8_t write_ram_command, uint8_t set_vertical_scroll, uint8_t* init_sequence, uint16_t init_sequence_len, uint8_t write_ram_command, uint8_t set_vertical_scroll, uint8_t* init_sequence, uint16_t init_sequence_len,
const mcu_pin_obj_t* backlight_pin, bool single_byte_bounds) { const mcu_pin_obj_t* backlight_pin, bool single_byte_bounds, bool data_as_commands) {
self->color_depth = color_depth; self->color_depth = color_depth;
self->set_column_command = set_column_command; self->set_column_command = set_column_command;
self->set_row_command = set_row_command; self->set_row_command = set_row_command;
@ -54,6 +54,7 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self,
self->colstart = colstart; self->colstart = colstart;
self->rowstart = rowstart; self->rowstart = rowstart;
self->auto_brightness = false; self->auto_brightness = false;
self->data_as_commands = data_as_commands;
self->single_byte_bounds = single_byte_bounds; self->single_byte_bounds = single_byte_bounds;
if (MP_OBJ_IS_TYPE(bus, &displayio_parallelbus_type)) { if (MP_OBJ_IS_TYPE(bus, &displayio_parallelbus_type)) {
@ -82,7 +83,14 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self,
data_size &= ~DELAY; data_size &= ~DELAY;
uint8_t *data = cmd + 2; uint8_t *data = cmd + 2;
self->send(self->bus, true, cmd, 1); self->send(self->bus, true, cmd, 1);
self->send(self->bus, false, data, data_size); if (self->data_as_commands) {
// Loop through each parameter to force a CS toggle
for (uint32_t j=0; j < data_size; j++) {
self->send(self->bus, true, data + j, 1);
}
} else {
self->send(self->bus, false, data, data_size);
}
uint16_t delay_length_ms = 10; uint16_t delay_length_ms = 10;
if (delay) { if (delay) {
data_size++; data_size++;
@ -214,30 +222,33 @@ void displayio_display_end_transaction(displayio_display_obj_t* self) {
void displayio_display_set_region_to_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) { void displayio_display_set_region_to_update(displayio_display_obj_t* self, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) {
self->send(self->bus, true, &self->set_column_command, 1); self->send(self->bus, true, &self->set_column_command, 1);
bool isCommand = self->data_as_commands;
if (self->single_byte_bounds) { if (self->single_byte_bounds) {
uint8_t data[2]; uint8_t data[2];
data[0] = x0 + self->colstart; data[0] = x0 + self->colstart;
data[1] = x1 - 1 + self->colstart; data[1] = x1 - 1 + self->colstart;
self->send(self->bus, false, (uint8_t*) data, 2); self->send(self->bus, isCommand, (uint8_t*) data, 2);
} else { } else {
uint16_t data[2]; uint16_t data[2];
data[0] = __builtin_bswap16(x0 + self->colstart); data[0] = __builtin_bswap16(x0 + self->colstart);
data[1] = __builtin_bswap16(x1 - 1 + self->colstart); data[1] = __builtin_bswap16(x1 - 1 + self->colstart);
self->send(self->bus, false, (uint8_t*) data, 4); self->send(self->bus, isCommand, (uint8_t*) data, 4);
} }
self->send(self->bus, true, &self->set_row_command, 1); self->send(self->bus, true, &self->set_row_command, 1);
if (self->single_byte_bounds) { if (self->single_byte_bounds) {
uint8_t data[2]; uint8_t data[2];
data[0] = y0 + self->rowstart; data[0] = y0 + self->rowstart;
data[1] = y1 - 1 + self->rowstart; data[1] = y1 - 1 + self->rowstart;
self->send(self->bus, false, (uint8_t*) data, 2); self->send(self->bus, isCommand, (uint8_t*) data, 2);
} else { } else {
uint16_t data[2]; uint16_t data[2];
data[0] = __builtin_bswap16(y0 + self->rowstart); data[0] = __builtin_bswap16(y0 + self->rowstart);
data[1] = __builtin_bswap16(y1 - 1 + self->rowstart); data[1] = __builtin_bswap16(y1 - 1 + self->rowstart);
self->send(self->bus, false, (uint8_t*) data, 4); self->send(self->bus, isCommand, (uint8_t*) data, 4);
}
if (!self->data_as_commands) {
self->send(self->bus, true, &self->write_ram_command, 1);
} }
self->send(self->bus, true, &self->write_ram_command, 1);
} }
bool displayio_display_frame_queued(displayio_display_obj_t* self) { bool displayio_display_frame_queued(displayio_display_obj_t* self) {

View File

@ -50,6 +50,7 @@ typedef struct {
int16_t colstart; int16_t colstart;
int16_t rowstart; int16_t rowstart;
bool single_byte_bounds; bool single_byte_bounds;
bool data_as_commands;
display_bus_begin_transaction begin_transaction; display_bus_begin_transaction begin_transaction;
display_bus_send send; display_bus_send send;
display_bus_end_transaction end_transaction; display_bus_end_transaction end_transaction;

View File

@ -40,6 +40,9 @@ void common_hal_displayio_fourwire_construct(displayio_fourwire_obj_t* self,
self->bus = spi; self->bus = spi;
common_hal_busio_spi_never_reset(self->bus); common_hal_busio_spi_never_reset(self->bus);
self->frequency = common_hal_busio_spi_get_frequency(spi);
self->polarity = common_hal_busio_spi_get_polarity(spi);
self->phase = common_hal_busio_spi_get_phase(spi);
common_hal_digitalio_digitalinout_construct(&self->command, command); common_hal_digitalio_digitalinout_construct(&self->command, command);
common_hal_digitalio_digitalinout_switch_to_output(&self->command, true, DRIVE_MODE_PUSH_PULL); common_hal_digitalio_digitalinout_switch_to_output(&self->command, true, DRIVE_MODE_PUSH_PULL);
@ -71,8 +74,8 @@ bool common_hal_displayio_fourwire_begin_transaction(mp_obj_t obj) {
if (!common_hal_busio_spi_try_lock(self->bus)) { if (!common_hal_busio_spi_try_lock(self->bus)) {
return false; return false;
} }
// TODO(tannewt): Stop hardcoding SPI frequency, polarity and phase. common_hal_busio_spi_configure(self->bus, self->frequency, self->polarity,
common_hal_busio_spi_configure(self->bus, 12000000, 0, 0, 8); self->phase, 8);
common_hal_digitalio_digitalinout_set_value(&self->chip_select, false); common_hal_digitalio_digitalinout_set_value(&self->chip_select, false);
return true; return true;
} }

View File

@ -38,6 +38,9 @@ typedef struct {
digitalio_digitalinout_obj_t command; digitalio_digitalinout_obj_t command;
digitalio_digitalinout_obj_t chip_select; digitalio_digitalinout_obj_t chip_select;
digitalio_digitalinout_obj_t reset; digitalio_digitalinout_obj_t reset;
uint32_t frequency;
uint8_t polarity;
uint8_t phase;
} displayio_fourwire_obj_t; } displayio_fourwire_obj_t;
#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_DISPLAYIO_FOURWIRE_H #endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_DISPLAYIO_FOURWIRE_H

View File

@ -73,8 +73,8 @@ void common_hal_displayio_group_insert(displayio_group_t* self, size_t index, mp
mp_raise_ValueError(translate("Layer must be a Group or TileGrid subclass.")); mp_raise_ValueError(translate("Layer must be a Group or TileGrid subclass."));
} }
// Shift everything right. // Shift everything right.
for (size_t i = index; i < self->size; i++) { for (size_t i = self->size; i > index; i--) {
self->children[i + 1] = self->children[i]; self->children[i] = self->children[i - 1];
} }
self->children[index].native = native_layer; self->children[index].native = native_layer;
self->children[index].original = layer; self->children[index].original = layer;

View File

@ -40,7 +40,6 @@
void supervisor_flash_init(void); void supervisor_flash_init(void);
uint32_t supervisor_flash_get_block_size(void); uint32_t supervisor_flash_get_block_size(void);
uint32_t supervisor_flash_get_block_count(void); uint32_t supervisor_flash_get_block_count(void);
void supervisor_flash_flush(void);
// these return 0 on success, non-zero on error // these return 0 on success, non-zero on error
mp_uint_t supervisor_flash_read_blocks(uint8_t *dest, uint32_t block_num, uint32_t num_blocks); mp_uint_t supervisor_flash_read_blocks(uint8_t *dest, uint32_t block_num, uint32_t num_blocks);
@ -49,5 +48,6 @@ mp_uint_t supervisor_flash_write_blocks(const uint8_t *src, uint32_t block_num,
struct _fs_user_mount_t; struct _fs_user_mount_t;
void supervisor_flash_init_vfs(struct _fs_user_mount_t *vfs); void supervisor_flash_init_vfs(struct _fs_user_mount_t *vfs);
void supervisor_flash_flush(void); void supervisor_flash_flush(void);
void supervisor_flash_release_cache(void);
#endif // MICROPY_INCLUDED_SUPERVISOR_FLASH_H #endif // MICROPY_INCLUDED_SUPERVISOR_FLASH_H

View File

@ -34,7 +34,7 @@
#include "shared-bindings/displayio/TileGrid.h" #include "shared-bindings/displayio/TileGrid.h"
#include "supervisor/memory.h" #include "supervisor/memory.h"
extern uint32_t blinka_bitmap_data[]; extern size_t blinka_bitmap_data[];
extern displayio_bitmap_t blinka_bitmap; extern displayio_bitmap_t blinka_bitmap;
extern displayio_group_t circuitpython_splash; extern displayio_group_t circuitpython_splash;
@ -81,6 +81,7 @@ void supervisor_start_terminal(uint16_t width_px, uint16_t height_px) {
void supervisor_stop_terminal(void) { void supervisor_stop_terminal(void) {
if (tilegrid_tiles != NULL) { if (tilegrid_tiles != NULL) {
free_memory(tilegrid_tiles); free_memory(tilegrid_tiles);
tilegrid_tiles = NULL;
supervisor_terminal_text_grid.inline_tiles = false; supervisor_terminal_text_grid.inline_tiles = false;
supervisor_terminal_text_grid.tiles = NULL; supervisor_terminal_text_grid.tiles = NULL;
} }
@ -106,7 +107,7 @@ void supervisor_display_move_memory(void) {
#endif #endif
} }
uint32_t blinka_bitmap_data[32] = { size_t blinka_bitmap_data[32] = {
0x00000011, 0x11000000, 0x00000011, 0x11000000,
0x00000111, 0x53100000, 0x00000111, 0x53100000,
0x00000111, 0x56110000, 0x00000111, 0x56110000,

View File

@ -272,6 +272,9 @@ uint32_t supervisor_flash_get_block_count(void) {
// Flush the cache that was written to the scratch portion of flash. Only used // Flush the cache that was written to the scratch portion of flash. Only used
// when ram is tight. // when ram is tight.
static bool flush_scratch_flash(void) { static bool flush_scratch_flash(void) {
if (current_sector == NO_SECTOR_LOADED) {
return true;
}
// First, copy out any blocks that we haven't touched from the sector we've // First, copy out any blocks that we haven't touched from the sector we've
// cached. // cached.
bool copy_to_scratch_ok = true; bool copy_to_scratch_ok = true;
@ -360,9 +363,25 @@ static bool allocate_ram_cache(void) {
return success; return success;
} }
static void release_ram_cache(void) {
if (supervisor_cache != NULL) {
free_memory(supervisor_cache);
supervisor_cache = NULL;
} else {
m_free(MP_STATE_VM(flash_ram_cache));
}
MP_STATE_VM(flash_ram_cache) = NULL;
}
// Flush the cached sector from ram onto the flash. We'll free the cache unless // Flush the cached sector from ram onto the flash. We'll free the cache unless
// keep_cache is true. // keep_cache is true.
static bool flush_ram_cache(bool keep_cache) { static bool flush_ram_cache(bool keep_cache) {
if (current_sector == NO_SECTOR_LOADED) {
if (!keep_cache) {
release_ram_cache();
}
return true;
}
// First, copy out any blocks that we haven't touched from the sector // First, copy out any blocks that we haven't touched from the sector
// we've cached. If we don't do this we'll erase the data during the sector // we've cached. If we don't do this we'll erase the data during the sector
// erase below. // erase below.
@ -403,22 +422,13 @@ static bool flush_ram_cache(bool keep_cache) {
} }
// We're done with the cache for now so give it back. // We're done with the cache for now so give it back.
if (!keep_cache) { if (!keep_cache) {
if (supervisor_cache != NULL) { release_ram_cache();
free_memory(supervisor_cache);
supervisor_cache = NULL;
} else {
m_free(MP_STATE_VM(flash_ram_cache));
}
MP_STATE_VM(flash_ram_cache) = NULL;
} }
return true; return true;
} }
// Delegates to the correct flash flush method depending on the existing cache. // Delegates to the correct flash flush method depending on the existing cache.
static void spi_flash_flush_keep_cache(bool keep_cache) { static void spi_flash_flush_keep_cache(bool keep_cache) {
if (current_sector == NO_SECTOR_LOADED) {
return;
}
#ifdef MICROPY_HW_LED_MSC #ifdef MICROPY_HW_LED_MSC
port_pin_set_output_level(MICROPY_HW_LED_MSC, true); port_pin_set_output_level(MICROPY_HW_LED_MSC, true);
#endif #endif
@ -436,9 +446,11 @@ static void spi_flash_flush_keep_cache(bool keep_cache) {
#endif #endif
} }
// External flash function used. If called externally we assume we won't need
// the cache after.
void supervisor_flash_flush(void) { void supervisor_flash_flush(void) {
spi_flash_flush_keep_cache(true);
}
void supervisor_flash_release_cache(void) {
spi_flash_flush_keep_cache(false); spi_flash_flush_keep_cache(false);
} }
@ -502,7 +514,7 @@ bool external_flash_write_block(const uint8_t *data, uint32_t block) {
return write_flash(address, data, FILESYSTEM_BLOCK_SIZE); return write_flash(address, data, FILESYSTEM_BLOCK_SIZE);
} }
if (current_sector != NO_SECTOR_LOADED) { if (current_sector != NO_SECTOR_LOADED) {
spi_flash_flush_keep_cache(true); supervisor_flash_flush();
} }
if (MP_STATE_VM(flash_ram_cache) == NULL && !allocate_ram_cache()) { if (MP_STATE_VM(flash_ram_cache) == NULL && !allocate_ram_cache()) {
erase_sector(flash_device->total_size - SPI_FLASH_ERASE_SIZE); erase_sector(flash_device->total_size - SPI_FLASH_ERASE_SIZE);

View File

@ -42,7 +42,9 @@ volatile bool filesystem_flush_requested = false;
void filesystem_background(void) { void filesystem_background(void) {
if (filesystem_flush_requested) { if (filesystem_flush_requested) {
filesystem_flush(); filesystem_flush_interval_ms = CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS;
// Flush but keep caches
supervisor_flash_flush();
filesystem_flush_requested = false; filesystem_flush_requested = false;
} }
} }
@ -118,6 +120,8 @@ void filesystem_flush(void) {
// Reset interval before next flush. // Reset interval before next flush.
filesystem_flush_interval_ms = CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS; filesystem_flush_interval_ms = CIRCUITPY_FILESYSTEM_FLUSH_INTERVAL_MS;
supervisor_flash_flush(); supervisor_flash_flush();
// Don't keep caches because this is called when starting or stopping the VM.
supervisor_flash_release_cache();
} }
void filesystem_set_internal_writable_by_usb(bool writable) { void filesystem_set_internal_writable_by_usb(bool writable) {

View File

@ -52,15 +52,13 @@ bool serial_bytes_available(void) {
} }
void serial_write_substring(const char* text, uint32_t length) { void serial_write_substring(const char* text, uint32_t length) {
#if CIRCUITPY_DISPLAYIO #if CIRCUITPY_DISPLAYIO
int errcode; int errcode;
common_hal_terminalio_terminal_write(&supervisor_terminal, (const uint8_t*) text, length, &errcode); common_hal_terminalio_terminal_write(&supervisor_terminal, (const uint8_t*) text, length, &errcode);
#endif #endif
if (!tud_cdc_connected()) {
return;
}
uint32_t count = 0; uint32_t count = 0;
while (count < length) { while (count < length && tud_cdc_connected()) {
count += tud_cdc_write(text + count, length - count); count += tud_cdc_write(text + count, length - count);
usb_background(); usb_background();
} }

View File

@ -92,13 +92,15 @@ void tud_mount_cb(void) {
void tud_umount_cb(void) { void tud_umount_cb(void) {
} }
uint32_t tusb_hal_millis(void) { // Invoked when usb bus is suspended
uint64_t ms; // remote_wakeup_en : if host allows us to perform remote wakeup
uint32_t us; // USB Specs: Within 7ms, device must draw an average current less than 2.5 mA from bus
current_tick(&ms, &us); void tud_suspend_cb(bool remote_wakeup_en) {
return (uint32_t) ms;
} }
// Invoked when usb bus is resumed
void tud_resume_cb(void) {
}
// Invoked when cdc when line state changed e.g connected/disconnected // Invoked when cdc when line state changed e.g connected/disconnected
// Use to reset to DFU when disconnect with 1200 bps // Use to reset to DFU when disconnect with 1200 bps

View File

@ -153,7 +153,7 @@ const displayio_bitmap_t supervisor_terminal_font_bitmap = {{
.base = {{.type = &displayio_bitmap_type }}, .base = {{.type = &displayio_bitmap_type }},
.width = {}, .width = {},
.height = {}, .height = {},
.data = (uint32_t*) font_bitmap_data, .data = (size_t*) font_bitmap_data,
.stride = {}, .stride = {},
.bits_per_value = 1, .bits_per_value = 1,
.x_shift = 5, .x_shift = 5,

@ -1 +1 @@
Subproject commit e2e79566a807b7230dddbc53a103c19b2f65e2cb Subproject commit dac9689e274844294bbe4fd1b78defff9ff27533