Merge remote-tracking branch 'adafruit/master' into testing-fixes

This commit is contained in:
Dan Halbert 2019-11-22 11:01:22 -05:00
commit 1d411d2874
64 changed files with 4063 additions and 1891 deletions

View File

@ -137,7 +137,6 @@ jobs:
- "pyportal"
- "pyportal_titano"
- "pyruler"
- "robohatmm1_m0"
- "robohatmm1_m4"
- "sam32"
- "serpente"
@ -190,7 +189,7 @@ jobs:
name: ${{ matrix.board }}
path: bin/${{ matrix.board }}
- name: Upload to S3
run: aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1
run: "[ -z \"$AWS_ACCESS_KEY_ID\" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1"
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@ -199,7 +198,7 @@ jobs:
run: |
pip install uritemplate
- name: Upload to Release
run: python3 -u upload_release_files.py
run: "[ -z \"$ADABOT_GITHUB_ACCESS_TOKEN\" ] || python3 -u upload_release_files.py"
working-directory: tools
env:
UPLOAD_URL: ${{ github.event.release.upload_url }}

View File

@ -204,7 +204,7 @@ pseudoxml:
all-source:
locale/circuitpython.pot: all-source
find $(TRANSLATE_SOURCES) -iname "*.c" -print0 | (LC_ALL=C sort -z) | xargs -0 xgettext -L C -s --add-location=file --keyword=translate -o circuitpython.pot -p locale
find $(TRANSLATE_SOURCES) -iname "*.c" -print | (LC_ALL=C sort) | xgettext -f- -L C -s --add-location=file --keyword=translate -o circuitpython.pot -p locale
translate: locale/circuitpython.pot
for po in $(shell ls locale/*.po); do msgmerge -U $$po -s --no-fuzzy-matching --add-location=file locale/circuitpython.pot; done

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -488,11 +488,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Tidak dapat menginisialisasi UART"
@ -587,11 +582,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@ -601,15 +591,6 @@ msgstr ""
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Gagal untuk mengalokasikan buffer RX"
@ -620,10 +601,6 @@ msgstr "Gagal untuk mengalokasikan buffer RX"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Gagal untuk megalokasikan buffer RX dari %d byte"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -632,96 +609,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
#, fuzzy
msgid "Failed to discover services"
msgstr "Gagal untuk menemukan layanan, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Failed to get local address"
msgstr "Gagal untuk mendapatkan alamat lokal, error: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Failed to get softdevice state"
msgstr "Gagal untuk mendapatkan status softdevice, error: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, fuzzy, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/UUID.c
#, fuzzy, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Gagal untuk menambahkan Vendor Spesific UUID, status: 0x%08lX"
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Gagal untuk melepaskan mutex, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "Gagal untuk melakukan scanning, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "Gagal untuk menulis nilai atribut, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX"
#: py/moduerrno.c
msgid "File exists"
msgstr ""
@ -784,6 +676,14 @@ msgstr ""
msgid "Input/output error"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1138,7 +1038,7 @@ msgid "Running in safe mode! Not running saved code.\n"
msgstr ""
"Berjalan di mode aman(safe mode)! tidak menjalankan kode yang tersimpan.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA atau SCL membutuhkan pull up"
@ -1323,11 +1223,32 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Baudrate tidak didukung"
@ -2765,7 +2686,7 @@ msgstr ""
#~ msgid "Failed to acquire mutex"
#~ msgstr "Gagal untuk mendapatkan mutex, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Gagal untuk menambahkan karakteristik, status: 0x%08lX"
@ -2773,7 +2694,7 @@ msgstr ""
#~ msgid "Failed to add service"
#~ msgstr "Gagal untuk menambahkan layanan, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Gagal untuk menambahkan layanan, status: 0x%08lX"
@ -2789,7 +2710,7 @@ msgstr ""
#~ msgid "Failed to continue scanning"
#~ msgstr "Gagal untuk melanjutkan scanning, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "Gagal untuk melanjutkan scanning, status: 0x%08lX"
@ -2797,14 +2718,38 @@ msgstr ""
#~ msgid "Failed to create mutex"
#~ msgstr "Gagal untuk membuat mutex, status: 0x%08lX"
#, fuzzy
#~ msgid "Failed to discover services"
#~ msgstr "Gagal untuk menemukan layanan, status: 0x%08lX"
#, fuzzy
#~ msgid "Failed to get local address"
#~ msgstr "Gagal untuk mendapatkan alamat lokal, error: 0x%08lX"
#, fuzzy
#~ msgid "Failed to get softdevice state"
#~ msgstr "Gagal untuk mendapatkan status softdevice, error: 0x%08lX"
#, fuzzy
#~ msgid "Failed to notify or indicate attribute value, err %0x04x"
#~ msgstr "Gagal untuk melaporkan nilai atribut, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX"
#, fuzzy
#~ msgid "Failed to read attribute value, err %0x04x"
#~ msgstr "Gagal untuk membaca nilai atribut, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr "Gagal untuk menambahkan Vendor Spesific UUID, status: 0x%08lX"
#, fuzzy
#~ msgid "Failed to release mutex"
#~ msgstr "Gagal untuk melepaskan mutex, status: 0x%08lX"
@ -2813,7 +2758,7 @@ msgstr ""
#~ msgid "Failed to start advertising"
#~ msgstr "Gagal untuk memulai advertisement, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "Gagal untuk memulai advertisement, status: 0x%08lX"
@ -2821,14 +2766,26 @@ msgstr ""
#~ msgid "Failed to start scanning"
#~ msgstr "Gagal untuk melakukan scanning, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "Gagal untuk melakukan scanning, status: 0x%08lX"
#, fuzzy
#~ msgid "Failed to stop advertising"
#~ msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "Gagal untuk memberhentikan advertisement, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "Gagal untuk menulis nilai atribut, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "Gagal untuk menulis nilai gatts, status: 0x%08lX"
#~ msgid "GPIO16 does not support pull up."
#~ msgstr "GPIO16 tidak mendukung pull up"
@ -2878,7 +2835,7 @@ msgstr ""
#~ msgid "STA required"
#~ msgstr "STA dibutuhkan"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX"
#~ msgstr "Dukungan soft device, id: 0x%08lX, pc: 0x%08l"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -478,11 +478,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr ""
@ -576,11 +571,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@ -590,15 +580,6 @@ msgstr ""
msgid "Failed to acquire mutex, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr ""
@ -609,10 +590,6 @@ msgstr ""
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -621,93 +598,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to discover services"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get softdevice state"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr ""
#: ports/nrf/sd_mutex.c
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr ""
#: py/moduerrno.c
msgid "File exists"
msgstr ""
@ -770,6 +665,14 @@ msgstr ""
msgid "Input/output error"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1119,7 +1022,7 @@ msgstr ""
msgid "Running in safe mode! Not running saved code.\n"
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr ""
@ -1301,11 +1204,32 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: Pascal Deneaux\n"
"Language-Team: Sebastian Plamauer, Pascal Deneaux\n"
@ -482,11 +482,6 @@ msgstr "Beschädigte .mpy Datei"
msgid "Corrupt raw code"
msgstr "Beschädigter raw code"
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr "Konnte ble_uuid nicht decodieren. Status: 0x%04x"
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Konnte UART nicht initialisieren"
@ -580,11 +575,6 @@ msgstr "Erwartet eine Adresse"
msgid "Expected tuple of length %d, got %d"
msgstr "Habe ein Tupel der Länge %d erwartet aber %d erhalten"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Kommando nicht gesendet."
@ -594,15 +584,6 @@ msgstr "Kommando nicht gesendet."
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Mutex konnte nicht akquiriert werden. Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr "Deskriptor konnte nicht hinzugefügt werden. Status: 0x%04x"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Konnte keinen RX Buffer allozieren"
@ -613,10 +594,6 @@ msgstr "Konnte keinen RX Buffer allozieren"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Konnte keine RX Buffer mit %d allozieren"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -625,93 +602,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr "Verbindung nicht erfolgreich: timeout"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to discover services"
msgstr "Es konnten keine Dienste gefunden werden"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr "Lokale Adresse konnte nicht abgerufen werden"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get softdevice state"
msgstr "Fehler beim Abrufen des Softdevice-Status"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr "Koppeln fehlgeschlagen"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "Kann CCCD value nicht lesen. Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr "Kann Attributwert nicht lesen, Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "gatts value konnte nicht gelesen werden. Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Kann keine herstellerspezifische UUID hinzufügen. Status: 0x%04x"
#: ports/nrf/sd_mutex.c
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Mutex konnte nicht freigegeben werden. Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr "Verbindung konnte nicht hergestellt werden. Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "Der Scanvorgang kann nicht gestartet werden. Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr "Konnte CCCD nicht schreiben, Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "Kann den Attributwert nicht schreiben. Status: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "gatts value konnte nicht geschrieben werden. Status: 0x%04x"
#: py/moduerrno.c
msgid "File exists"
msgstr "Datei existiert"
@ -736,7 +631,9 @@ msgstr ""
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused."
msgstr "Die aufgezeichnete Frequenz liegt über der Leistungsgrenze. Aufnahme angehalten."
msgstr ""
"Die aufgezeichnete Frequenz liegt über der Leistungsgrenze. Aufnahme "
"angehalten."
#: shared-bindings/bitbangio/I2C.c shared-bindings/bitbangio/SPI.c
#: shared-bindings/busio/I2C.c shared-bindings/busio/SPI.c
@ -776,6 +673,14 @@ msgstr "Inkorrekte Puffergröße"
msgid "Input/output error"
msgstr "Eingabe-/Ausgabefehler"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1140,7 +1045,7 @@ msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n"
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA oder SCL brauchen pull up"
@ -1336,6 +1241,21 @@ msgstr "Schreiben in nvm nicht möglich."
msgid "Unexpected nrfx uuid type"
msgstr "Unerwarteter nrfx uuid-Typ"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
@ -1343,6 +1263,12 @@ msgstr ""
"Nicht übereinstimmende Anzahl von Elementen auf der rechten Seite (erwartet "
"%d, %d erhalten)."
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Baudrate wird nicht unterstützt"
@ -2794,6 +2720,10 @@ msgstr ""
#~ msgid "Characteristic already in use by another Service."
#~ msgstr "Characteristic wird bereits von einem anderen Dienst verwendet."
#, c-format
#~ msgid "Could not decode ble_uuid, err 0x%04x"
#~ msgstr "Konnte ble_uuid nicht decodieren. Status: 0x%04x"
#~ msgid "Data too large for the advertisement packet"
#~ msgstr "Daten sind zu groß für das advertisement packet"
@ -2816,14 +2746,16 @@ msgstr ""
#~ msgid "Failed to acquire mutex"
#~ msgstr "Akquirieren des Mutex gescheitert"
#, c-format
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Hinzufügen des Characteristic ist gescheitert. Status: 0x%04x"
#, c-format
#~ msgid "Failed to add descriptor, err 0x%04x"
#~ msgstr "Deskriptor konnte nicht hinzugefügt werden. Status: 0x%04x"
#~ msgid "Failed to add service"
#~ msgstr "Dienst konnte nicht hinzugefügt werden"
#, c-format
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Dienst konnte nicht hinzugefügt werden. Status: 0x%04x"
@ -2836,47 +2768,90 @@ msgstr ""
#~ msgid "Failed to continue scanning"
#~ msgstr "Der Scanvorgang kann nicht fortgesetzt werden"
#, c-format
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "Der Scanvorgang kann nicht fortgesetzt werden. Status: 0x%04x"
#~ msgid "Failed to create mutex"
#~ msgstr "Erstellen des Mutex ist fehlgeschlagen"
#~ msgid "Failed to discover services"
#~ msgstr "Es konnten keine Dienste gefunden werden"
#~ msgid "Failed to get local address"
#~ msgstr "Lokale Adresse konnte nicht abgerufen werden"
#~ msgid "Failed to get softdevice state"
#~ msgstr "Fehler beim Abrufen des Softdevice-Status"
#~ msgid "Failed to notify or indicate attribute value, err %0x04x"
#~ msgstr "Kann den Attributwert nicht mitteilen. Status: 0x%04x"
#~ msgid "Failed to pair"
#~ msgstr "Koppeln fehlgeschlagen"
#, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "Kann CCCD value nicht lesen. Status: 0x%04x"
#~ msgid "Failed to read attribute value, err %0x04x"
#~ msgstr "Kann den Attributwert nicht lesen. Status: 0x%04x"
#, c-format
#~ msgid "Failed to read attribute value, err 0x%04x"
#~ msgstr "Kann Attributwert nicht lesen, Status: 0x%04x"
#, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "gatts value konnte nicht gelesen werden. Status: 0x%04x"
#, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr "Kann keine herstellerspezifische UUID hinzufügen. Status: 0x%04x"
#~ msgid "Failed to release mutex"
#~ msgstr "Loslassen des Mutex gescheitert"
#, c-format
#~ msgid "Failed to set device name, err 0x%04x"
#~ msgstr "Gerätename konnte nicht gesetzt werden, Status: 0x%04x"
#~ msgid "Failed to start advertising"
#~ msgstr "Kann advertisement nicht starten"
#, c-format
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "Kann advertisement nicht starten. Status: 0x%04x"
#, c-format
#~ msgid "Failed to start connecting, error 0x%04x"
#~ msgstr "Verbindung konnte nicht hergestellt werden. Status: 0x%04x"
#~ msgid "Failed to start pairing, error 0x%04x"
#~ msgstr "Starten des Koppelns fehlgeschlagen, Status: 0x%04x"
#~ msgid "Failed to start scanning"
#~ msgstr "Der Scanvorgang kann nicht gestartet werden"
#, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "Der Scanvorgang kann nicht gestartet werden. Status: 0x%04x"
#~ msgid "Failed to stop advertising"
#~ msgstr "Kann advertisement nicht stoppen"
#, c-format
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "Kann advertisement nicht stoppen. Status: 0x%04x"
#, c-format
#~ msgid "Failed to write CCCD, err 0x%04x"
#~ msgstr "Konnte CCCD nicht schreiben, Status: 0x%04x"
#, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "Kann den Attributwert nicht schreiben. Status: 0x%04x"
#, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "gatts value konnte nicht geschrieben werden. Status: 0x%04x"
#~ msgid "Function requires lock."
#~ msgstr ""
#~ "Die Funktion erwartet, dass der 'lock'-Befehl zuvor ausgeführt wurde"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -478,11 +478,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr ""
@ -576,11 +571,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@ -590,15 +580,6 @@ msgstr ""
msgid "Failed to acquire mutex, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr ""
@ -609,10 +590,6 @@ msgstr ""
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -621,93 +598,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to discover services"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get softdevice state"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr ""
#: ports/nrf/sd_mutex.c
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr ""
#: py/moduerrno.c
msgid "File exists"
msgstr ""
@ -770,6 +665,14 @@ msgstr ""
msgid "Input/output error"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1119,7 +1022,7 @@ msgstr ""
msgid "Running in safe mode! Not running saved code.\n"
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr ""
@ -1301,11 +1204,32 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: @sommersoft, @MrCertainly\n"
@ -482,11 +482,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr ""
@ -580,11 +575,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@ -594,15 +584,6 @@ msgstr ""
msgid "Failed to acquire mutex, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr ""
@ -613,10 +594,6 @@ msgstr ""
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -625,93 +602,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to discover services"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get softdevice state"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr ""
#: ports/nrf/sd_mutex.c
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr ""
#: py/moduerrno.c
msgid "File exists"
msgstr ""
@ -774,6 +669,14 @@ msgstr ""
msgid "Input/output error"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1123,7 +1026,7 @@ msgstr "Runnin' in safe mode! Auto-reload be off.\n"
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Runnin' in safe mode! Nay runnin' saved code.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr ""
@ -1305,11 +1208,32 @@ msgstr ""
msgid "Unexpected nrfx uuid type"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2018-08-24 22:56-0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -486,11 +486,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr "No se puede descodificar ble_uuid, err 0x%04x"
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "No se puede inicializar la UART"
@ -584,11 +579,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr "Se esperaba un tuple de %d, se obtuvo %d"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Fallo enviando comando"
@ -598,15 +588,6 @@ msgstr "Fallo enviando comando"
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "No se puede adquirir el mutex, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Ha fallado la asignación del buffer RX"
@ -617,10 +598,6 @@ msgstr "Ha fallado la asignación del buffer RX"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Falló la asignación del buffer RX de %d bytes"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -629,94 +606,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
#, fuzzy
msgid "Failed to discover services"
msgstr "No se puede descubrir servicios"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr "No se puede obtener la dirección local"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get softdevice state"
msgstr "No se puede obtener el estado del softdevice"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr "Error al notificar o indicar el valor del atributo, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "No se puede leer el valor del atributo. err 0x%02x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr "Error al leer valor del atributo, err 0x%04"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "No se puede escribir el valor del atributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Fallo al registrar el Vendor-Specific UUID, err 0x%04x"
#: ports/nrf/sd_mutex.c
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "No se puede liberar el mutex, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "No se puede iniciar el escaneo. err 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "No se puede escribir el valor del atributo. err: 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "No se puede escribir el valor del atributo. err: 0x%04x"
#: py/moduerrno.c
msgid "File exists"
msgstr "El archivo ya existe"
@ -781,6 +675,14 @@ msgstr "Tamaño incorrecto del buffer"
msgid "Input/output error"
msgstr "error Input/output"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1145,7 +1047,7 @@ msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n"
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Ejecutando en modo seguro! No se esta ejecutando el código guardado.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA o SCL necesitan una pull up"
@ -1339,11 +1241,32 @@ msgstr "Imposible escribir en nvm"
msgid "Unexpected nrfx uuid type"
msgstr "Tipo de uuid nrfx inesperado"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr "Número incomparable de elementos en RHS (%d esperado,%d obtenido)"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Baudrate no soportado"
@ -2795,6 +2718,10 @@ msgstr "paso cero"
#~ msgid "Characteristic already in use by another Service."
#~ msgstr "Características ya esta en uso por otro Serivice"
#, c-format
#~ msgid "Could not decode ble_uuid, err 0x%04x"
#~ msgstr "No se puede descodificar ble_uuid, err 0x%04x"
#, fuzzy
#~ msgid "Data too large for the advertisement packet"
#~ msgstr "Los datos no caben en el paquete de anuncio."
@ -2815,7 +2742,7 @@ msgstr "paso cero"
#~ msgid "Failed to acquire mutex"
#~ msgstr "No se puede adquirir el mutex, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Fallo al añadir caracteristica, err: 0x%08lX"
@ -2823,7 +2750,6 @@ msgstr "paso cero"
#~ msgid "Failed to add service"
#~ msgstr "No se puede detener el anuncio. status: 0x%02x"
#, c-format
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Fallo al agregar servicio. err: 0x%02x"
@ -2838,7 +2764,6 @@ msgstr "paso cero"
#~ msgid "Failed to continue scanning"
#~ msgstr "No se puede iniciar el escaneo. status: 0x%02x"
#, c-format
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "No se puede iniciar el escaneo. err: 0x%02x"
@ -2846,14 +2771,44 @@ msgstr "paso cero"
#~ msgid "Failed to create mutex"
#~ msgstr "No se puede leer el valor del atributo. status 0x%02x"
#, fuzzy
#~ msgid "Failed to discover services"
#~ msgstr "No se puede descubrir servicios"
#~ msgid "Failed to get local address"
#~ msgstr "No se puede obtener la dirección local"
#~ msgid "Failed to get softdevice state"
#~ msgstr "No se puede obtener el estado del softdevice"
#, fuzzy
#~ msgid "Failed to notify or indicate attribute value, err %0x04x"
#~ msgstr "No se puede notificar el valor del anuncio. status: 0x%02x"
#, c-format
#~ msgid "Failed to notify or indicate attribute value, err 0x%04x"
#~ msgstr "Error al notificar o indicar el valor del atributo, err 0x%04x"
#, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "No se puede leer el valor del atributo. err 0x%02x"
#, fuzzy
#~ msgid "Failed to read attribute value, err %0x04x"
#~ msgstr "No se puede leer el valor del atributo. status 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to read attribute value, err 0x%04x"
#~ msgstr "Error al leer valor del atributo, err 0x%04"
#, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "No se puede escribir el valor del atributo. status: 0x%02x"
#, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr "Fallo al registrar el Vendor-Specific UUID, err 0x%04x"
#, fuzzy
#~ msgid "Failed to release mutex"
#~ msgstr "No se puede liberar el mutex, status: 0x%08lX"
@ -2862,7 +2817,6 @@ msgstr "paso cero"
#~ msgid "Failed to start advertising"
#~ msgstr "No se puede inicar el anuncio. status: 0x%02x"
#, c-format
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "No se puede inicar el anuncio. err: 0x%04x"
@ -2870,14 +2824,25 @@ msgstr "paso cero"
#~ msgid "Failed to start scanning"
#~ msgstr "No se puede iniciar el escaneo. status: 0x%02x"
#, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "No se puede iniciar el escaneo. err 0x%04x"
#, fuzzy
#~ msgid "Failed to stop advertising"
#~ msgstr "No se puede detener el anuncio. status: 0x%02x"
#, c-format
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "No se puede detener el anuncio. err: 0x%04x"
#, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "No se puede escribir el valor del atributo. err: 0x%04x"
#, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "No se puede escribir el valor del atributo. err: 0x%04x"
#~ msgid "Function requires lock."
#~ msgstr "La función requiere lock"
@ -2952,7 +2917,6 @@ msgstr "paso cero"
#~ msgid "STA required"
#~ msgstr "STA requerido"
#, c-format
#~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX"
#~ msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@ -487,11 +487,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Hindi ma-initialize ang UART"
@ -590,11 +585,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@ -604,15 +594,6 @@ msgstr ""
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Nabigong ilaan ang RX buffer"
@ -623,10 +604,6 @@ msgstr "Nabigong ilaan ang RX buffer"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Nabigong ilaan ang RX buffer ng %d bytes"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -635,96 +612,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
#, fuzzy
msgid "Failed to discover services"
msgstr "Nabigo sa pagdiscover ng services, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Failed to get local address"
msgstr "Nabigo sa pagkuha ng local na address, , error: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Failed to get softdevice state"
msgstr "Nabigo sa pagkuha ng softdevice state, error: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, fuzzy, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "Hindi maisulat ang gatts value, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/UUID.c
#, fuzzy, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Hindi matagumpay ang paglagay ng Vender Specific UUID, status: 0x%08lX"
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Nabigo sa pagrelease ng mutex, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "Hindi maisulat ang attribute value, status: 0x%08lX"
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "Hindi maisulat ang gatts value, status: 0x%08lX"
#: py/moduerrno.c
msgid "File exists"
msgstr "Mayroong file"
@ -789,6 +681,14 @@ msgstr ""
msgid "Input/output error"
msgstr "May mali sa Input/Output"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1151,7 +1051,7 @@ msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n"
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "Kailangan ng pull up resistors ang SDA o SCL"
@ -1344,11 +1244,32 @@ msgstr "Hindi ma i-sulat sa NVM."
msgid "Unexpected nrfx uuid type"
msgstr "hindi inaasahang indent"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Hindi supportadong baudrate"
@ -2820,7 +2741,7 @@ msgstr "zero step"
#~ msgid "Failed to acquire mutex"
#~ msgstr "Nabigo sa pag kuha ng mutex, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Nabigo sa paglagay ng characteristic, status: 0x%08lX"
@ -2828,7 +2749,7 @@ msgstr "zero step"
#~ msgid "Failed to add service"
#~ msgstr "Hindi matagumpay ang paglagay ng service, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Hindi matagumpay ang paglagay ng service, status: 0x%08lX"
@ -2844,7 +2765,7 @@ msgstr "zero step"
#~ msgid "Failed to continue scanning"
#~ msgstr "Hindi maituloy ang pag scan, status: 0x%0xlX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "Hindi maituloy ang pag scan, status: 0x%0xlX"
@ -2852,14 +2773,39 @@ msgstr "zero step"
#~ msgid "Failed to create mutex"
#~ msgstr "Hindi matagumpay ang pagbuo ng mutex, status: 0x%0xlX"
#, fuzzy
#~ msgid "Failed to discover services"
#~ msgstr "Nabigo sa pagdiscover ng services, status: 0x%08lX"
#, fuzzy
#~ msgid "Failed to get local address"
#~ msgstr "Nabigo sa pagkuha ng local na address, , error: 0x%08lX"
#, fuzzy
#~ msgid "Failed to get softdevice state"
#~ msgstr "Nabigo sa pagkuha ng softdevice state, error: 0x%08lX"
#, fuzzy
#~ msgid "Failed to notify or indicate attribute value, err %0x04x"
#~ msgstr "Hindi mabalitaan ang attribute value, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX"
#, fuzzy
#~ msgid "Failed to read attribute value, err %0x04x"
#~ msgstr "Hindi mabasa ang value ng attribute, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "Hindi maisulat ang gatts value, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr ""
#~ "Hindi matagumpay ang paglagay ng Vender Specific UUID, status: 0x%08lX"
#, fuzzy
#~ msgid "Failed to release mutex"
#~ msgstr "Nabigo sa pagrelease ng mutex, status: 0x%08lX"
@ -2868,7 +2814,7 @@ msgstr "zero step"
#~ msgid "Failed to start advertising"
#~ msgstr "Hindi masimulaan ang advertisement, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "Hindi masimulaan ang advertisement, status: 0x%08lX"
@ -2876,14 +2822,26 @@ msgstr "zero step"
#~ msgid "Failed to start scanning"
#~ msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX"
#, fuzzy, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "Hindi masimulaan mag i-scan, status: 0x%0xlX"
#, fuzzy
#~ msgid "Failed to stop advertising"
#~ msgstr "Hindi mahinto ang advertisement, status: 0x%08lX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "Hindi mahinto ang advertisement, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "Hindi maisulat ang attribute value, status: 0x%08lX"
#, fuzzy, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "Hindi maisulat ang gatts value, status: 0x%08lX"
#~ msgid "Function requires lock."
#~ msgstr "Kailangan ng lock ang function."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2019-04-14 20:05+0100\n"
"Last-Translator: Pierrick Couturier <arofarn@arofarn.info>\n"
"Language-Team: fr\n"
@ -493,11 +493,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr "Impossible de décoder le 'ble_uuid', err 0x%04x"
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "L'UART n'a pu être initialisé"
@ -594,11 +589,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr "Tuple de longueur %d attendu, obtenu %d"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@ -608,15 +598,6 @@ msgstr ""
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Echec de l'obtention de mutex, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Echec de l'allocation du tampon RX"
@ -627,10 +608,6 @@ msgstr "Echec de l'allocation du tampon RX"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Echec de l'allocation de %d octets du tampon RX"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -639,97 +616,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
#, fuzzy
msgid "Failed to discover services"
msgstr "Echec de la découverte de services"
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Failed to get local address"
msgstr "Echec de l'obtention de l'adresse locale"
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Failed to get softdevice state"
msgstr "Echec de l'obtention de l'état du périphérique"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr ""
"Impossible de notifier ou d'indiquer la valeur de l'attribut, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, fuzzy, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "Impossible de lire la valeur 'CCCD', err 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr "Impossible de lire la valeur de l'attribut, err 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "Impossible de lire la valeur de 'gatts', err 0x%04x"
#: ports/nrf/common-hal/_bleio/UUID.c
#, fuzzy, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Echec de l'ajout de l'UUID du fournisseur, err 0x%04x"
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Impossible de libérer mutex, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "Impossible de commencer à scanner, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "Impossible d'écrire la valeur de l'attribut, err 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "Impossible d'écrire la valeur de 'gatts', err 0x%04x"
#: py/moduerrno.c
msgid "File exists"
msgstr "Le fichier existe"
@ -794,6 +685,14 @@ msgstr "Taille de tampon incorrecte"
msgid "Input/output error"
msgstr "Erreur d'entrée/sortie"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1166,7 +1065,7 @@ msgstr "Mode sans-échec! Auto-chargement désactivé.\n"
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Mode sans-échec! Le code sauvegardé n'est pas éxecuté.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')"
@ -1367,12 +1266,33 @@ msgstr "Impossible d'écrire sur la mémoire non-volatile."
msgid "Unexpected nrfx uuid type"
msgstr "Type inattendu pour l'uuid nrfx"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr ""
"Pas de correspondance du nombres d'éléments à droite (attendu %d, obtenu %d)"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Débit non supporté"
@ -2849,6 +2769,10 @@ msgstr "'step' nul"
#~ msgid "Characteristic already in use by another Service."
#~ msgstr "'Characteristic' déjà en utilisation par un autre service"
#, c-format
#~ msgid "Could not decode ble_uuid, err 0x%04x"
#~ msgstr "Impossible de décoder le 'ble_uuid', err 0x%04x"
#~ msgid "Data too large for the advertisement packet"
#~ msgstr "Données trop volumineuses pour le paquet de diffusion"
@ -2868,7 +2792,7 @@ msgstr "'step' nul"
#~ msgid "Failed to acquire mutex"
#~ msgstr "Echec de l'obtention de mutex"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Echec de l'ajout de caractéristique, err 0x%04x"
@ -2876,7 +2800,7 @@ msgstr "'step' nul"
#~ msgid "Failed to add service"
#~ msgstr "Echec de l'ajout de service"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Echec de l'ajout de service, err 0x%04x"
@ -2892,7 +2816,7 @@ msgstr "'step' nul"
#~ msgid "Failed to continue scanning"
#~ msgstr "Impossible de poursuivre le scan"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "Impossible de poursuivre le scan, err 0x%04x"
@ -2900,14 +2824,47 @@ msgstr "'step' nul"
#~ msgid "Failed to create mutex"
#~ msgstr "Echec de la création de mutex"
#, fuzzy
#~ msgid "Failed to discover services"
#~ msgstr "Echec de la découverte de services"
#, fuzzy
#~ msgid "Failed to get local address"
#~ msgstr "Echec de l'obtention de l'adresse locale"
#, fuzzy
#~ msgid "Failed to get softdevice state"
#~ msgstr "Echec de l'obtention de l'état du périphérique"
#, fuzzy
#~ msgid "Failed to notify or indicate attribute value, err %0x04x"
#~ msgstr "Impossible de notifier la valeur de l'attribut. status: 0x%08lX"
#, c-format
#~ msgid "Failed to notify or indicate attribute value, err 0x%04x"
#~ msgstr ""
#~ "Impossible de notifier ou d'indiquer la valeur de l'attribut, err 0x%04x"
#, fuzzy, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "Impossible de lire la valeur 'CCCD', err 0x%04x"
#, fuzzy
#~ msgid "Failed to read attribute value, err %0x04x"
#~ msgstr "Impossible de lire la valeur de l'attribut. status: 0x%08lX"
#, c-format
#~ msgid "Failed to read attribute value, err 0x%04x"
#~ msgstr "Impossible de lire la valeur de l'attribut, err 0x%04x"
#, fuzzy, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "Impossible de lire la valeur de 'gatts', err 0x%04x"
#, fuzzy, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr "Echec de l'ajout de l'UUID du fournisseur, err 0x%04x"
#, fuzzy
#~ msgid "Failed to release mutex"
#~ msgstr "Impossible de libérer mutex"
@ -2916,7 +2873,7 @@ msgstr "'step' nul"
#~ msgid "Failed to start advertising"
#~ msgstr "Echec du démarrage de la diffusion"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "Impossible de commencer à diffuser, err 0x%04x"
@ -2924,14 +2881,26 @@ msgstr "'step' nul"
#~ msgid "Failed to start scanning"
#~ msgstr "Impossible de commencer à scanner"
#, fuzzy, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "Impossible de commencer à scanner, err 0x%04x"
#, fuzzy
#~ msgid "Failed to stop advertising"
#~ msgstr "Echec de l'arrêt de diffusion"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "Echec de l'arrêt de diffusion, err 0x%04x"
#, fuzzy, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "Impossible d'écrire la valeur de l'attribut, err 0x%04x"
#, fuzzy, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "Impossible d'écrire la valeur de 'gatts', err 0x%04x"
#~ msgid "Function requires lock."
#~ msgstr "La fonction nécessite un verrou."
@ -3003,7 +2972,6 @@ msgstr "'step' nul"
#~ msgid "STA required"
#~ msgstr "'STA' requis"
#, c-format
#~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX"
#~ msgstr "Assertion en mode 'soft-device', id: 0x%08lX, pc: 0x%08lX"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@ -488,11 +488,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Impossibile inizializzare l'UART"
@ -590,11 +585,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@ -604,15 +594,6 @@ msgstr ""
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Impossibile allocare buffer RX"
@ -623,10 +604,6 @@ msgstr "Impossibile allocare buffer RX"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Fallita allocazione del buffer RX di %d byte"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -635,95 +612,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
#, fuzzy
msgid "Failed to discover services"
msgstr "Impossibile fermare advertisement. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Failed to get softdevice state"
msgstr "Impossibile fermare advertisement. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr "Notificamento o indicazione di attribute value fallito, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, fuzzy, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr "Tentative leggere attribute value fallito, err 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/UUID.c
#, fuzzy, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Non è possibile aggiungere l'UUID del vendor specifico da 128-bit"
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "Impossible iniziare la scansione. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x"
#: py/moduerrno.c
msgid "File exists"
msgstr "File esistente"
@ -788,6 +681,14 @@ msgstr ""
msgid "Input/output error"
msgstr "Errore input/output"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1155,7 +1056,7 @@ msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n"
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA o SCL necessitano un pull-up"
@ -1343,11 +1244,32 @@ msgstr "Imposibile scrivere su nvm."
msgid "Unexpected nrfx uuid type"
msgstr "indentazione inaspettata"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "baudrate non supportato"
@ -2824,7 +2746,7 @@ msgstr "zero step"
#~ msgid "Failed to acquire mutex"
#~ msgstr "Impossibile allocare buffer RX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Impossibile fermare advertisement. status: 0x%02x"
@ -2832,7 +2754,7 @@ msgstr "zero step"
#~ msgid "Failed to add service"
#~ msgstr "Impossibile fermare advertisement. status: 0x%02x"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Impossibile fermare advertisement. status: 0x%02x"
@ -2848,7 +2770,7 @@ msgstr "zero step"
#~ msgid "Failed to continue scanning"
#~ msgstr "Impossible iniziare la scansione. status: 0x%02x"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "Impossible iniziare la scansione. status: 0x%02x"
@ -2856,14 +2778,42 @@ msgstr "zero step"
#~ msgid "Failed to create mutex"
#~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to discover services"
#~ msgstr "Impossibile fermare advertisement. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to get softdevice state"
#~ msgstr "Impossibile fermare advertisement. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to notify or indicate attribute value, err %0x04x"
#~ msgstr "Impossibile notificare valore dell'attributo. status: 0x%02x"
#, c-format
#~ msgid "Failed to notify or indicate attribute value, err 0x%04x"
#~ msgstr "Notificamento o indicazione di attribute value fallito, err 0x%04x"
#, fuzzy, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to read attribute value, err %0x04x"
#~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
#, c-format
#~ msgid "Failed to read attribute value, err 0x%04x"
#~ msgstr "Tentative leggere attribute value fallito, err 0x%04x"
#, fuzzy, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr "Non è possibile aggiungere l'UUID del vendor specifico da 128-bit"
#, fuzzy
#~ msgid "Failed to release mutex"
#~ msgstr "Impossibile leggere valore dell'attributo. status: 0x%02x"
@ -2872,7 +2822,7 @@ msgstr "zero step"
#~ msgid "Failed to start advertising"
#~ msgstr "Impossibile avviare advertisement. status: 0x%02x"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "Impossibile avviare advertisement. status: 0x%02x"
@ -2880,14 +2830,26 @@ msgstr "zero step"
#~ msgid "Failed to start scanning"
#~ msgstr "Impossible iniziare la scansione. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "Impossible iniziare la scansione. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to stop advertising"
#~ msgstr "Impossibile fermare advertisement. status: 0x%02x"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "Impossibile fermare advertisement. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "Impossibile scrivere valore dell'attributo. status: 0x%02x"
#~ msgid "GPIO16 does not support pull up."
#~ msgstr "GPIO16 non supporta pull-up"

2649
locale/ko.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2019-03-19 18:37-0700\n"
"Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n"
"Language-Team: pl\n"
@ -481,11 +481,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr "Nie można zdekodować ble_uuid, błąd 0x%04x"
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Ustawienie UART nie powiodło się"
@ -579,11 +574,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr "Oczekiwano krotkę długości %d, otrzymano %d"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr ""
@ -593,15 +583,6 @@ msgstr ""
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Nie udało się uzyskać blokady, błąd 0x$04x"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Nie udała się alokacja bufora RX"
@ -612,10 +593,6 @@ msgstr "Nie udała się alokacja bufora RX"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Nie udała się alokacja %d bajtów na bufor RX"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -624,93 +601,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to discover services"
msgstr "Nie udało się odkryć serwisów"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr "Nie udało się uzyskać lokalnego adresu"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get softdevice state"
msgstr "Nie udało się odczytać stanu softdevice"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr "Nie udało się powiadomić o wartości atrybutu, błąd 0x%04x"
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "Nie udało się odczytać CCCD, błąd 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr "Nie udało się odczytać wartości atrybutu, błąd 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "Nie udało się odczytać gatts, błąd 0x%04x"
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Nie udało się zarejestrować UUID dostawcy, błąd 0x%04x"
#: ports/nrf/sd_mutex.c
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Nie udało się zwolnić blokady, błąd 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "Nie udało się rozpocząć skanowania, błąd 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "Nie udało się zapisać atrybutu, błąd 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "Nie udało się zapisać gatts, błąd 0x%04x"
#: py/moduerrno.c
msgid "File exists"
msgstr "Plik istnieje"
@ -775,6 +670,14 @@ msgstr "Niewłaściwa wielkość bufora"
msgid "Input/output error"
msgstr "Błąd I/O"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1129,7 +1032,7 @@ msgstr "Uruchomiony tryb bezpieczeństwa! Samo-przeładowanie wyłączone.\n"
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Uruchomiony tryb bezpieczeństwa! Zapisany kod nie jest uruchamiany.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA lub SCL wymagają podciągnięcia"
@ -1321,11 +1224,32 @@ msgstr "Błąd zapisu do NVM."
msgid "Unexpected nrfx uuid type"
msgstr "Nieoczekiwany typ nrfx uuid."
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr "Zła liczba obiektów po prawej stronie (oczekiwano %d, jest %d)."
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Zła szybkość transmisji"
@ -2740,20 +2664,23 @@ msgstr "zerowy krok"
#~ msgid "Characteristic already in use by another Service."
#~ msgstr "Charakterystyka w użyciu w innym serwisie"
#, c-format
#~ msgid "Could not decode ble_uuid, err 0x%04x"
#~ msgstr "Nie można zdekodować ble_uuid, błąd 0x%04x"
#~ msgid "Data too large for the advertisement packet"
#~ msgstr "Zbyt dużo danych pakietu rozgłoszeniowego"
#~ msgid "Failed to acquire mutex"
#~ msgstr "Nie udało się uzyskać blokady"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Nie udało się dodać charakterystyki, błąd 0x$04x"
#~ msgid "Failed to add service"
#~ msgstr "Nie udało się dodać serwisu"
#, c-format
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Nie udało się dodać serwisu, błąd 0x%04x"
@ -2766,33 +2693,71 @@ msgstr "zerowy krok"
#~ msgid "Failed to continue scanning"
#~ msgstr "Nie udała się kontynuacja skanowania"
#, c-format
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "Nie udała się kontynuacja skanowania, błąd 0x%04x"
#~ msgid "Failed to create mutex"
#~ msgstr "Nie udało się stworzyć blokady"
#~ msgid "Failed to discover services"
#~ msgstr "Nie udało się odkryć serwisów"
#~ msgid "Failed to get local address"
#~ msgstr "Nie udało się uzyskać lokalnego adresu"
#~ msgid "Failed to get softdevice state"
#~ msgstr "Nie udało się odczytać stanu softdevice"
#, c-format
#~ msgid "Failed to notify or indicate attribute value, err 0x%04x"
#~ msgstr "Nie udało się powiadomić o wartości atrybutu, błąd 0x%04x"
#, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "Nie udało się odczytać CCCD, błąd 0x%04x"
#, c-format
#~ msgid "Failed to read attribute value, err 0x%04x"
#~ msgstr "Nie udało się odczytać wartości atrybutu, błąd 0x%04x"
#, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "Nie udało się odczytać gatts, błąd 0x%04x"
#, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr "Nie udało się zarejestrować UUID dostawcy, błąd 0x%04x"
#~ msgid "Failed to release mutex"
#~ msgstr "Nie udało się zwolnić blokady"
#~ msgid "Failed to start advertising"
#~ msgstr "Nie udało się rozpocząć rozgłaszania"
#, c-format
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "Nie udało się rozpocząć rozgłaszania, błąd 0x%04x"
#~ msgid "Failed to start scanning"
#~ msgstr "Nie udało się rozpocząć skanowania"
#, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "Nie udało się rozpocząć skanowania, błąd 0x%04x"
#~ msgid "Failed to stop advertising"
#~ msgstr "Nie udało się zatrzymać rozgłaszania"
#, c-format
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "Nie udało się zatrzymać rozgłaszania, błąd 0x%04x"
#, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "Nie udało się zapisać atrybutu, błąd 0x%04x"
#, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "Nie udało się zapisać gatts, błąd 0x%04x"
#~ msgid "Invalid bit clock pin"
#~ msgstr "Zła nóżka zegara"
@ -2810,7 +2775,6 @@ msgstr "zerowy krok"
#~ "bpp given"
#~ msgstr "Wspierane są tylko pliki BMP czarno-białe, 8bpp i 16bpp: %d bpp "
#, c-format
#~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX"
#~ msgstr "Soft device assert, id: 0x%08lX, pc: 0x%08lX"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2018-10-02 21:14-0000\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -484,11 +484,6 @@ msgstr ""
msgid "Corrupt raw code"
msgstr ""
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Não foi possível inicializar o UART"
@ -585,11 +580,6 @@ msgstr ""
msgid "Expected tuple of length %d, got %d"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Falha ao enviar comando."
@ -599,15 +589,6 @@ msgstr "Falha ao enviar comando."
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Não é possível ler o valor do atributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Falha ao alocar buffer RX"
@ -618,10 +599,6 @@ msgstr "Falha ao alocar buffer RX"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Falha ao alocar buffer RX de %d bytes"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -630,95 +607,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr ""
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
#, fuzzy
msgid "Failed to discover services"
msgstr "Não pode parar propaganda. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy
msgid "Failed to get softdevice state"
msgstr "Não pode parar propaganda. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, fuzzy, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "Não é possível ler o valor do atributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "Não é possível gravar o valor do atributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/UUID.c
#, fuzzy, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Não é possível adicionar o UUID de 128 bits específico do fornecedor."
#: ports/nrf/sd_mutex.c
#, fuzzy, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Não é possível ler o valor do atributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, fuzzy, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "Não é possível iniciar o anúncio. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "Não é possível gravar o valor do atributo. status: 0x%02x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, fuzzy, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "Não é possível gravar o valor do atributo. status: 0x%02x"
#: py/moduerrno.c
msgid "File exists"
msgstr "Arquivo já existe"
@ -781,6 +674,14 @@ msgstr ""
msgid "Input/output error"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1138,7 +1039,7 @@ msgstr "Rodando em modo seguro! Atualização automática está desligada.\n"
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Rodando em modo seguro! Não está executando o código salvo.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA ou SCL precisa de um pull up"
@ -1320,11 +1221,32 @@ msgstr "Não é possível gravar no nvm."
msgid "Unexpected nrfx uuid type"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Taxa de transmissão não suportada"
@ -2754,7 +2676,7 @@ msgstr "passo zero"
#~ msgid "Failed to acquire mutex"
#~ msgstr "Falha ao alocar buffer RX"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Não pode parar propaganda. status: 0x%02x"
@ -2762,7 +2684,7 @@ msgstr "passo zero"
#~ msgid "Failed to add service"
#~ msgstr "Não pode parar propaganda. status: 0x%02x"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Não pode parar propaganda. status: 0x%02x"
@ -2770,7 +2692,7 @@ msgstr "passo zero"
#~ msgid "Failed to change softdevice state"
#~ msgstr "Não pode parar propaganda. status: 0x%02x"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x"
@ -2778,14 +2700,35 @@ msgstr "passo zero"
#~ msgid "Failed to create mutex"
#~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to discover services"
#~ msgstr "Não pode parar propaganda. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to get softdevice state"
#~ msgstr "Não pode parar propaganda. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to notify or indicate attribute value, err %0x04x"
#~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to read attribute value, err %0x04x"
#~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr ""
#~ "Não é possível adicionar o UUID de 128 bits específico do fornecedor."
#, fuzzy
#~ msgid "Failed to release mutex"
#~ msgstr "Não é possível ler o valor do atributo. status: 0x%02x"
@ -2794,7 +2737,7 @@ msgstr "passo zero"
#~ msgid "Failed to start advertising"
#~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x"
@ -2802,14 +2745,26 @@ msgstr "passo zero"
#~ msgid "Failed to start scanning"
#~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "Não é possível iniciar o anúncio. status: 0x%02x"
#, fuzzy
#~ msgid "Failed to stop advertising"
#~ msgstr "Não pode parar propaganda. status: 0x%02x"
#, fuzzy, c-format
#, fuzzy
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "Não pode parar propaganda. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x"
#, fuzzy, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "Não é possível gravar o valor do atributo. status: 0x%02x"
#~ msgid "GPIO16 does not support pull up."
#~ msgstr "GPIO16 não suporta pull up."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: circuitpython-cn\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-10-21 19:50-0700\n"
"POT-Creation-Date: 2019-11-21 16:50-0800\n"
"PO-Revision-Date: 2019-04-13 10:10-0700\n"
"Last-Translator: hexthat\n"
"Language-Team: Chinese Hanyu Pinyin\n"
@ -482,11 +482,6 @@ msgstr "Fǔbài de .mpy wénjiàn"
msgid "Corrupt raw code"
msgstr "Sǔnhuài de yuánshǐ dàimǎ"
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Could not decode ble_uuid, err 0x%04x"
msgstr "Wúfǎ jiěmǎ kě dú_uuid, err 0x%04x"
#: ports/atmel-samd/common-hal/busio/UART.c
msgid "Could not initialize UART"
msgstr "Wúfǎ chūshǐhuà UART"
@ -580,11 +575,6 @@ msgstr "Qídài yīgè dìzhǐ"
msgid "Expected tuple of length %d, got %d"
msgstr "Qīwàng de chángdù wèi %d de yuán zǔ, dédào %d"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed initiate attribute read, err 0x%04x"
msgstr ""
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
msgstr "Fāsòng mìnglìng shībài."
@ -594,15 +584,6 @@ msgstr "Fāsòng mìnglìng shībài."
msgid "Failed to acquire mutex, err 0x%04x"
msgstr "Wúfǎ huòdé mutex, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to add characteristic, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to add descriptor, err 0x%04x"
msgstr "Wúfǎ tiānjiā miáoshù fú, err 0x%04x"
#: ports/atmel-samd/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
msgid "Failed to allocate RX buffer"
msgstr "Fēnpèi RX huǎnchōng shībài"
@ -613,10 +594,6 @@ msgstr "Fēnpèi RX huǎnchōng shībài"
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Fēnpèi RX huǎnchōng qū%d zì jié shībài"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to change softdevice state, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
msgstr ""
@ -625,93 +602,11 @@ msgstr ""
msgid "Failed to connect: timeout"
msgstr "Liánjiē shībài: Chāoshí"
#: ports/nrf/common-hal/_bleio/Service.c
msgid "Failed to create service, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to discover services"
msgstr "Fāxiàn fúwù shībài"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get local address"
msgstr "Huòqǔ běndì dìzhǐ shībài"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to get softdevice state"
msgstr "Wúfǎ huòdé ruǎnjiàn shèbèi zhuàngtài"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to notify or indicate attribute value, err 0x%04x"
msgstr "Wúfǎ tōngzhī huò xiǎnshì shǔxìng zhí, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to pair"
msgstr "Pèiduì shībài"
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to read CCCD value, err 0x%04x"
msgstr "Dòu qǔ CCCD zhí, err 0x%04x shībài"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read attribute value, err 0x%04x"
msgstr "Dòu qǔ shǔxìng zhí shībài, err 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to read gatts value, err 0x%04x"
msgstr "Wúfǎ dòu qǔ gatts zhí, err 0x%04x"
#: ports/nrf/common-hal/_bleio/UUID.c
#, c-format
msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
msgstr "Wúfǎ zhùcè màizhǔ tèdìng de UUID, err 0x%04x"
#: ports/nrf/sd_mutex.c
#, c-format
msgid "Failed to release mutex, err 0x%04x"
msgstr "Wúfǎ shìfàng mutex, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to start advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start connecting, error 0x%04x"
msgstr "Wúfǎ kāishǐ liánjiē, cuòwù 0x%04x"
#: ports/nrf/common-hal/_bleio/Connection.c
msgid "Failed to start pairing, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Adapter.c
#, c-format
msgid "Failed to start scanning, err 0x%04x"
msgstr "Qǐdòng sǎomiáo shībài, err 0x%04x"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to stop advertising, NRF_ERROR_%q"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#, c-format
msgid "Failed to write CCCD, err 0x%04x"
msgstr "Wúfǎ xiě rù CCCD, cuòwù 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write attribute value, err 0x%04x"
msgstr "Xiě rù shǔxìng zhí shībài, err 0x%04x"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Failed to write gatts value, err 0x%04x"
msgstr "Xiě rù gatts zhí,err 0x%04x shībài"
#: py/moduerrno.c
msgid "File exists"
msgstr "Wénjiàn cúnzài"
@ -776,6 +671,14 @@ msgstr "Huǎnchōng qū dàxiǎo bù zhèngquè"
msgid "Input/output error"
msgstr "Shūrù/shūchū cuòwù"
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient authentication"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
msgid "Insufficient encryption"
msgstr ""
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
@ -1133,7 +1036,7 @@ msgstr "Zài ānquán móshì xià yùnxíng! Zìdòng chóngxīn jiāzài yǐ g
msgid "Running in safe mode! Not running saved code.\n"
msgstr "Zài ānquán móshì xià yùnxíng! Bù yùnxíng yǐ bǎocún de dàimǎ.\n"
#: ports/atmel-samd/common-hal/busio/I2C.c
#: ports/atmel-samd/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "SDA or SCL needs a pull up"
msgstr "SDA huò SCL xūyào lādòng"
@ -1327,11 +1230,32 @@ msgstr "Wúfǎ xiě rù nvm."
msgid "Unexpected nrfx uuid type"
msgstr "Yìwài de nrfx uuid lèixíng"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown gatt error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown security error: 0x%04x"
msgstr ""
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
msgid "Unknown soft device error: %04x"
msgstr ""
#: shared-bindings/_pixelbuf/PixelBuf.c
#, c-format
msgid "Unmatched number of items on RHS (expected %d, got %d)."
msgstr "RHS (yùqí %d, huòdé %d) shàng wèi pǐpèi de xiàngmù."
#: ports/nrf/common-hal/_bleio/__init__.c
msgid ""
"Unspecified issue. Can be that the pairing prompt on the other device was "
"declined or ignored."
msgstr ""
#: ports/atmel-samd/common-hal/busio/I2C.c
msgid "Unsupported baudrate"
msgstr "Bù zhīchí de baudrate"
@ -2756,6 +2680,10 @@ msgstr "líng bù"
#~ msgid "Characteristic already in use by another Service."
#~ msgstr "Qítā fúwù bùmén yǐ shǐyòng de gōngnéng."
#, c-format
#~ msgid "Could not decode ble_uuid, err 0x%04x"
#~ msgstr "Wúfǎ jiěmǎ kě dú_uuid, err 0x%04x"
#~ msgid "Data too large for the advertisement packet"
#~ msgstr "Guǎnggào bāo de shùjù tài dà"
@ -2765,21 +2693,22 @@ msgstr "líng bù"
#~ msgid "Failed to acquire mutex"
#~ msgstr "Wúfǎ huòdé mutex"
#, c-format
#~ msgid "Failed to add characteristic, err 0x%04x"
#~ msgstr "Tiānjiā tèxìng shībài, err 0x%04x"
#, c-format
#~ msgid "Failed to add descriptor, err 0x%04x"
#~ msgstr "Wúfǎ tiānjiā miáoshù fú, err 0x%04x"
#~ msgid "Failed to add service"
#~ msgstr "Tiānjiā fúwù shībài"
#, c-format
#~ msgid "Failed to add service, err 0x%04x"
#~ msgstr "Tiānjiā fúwù shībài, err 0x%04x"
#~ msgid "Failed to change softdevice state"
#~ msgstr "Gēnggǎi ruǎn shèbèi zhuàngtài shībài"
#, c-format
#~ msgid "Failed to configure advertising, err 0x%04x"
#~ msgstr "Wúfǎ pèizhì guǎnggào, cuòwù 0x%04x"
@ -2789,41 +2718,88 @@ msgstr "líng bù"
#~ msgid "Failed to continue scanning"
#~ msgstr "Jìxù sǎomiáo shībài"
#, c-format
#~ msgid "Failed to continue scanning, err 0x%04x"
#~ msgstr "Jìxù sǎomiáo shībài, err 0x%04x"
#~ msgid "Failed to create mutex"
#~ msgstr "Wúfǎ chuàngjiàn hù chì suǒ"
#~ msgid "Failed to discover services"
#~ msgstr "Fāxiàn fúwù shībài"
#~ msgid "Failed to get local address"
#~ msgstr "Huòqǔ běndì dìzhǐ shībài"
#~ msgid "Failed to get softdevice state"
#~ msgstr "Wúfǎ huòdé ruǎnjiàn shèbèi zhuàngtài"
#, c-format
#~ msgid "Failed to notify or indicate attribute value, err 0x%04x"
#~ msgstr "Wúfǎ tōngzhī huò xiǎnshì shǔxìng zhí, err 0x%04x"
#~ msgid "Failed to pair"
#~ msgstr "Pèiduì shībài"
#, c-format
#~ msgid "Failed to read CCCD value, err 0x%04x"
#~ msgstr "Dòu qǔ CCCD zhí, err 0x%04x shībài"
#, c-format
#~ msgid "Failed to read attribute value, err 0x%04x"
#~ msgstr "Dòu qǔ shǔxìng zhí shībài, err 0x%04x"
#, c-format
#~ msgid "Failed to read gatts value, err 0x%04x"
#~ msgstr "Wúfǎ dòu qǔ gatts zhí, err 0x%04x"
#, c-format
#~ msgid "Failed to register Vendor-Specific UUID, err 0x%04x"
#~ msgstr "Wúfǎ zhùcè màizhǔ tèdìng de UUID, err 0x%04x"
#~ msgid "Failed to release mutex"
#~ msgstr "Wúfǎ shìfàng mutex"
#, c-format
#~ msgid "Failed to set device name, err 0x%04x"
#~ msgstr "Wúfǎ shèzhì shèbèi míngchēng, cuòwù 0x%04x"
#~ msgid "Failed to start advertising"
#~ msgstr "Qǐdòng guǎnggào shībài"
#, c-format
#~ msgid "Failed to start advertising, err 0x%04x"
#~ msgstr "Qǐdòng guǎnggào shībài, err 0x%04x"
#, c-format
#~ msgid "Failed to start connecting, error 0x%04x"
#~ msgstr "Wúfǎ kāishǐ liánjiē, cuòwù 0x%04x"
#~ msgid "Failed to start pairing, error 0x%04x"
#~ msgstr "Wúfǎ kāishǐ pèiduì, cuòwù 0x%04x"
#~ msgid "Failed to start scanning"
#~ msgstr "Qǐdòng sǎomiáo shībài"
#, c-format
#~ msgid "Failed to start scanning, err 0x%04x"
#~ msgstr "Qǐdòng sǎomiáo shībài, err 0x%04x"
#~ msgid "Failed to stop advertising"
#~ msgstr "Wúfǎ tíngzhǐ guǎnggào"
#, c-format
#~ msgid "Failed to stop advertising, err 0x%04x"
#~ msgstr "Wúfǎ tíngzhǐ guǎnggào, err 0x%04x"
#, c-format
#~ msgid "Failed to write CCCD, err 0x%04x"
#~ msgstr "Wúfǎ xiě rù CCCD, cuòwù 0x%04x"
#, c-format
#~ msgid "Failed to write attribute value, err 0x%04x"
#~ msgstr "Xiě rù shǔxìng zhí shībài, err 0x%04x"
#, c-format
#~ msgid "Failed to write gatts value, err 0x%04x"
#~ msgstr "Xiě rù gatts zhí,err 0x%04x shībài"
#~ msgid "Invalid bit clock pin"
#~ msgstr "Wúxiào de wèi shízhōng yǐn jiǎo"
@ -2854,7 +2830,6 @@ msgstr "líng bù"
#~ msgstr ""
#~ "Jǐn zhīchí dān sè, suǒyǐn 8bpp hé 16bpp huò gèng dà de BMP: %d bpp tígōng"
#, c-format
#~ msgid "Soft device assert, id: 0x%08lX, pc: 0x%08lX"
#~ msgstr "Ruǎn shèbèi wéihù, id: 0X%08lX, pc: 0X%08lX"

View File

@ -1,38 +0,0 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "boards/board.h"
void board_init(void)
{
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -1,42 +0,0 @@
#define MICROPY_HW_BOARD_NAME "Robo HAT MM1 M0"
#define MICROPY_HW_MCU_NAME "samd21g18"
#define MICROPY_HW_LED_STATUS (&pin_PB22)
// Salae reads 12mhz which is the limit even though we set it to the safer 8mhz.
#define SPI_FLASH_BAUDRATE (8000000)
// On-board flash
#define SPI_FLASH_MOSI_PIN &pin_PA12
#define SPI_FLASH_MISO_PIN &pin_PA14
#define SPI_FLASH_SCK_PIN &pin_PA13
#define SPI_FLASH_CS_PIN &pin_PA15
// These are pins not to reset.
#define MICROPY_PORT_A ( 0 ) //PORT_PA06
#define MICROPY_PORT_B ( 0 )
#define MICROPY_PORT_C ( 0 )
// If you change this, then make sure to update the linker scripts as well to
// make sure you don't overwrite code.
#define CIRCUITPY_INTERNAL_NVM_SIZE 256
#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - CIRCUITPY_INTERNAL_NVM_SIZE)
#define CALIBRATE_CRYSTALLESS 1
#define DEFAULT_I2C_BUS_SCL (&pin_PA23)
#define DEFAULT_I2C_BUS_SDA (&pin_PA22)
#define DEFAULT_SPI_BUS_SCK (&pin_PB09)
#define DEFAULT_SPI_BUS_MOSI (&pin_PB08)
#define DEFAULT_SPI_BUS_MISO (&pin_PB11)
//#define DEFAULT_UART_BUS_RX (&pin_PB03)
//#define DEFAULT_UART_BUS_TX (&pin_PB02)
// USB is always used internally so skip the pin objects for it.
#define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1

View File

@ -1,29 +0,0 @@
LD_FILE = boards/samd21x18-bootloader-external-flash-crystalless.ld
USB_VID = 0x1209
USB_PID = 0x4D43
USB_PRODUCT = "Robo HAT MM1 M0"
USB_MANUFACTURER = "Robotics Masters"
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
SPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = "W25Q64JV_IQ"
LONGINT_IMPL = MPZ
# Non-Flash Edition
#INTERNAL_FLASH_FILESYSTEM = 1
#LONGINT_IMPL = NONE
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_FREQUENCYIO = 0
CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0
# Include these Python libraries in firmware.
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_INA219
#FROZEN_MPY_DIRS += $(TOP)/frozen/RoboticsMasters_CircuitPython_MPU9250

View File

@ -1,92 +0,0 @@
#include "shared-bindings/board/__init__.h"
// Version 2.4
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
// SERVO Pins
{ MP_ROM_QSTR(MP_QSTR_SERVO1), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_SERVO2), MP_ROM_PTR(&pin_PA19) },
{ MP_ROM_QSTR(MP_QSTR_SERVO3), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_SERVO4), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_SERVO5), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_SERVO6), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_SERVO7), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_SERVO8), MP_ROM_PTR(&pin_PA08) },
// RCC Pins
{ MP_ROM_QSTR(MP_QSTR_RCC1), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_RCC2), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_RCC3), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_RCC4), MP_ROM_PTR(&pin_PA04) },
// Special Function
{ MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_POWER_OFF), MP_ROM_PTR(&pin_PA03) },
{ MP_ROM_QSTR(MP_QSTR_POWER_DISABLE), MP_ROM_PTR(&pin_PA03) },
{ MP_ROM_QSTR(MP_QSTR_POWER_ON), MP_ROM_PTR(&pin_PA27) },
{ MP_ROM_QSTR(MP_QSTR_POWER_ENABLE), MP_ROM_PTR(&pin_PA27) },
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_PA27) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PB23) },
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PB22) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB03) },
// GROVE on SERCOM0
{ MP_ROM_QSTR(MP_QSTR_GROVE_SCL), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_GROVE_SDA), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_GROVE_RX), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_GROVE_TX), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_GROVE_D1), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_GROVE_D0), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_GROVE_A1), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_GROVE_A0), MP_ROM_PTR(&pin_PA08) },
// UART on SERCOM0
{ MP_ROM_QSTR(MP_QSTR_UART_TX), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_UART_RX), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_UART_CTS), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_UART_RTS), MP_ROM_PTR(&pin_PA07) },
// UART on SERCOM1 (Raspberry Pi)
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PA17) },
{ MP_ROM_QSTR(MP_QSTR_PI_RX), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_PI_TX), MP_ROM_PTR(&pin_PA17) },
// I2C on SERCOM1 (External Connector)
{ MP_ROM_QSTR(MP_QSTR_SDA1), MP_ROM_PTR(&pin_PA00) },
{ MP_ROM_QSTR(MP_QSTR_SCL1), MP_ROM_PTR(&pin_PA01) },
// SPI Flash on SERCOM2
{ MP_ROM_QSTR(MP_QSTR_FLASH_SCK), MP_ROM_PTR(&pin_PA13) },
{ MP_ROM_QSTR(MP_QSTR_FLASH_MISO), MP_ROM_PTR(&pin_PA14) },
{ MP_ROM_QSTR(MP_QSTR_FLASH_MOSI), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_FLASH_CS), MP_ROM_PTR(&pin_PA15) },
// I2C on SERCOM3 (RPi & Internal)
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_PI_SDA), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_PI_SCL), MP_ROM_PTR(&pin_PA23) },
// SPI on SERCOM4
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB08) },
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB09) },
{ MP_ROM_QSTR(MP_QSTR_SS), MP_ROM_PTR(&pin_PB10) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PB11) },
// GPS on SERCOM5
{ MP_ROM_QSTR(MP_QSTR_GPS_TX), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_GPS_RX), MP_ROM_PTR(&pin_PB03) },
// Raspberry Pi
{ MP_ROM_QSTR(MP_QSTR_PI_GP25), MP_ROM_PTR(&pin_PA30) },
{ MP_ROM_QSTR(MP_QSTR_SWCLK), MP_ROM_PTR(&pin_PA30) },
{ MP_ROM_QSTR(MP_QSTR_PI_GP24), MP_ROM_PTR(&pin_PA31) },
{ MP_ROM_QSTR(MP_QSTR_SWDIO), MP_ROM_PTR(&pin_PA31) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
//{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
};
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -3,6 +3,7 @@ USB_VID = 0x239A
USB_PID = 0x8060
USB_PRODUCT = "StringCar M0 Express"
USB_MANUFACTURER = "Cedar Grove Studios"
USB_INTERFACE_NAME = "StringCarM0Ex"
CHIP_VARIANT = SAMD21E18A
CHIP_FAMILY = samd21

View File

@ -158,6 +158,14 @@ void reset_pin_number(uint8_t pin_number) {
#endif
}
void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
never_reset_pin_number(pin->number);
}
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
reset_pin_number(pin->number);
}
void claim_pin(const mcu_pin_obj_t* pin) {
#ifdef MICROPY_HW_NEOPIXEL
if (pin == MICROPY_HW_NEOPIXEL) {

View File

@ -172,12 +172,13 @@ STATIC bool adapter_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
break;
}
}
// Central has connected.
ble_gap_evt_connected_t* connected = &ble_evt->evt.gap_evt.params.connected;
connection->conn_handle = ble_evt->evt.gap_evt.conn_handle;
connection->connection_obj = mp_const_none;
connection->pair_status = PAIR_NOT_PAIRED;
ble_drv_add_event_handler_entry(&connection->handler_entry, connection_on_ble_evt, connection);
self->connection_objs = NULL;
@ -209,7 +210,7 @@ STATIC bool adapter_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
obj->disconnect_reason = ble_evt->evt.gap_evt.params.disconnected.reason;
}
self->connection_objs = NULL;
break;
}
@ -227,13 +228,7 @@ STATIC bool adapter_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
}
STATIC void get_address(bleio_adapter_obj_t *self, ble_gap_addr_t *address) {
uint32_t err_code;
err_code = sd_ble_gap_addr_get(address);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg(translate("Failed to get local address"));
}
check_nrf_error(sd_ble_gap_addr_get(address));
}
char default_ble_name[] = { 'C', 'I', 'R', 'C', 'U', 'I', 'T', 'P', 'Y', 0, 0, 0, 0 , 0};
@ -274,9 +269,7 @@ void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enable
// Re-init USB hardware
init_usb_hardware();
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to change softdevice state, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM]));
}
check_nrf_error(err_code);
// Add a handler for incoming peripheral connections.
if (enabled) {
@ -298,10 +291,7 @@ void common_hal_bleio_adapter_set_enabled(bleio_adapter_obj_t *self, bool enable
bool common_hal_bleio_adapter_get_enabled(bleio_adapter_obj_t *self) {
uint8_t is_enabled;
const uint32_t err_code = sd_softdevice_is_enabled(&is_enabled);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg(translate("Failed to get softdevice state"));
}
check_nrf_error(sd_softdevice_is_enabled(&is_enabled));
return is_enabled;
}
@ -373,7 +363,7 @@ STATIC bool scan_on_ble_evt(ble_evt_t *ble_evt, void *scan_results_in) {
mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t* prefixes, size_t prefix_length, bool extended, mp_int_t buffer_size, mp_float_t timeout, mp_float_t interval, mp_float_t window, mp_int_t minimum_rssi, bool active) {
if (self->scan_results != NULL) {
if (!shared_module_bleio_scanresults_get_done(self->scan_results)) {
mp_raise_RuntimeError(translate("Scan already in progess. Stop with stop_scan."));
mp_raise_bleio_BluetoothError(translate("Scan already in progess. Stop with stop_scan."));
}
self->scan_results = NULL;
}
@ -384,7 +374,7 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t*
self->scan_results->common_hal_data = sd_data;
sd_data->len = max_packet_size;
sd_data->p_data = raw_data + sizeof(ble_data_t);
ble_drv_add_event_handler(scan_on_ble_evt, self->scan_results);
uint32_t nrf_timeout = SEC_TO_UNITS(timeout, UNIT_10_MS);
@ -406,7 +396,7 @@ mp_obj_t common_hal_bleio_adapter_start_scan(bleio_adapter_obj_t *self, uint8_t*
if (err_code != NRF_SUCCESS) {
self->scan_results = NULL;
ble_drv_remove_event_handler(scan_on_ble_evt, self->scan_results);
mp_raise_OSError_msg_varg(translate("Failed to start scanning, err 0x%04x"), err_code);
check_nrf_error(err_code);
}
return MP_OBJ_FROM_PTR(self->scan_results);
@ -431,7 +421,7 @@ STATIC bool connect_on_ble_evt(ble_evt_t *ble_evt, void *info_in) {
case BLE_GAP_EVT_CONNECTED:
info->conn_handle = ble_evt->evt.gap_evt.conn_handle;
info->done = true;
break;
case BLE_GAP_EVT_TIMEOUT:
@ -447,7 +437,7 @@ STATIC bool connect_on_ble_evt(ble_evt_t *ble_evt, void *info_in) {
return true;
}
mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout, bool pair) {
mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout) {
ble_gap_addr_t addr;
@ -479,7 +469,7 @@ mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_addre
if (err_code != NRF_SUCCESS) {
ble_drv_remove_event_handler(connect_on_ble_evt, &event_info);
mp_raise_OSError_msg_varg(translate("Failed to start connecting, error 0x%04x"), err_code);
check_nrf_error(err_code);
}
while (!event_info.done) {
@ -489,7 +479,7 @@ mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_addre
ble_drv_remove_event_handler(connect_on_ble_evt, &event_info);
if (event_info.conn_handle == BLE_CONN_HANDLE_INVALID) {
mp_raise_OSError_msg(translate("Failed to connect: timeout"));
mp_raise_bleio_BluetoothError(translate("Failed to connect: timeout"));
}
// Make the connection object and return it.
@ -500,7 +490,7 @@ mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_addre
}
}
mp_raise_OSError_msg(translate("Failed to connect: internal error"));
mp_raise_bleio_BluetoothError(translate("Failed to connect: internal error"));
return mp_const_none;
}
@ -558,12 +548,10 @@ uint32_t _common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self,
void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool connectable, mp_float_t interval, mp_buffer_info_t *advertising_data_bufinfo, mp_buffer_info_t *scan_response_data_bufinfo) {
if (self->current_advertising_data != NULL && self->current_advertising_data == self->advertising_data) {
mp_raise_OSError_msg(translate("Already advertising."));
mp_raise_bleio_BluetoothError(translate("Already advertising."));
}
// interval value has already been validated.
uint32_t err_code;
check_data_fit(advertising_data_bufinfo->len);
check_data_fit(scan_response_data_bufinfo->len);
// The advertising data buffers must not move, because the SoftDevice depends on them.
@ -574,15 +562,15 @@ void common_hal_bleio_adapter_start_advertising(bleio_adapter_obj_t *self, bool
if (self->scan_response_data == NULL) {
self->scan_response_data = (uint8_t *) gc_alloc(BLE_GAP_ADV_SET_DATA_SIZE_MAX * sizeof(uint8_t), false, true);
}
memcpy(self->advertising_data, advertising_data_bufinfo->buf, advertising_data_bufinfo->len);
memcpy(self->scan_response_data, scan_response_data_bufinfo->buf, scan_response_data_bufinfo->len);
err_code = _common_hal_bleio_adapter_start_advertising(self, connectable, interval, self->advertising_data, advertising_data_bufinfo->len, self->scan_response_data, scan_response_data_bufinfo->len);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to start advertising, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM]));
}
check_nrf_error(_common_hal_bleio_adapter_start_advertising(self, connectable, interval,
self->advertising_data,
advertising_data_bufinfo->len,
self->scan_response_data,
scan_response_data_bufinfo->len));
}
void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) {
@ -594,7 +582,7 @@ void common_hal_bleio_adapter_stop_advertising(bleio_adapter_obj_t *self) {
self->current_advertising_data = NULL;
if ((err_code != NRF_SUCCESS) && (err_code != NRF_ERROR_INVALID_STATE)) {
mp_raise_OSError_msg_varg(translate("Failed to stop advertising, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM]));
check_nrf_error(err_code);
}
}

View File

@ -46,8 +46,8 @@ STATIC uint16_t characteristic_get_cccd(uint16_t cccd_handle, uint16_t conn_hand
if (err_code == BLE_ERROR_GATTS_SYS_ATTR_MISSING) {
// CCCD is not set, so say that neither Notify nor Indicate is enabled.
cccd = 0;
} else if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to read CCCD value, err 0x%04x"), err_code);
} else {
check_nrf_error(err_code);
}
return cccd;
@ -78,7 +78,7 @@ STATIC void characteristic_gatts_notify_indicate(uint16_t handle, uint16_t conn_
}
// Some real error has occurred.
mp_raise_OSError_msg_varg(translate("Failed to notify or indicate attribute value, err 0x%04x"), err_code);
check_nrf_error(err_code);
}
}
@ -213,11 +213,7 @@ void common_hal_bleio_characteristic_add_descriptor(bleio_characteristic_obj_t *
.max_len = descriptor->max_length,
};
uint32_t err_code = sd_ble_gatts_descriptor_add(self->handle, &desc_attr, &descriptor->handle);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to add descriptor, err 0x%04x"), err_code);
}
check_nrf_error(sd_ble_gatts_descriptor_add(self->handle, &desc_attr, &descriptor->handle));
descriptor->next = self->descriptor_list;
self->descriptor_list = descriptor;
@ -225,11 +221,11 @@ void common_hal_bleio_characteristic_add_descriptor(bleio_characteristic_obj_t *
void common_hal_bleio_characteristic_set_cccd(bleio_characteristic_obj_t *self, bool notify, bool indicate) {
if (self->cccd_handle == BLE_GATT_HANDLE_INVALID) {
mp_raise_ValueError(translate("No CCCD for this Characteristic"));
mp_raise_bleio_BluetoothError(translate("No CCCD for this Characteristic"));
}
if (!common_hal_bleio_service_get_is_remote(self->service)) {
mp_raise_ValueError(translate("Can't set CCCD on local Characteristic"));
mp_raise_bleio_RoleError(translate("Can't set CCCD on local Characteristic"));
}
const uint16_t conn_handle = bleio_connection_get_conn_handle(self->service->connection);
@ -261,7 +257,7 @@ void common_hal_bleio_characteristic_set_cccd(bleio_characteristic_obj_t *self,
}
// Some real error occurred.
mp_raise_OSError_msg_varg(translate("Failed to write CCCD, err 0x%04x"), err_code);
check_nrf_error(err_code);
}
}

View File

@ -34,6 +34,7 @@
#include "ble_drv.h"
#include "ble_hci.h"
#include "nrf_soc.h"
#include "lib/utils/interrupt_char.h"
#include "py/gc.h"
#include "py/objlist.h"
#include "py/objstr.h"
@ -51,7 +52,7 @@
#define BLE_AD_TYPE_FLAGS_DATA_SIZE 1
static const ble_gap_sec_params_t pairing_sec_params = {
.bond = 1,
.bond = 0,
.mitm = 0,
.lesc = 0,
.keypress = 0,
@ -109,7 +110,7 @@ bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
// SoftDevice will respond to a length update request.
sd_ble_gap_data_length_update(self->conn_handle, NULL, NULL);
break;
case BLE_GAP_EVT_DATA_LENGTH_UPDATE: // 0x24
break;
@ -162,7 +163,8 @@ bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
case BLE_GAP_EVT_AUTH_STATUS: { // 0x19
// Pairing process completed
ble_gap_evt_auth_status_t* status = &ble_evt->evt.gap_evt.params.auth_status;
if (BLE_GAP_SEC_STATUS_SUCCESS == status->auth_status) {
self->sec_status = status->auth_status;
if (status->auth_status == BLE_GAP_SEC_STATUS_SUCCESS) {
// TODO _ediv = bonding_keys->own_enc.master_id.ediv;
self->pair_status = PAIR_PAIRED;
} else {
@ -213,7 +215,7 @@ bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
if (dump_events) {
mp_printf(&mp_plat_print, "Unhandled connection event: 0x%04x\n", ble_evt->header.evt_id);
}
return false;
}
return true;
@ -228,6 +230,13 @@ void bleio_connection_clear(bleio_connection_internal_t *self) {
memset(&self->bonding_keys, 0, sizeof(self->bonding_keys));
}
bool common_hal_bleio_connection_get_paired(bleio_connection_obj_t *self) {
if (self->connection == NULL) {
return false;
}
return self->connection->pair_status == PAIR_PAIRED;
}
bool common_hal_bleio_connection_get_connected(bleio_connection_obj_t *self) {
if (self->connection == NULL) {
return false;
@ -239,22 +248,18 @@ void common_hal_bleio_connection_disconnect(bleio_connection_internal_t *self) {
sd_ble_gap_disconnect(self->conn_handle, BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION);
}
void common_hal_bleio_connection_pair(bleio_connection_internal_t *self) {
void common_hal_bleio_connection_pair(bleio_connection_internal_t *self, bool bond) {
self->pair_status = PAIR_WAITING;
uint32_t err_code = sd_ble_gap_authenticate(self->conn_handle, &pairing_sec_params);
check_nrf_error(sd_ble_gap_authenticate(self->conn_handle, &pairing_sec_params));
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to start pairing, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM]));
}
while (self->pair_status == PAIR_WAITING) {
while (self->pair_status == PAIR_WAITING && !mp_hal_is_interrupted()) {
RUN_BACKGROUND_TASKS;
}
if (self->pair_status == PAIR_NOT_PAIRED) {
mp_raise_OSError_msg(translate("Failed to pair"));
if (mp_hal_is_interrupted()) {
return;
}
check_sec_status(self->sec_status);
}
@ -263,11 +268,8 @@ STATIC bool discover_next_services(bleio_connection_internal_t* connection, uint
m_discovery_successful = false;
m_discovery_in_process = true;
uint32_t err_code = sd_ble_gattc_primary_services_discover(connection->conn_handle, start_handle, service_uuid);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg(translate("Failed to discover services"));
}
check_nrf_error(sd_ble_gattc_primary_services_discover(connection->conn_handle,
start_handle, service_uuid));
// Wait for a discovery event.
while (m_discovery_in_process) {
@ -516,7 +518,7 @@ STATIC void discover_remote_services(bleio_connection_internal_t *self, mp_obj_t
mp_obj_t uuid_obj;
while ((uuid_obj = mp_iternext(iterable)) != MP_OBJ_STOP_ITERATION) {
if (!MP_OBJ_IS_TYPE(uuid_obj, &bleio_uuid_type)) {
mp_raise_ValueError(translate("non-UUID found in service_uuids_whitelist"));
mp_raise_TypeError(translate("non-UUID found in service_uuids_whitelist"));
}
bleio_uuid_obj_t *uuid = MP_OBJ_TO_PTR(uuid_obj);
@ -582,10 +584,9 @@ STATIC void discover_remote_services(bleio_connection_internal_t *self, mp_obj_t
// discovery call returns nothing.
// discover_next_descriptors() appends to the descriptor_list.
while (next_desc_start_handle <= service->end_handle &&
next_desc_start_handle < next_desc_end_handle &&
next_desc_start_handle <= next_desc_end_handle &&
discover_next_descriptors(self, characteristic,
next_desc_start_handle, next_desc_end_handle)) {
// Get the most recently discovered descriptor, and then ask for descriptors
// whose handles start after that descriptor's handle.
const bleio_descriptor_obj_t *descriptor = characteristic->descriptor_list;

View File

@ -60,6 +60,7 @@ typedef struct {
bonding_keys_t bonding_keys;
uint16_t ediv;
pair_status_t pair_status;
uint8_t sec_status; // Internal security status.
mp_obj_t connection_obj;
ble_drv_evt_handler_entry_t handler_entry;
} bleio_connection_internal_t;

View File

@ -56,10 +56,8 @@ uint32_t _common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uu
}
void common_hal_bleio_service_construct(bleio_service_obj_t *self, bleio_uuid_obj_t *uuid, bool is_secondary) {
const uint32_t err_code = _common_hal_bleio_service_construct(self, uuid, is_secondary, mp_obj_new_list(0, NULL));
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to create service, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM]));
}
check_nrf_error(_common_hal_bleio_service_construct(self, uuid, is_secondary,
mp_obj_new_list(0, NULL)));
}
void bleio_service_from_connection(bleio_service_obj_t *self, mp_obj_t connection) {
@ -133,11 +131,7 @@ void common_hal_bleio_service_add_characteristic(bleio_service_obj_t *self,
ble_gatts_char_handles_t char_handles;
uint32_t err_code;
err_code = sd_ble_gatts_characteristic_add(self->handle, &char_md, &char_attr, &char_handles);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to add characteristic, NRF_ERROR_%q"), MP_OBJ_QSTR_VALUE(base_error_messages[err_code - NRF_ERROR_BASE_NUM]));
}
check_nrf_error(sd_ble_gatts_characteristic_add(self->handle, &char_md, &char_attr, &char_handles));
characteristic->user_desc_handle = char_handles.user_desc_handle;
characteristic->cccd_handle = char_handles.cccd_handle;

View File

@ -49,10 +49,7 @@ void common_hal_bleio_uuid_construct(bleio_uuid_obj_t *self, uint32_t uuid16, co
memcpy(vs_uuid.uuid128, uuid128, sizeof(vs_uuid.uuid128));
// Register this vendor-specific UUID. Bytes 12 and 13 will be zero.
const uint32_t err_code = sd_ble_uuid_vs_add(&vs_uuid, &self->nrf_ble_uuid.type);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to register Vendor-Specific UUID, err 0x%04x"), err_code);
}
check_nrf_error(sd_ble_uuid_vs_add(&vs_uuid, &self->nrf_ble_uuid.type));
vm_used_ble = true;
}
}
@ -67,11 +64,7 @@ uint32_t common_hal_bleio_uuid_get_uuid16(bleio_uuid_obj_t *self) {
void common_hal_bleio_uuid_get_uuid128(bleio_uuid_obj_t *self, uint8_t uuid128[16]) {
uint8_t length;
const uint32_t err_code = sd_ble_uuid_encode(&self->nrf_ble_uuid, &length, uuid128);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Could not decode ble_uuid, err 0x%04x"), err_code);
}
check_nrf_error(sd_ble_uuid_encode(&self->nrf_ble_uuid, &length, uuid128));
}
void common_hal_bleio_uuid_pack_into(bleio_uuid_obj_t *self, uint8_t* buf) {
@ -85,7 +78,7 @@ void common_hal_bleio_uuid_pack_into(bleio_uuid_obj_t *self, uint8_t* buf) {
void bleio_uuid_construct_from_nrf_ble_uuid(bleio_uuid_obj_t *self, ble_uuid_t *nrf_ble_uuid) {
if (nrf_ble_uuid->type == BLE_UUID_TYPE_UNKNOWN) {
mp_raise_RuntimeError(translate("Unexpected nrfx uuid type"));
mp_raise_bleio_BluetoothError(translate("Unexpected nrfx uuid type"));
}
self->nrf_ble_uuid.uuid = nrf_ble_uuid->uuid;
self->nrf_ble_uuid.type = nrf_ble_uuid->type;

View File

@ -40,28 +40,49 @@
#include "common-hal/_bleio/__init__.h"
const mp_obj_t base_error_messages[20] = {
MP_ROM_QSTR(MP_QSTR_SUCCESS),
MP_ROM_QSTR(MP_QSTR_SVC_HANDLER_MISSING),
MP_ROM_QSTR(MP_QSTR_SOFTDEVICE_NOT_ENABLED),
MP_ROM_QSTR(MP_QSTR_INTERNAL),
MP_ROM_QSTR(MP_QSTR_NO_MEM),
MP_ROM_QSTR(MP_QSTR_NOT_FOUND),
MP_ROM_QSTR(MP_QSTR_NOT_SUPPORTED),
MP_ROM_QSTR(MP_QSTR_INVALID_PARAM),
MP_ROM_QSTR(MP_QSTR_INVALID_STATE),
MP_ROM_QSTR(MP_QSTR_INVALID_LENGTH),
MP_ROM_QSTR(MP_QSTR_INVALID_FLAGS),
MP_ROM_QSTR(MP_QSTR_INVALID_DATA),
MP_ROM_QSTR(MP_QSTR_DATA_SIZE),
MP_ROM_QSTR(MP_QSTR_TIMEOUT),
MP_ROM_QSTR(MP_QSTR_NULL),
MP_ROM_QSTR(MP_QSTR_FORBIDDEN),
MP_ROM_QSTR(MP_QSTR_INVALID_ADDR),
MP_ROM_QSTR(MP_QSTR_BUSY),
MP_ROM_QSTR(MP_QSTR_CONN_COUNT),
MP_ROM_QSTR(MP_QSTR_RESOURCES),
};
void check_nrf_error(uint32_t err_code) {
if (err_code == NRF_SUCCESS) {
return;
}
switch (err_code) {
case NRF_ERROR_TIMEOUT:
mp_raise_msg(&mp_type_TimeoutError, NULL);
return;
default:
mp_raise_bleio_BluetoothError(translate("Unknown soft device error: %04x"), err_code);
break;
}
}
void check_gatt_status(uint16_t gatt_status) {
if (gatt_status == BLE_GATT_STATUS_SUCCESS) {
return;
}
switch (gatt_status) {
case BLE_GATT_STATUS_ATTERR_INSUF_AUTHENTICATION:
mp_raise_bleio_SecurityError(translate("Insufficient authentication"));
return;
case BLE_GATT_STATUS_ATTERR_INSUF_ENCRYPTION:
mp_raise_bleio_SecurityError(translate("Insufficient encryption"));
return;
default:
mp_raise_bleio_BluetoothError(translate("Unknown gatt error: 0x%04x"), gatt_status);
}
}
void check_sec_status(uint8_t sec_status) {
if (sec_status == BLE_GAP_SEC_STATUS_SUCCESS) {
return;
}
switch (sec_status) {
case BLE_GAP_SEC_STATUS_UNSPECIFIED:
mp_raise_bleio_SecurityError(translate("Unspecified issue. Can be that the pairing prompt on the other device was declined or ignored."));
return;
default:
mp_raise_bleio_SecurityError(translate("Unknown security error: 0x%04x"), sec_status);
}
}
// Turn off BLE on a reset or reload.
void bleio_reset() {
@ -85,7 +106,7 @@ bleio_adapter_obj_t common_hal_bleio_adapter_obj = {
void common_hal_bleio_check_connected(uint16_t conn_handle) {
if (conn_handle == BLE_CONN_HANDLE_INVALID) {
mp_raise_OSError_msg(translate("Not connected"));
mp_raise_bleio_ConnectionError(translate("Not connected"));
}
}
@ -99,10 +120,7 @@ size_t common_hal_bleio_gatts_read(uint16_t handle, uint16_t conn_handle, uint8_
.len = len,
};
uint32_t err_code = sd_ble_gatts_value_get(conn_handle, handle, &gatts_value);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to read gatts value, err 0x%04x"), err_code);
}
check_nrf_error(sd_ble_gatts_value_get(conn_handle, handle, &gatts_value));
return gatts_value.len;
}
@ -116,10 +134,7 @@ void common_hal_bleio_gatts_write(uint16_t handle, uint16_t conn_handle, mp_buff
.len = bufinfo->len,
};
const uint32_t err_code = sd_ble_gatts_value_set(conn_handle, handle, &gatts_value);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to write gatts value, err 0x%04x"), err_code);
}
check_nrf_error(sd_ble_gatts_value_set(conn_handle, handle, &gatts_value));
}
typedef struct {
@ -172,17 +187,12 @@ size_t common_hal_bleio_gattc_read(uint16_t handle, uint16_t conn_handle, uint8_
read_info.done = false;
ble_drv_add_event_handler(_on_gattc_read_rsp_evt, &read_info);
const uint32_t err_code = sd_ble_gattc_read(conn_handle, handle, 0);
if (err_code != NRF_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed initiate attribute read, err 0x%04x"), err_code);
}
check_nrf_error(sd_ble_gattc_read(conn_handle, handle, 0));
while (!read_info.done) {
RUN_BACKGROUND_TASKS;
}
if (read_info.status != BLE_GATT_STATUS_SUCCESS) {
mp_raise_OSError_msg_varg(translate("Failed to read attribute value, err 0x%04x"), read_info.status);
}
check_gatt_status(read_info.status);
ble_drv_remove_event_handler(_on_gattc_read_rsp_evt, &read_info);
return read_info.final_len;
@ -213,7 +223,7 @@ void common_hal_bleio_gattc_write(uint16_t handle, uint16_t conn_handle, mp_buff
}
// Some real error occurred.
mp_raise_OSError_msg_varg(translate("Failed to write attribute value, err 0x%04x"), err_code);
check_nrf_error(err_code);
}
}

View File

@ -39,7 +39,10 @@ typedef struct {
// 20 bytes max (23 - 3).
#define GATT_MAX_DATA_LENGTH (BLE_GATT_ATT_MTU_DEFAULT - 3)
const mp_obj_t base_error_messages[20];
// These helpers raise the appropriate exceptions if the code doesn't equal success.
void check_nrf_error(uint32_t err_code);
void check_gatt_status(uint16_t gatt_status);
void check_sec_status(uint8_t sec_status);
// Track if the user code modified the BLE state to know if we need to undo it on reload.
bool vm_used_ble;

View File

@ -125,6 +125,14 @@ void never_reset_pin_number(uint8_t pin_number) {
never_reset_pins[nrf_pin_port(pin_number)] |= 1 << nrf_relative_pin_number(pin_number);
}
void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
never_reset_pin_number(pin->number);
}
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
reset_pin_number(pin->number);
}
void claim_pin(const mcu_pin_obj_t* pin) {
// Set bit in claimed_pins bitmask.
claimed_pins[nrf_pin_port(pin->number)] |= 1 << nrf_relative_pin_number(pin->number);

View File

@ -35,11 +35,13 @@
#define AUTORESET_DELAY_MS 500
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000)
#define MICROPY_HW_NEOPIXEL (&pin_PC00)
// On-board flash
#define SPI_FLASH_MOSI_PIN &pin_PB05
#define SPI_FLASH_MISO_PIN &pin_PB04
#define SPI_FLASH_SCK_PIN &pin_PB03
#define SPI_FLASH_CS_PIN &pin_PA15
#define SPI_FLASH_MOSI_PIN (&pin_PB05)
#define SPI_FLASH_MISO_PIN (&pin_PB04)
#define SPI_FLASH_SCK_PIN (&pin_PB03)
#define SPI_FLASH_CS_PIN (&pin_PA15)
#define DEFAULT_I2C_BUS_SCL (&pin_PB06)
#define DEFAULT_I2C_BUS_SDA (&pin_PB07)

View File

@ -26,6 +26,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB10) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB11) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PC00) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },

View File

@ -55,7 +55,7 @@
#define HAL_I2S_MODULE_ENABLED
/* #define HAL_IWDG_MODULE_ENABLED */
/* #define HAL_LTDC_MODULE_ENABLED */
/* #define HAL_RNG_MODULE_ENABLED */
#define HAL_RNG_MODULE_ENABLED
/* #define HAL_RTC_MODULE_ENABLED */
/* #define HAL_SAI_MODULE_ENABLED */
/* #define HAL_SD_MODULE_ENABLED */

View File

@ -55,7 +55,7 @@
#define HAL_I2S_MODULE_ENABLED
/* #define HAL_IWDG_MODULE_ENABLED */
/* #define HAL_LTDC_MODULE_ENABLED */
/* #define HAL_RNG_MODULE_ENABLED */
#define HAL_RNG_MODULE_ENABLED
/* #define HAL_RTC_MODULE_ENABLED */
/* #define HAL_SAI_MODULE_ENABLED */
/* #define HAL_SD_MODULE_ENABLED */

View File

@ -55,7 +55,7 @@
#define HAL_I2S_MODULE_ENABLED
/* #define HAL_IWDG_MODULE_ENABLED */
/* #define HAL_LTDC_MODULE_ENABLED */
/* #define HAL_RNG_MODULE_ENABLED */
#define HAL_RNG_MODULE_ENABLED
/* #define HAL_RTC_MODULE_ENABLED */
/* #define HAL_SAI_MODULE_ENABLED */
#define HAL_SD_MODULE_ENABLED

View File

@ -36,46 +36,37 @@
#include "supervisor/shared/translate.h"
#include "common-hal/microcontroller/Pin.h"
STATIC bool reserved_spi[6];
STATIC bool never_reset_spi[6];
#define MAX_SPI 6 //TODO; replace this as part of periph cleanup
#define ALL_CLOCKS 0xFF
void spi_reset(void) {
#ifdef SPI1
if(!never_reset_spi[0]) {
reserved_spi[0] = false;
__HAL_RCC_SPI1_CLK_DISABLE();
}
#endif
//arrays use 0 based numbering: SPI1 is stored at index 0
STATIC bool reserved_spi[MAX_SPI];
STATIC bool never_reset_spi[MAX_SPI];
STATIC void spi_clock_enable(uint8_t mask);
STATIC void spi_clock_disable(uint8_t mask);
STATIC uint32_t get_busclock(SPI_TypeDef * instance) {
//SPI2 and 3 are on PCLK1, if they exist.
#ifdef SPI2
if(!never_reset_spi[1]) {
reserved_spi[1] = false;
__HAL_RCC_SPI2_CLK_DISABLE();
}
if(instance == SPI2) return HAL_RCC_GetPCLK1Freq();
#endif
#ifdef SPI3
if(!never_reset_spi[2]) {
reserved_spi[2] = false;
__HAL_RCC_SPI3_CLK_DISABLE();
if(instance == SPI3) return HAL_RCC_GetPCLK1Freq();
#endif
return HAL_RCC_GetPCLK2Freq();
}
void spi_reset(void) {
uint16_t never_reset_mask = 0x00;
for(int i=0;i<MAX_SPI;i++) {
if (!never_reset_spi[i]) {
reserved_spi[i] = 0x00;
} else {
never_reset_mask |= 1<<i;
}
}
#endif
#ifdef SPI4
if(!never_reset_spi[3]) {
reserved_spi[3] = false;
__HAL_RCC_SPI4_CLK_DISABLE();
}
#endif
#ifdef SPI5
if(!never_reset_spi[4]) {
reserved_spi[4] = false;
__HAL_RCC_SPI5_CLK_DISABLE();
}
#endif
#ifdef SPI6
if(!never_reset_spi[5]) {
reserved_spi[5] = false;
__HAL_RCC_SPI6_CLK_DISABLE();
}
#endif
spi_clock_disable(ALL_CLOCKS & ~(never_reset_mask));
}
void common_hal_busio_spi_construct(busio_spi_obj_t *self,
@ -152,42 +143,8 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self,
GPIO_InitStruct.Alternate = self->miso->altfn_index;
HAL_GPIO_Init(pin_port(miso->port), &GPIO_InitStruct);
#ifdef SPI1
if(SPIx==SPI1) {
reserved_spi[0] = true;
__HAL_RCC_SPI1_CLK_ENABLE();
}
#endif
#ifdef SPI2
if(SPIx==SPI2) {
reserved_spi[1] = true;
__HAL_RCC_SPI2_CLK_ENABLE();
}
#endif
#ifdef SPI3
if(SPIx==SPI3) {
reserved_spi[2] = true;
__HAL_RCC_SPI3_CLK_ENABLE();
}
#endif
#ifdef SPI4
if(SPIx==SPI4) {
reserved_spi[3] = true;
__HAL_RCC_SPI4_CLK_ENABLE();
}
#endif
#ifdef SPI5
if(SPIx==SPI5) {
reserved_spi[4] = true;
__HAL_RCC_SPI5_CLK_ENABLE();
}
#endif
#ifdef SPI6
if(SPIx==SPI6) {
reserved_spi[5] = true;
__HAL_RCC_SPI6_CLK_ENABLE();
}
#endif
spi_clock_enable(1<<(self->sck->spi_index - 1));
reserved_spi[self->sck->spi_index - 1] = true;
self->handle.Instance = SPIx;
self->handle.Init.Mode = SPI_MODE_MASTER;
@ -205,7 +162,7 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self,
{
mp_raise_ValueError(translate("SPI Init Error"));
}
self->baudrate = (HAL_RCC_GetPCLK2Freq()/16);
self->baudrate = (get_busclock(SPIx)/16);
self->prescaler = 16;
self->polarity = 0;
self->phase = 1;
@ -233,42 +190,9 @@ bool common_hal_busio_spi_deinited(busio_spi_obj_t *self) {
}
void common_hal_busio_spi_deinit(busio_spi_obj_t *self) {
#ifdef SPI1
if(self->handle.Instance==SPI1) {
reserved_spi[0] = false;
__HAL_RCC_SPI1_CLK_DISABLE();
}
#endif
#ifdef SPI2
if(self->handle.Instance==SPI2) {
reserved_spi[1] = false;
__HAL_RCC_SPI2_CLK_DISABLE();
}
#endif
#ifdef SPI3
if(self->handle.Instance==SPI3) {
reserved_spi[2] = false;
__HAL_RCC_SPI3_CLK_DISABLE();
}
#endif
#ifdef SPI4
if(self->handle.Instance==SPI4) {
reserved_spi[3] = false;
__HAL_RCC_SPI4_CLK_DISABLE();
}
#endif
#ifdef SPI5
if(self->handle.Instance==SPI5) {
reserved_spi[4] = false;
__HAL_RCC_SPI5_CLK_DISABLE();
}
#endif
#ifdef SPI6
if(self->handle.Instance==SPI6) {
reserved_spi[5] = false;
__HAL_RCC_SPI6_CLK_DISABLE();
}
#endif
spi_clock_disable(1<<(self->sck->spi_index - 1));
reserved_spi[self->sck->spi_index - 1] = true;
reset_pin_number(self->sck->pin->port,self->sck->pin->number);
reset_pin_number(self->mosi->pin->port,self->mosi->pin->number);
reset_pin_number(self->miso->pin->port,self->miso->pin->number);
@ -277,7 +201,7 @@ void common_hal_busio_spi_deinit(busio_spi_obj_t *self) {
self->miso = mp_const_none;
}
static uint32_t stm32_baud_to_spi_div(uint32_t baudrate, uint16_t * prescaler) {
STATIC uint32_t stm32_baud_to_spi_div(uint32_t baudrate, uint16_t * prescaler, uint32_t busclock) {
static const uint32_t baud_map[8][2] = {
{2,SPI_BAUDRATEPRESCALER_2},
{4,SPI_BAUDRATEPRESCALER_4},
@ -292,7 +216,7 @@ static uint32_t stm32_baud_to_spi_div(uint32_t baudrate, uint16_t * prescaler) {
uint16_t divisor;
do {
divisor = baud_map[i][0];
if (baudrate >= (HAL_RCC_GetPCLK2Freq()/divisor)) {
if (baudrate >= (busclock/divisor)) {
*prescaler = divisor;
return baud_map[i][1];
}
@ -312,28 +236,12 @@ bool common_hal_busio_spi_configure(busio_spi_obj_t *self,
//Deinit SPI
HAL_SPI_DeInit(&self->handle);
if (bits == 8) {
self->handle.Init.DataSize = SPI_DATASIZE_8BIT;
} else if (bits == 16) {
self->handle.Init.DataSize = SPI_DATASIZE_16BIT;
} else {
return false;
}
if (polarity) {
self->handle.Init.CLKPolarity = SPI_POLARITY_HIGH;
} else {
self->handle.Init.CLKPolarity = SPI_POLARITY_LOW;
}
if (phase) {
self->handle.Init.CLKPhase = SPI_PHASE_2EDGE;
} else {
self->handle.Init.CLKPhase = SPI_PHASE_1EDGE;
}
self->handle.Init.BaudRatePrescaler = stm32_baud_to_spi_div(baudrate, &self->prescaler);
self->handle.Init.DataSize = (bits == 16) ? SPI_DATASIZE_16BIT : SPI_DATASIZE_8BIT;
self->handle.Init.CLKPolarity = (polarity) ? SPI_POLARITY_HIGH : SPI_POLARITY_LOW;
self->handle.Init.CLKPhase = (phase) ? SPI_PHASE_2EDGE : SPI_PHASE_1EDGE;
self->handle.Init.BaudRatePrescaler = stm32_baud_to_spi_div(baudrate, &self->prescaler,
get_busclock(self->handle.Instance));
self->handle.Init.Mode = SPI_MODE_MASTER;
self->handle.Init.Direction = SPI_DIRECTION_2LINES;
self->handle.Init.NSS = SPI_NSS_SOFT;
@ -362,10 +270,10 @@ bool common_hal_busio_spi_try_lock(busio_spi_obj_t *self) {
// __disable_irq();
// __DMB();
if (!self->has_lock) {
grabbed_lock = true;
self->has_lock = true;
}
if (!self->has_lock) {
grabbed_lock = true;
self->has_lock = true;
}
// __DMB();
// __set_PRIMASK(store_primask);
@ -412,4 +320,46 @@ uint8_t common_hal_busio_spi_get_phase(busio_spi_obj_t* self) {
uint8_t common_hal_busio_spi_get_polarity(busio_spi_obj_t* self) {
return self->polarity;
}
}
STATIC void spi_clock_enable(uint8_t mask) {
#ifdef SPI1
if (mask & 1<<0) __HAL_RCC_SPI1_CLK_ENABLE();
#endif
#ifdef SPI2
if (mask & 1<<1) __HAL_RCC_SPI2_CLK_ENABLE();
#endif
#ifdef SPI3
if (mask & 1<<2) __HAL_RCC_SPI3_CLK_ENABLE();
#endif
#ifdef SPI4
if (mask & 1<<3) __HAL_RCC_SPI4_CLK_ENABLE();
#endif
#ifdef SPI5
if (mask & 1<<4) __HAL_RCC_SPI5_CLK_ENABLE();
#endif
#ifdef SPI6
if (mask & 1<<5) __HAL_RCC_SPI6_CLK_ENABLE();
#endif
}
STATIC void spi_clock_disable(uint8_t mask) {
#ifdef SPI1
if (mask & 1<<0) __HAL_RCC_SPI1_CLK_DISABLE();
#endif
#ifdef SPI2
if (mask & 1<<1) __HAL_RCC_SPI2_CLK_DISABLE();
#endif
#ifdef SPI3
if (mask & 1<<2) __HAL_RCC_SPI3_CLK_DISABLE();
#endif
#ifdef SPI4
if (mask & 1<<3) __HAL_RCC_SPI4_CLK_DISABLE();
#endif
#ifdef SPI5
if (mask & 1<<4) __HAL_RCC_SPI5_CLK_DISABLE();
#endif
#ifdef SPI6
if (mask & 1<<5) __HAL_RCC_SPI6_CLK_DISABLE();
#endif
}

View File

@ -26,11 +26,17 @@
*/
#include "shared-bindings/microcontroller/Pin.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "supervisor/shared/rgb_led_status.h"
#include "py/mphal.h"
#include "stm32f4/pins.h"
#include "stm32f4xx_hal.h"
#ifdef MICROPY_HW_NEOPIXEL
bool neopixel_in_use;
#endif
#if MCU_PACKAGE == 144
#define GPIO_PORT_COUNT 7
GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG};
@ -53,6 +59,10 @@ void reset_all_pins(void) {
for (uint8_t i = 0; i < GPIO_PORT_COUNT; i++) {
HAL_GPIO_DeInit(ports[i], ~never_reset_pins[i]);
}
#ifdef MICROPY_HW_NEOPIXEL
neopixel_in_use = false;
#endif
}
// Mark pin as free and return it to a quiescent state.
@ -60,21 +70,40 @@ void reset_pin_number(uint8_t pin_port, uint8_t pin_number) {
if (pin_port == 0x0F) {
return;
}
// Clear claimed bit.
// Clear claimed bit & reset
claimed_pins[pin_port] &= ~(1<<pin_number);
// Reset the pin
HAL_GPIO_DeInit(ports[pin_port], 1<<pin_number);
}
#ifdef MICROPY_HW_NEOPIXEL
if (pin_port == MICROPY_HW_NEOPIXEL->port && pin_number == MICROPY_HW_NEOPIXEL->number) {
neopixel_in_use = false;
rgb_led_status_init();
return;
}
#endif
}
void never_reset_pin_number(uint8_t pin_port, uint8_t pin_number) {
never_reset_pins[pin_port] |= 1<<pin_number;
}
void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
never_reset_pin_number(pin->port, pin->number);
}
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
reset_pin_number(pin->port, pin->number);
}
void claim_pin(const mcu_pin_obj_t* pin) {
// Set bit in claimed_pins bitmask.
claimed_pins[pin->port] |= 1<<pin->number;
#ifdef MICROPY_HW_NEOPIXEL
if (pin == MICROPY_HW_NEOPIXEL) {
neopixel_in_use = true;
}
#endif
}
bool pin_number_is_free(uint8_t pin_port, uint8_t pin_number) {
@ -82,6 +111,12 @@ bool pin_number_is_free(uint8_t pin_port, uint8_t pin_number) {
}
bool common_hal_mcu_pin_is_free(const mcu_pin_obj_t *pin) {
#ifdef MICROPY_HW_NEOPIXEL
if (pin == MICROPY_HW_NEOPIXEL) {
return !neopixel_in_use;
}
#endif
return pin_number_is_free(pin->port, pin->number);
}

View File

@ -31,6 +31,14 @@
#include "peripherals/stm32f4/pins.h"
#ifdef MICROPY_HW_NEOPIXEL
extern bool neopixel_in_use;
#endif
#ifdef MICROPY_HW_APA102_MOSI
extern bool apa102_sck_in_use;
extern bool apa102_mosi_in_use;
#endif
void reset_all_pins(void);
// reset_pin_number takes the pin number instead of the pointer so that objects don't
// need to store a full pointer.

View File

@ -0,0 +1,96 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/mphal.h"
#include "shared-bindings/neopixel_write/__init__.h"
#include "tick.h"
#include "common-hal/microcontroller/Pin.h"
#include "stm32f4xx_hal.h"
#include "stm32f4xx_ll_gpio.h"
uint64_t next_start_tick_ms = 0;
uint32_t next_start_tick_us = 1000;
//sysclock divisors
#define MAGIC_800_INT 900000 // ~1.11 us -> 1.2 field
#define MAGIC_800_T0H 2800000 // ~0.36 us -> 0.44 field
#define MAGIC_800_T1H 1350000 // ~0.74 us -> 0.84 field
void common_hal_neopixel_write (const digitalio_digitalinout_obj_t* digitalinout, uint8_t *pixels,
uint32_t numBytes) {
uint8_t *p = pixels, *end = p + numBytes, pix = *p++, mask = 0x80;
uint32_t start = 0;
uint32_t cyc = 0;
//assumes 800_000Hz frequency
//Theoretical values here are 800_000 -> 1.25us, 2500000->0.4us, 1250000->0.8us
//But they don't work, possibly due to bad optimization? Use tested magic values instead
uint32_t sys_freq = HAL_RCC_GetSysClockFreq();
uint32_t interval = sys_freq/MAGIC_800_INT;
uint32_t t0 = (sys_freq/MAGIC_800_T0H);
uint32_t t1 = (sys_freq/MAGIC_800_T1H);
// This must be called while interrupts are on in case we're waiting for a
// future ms tick.
wait_until(next_start_tick_ms, next_start_tick_us);
GPIO_TypeDef * p_port = pin_port(digitalinout->pin->port);
uint32_t p_mask = pin_mask(digitalinout->pin->number);
__disable_irq();
// Enable DWT in debug core. Useable when interrupts disabled, as opposed to Systick->VAL
//ITM->LAR = 0xC5ACCE55; //this should be required but isn't
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk;
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;
DWT->CYCCNT = 0;
for(;;) {
start = DWT->CYCCNT;
LL_GPIO_SetOutputPin(p_port, p_mask);
cyc = (pix & mask) ? t1 : t0;
while(DWT->CYCCNT - start < cyc);
LL_GPIO_ResetOutputPin(p_port, p_mask);
if(!(mask >>= 1)) {
if(p >= end) break;
pix = *p++;
mask = 0x80;
}
while(DWT->CYCCNT - start < interval); //wait for interval to finish
}
// Enable interrupts again
__enable_irq();
// Update the next start.
current_tick(&next_start_tick_ms, &next_start_tick_us);
if (next_start_tick_us < 100) {
next_start_tick_ms += 1;
next_start_tick_us = 100 - next_start_tick_us;
} else {
next_start_tick_us -= 100;
}
}

View File

@ -30,6 +30,11 @@
#include "py/objstr.h"
#include "py/objtuple.h"
#include "py/mperrno.h"
#include "py/runtime.h"
#include "stm32f4xx_hal.h"
#include "stm32f4/periph.h"
STATIC const qstr os_uname_info_fields[] = {
MP_QSTR_sysname, MP_QSTR_nodename,
MP_QSTR_release, MP_QSTR_version, MP_QSTR_machine
@ -56,11 +61,35 @@ mp_obj_t common_hal_os_uname(void) {
return (mp_obj_t)&os_uname_info_obj;
}
bool common_hal_os_urandom(uint8_t *buffer, uint32_t length) {
#define RNG_TIMEOUT 5
for (uint32_t i = 0; i < length; i++) {
buffer[i] = 4; //read in my coffee dregs; the truest random number, chosen by Nrthalotep
//todo: spurn the gods, replace with actual code.
bool common_hal_os_urandom(uint8_t *buffer, uint32_t length) {
#if (HAS_TRNG)
//init the RNG
__HAL_RCC_RNG_CLK_ENABLE();
RNG_HandleTypeDef handle;
handle.Instance = RNG;
if (HAL_RNG_Init(&handle) != HAL_OK) mp_raise_ValueError(translate("RNG Init Error"));
//Assign bytes
for (uint i = 0; i < length; i++) {
uint32_t temp;
uint32_t start = HAL_GetTick();
//the HAL function has a timeout, but it isn't long enough, and isn't adjustable
while(!(__HAL_RNG_GET_FLAG(&handle,RNG_FLAG_DRDY)) && ((HAL_GetTick() - start) < RNG_TIMEOUT));
//
if (HAL_RNG_GenerateRandomNumber(&handle, &temp) != HAL_OK) {
mp_raise_ValueError(translate("Random number generation error"));
}
*buffer = (uint8_t)temp;
}
//shut down the peripheral
if (HAL_RNG_DeInit(&handle) != HAL_OK) mp_raise_ValueError(translate("RNG DeInit Error"));
__HAL_RCC_RNG_CLK_DISABLE();
return true;
#else
return false;
#endif
}

View File

@ -26,6 +26,7 @@ CIRCUITPY_STORAGE = 1
CIRCUITPY_RANDOM = 1
CIRCUITPY_USB_HID = 1
CIRCUITPY_USB_MIDI = 1
CIRCUITPY_NEOPIXEL_WRITE = 1
#ifeq ($(MCU_SUB_VARIANT), stm32f412zx)
#endif

View File

@ -142,11 +142,13 @@ typedef struct {
#ifdef STM32F411xE
#define HAS_DAC 0
#define HAS_TRNG 0
#include "stm32f411xe/periph.h"
#endif
#ifdef STM32F412Zx
#define HAS_DAC 0
#define HAS_TRNG 1
#include "stm32f412zx/periph.h"
#endif
@ -154,6 +156,7 @@ typedef struct {
#ifdef STM32F405xx
#define HAS_DAC 1
#define HAS_TRNG 1
#include "stm32f405xx/periph.h"
#endif

View File

@ -48,7 +48,7 @@ void stm32f4_peripherals_clocks_init(void) {
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 12;
RCC_OscInitStruct.PLL.PLLN = 336;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 7;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
@ -57,7 +57,7 @@ void stm32f4_peripherals_clocks_init(void) {
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5);
}

View File

@ -53,7 +53,7 @@ ifndef CIRCUITPY_DEFAULT_BUILD
endif
# Some features have no unique HAL component, and thus there's never
# a reason to not include them.
# a reason to not include them.
ifndef CIRCUITPY_ALWAYS_BUILD
CIRCUITPY_ALWAYS_BUILD = 1
endif
@ -170,7 +170,7 @@ CIRCUITPY_NEOPIXEL_WRITE = $(CIRCUITPY_DEFAULT_BUILD)
endif
CFLAGS += -DCIRCUITPY_NEOPIXEL_WRITE=$(CIRCUITPY_NEOPIXEL_WRITE)
# Only certain boards support NETWORK (Ethernet)
# Enabled on SAMD51. Won't fit on SAMD21 builds. Not tested on nRF or STM32F4 builds.
ifndef CIRCUITPY_NETWORK
CIRCUITPY_NETWORK = 0
endif

View File

@ -31,8 +31,6 @@
#include "extmod/vfs.h"
// #include "py/mpstate.h"
// #include "py/nlr.h"
#include "py/parsenum.h"
#include "py/compile.h"
#include "py/objstr.h"

View File

@ -321,7 +321,7 @@ const mp_obj_property_t bleio_adapter_connections_obj = {
(mp_obj_t)&mp_const_none_obj },
};
//| .. method:: connect(address, *, timeout, pair=False)
//| .. method:: connect(address, *, timeout)
//|
//| Attempts a connection to the device with the given address.
//|
@ -331,24 +331,23 @@ const mp_obj_property_t bleio_adapter_connections_obj = {
STATIC mp_obj_t bleio_adapter_connect(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
bleio_adapter_obj_t *self = MP_OBJ_TO_PTR(pos_args[0]);
enum { ARG_address, ARG_timeout, ARG_pair };
enum { ARG_address, ARG_timeout };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_address, MP_ARG_REQUIRED | MP_ARG_OBJ },
{ MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_REQUIRED | MP_ARG_OBJ },
{ MP_QSTR_pair, MP_ARG_KW_ONLY | MP_ARG_BOOL, { .u_bool = false } },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
if (!MP_OBJ_IS_TYPE(args[ARG_address].u_obj, &bleio_address_type)) {
mp_raise_ValueError(translate("Expected an Address"));
mp_raise_TypeError(translate("Expected an Address"));
}
bleio_address_obj_t *address = MP_OBJ_TO_PTR(args[ARG_address].u_obj);
mp_float_t timeout = mp_obj_get_float(args[ARG_timeout].u_obj);
return common_hal_bleio_adapter_connect(self, address, timeout, args[ARG_pair].u_bool);
return common_hal_bleio_adapter_connect(self, address, timeout);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(bleio_adapter_connect_obj, 2, bleio_adapter_connect);

View File

@ -55,6 +55,6 @@ void common_hal_bleio_adapter_stop_scan(bleio_adapter_obj_t *self);
bool common_hal_bleio_adapter_get_connected(bleio_adapter_obj_t *self);
mp_obj_t common_hal_bleio_adapter_get_connections(bleio_adapter_obj_t *self);
mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout, bool pair);
mp_obj_t common_hal_bleio_adapter_connect(bleio_adapter_obj_t *self, bleio_address_obj_t *address, mp_float_t timeout);
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_BLEIO_ADAPTER_H

View File

@ -94,12 +94,12 @@ STATIC mp_obj_t bleio_characteristic_add_to_service(size_t n_args, const mp_obj_
const mp_obj_t service_obj = args[ARG_service].u_obj;
if (!MP_OBJ_IS_TYPE(service_obj, &bleio_service_type)) {
mp_raise_ValueError(translate("Expected a Service"));
mp_raise_TypeError(translate("Expected a Service"));
}
const mp_obj_t uuid_obj = args[ARG_uuid].u_obj;
if (!MP_OBJ_IS_TYPE(uuid_obj, &bleio_uuid_type)) {
mp_raise_ValueError(translate("Expected a UUID"));
mp_raise_TypeError(translate("Expected a UUID"));
}
const bleio_characteristic_properties_t properties = args[ARG_properties].u_int;
@ -168,7 +168,7 @@ const mp_obj_property_t bleio_characteristic_properties_obj = {
//| .. attribute:: uuid
//|
//| The UUID of this characteristic. (read-only)
//|
//|
//| Will be ``None`` if the 128-bit UUID for this characteristic is not known.
//|
STATIC mp_obj_t bleio_characteristic_get_uuid(mp_obj_t self_in) {

View File

@ -30,13 +30,14 @@
#include "py/runtime.h"
#include "py/stream.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/CharacteristicBuffer.h"
#include "shared-bindings/_bleio/UUID.h"
#include "shared-bindings/util.h"
STATIC void raise_error_if_not_connected(bleio_characteristic_buffer_obj_t *self) {
if (!common_hal_bleio_characteristic_buffer_connected(self)) {
mp_raise_ValueError(translate("Not connected"));
mp_raise_bleio_ConnectionError(translate("Not connected"));
}
}
@ -83,7 +84,7 @@ STATIC mp_obj_t bleio_characteristic_buffer_make_new(const mp_obj_type_t *type,
}
if (!MP_OBJ_IS_TYPE(characteristic, &bleio_characteristic_type)) {
mp_raise_ValueError(translate("Expected a Characteristic"));
mp_raise_TypeError(translate("Expected a Characteristic"));
}
bleio_characteristic_buffer_obj_t *self = m_new_obj(bleio_characteristic_buffer_obj_t);
@ -151,9 +152,6 @@ STATIC mp_uint_t bleio_characteristic_buffer_ioctl(mp_obj_t self_in, mp_uint_t r
bleio_characteristic_buffer_obj_t *self = MP_OBJ_TO_PTR(self_in);
check_for_deinit(self);
raise_error_if_not_connected(self);
if (!common_hal_bleio_characteristic_buffer_connected(self)) {
mp_raise_ValueError(translate("Not connected"));
}
mp_uint_t ret;
if (request == MP_IOCTL_POLL) {
mp_uint_t flags = arg;

View File

@ -36,6 +36,7 @@
#include "py/objproperty.h"
#include "py/objstr.h"
#include "py/runtime.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Adapter.h"
#include "shared-bindings/_bleio/Address.h"
#include "shared-bindings/_bleio/Characteristic.h"
@ -67,7 +68,7 @@
STATIC void ensure_connected(bleio_connection_obj_t *self) {
if (!common_hal_bleio_connection_get_connected(self)) {
mp_raise_ValueError(translate("Connection has been disconnected and can no longer be used. Create a new connection."));
mp_raise_bleio_ConnectionError(translate("Connection has been disconnected and can no longer be used. Create a new connection."));
}
}
@ -91,6 +92,29 @@ STATIC mp_obj_t bleio_connection_disconnect(mp_obj_t self_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(bleio_connection_disconnect_obj, bleio_connection_disconnect);
//| .. method:: pair(*, bond=True)
//|
//| Pair to the peer to improve security.
//|
STATIC mp_obj_t bleio_connection_pair(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
bleio_connection_obj_t *self = MP_OBJ_TO_PTR(pos_args[0]);
enum { ARG_bond };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_bond, MP_ARG_BOOL, {.u_bool = true} },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
ensure_connected(self);
common_hal_bleio_connection_pair(self->connection, args[ARG_bond].u_bool);
return mp_const_none;
}
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(bleio_connection_pair_obj, 1, bleio_connection_pair);
//| .. method:: discover_remote_services(service_uuids_whitelist=None)
//|
//| Do BLE discovery for all services or for the given service UUIDS,
@ -98,19 +122,19 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(bleio_connection_disconnect_obj, bleio_connecti
//| `Connection.connected` must be True.
//|
//| :param iterable service_uuids_whitelist:
//|
//|
//| an iterable of :py:class:~`UUID` objects for the services provided by the peripheral
//| that you want to use.
//|
//| The peripheral may provide more services, but services not listed are ignored
//| and will not be returned.
//|
//| If service_uuids_whitelist is None, then all services will undergo discovery, which can be
//| If service_uuids_whitelist is None, then all services will undergo discovery, which can be
//| slow.
//|
//| If the service UUID is 128-bit, or its characteristic UUID's are 128-bit, you
//| you must have already created a :py:class:~`UUID` object for that UUID in order for the
//| service or characteristic to be discovered. Creating the UUID causes the UUID to be
//| service or characteristic to be discovered. Creating the UUID causes the UUID to be
//| registered for use. (This restriction may be lifted in the future.)
//|
//| :return: A tuple of `_bleio.Service` objects provided by the remote peripheral.
@ -136,7 +160,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(bleio_connection_discover_remote_services_obj,
//| .. attribute:: connected
//|
//| True if connected to a remote peer.
//| True if connected to the remote peer.
//|
STATIC mp_obj_t bleio_connection_get_connected(mp_obj_t self_in) {
bleio_connection_obj_t *self = MP_OBJ_TO_PTR(self_in);
@ -152,13 +176,34 @@ const mp_obj_property_t bleio_connection_connected_obj = {
(mp_obj_t)&mp_const_none_obj },
};
//| .. attribute:: paired
//|
//| True if paired to the remote peer.
//|
STATIC mp_obj_t bleio_connection_get_paired(mp_obj_t self_in) {
bleio_connection_obj_t *self = MP_OBJ_TO_PTR(self_in);
return mp_obj_new_bool(common_hal_bleio_connection_get_paired(self));
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(bleio_connection_get_paired_obj, bleio_connection_get_paired);
const mp_obj_property_t bleio_connection_paired_obj = {
.base.type = &mp_type_property,
.proxy = { (mp_obj_t)&bleio_connection_get_paired_obj,
(mp_obj_t)&mp_const_none_obj,
(mp_obj_t)&mp_const_none_obj },
};
STATIC const mp_rom_map_elem_t bleio_connection_locals_dict_table[] = {
// Methods
{ MP_ROM_QSTR(MP_QSTR_pair), MP_ROM_PTR(&bleio_connection_pair_obj) },
{ MP_ROM_QSTR(MP_QSTR_disconnect), MP_ROM_PTR(&bleio_connection_disconnect_obj) },
{ MP_ROM_QSTR(MP_QSTR_discover_remote_services), MP_ROM_PTR(&bleio_connection_discover_remote_services_obj) },
// Properties
{ MP_ROM_QSTR(MP_QSTR_connected), MP_ROM_PTR(&bleio_connection_connected_obj) },
{ MP_ROM_QSTR(MP_QSTR_paired), MP_ROM_PTR(&bleio_connection_paired_obj) },
};
STATIC MP_DEFINE_CONST_DICT(bleio_connection_locals_dict, bleio_connection_locals_dict_table);

View File

@ -34,8 +34,10 @@
extern const mp_obj_type_t bleio_connection_type;
extern void common_hal_bleio_connection_pair(bleio_connection_internal_t *self, bool bond);
extern void common_hal_bleio_connection_disconnect(bleio_connection_internal_t *self);
extern bool common_hal_bleio_connection_get_connected(bleio_connection_obj_t *self);
extern bool common_hal_bleio_connection_get_paired(bleio_connection_obj_t *self);
extern mp_obj_tuple_t *common_hal_bleio_connection_discover_remote_services(bleio_connection_obj_t *self, mp_obj_t service_uuids_whitelist);
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_BLEIO_CONNECTION_H

View File

@ -89,12 +89,12 @@ STATIC mp_obj_t bleio_descriptor_add_to_characteristic(size_t n_args, const mp_o
const mp_obj_t characteristic_obj = args[ARG_characteristic].u_obj;
if (!MP_OBJ_IS_TYPE(characteristic_obj, &bleio_characteristic_type)) {
mp_raise_ValueError(translate("Expected a Characteristic"));
mp_raise_TypeError(translate("Expected a Characteristic"));
}
const mp_obj_t uuid_obj = args[ARG_uuid].u_obj;
if (!MP_OBJ_IS_TYPE(uuid_obj, &bleio_uuid_type)) {
mp_raise_ValueError(translate("Expected a UUID"));
mp_raise_TypeError(translate("Expected a UUID"));
}
const bleio_attribute_security_mode_t read_perm = args[ARG_read_perm].u_int;

View File

@ -64,7 +64,7 @@ STATIC mp_obj_t bleio_service_make_new(const mp_obj_type_t *type, size_t n_args,
const mp_obj_t uuid_obj = args[ARG_uuid].u_obj;
if (!MP_OBJ_IS_TYPE(uuid_obj, &bleio_uuid_type)) {
mp_raise_ValueError(translate("Expected a UUID"));
mp_raise_TypeError(translate("Expected a UUID"));
}
const bool is_secondary = args[ARG_secondary].u_bool;

View File

@ -26,6 +26,8 @@
* THE SOFTWARE.
*/
#include "py/objexcept.h"
#include "py/runtime.h"
#include "shared-bindings/_bleio/__init__.h"
#include "shared-bindings/_bleio/Address.h"
#include "shared-bindings/_bleio/Attribute.h"
@ -78,7 +80,58 @@
//| This object is the sole instance of `_bleio.Adapter`.
//|
//| .. class:: BluetoothError(Exception)
//|
//| Catch all exception for Bluetooth related errors.
//|
MP_DEFINE_BLEIO_EXCEPTION(BluetoothError, Exception)
NORETURN void mp_raise_bleio_BluetoothError(const compressed_string_t* fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_bleio_BluetoothError, fmt, argptr);
va_end(argptr);
nlr_raise(exception);
}
//| .. class:: ConnectionError(BluetoothError)
//|
//| Raised when a connection is unavailable.
//|
MP_DEFINE_BLEIO_EXCEPTION(ConnectionError, bleio_BluetoothError)
NORETURN void mp_raise_bleio_ConnectionError(const compressed_string_t* fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_bleio_ConnectionError, fmt, argptr);
va_end(argptr);
nlr_raise(exception);
}
//| .. class:: RoleError(BluetoothError)
//|
//| Raised when a resource is used as the mismatched role. For example, if a local CCCD is
//| attempted to be set but they can only be set when remote.
//|
MP_DEFINE_BLEIO_EXCEPTION(RoleError, bleio_BluetoothError)
NORETURN void mp_raise_bleio_RoleError(const compressed_string_t* msg) {
mp_raise_msg(&mp_type_bleio_RoleError, msg);
}
//| .. class:: SecurityError(BluetoothError)
//|
//| Raised when a security related error occurs.
//|
MP_DEFINE_BLEIO_EXCEPTION(SecurityError, bleio_BluetoothError)
NORETURN void mp_raise_bleio_SecurityError(const compressed_string_t* fmt, ...) {
va_list argptr;
va_start(argptr,fmt);
mp_obj_t exception = mp_obj_new_exception_msg_vlist(&mp_type_bleio_SecurityError, fmt, argptr);
va_end(argptr);
nlr_raise(exception);
}
STATIC const mp_rom_map_elem_t bleio_module_globals_table[] = {
// Name must be the first entry so that the exception printing below is correct.
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__bleio) },
{ MP_ROM_QSTR(MP_QSTR_Adapter), MP_ROM_PTR(&bleio_adapter_type) },
{ MP_ROM_QSTR(MP_QSTR_Address), MP_ROM_PTR(&bleio_address_type) },
@ -94,10 +147,26 @@ STATIC const mp_rom_map_elem_t bleio_module_globals_table[] = {
// Properties
{ MP_ROM_QSTR(MP_QSTR_adapter), MP_ROM_PTR(&common_hal_bleio_adapter_obj) },
// Errors
{ MP_ROM_QSTR(MP_QSTR_BluetoothError), MP_ROM_PTR(&mp_type_bleio_BluetoothError) },
{ MP_ROM_QSTR(MP_QSTR_ConnectionError), MP_ROM_PTR(&mp_type_bleio_ConnectionError) },
{ MP_ROM_QSTR(MP_QSTR_RoleError), MP_ROM_PTR(&mp_type_bleio_RoleError) },
{ MP_ROM_QSTR(MP_QSTR_SecurityError), MP_ROM_PTR(&mp_type_bleio_SecurityError) },
};
STATIC MP_DEFINE_CONST_DICT(bleio_module_globals, bleio_module_globals_table);
void bleio_exception_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind) {
mp_print_kind_t k = kind & ~PRINT_EXC_SUBCLASS;
bool is_subclass = kind & PRINT_EXC_SUBCLASS;
if (!is_subclass && (k == PRINT_EXC)) {
mp_print_str(print, qstr_str(MP_OBJ_QSTR_VALUE(bleio_module_globals_table[0].value)));
mp_print_str(print, ".");
}
mp_obj_exception_print(print, o_in, kind);
}
const mp_obj_module_t bleio_module = {
.base = { &mp_type_module },
.globals = (mp_obj_dict_t*)&bleio_module_globals,

View File

@ -38,6 +38,28 @@
extern bleio_adapter_obj_t common_hal_bleio_adapter_obj;
void bleio_exception_print(const mp_print_t *print, mp_obj_t o_in, mp_print_kind_t kind);
#define MP_DEFINE_BLEIO_EXCEPTION(exc_name, base_name) \
const mp_obj_type_t mp_type_bleio_ ## exc_name = { \
{ &mp_type_type }, \
.name = MP_QSTR_ ## exc_name, \
.print = bleio_exception_print, \
.make_new = mp_obj_exception_make_new, \
.attr = mp_obj_exception_attr, \
.parent = &mp_type_ ## base_name, \
};
extern const mp_obj_type_t mp_type_bleio_BluetoothError;
extern const mp_obj_type_t mp_type_bleio_ConnectionError;
extern const mp_obj_type_t mp_type_bleio_RoleError;
extern const mp_obj_type_t mp_type_bleio_SecurityError;
NORETURN void mp_raise_bleio_BluetoothError(const compressed_string_t* msg, ...);
NORETURN void mp_raise_bleio_ConnectionError(const compressed_string_t* msg, ...);
NORETURN void mp_raise_bleio_RoleError(const compressed_string_t* msg);
NORETURN void mp_raise_bleio_SecurityError(const compressed_string_t* msg, ...);
void common_hal_bleio_check_connected(uint16_t conn_handle);
uint16_t common_hal_bleio_device_get_conn_handle(mp_obj_t device);

View File

@ -37,5 +37,7 @@ void assert_pin(mp_obj_t obj, bool none_ok);
void assert_pin_free(const mcu_pin_obj_t* pin);
bool common_hal_mcu_pin_is_free(const mcu_pin_obj_t* pin);
void common_hal_never_reset_pin(const mcu_pin_obj_t* pin);
void common_hal_reset_pin(const mcu_pin_obj_t* pin);
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_MICROCONTROLLER_PIN_H

View File

@ -113,7 +113,7 @@ void common_hal_displayio_display_construct(displayio_display_obj_t* self,
if (result != PWMOUT_OK) {
self->backlight_inout.base.type = &digitalio_digitalinout_type;
common_hal_digitalio_digitalinout_construct(&self->backlight_inout, backlight_pin);
never_reset_pin_number(backlight_pin->number);
common_hal_never_reset_pin(backlight_pin);
} else {
self->backlight_pwm.base.type = &pulseio_pwmout_type;
common_hal_pulseio_pwmout_never_reset(&self->backlight_pwm);

View File

@ -82,7 +82,7 @@ void common_hal_displayio_epaperdisplay_construct(displayio_epaperdisplay_obj_t*
if (busy_pin != NULL) {
self->busy.base.type = &digitalio_digitalinout_type;
common_hal_digitalio_digitalinout_construct(&self->busy, busy_pin);
never_reset_pin_number(busy_pin->number);
common_hal_never_reset_pin(busy_pin);
}
// Clear the color memory if it isn't in use.

View File

@ -31,6 +31,7 @@
#include "py/gc.h"
#include "shared-bindings/busio/SPI.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "shared-bindings/microcontroller/Pin.h"
#include "shared-bindings/microcontroller/__init__.h"
#include "shared-bindings/time/__init__.h"
#include "shared-module/displayio/display_core.h"
@ -61,12 +62,12 @@ void common_hal_displayio_fourwire_construct(displayio_fourwire_obj_t* self,
self->reset.base.type = &digitalio_digitalinout_type;
common_hal_digitalio_digitalinout_construct(&self->reset, reset);
common_hal_digitalio_digitalinout_switch_to_output(&self->reset, true, DRIVE_MODE_PUSH_PULL);
never_reset_pin_number(reset->number);
common_hal_never_reset_pin(reset);
common_hal_displayio_fourwire_reset(self);
}
never_reset_pin_number(command->number);
never_reset_pin_number(chip_select->number);
common_hal_never_reset_pin(command);
common_hal_never_reset_pin(chip_select);
}
void common_hal_displayio_fourwire_deinit(displayio_fourwire_obj_t* self) {
@ -74,9 +75,9 @@ void common_hal_displayio_fourwire_deinit(displayio_fourwire_obj_t* self) {
common_hal_busio_spi_deinit(self->bus);
}
reset_pin_number(self->command.pin->number);
reset_pin_number(self->chip_select.pin->number);
reset_pin_number(self->reset.pin->number);
common_hal_reset_pin(self->command.pin);
common_hal_reset_pin(self->chip_select.pin);
common_hal_reset_pin(self->reset.pin);
}
bool common_hal_displayio_fourwire_reset(mp_obj_t obj) {

View File

@ -33,6 +33,7 @@
#include "py/runtime.h"
#include "shared-bindings/busio/I2C.h"
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "shared-bindings/microcontroller/Pin.h"
#include "shared-bindings/microcontroller/__init__.h"
#include "shared-bindings/time/__init__.h"
#include "shared-module/displayio/display_core.h"
@ -48,7 +49,7 @@ void common_hal_displayio_i2cdisplay_construct(displayio_i2cdisplay_obj_t* self,
self->reset.base.type = &digitalio_digitalinout_type;
common_hal_digitalio_digitalinout_construct(&self->reset, reset);
common_hal_digitalio_digitalinout_switch_to_output(&self->reset, true, DRIVE_MODE_PUSH_PULL);
never_reset_pin_number(reset->number);
common_hal_never_reset_pin(reset);
common_hal_displayio_i2cdisplay_reset(self);
}
@ -72,7 +73,7 @@ void common_hal_displayio_i2cdisplay_deinit(displayio_i2cdisplay_obj_t* self) {
common_hal_busio_i2c_deinit(self->bus);
}
reset_pin_number(self->reset.pin->number);
common_hal_reset_pin(self->reset.pin);
}
bool common_hal_displayio_i2cdisplay_reset(mp_obj_t obj) {

View File

@ -25,7 +25,7 @@
*/
#include "mphalport.h"
#include "common-hal/microcontroller/Pin.h"
#include "shared-bindings/microcontroller/Pin.h"
#include "rgb_led_status.h"
#ifdef MICROPY_HW_NEOPIXEL
@ -117,7 +117,7 @@ void rgb_led_status_init() {
mp_const_none);
#else
if (!common_hal_busio_spi_deinited(&status_apa102)) {
// This may call us recursively if reset_pin_number() is called,
// This may call us recursively if common_hal_reset_pin() is called,
// The rgb_led_status_init_in_progress guard will prevent further recursion.
common_hal_busio_spi_deinit(&status_apa102);
}
@ -181,11 +181,11 @@ void rgb_led_status_init() {
void reset_status_led() {
#ifdef MICROPY_HW_NEOPIXEL
reset_pin_number(MICROPY_HW_NEOPIXEL->number);
common_hal_reset_pin(MICROPY_HW_NEOPIXEL);
#endif
#if defined(MICROPY_HW_APA102_MOSI) && defined(MICROPY_HW_APA102_SCK)
reset_pin_number(MICROPY_HW_APA102_MOSI->number);
reset_pin_number(MICROPY_HW_APA102_SCK->number);
common_hal_reset_pin(MICROPY_HW_APA102_MOSI);
common_hal_reset_pin(MICROPY_HW_APA102_SCK);
#endif
#if defined(CP_RGB_STATUS_LED)
// TODO: Support sharing status LED with user.

View File

@ -91,6 +91,10 @@ else
CFLAGS += -DUSB_AVAILABLE
endif
ifndef USB_INTERFACE_NAME
USB_INTERFACE_NAME = "CircuitPython"
endif
ifndef USB_DEVICES
USB_DEVICES = "CDC,MSC,AUDIO,HID"
endif
@ -145,6 +149,7 @@ USB_DESCRIPTOR_ARGS = \
--vid $(USB_VID)\
--pid $(USB_PID)\
--serial_number_length $(USB_SERIAL_NUMBER_LENGTH)\
--interface_name $(USB_INTERFACE_NAME)\
--devices $(USB_DEVICES)\
--hid_devices $(USB_HID_DEVICES)\
--msc_max_packet_size $(USB_MSC_MAX_PACKET_SIZE)\

View File

@ -48,6 +48,7 @@ extension_by_board = {
aliases_by_board = {
"circuitplayground_express": ["circuitplayground_express_4h", "circuitplayground_express_digikey_pycon2019"],
"pybadge": ["edgebadge"],
"gemma_m0": ["gemma_m0_pycon2018"],
"pewpew10": ["pewpew13"]
}

View File

@ -8,6 +8,7 @@ sys.path.append("../../tools/usb_descriptor")
from adafruit_usb_descriptor import audio, audio10, cdc, hid, midi, msc, standard, util
import hid_report_descriptors
DEFAULT_INTERFACE_NAME = 'CircuitPython'
ALL_DEVICES='CDC,MSC,AUDIO,HID'
ALL_DEVICES_SET=frozenset(ALL_DEVICES.split(','))
DEFAULT_DEVICES='CDC,MSC,AUDIO,HID'
@ -32,6 +33,9 @@ parser.add_argument('--devices', type=lambda l: tuple(l.split(',')), default=DEF
help='devices to include in descriptor (AUDIO includes MIDI support)')
parser.add_argument('--hid_devices', type=lambda l: tuple(l.split(',')), default=DEFAULT_HID_DEVICES,
help='HID devices to include in HID report descriptor')
parser.add_argument('--interface_name', type=str,
help='The name/prefix to use in the interface descriptions',
default=DEFAULT_INTERFACE_NAME)
parser.add_argument('--msc_max_packet_size', type=int, default=64,
help='Max packet size for MSC')
parser.add_argument('--no-renumber_endpoints', dest='renumber_endpoints', action='store_false',
@ -151,7 +155,7 @@ cdc_comm_interface = standard.InterfaceDescriptor(
bInterfaceClass=cdc.CDC_CLASS_COMM, # Communications Device Class
bInterfaceSubClass=cdc.CDC_SUBCLASS_ACM, # Abstract control model
bInterfaceProtocol=cdc.CDC_PROTOCOL_NONE,
iInterface=StringIndex.index("CircuitPython CDC control"),
iInterface=StringIndex.index("{} CDC control".format(args.interface_name)),
subdescriptors=[
cdc.Header(
description="CDC comm",
@ -172,7 +176,7 @@ cdc_comm_interface = standard.InterfaceDescriptor(
cdc_data_interface = standard.InterfaceDescriptor(
description="CDC data",
bInterfaceClass=cdc.CDC_CLASS_DATA,
iInterface=StringIndex.index("CircuitPython CDC data"),
iInterface=StringIndex.index("{} CDC data".format(args.interface_name)),
subdescriptors=[
standard.EndpointDescriptor(
description="CDC data out",
@ -192,7 +196,7 @@ msc_interfaces = [
bInterfaceClass=msc.MSC_CLASS,
bInterfaceSubClass=msc.MSC_SUBCLASS_TRANSPARENT,
bInterfaceProtocol=msc.MSC_PROTOCOL_BULK,
iInterface=StringIndex.index("CircuitPython Mass Storage"),
iInterface=StringIndex.index("{} Mass Storage".format(args.interface_name)),
subdescriptors=[
standard.EndpointDescriptor(
description="MSC in",
@ -256,7 +260,7 @@ hid_interfaces = [
bInterfaceClass=hid.HID_CLASS,
bInterfaceSubClass=hid.HID_SUBCLASS_NOBOOT,
bInterfaceProtocol=hid.HID_PROTOCOL_NONE,
iInterface=StringIndex.index("CircuitPython HID"),
iInterface=StringIndex.index("{} HID".format(args.interface_name)),
subdescriptors=[
hid.HIDDescriptor(
description="HID",
@ -272,9 +276,9 @@ hid_interfaces = [
# USB OUT -> midi_in_jack_emb -> midi_out_jack_ext -> CircuitPython
midi_in_jack_emb = midi.InJackDescriptor(
description="MIDI PC -> CircuitPython",
description="MIDI PC -> {}".format(args.interface_name),
bJackType=midi.JACK_TYPE_EMBEDDED,
iJack=StringIndex.index("CircuitPython usb_midi.ports[0]"))
iJack=StringIndex.index("{} usb_midi.ports[0]".format(args.interface_name)))
midi_out_jack_ext = midi.OutJackDescriptor(
description="MIDI data out to user code.",
bJackType=midi.JACK_TYPE_EXTERNAL,
@ -287,10 +291,10 @@ midi_in_jack_ext = midi.InJackDescriptor(
bJackType=midi.JACK_TYPE_EXTERNAL,
iJack=0)
midi_out_jack_emb = midi.OutJackDescriptor(
description="MIDI PC <- CircuitPython",
description="MIDI PC <- {}".format(args.interface_name),
bJackType=midi.JACK_TYPE_EMBEDDED,
input_pins=[(midi_in_jack_ext, 1)],
iJack=StringIndex.index("CircuitPython usb_midi.ports[1]"))
iJack=StringIndex.index("{} usb_midi.ports[1]".format(args.interface_name)))
audio_midi_interface = standard.InterfaceDescriptor(
@ -298,7 +302,7 @@ audio_midi_interface = standard.InterfaceDescriptor(
bInterfaceClass=audio.AUDIO_CLASS_DEVICE,
bInterfaceSubClass=audio.AUDIO_SUBCLASS_MIDI_STREAMING,
bInterfaceProtocol=audio.AUDIO_PROTOCOL_V1,
iInterface=StringIndex.index("CircuitPython MIDI"),
iInterface=StringIndex.index("{} MIDI".format(args.interface_name)),
subdescriptors=[
midi.Header(
jacks_and_elements=[
@ -309,12 +313,12 @@ audio_midi_interface = standard.InterfaceDescriptor(
],
),
standard.EndpointDescriptor(
description="MIDI data out to CircuitPython",
description="MIDI data out to {}".format(args.interface_name),
bEndpointAddress=args.midi_ep_num_out | standard.EndpointDescriptor.DIRECTION_OUT,
bmAttributes=standard.EndpointDescriptor.TYPE_BULK),
midi.DataEndpointDescriptor(baAssocJack=[midi_in_jack_emb]),
standard.EndpointDescriptor(
description="MIDI data in from CircuitPython",
description="MIDI data in from {}".format(args.interface_name),
bEndpointAddress=args.midi_ep_num_in | standard.EndpointDescriptor.DIRECTION_IN,
bmAttributes=standard.EndpointDescriptor.TYPE_BULK,
bInterval = 0x0),
@ -334,7 +338,7 @@ audio_control_interface = standard.InterfaceDescriptor(
bInterfaceClass=audio.AUDIO_CLASS_DEVICE,
bInterfaceSubClass=audio.AUDIO_SUBCLASS_CONTROL,
bInterfaceProtocol=audio.AUDIO_PROTOCOL_V1,
iInterface=StringIndex.index("CircuitPython Audio"),
iInterface=StringIndex.index("{} Audio".format(args.interface_name)),
subdescriptors=[
cs_ac_interface,
])