Merge pull request #1 from adafruit/main

Merge latest CircuitPython changes (6.0.0-rc.1)
This commit is contained in:
Enrique Casado 2020-11-03 11:17:51 +01:00 committed by GitHub
commit f94cc090bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
136 changed files with 3672 additions and 612 deletions

View File

@ -37,7 +37,7 @@ jobs:
run: |
sudo apt-get install -y eatmydata
sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64 latexmk texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra
pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid isort black awscli
pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid isort black awscli mypy
- name: Versions
run: |
gcc --version
@ -67,8 +67,8 @@ jobs:
- name: mpy Tests
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --via-mpy -d basics float
working-directory: tests
- name: Stubs
run: make stubs -j2
- name: Build and Validate Stubs
run: make check-stubs -j2
- uses: actions/upload-artifact@v2
with:
name: stubs
@ -111,11 +111,13 @@ jobs:
with:
name: mpy-cross.static-x64-windows
path: mpy-cross/mpy-cross.static.exe
- name: Upload mpy-cross builds to S3
- name: Upload stubs and mpy-cross builds to S3
run: |
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static-raspbian s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-raspbian-${{ env.CP_VERSION }} --no-progress --region us-east-1
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-amd64-linux-${{ env.CP_VERSION }} --no-progress --region us-east-1
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static.exe s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-x64-windows-${{ env.CP_VERSION }}.exe --no-progress --region us-east-1
zip -9r circuitpython-stubs.zip circuitpython-stubs
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp circuitpython-stubs.zip s3://adafruit-circuit-python/bin/stubs/circuitpython-stubs-${{ env.CP_VERSION }}.zip --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 }}
@ -131,7 +133,7 @@ jobs:
run: echo "$GITHUB_CONTEXT"
- name: Install dependencies
run: |
brew install gettext awscli
brew install gettext
echo >>$GITHUB_PATH /usr/local/opt/gettext/bin
- name: Versions
run: |
@ -170,6 +172,7 @@ jobs:
matrix:
board:
- "8086_commander"
- "ADM_B_NRF52840_1"
- "TG-Watch02A"
- "aloriumtech_evo_m51"
- "aramcon_badge_2019"
@ -198,6 +201,8 @@ jobs:
- "datum_imu"
- "datum_light"
- "datum_weather"
- "dynossat_edu_eps"
- "dynossat_edu_obc"
- "electronut_labs_blip"
- "electronut_labs_papyr"
- "escornabot_makech"
@ -416,6 +421,7 @@ jobs:
fail-fast: false
matrix:
board:
- "adafruit_esp32s2_eink_portal"
- "adafruit_metro_esp32s2"
- "electroniccats_bastwifi"
- "espressif_kaluga_1"
@ -423,6 +429,8 @@ jobs:
- "espressif_saola_1_wrover"
- "microdev_micro_s2"
- "muselab_nanoesp32_s2"
- "targett_module_clip_wroom"
- "targett_module_clip_wrover"
- "unexpectedmaker_feathers2"
- "unexpectedmaker_feathers2_prerelease"

View File

@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
# Contributing
Please note that this project is released with a
[Contributor Code of Conduct](https://github.com/adafruit/circuitpython/blob/main/CODE_OF_CONDUCT.md).
[Contributor Code of Conduct](CODE_OF_CONDUCT.md).
By participating in this project you agree to abide by its terms. Participation
covers any forum used to converse about CircuitPython including unofficial and official spaces. Failure to do
so will result in corrective actions such as time out or ban from the project.

View File

@ -95,7 +95,6 @@ Differences from `MicroPython <https://github.com/micropython/micropython>`__
CircuitPython:
- Supports native USB on all boards, allowing file editing without special tools.
- Supports only SAMD21, SAMD51, nRF52840, CXD56, STM32F4 and i.MX RT ports.
- Floats (aka decimals) are enabled for all builds.
- Error messages are translated into 10+ languages.
- Does not support concurrency within Python (including interrupts and threading). Some concurrency
@ -137,8 +136,8 @@ Behavior
API
~~~
- Unified hardware APIs. Documented
`on ReadTheDocs <https://circuitpython.readthedocs.io/en/latest/shared-bindings/index.html>`_.
- Unified hardware APIs. Documented on
`ReadTheDocs <https://circuitpython.readthedocs.io/en/latest/shared-bindings/index.html>`_.
- API docs are rST within the C files in ``shared-bindings``.
- No ``machine`` API.
@ -201,14 +200,27 @@ Ports
Ports include the code unique to a microcontroller line and also
variations based on the board.
- ``atmel-samd`` Support for SAMD21 and SAMD51 based boards.
- ``nrf`` Support for the nRF52840 based boards.
- ``unix`` Support for UNIX. Only used for automated testing.
================ ============================================================
Supported Support status
================ ============================================================
atmel-samd ``SAMD21`` stable | ``SAMD51`` stable
cxd56 stable
esp32s2 beta
litex alpha
mimxrt10xx alpha
nrf stable
stm ``F4`` stable | ``others`` beta
unix alpha
================ ============================================================
- ``stable`` Highly unlikely to have bugs or missing functionality.
- ``beta`` Being actively improved but may be missing functionality and have bugs.
- ``alpha`` Will have bugs and missing functionality.
The remaining port directories not listed above are in the repo to maintain compatibility with the
`MicroPython <https://github.com/micropython/micropython>`__ parent project.
`back to top <#circuitpython>`__
`Back to Top <#circuitpython>`__
.. |Build Status| image:: https://github.com/adafruit/circuitpython/workflows/Build%20CI/badge.svg
:target: https://github.com/adafruit/circuitpython/actions?query=branch%3Amain

View File

@ -45,7 +45,6 @@
#include "shared-bindings/_bleio/Address.h"
#include "shared-bindings/_bleio/Characteristic.h"
#include "shared-bindings/_bleio/Service.h"
#include "shared-bindings/nvm/ByteArray.h"
#include "shared-bindings/_bleio/Connection.h"
#include "shared-bindings/_bleio/ScanEntry.h"
#include "shared-bindings/time/__init__.h"

View File

@ -11,7 +11,7 @@
#include <stdbool.h>
// for __packed
#include <string.h>
#include <sys/cdefs.h>
#define BT_EATT_PSM 0x27
#define BT_ATT_DEFAULT_LE_MTU 23

View File

@ -12,10 +12,15 @@
#define ZEPHYR_INCLUDE_BLUETOOTH_HCI_H_
#include <stdbool.h>
#include <string.h>
// for __packed
#include <sys/cdefs.h>
#include "addr.h"
// ESP32S2 build environment defines this already.
#ifndef BIT
#define BIT(n) (1UL << (n))
#endif
/* Special own address types for LL privacy (used in adv & scan parameters) */
#define BT_HCI_OWN_ADDR_RPA_OR_PUBLIC 0x02

@ -1 +1 @@
Subproject commit 11a7ecff6d76a02644ff23a734b792afaa615e44
Subproject commit 8242b84753355433b61230ab6631c06e5ac77f35

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-10-10 23:51+0000\n"
"Last-Translator: oon arfiandwi <oon.arfiandwi@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -292,11 +292,16 @@ msgstr "Alamat harus sepanjang %d byte"
msgid "Address type out of range"
msgstr "Jenis alamat di luar batas"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Semua perangkat I2C sedang digunakan"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -413,6 +418,10 @@ msgstr ""
"Auto-reload aktif. Silahkan simpan data-data (files) melalui USB untuk "
"menjalankannya atau masuk ke REPL untukmenonaktifkan.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -793,7 +802,7 @@ msgstr "Mode kendara tidak digunakan saat arah input."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB hanya beroperasi pada 16 byte di satu waktu"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -919,6 +928,7 @@ msgid "File exists"
msgstr "File sudah ada"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -966,6 +976,10 @@ msgstr "Perangkat keras sibuk, coba pin alternatif"
msgid "Hardware in use, try alternative pins"
msgstr "Perangkat keras sedang digunakan, coba pin alternatif"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "operasi I/O pada file tertutup"
@ -1047,6 +1061,7 @@ msgstr "File BMP tidak valid"
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "Pin DAC yang diberikan tidak valid"
@ -1135,7 +1150,7 @@ msgstr "Pin untuk channel kanan tidak valid"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1258,7 +1273,6 @@ msgid "No CCCD for this Characteristic"
msgstr "Tidak ada CCCD untuk Karakteristik ini"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Tidak ada DAC (Digital Analog Converter) di dalam chip"
@ -1427,6 +1441,10 @@ msgstr ""
"Hanya monokrom, 4bpp atau 8bpp yang diindeks, dan 16bpp atau lebih yang "
"didukung: %d bpp diberikan"
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2150,6 +2168,10 @@ msgstr ""
msgid "buffer too small"
msgstr ""
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr ""
@ -2775,6 +2797,10 @@ msgstr "format tidak valid"
msgid "invalid format specifier"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "key tidak valid"
@ -2868,6 +2894,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2902,6 +2932,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3213,6 +3251,8 @@ msgstr ""
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3335,6 +3375,10 @@ msgstr "memulai ulang software(soft reboot)\n"
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3465,6 +3509,16 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\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"
@ -288,11 +288,16 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -407,6 +412,10 @@ msgid ""
"disable.\n"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -775,7 +784,7 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -901,6 +910,7 @@ msgid "File exists"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -947,6 +957,10 @@ msgstr ""
msgid "Hardware in use, try alternative pins"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr ""
@ -1026,6 +1040,7 @@ msgstr ""
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
@ -1114,7 +1129,7 @@ msgstr ""
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1237,7 +1252,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr ""
@ -1400,6 +1414,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2103,6 +2121,10 @@ msgstr ""
msgid "buffer too small"
msgstr ""
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr ""
@ -2728,6 +2750,10 @@ msgstr ""
msgid "invalid format specifier"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr ""
@ -2821,6 +2847,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2855,6 +2885,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3165,6 +3203,8 @@ msgstr ""
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3287,6 +3327,10 @@ msgstr ""
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3416,6 +3460,16 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-05-24 03:22+0000\n"
"Last-Translator: dronecz <mzuzelka@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -292,11 +292,16 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -411,6 +416,10 @@ msgid ""
"disable.\n"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -779,7 +788,7 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -905,6 +914,7 @@ msgid "File exists"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -951,6 +961,10 @@ msgstr ""
msgid "Hardware in use, try alternative pins"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr ""
@ -1030,6 +1044,7 @@ msgstr ""
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
@ -1118,7 +1133,7 @@ msgstr ""
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1241,7 +1256,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr ""
@ -1404,6 +1418,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2107,6 +2125,10 @@ msgstr ""
msgid "buffer too small"
msgstr ""
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr ""
@ -2732,6 +2754,10 @@ msgstr ""
msgid "invalid format specifier"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr ""
@ -2825,6 +2851,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2859,6 +2889,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3169,6 +3207,8 @@ msgstr ""
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3291,6 +3331,10 @@ msgstr ""
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3420,6 +3464,16 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-06-16 18:24+0000\n"
"Last-Translator: Andreas Buchen <andreas.buchen@gmail.com>\n"
"Language: de_DE\n"
@ -73,7 +73,7 @@ msgstr "Der Index %q befindet sich außerhalb des Bereiches"
#: py/obj.c
msgid "%q indices must be integers, not %q"
msgstr ""
msgstr "%q Indizes müssen Integer sein, nicht %q"
#: shared-bindings/vectorio/Polygon.c
msgid "%q list must be a list"
@ -81,7 +81,7 @@ msgstr "%q Liste muss eine Liste sein"
#: shared-bindings/memorymonitor/AllocationAlarm.c
msgid "%q must be >= 0"
msgstr ""
msgstr "%q muss >= 0 sein"
#: shared-bindings/_bleio/CharacteristicBuffer.c
#: shared-bindings/_bleio/PacketBuffer.c shared-bindings/displayio/Group.c
@ -97,11 +97,11 @@ msgstr "%q muss ein Tupel der Länge 2 sein"
#: shared-bindings/canio/Match.c
msgid "%q out of range"
msgstr ""
msgstr "%q außerhalb des Bereichs"
#: ports/atmel-samd/common-hal/microcontroller/Pin.c
msgid "%q pin invalid"
msgstr ""
msgstr "%q Pin ungültig"
#: shared-bindings/fontio/BuiltinFont.c
msgid "%q should be an int"
@ -117,11 +117,11 @@ msgstr "'%q' Argument erforderlich"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr ""
msgstr "'%q' Objekt kann das Attribut '%q' nicht zuweisen"
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr ""
msgstr "'%q' Objekt unterstützt '%q' nicht"
#: py/obj.c
msgid "'%q' object does not support item assignment"
@ -129,11 +129,11 @@ msgstr ""
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr ""
msgstr "'%q' objekt unterstützt das "
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr ""
msgstr "'%q' Objekt hat kein Attribut '%q'"
#: py/runtime.c
msgid "'%q' object is not an iterator"
@ -141,7 +141,7 @@ msgstr ""
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr ""
msgstr "'%q' Objekt ist kein callable"
#: py/runtime.c
msgid "'%q' object is not iterable"
@ -149,7 +149,7 @@ msgstr ""
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr ""
msgstr "'%q' Objekt hat keine '__getitem__'-Methode (not subscriptable)"
#: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format
@ -280,7 +280,7 @@ msgstr "Ein Hardware Interrupt Kanal wird schon benutzt"
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
msgid "ADC2 is being used by WiFi"
msgstr ""
msgstr "ADC2 wird vom WiFi benutzt"
#: shared-bindings/_bleio/Address.c shared-bindings/ipaddress/IPv4Address.c
#, c-format
@ -291,11 +291,16 @@ msgstr "Die Adresse muss %d Bytes lang sein"
msgid "Address type out of range"
msgstr "Adresstyp außerhalb des zulässigen Bereichs"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Alle I2C-Peripheriegeräte sind in Benutzung"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -346,11 +351,11 @@ msgstr ""
#: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c
msgid "Already running"
msgstr ""
msgstr "Läuft bereits"
#: ports/esp32s2/common-hal/wifi/Radio.c
msgid "Already scanning for wifi networks"
msgstr ""
msgstr "Sucht bereits nach wifi Netzwerken"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
@ -390,7 +395,7 @@ msgstr "Es darf höchstens %d %q spezifiziert werden (nicht %d)"
#: shared-module/memorymonitor/AllocationAlarm.c
#, c-format
msgid "Attempt to allocate %d blocks"
msgstr ""
msgstr "Versuche %d Blöcke zu allokieren"
#: supervisor/shared/safe_mode.c
msgid "Attempted heap allocation when MicroPython VM not running."
@ -400,7 +405,7 @@ msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Authentication failure"
msgstr ""
msgstr "Authentifizierungsfehler"
#: main.c
msgid "Auto-reload is off.\n"
@ -414,6 +419,10 @@ msgstr ""
"Automatisches Neuladen ist aktiv. Speichere Dateien über USB um sie "
"auszuführen oder verbinde dich mit der REPL zum Deaktivieren.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -478,11 +487,11 @@ msgstr "Die Pufferlänge %d ist zu groß. Sie muss kleiner als %d sein"
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
#: ports/cxd56/common-hal/sdioio/SDCard.c shared-module/sdcardio/SDCard.c
msgid "Buffer length must be a multiple of 512"
msgstr ""
msgstr "Die Pufferlänge muss ein vielfaches von 512 sein"
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr ""
msgstr "Der Puffer muss ein vielfaches von 512 bytes sein"
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1"
@ -660,7 +669,7 @@ msgstr "Beschädigter raw code"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Could not initialize Camera"
msgstr ""
msgstr "Konnte Kamera nicht initialisieren"
#: ports/cxd56/common-hal/gnss/GNSS.c
msgid "Could not initialize GNSS"
@ -668,7 +677,7 @@ msgstr ""
#: ports/cxd56/common-hal/sdioio/SDCard.c
msgid "Could not initialize SDCard"
msgstr ""
msgstr "Konnte SDKarte nicht initialisieren"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c
@ -701,7 +710,7 @@ msgstr ""
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
msgstr "Konnte Adresse nicht setzen"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not start PWM"
@ -789,7 +798,7 @@ msgstr "Drive mode wird nicht verwendet, wenn die Richtung input ist."
msgid "ECB only operates on 16 bytes at a time"
msgstr "Die EZB arbeitet jeweils nur mit 16 Bytes"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -818,7 +827,7 @@ msgstr "Characteristic wird erwartet"
#: shared-bindings/_bleio/Adapter.c
msgid "Expected a DigitalInOut"
msgstr ""
msgstr "DigitanInOut wird erwartet"
#: shared-bindings/_bleio/Characteristic.c
msgid "Expected a Service"
@ -826,7 +835,7 @@ msgstr "Ein Service wird erwartet"
#: shared-bindings/_bleio/Adapter.c
msgid "Expected a UART"
msgstr ""
msgstr "UART wird erwartet"
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
#: shared-bindings/_bleio/Service.c
@ -853,7 +862,7 @@ msgstr "FFT ist nur für ndarrays definiert"
#: ports/esp32s2/common-hal/socketpool/Socket.c
msgid "Failed SSL handshake"
msgstr ""
msgstr "SSL Handshake fehlgeschlagen"
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
@ -916,18 +925,19 @@ msgid "File exists"
msgstr "Datei existiert"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
msgstr "Filter zu komplex"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Format not supported"
msgstr ""
msgstr "Format nicht unterstützt"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
msgstr "Framepuffer benötigt %d bytes"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused."
@ -966,6 +976,10 @@ msgstr "Hardware beschäftigt, versuchen Sie alternative Pins"
msgid "Hardware in use, try alternative pins"
msgstr "Hardware in benutzung, probiere alternative Pins"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr "Der Hostname muss zwischen 1 und 253 Zeichen haben"
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "Lese/Schreibe-operation an geschlossener Datei"
@ -976,7 +990,7 @@ msgstr "I2C-Init-Fehler"
#: shared-bindings/audiobusio/I2SOut.c
msgid "I2SOut not available"
msgstr ""
msgstr "I2SOut nicht verfügbar"
#: shared-bindings/aesio/aes.c
#, c-format
@ -1022,12 +1036,12 @@ msgstr "Interner Fehler #%d"
#: shared-bindings/sdioio/SDCard.c
msgid "Invalid %q"
msgstr ""
msgstr "Ungültiger %q"
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
#: ports/atmel-samd/common-hal/audiobusio/PDMIn.c
msgid "Invalid %q pin"
msgstr "Ungültiger %q pin"
msgstr "Ungültiger %q Pin"
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/canio/CAN.c
@ -1045,8 +1059,9 @@ msgstr "Ungültige BMP-Datei"
#: shared-bindings/wifi/Radio.c
msgid "Invalid BSSID"
msgstr ""
msgstr "Ungültige BSSID"
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "Ungültiger DAC-Pin angegeben"
@ -1095,7 +1110,7 @@ msgstr "Ungültige format chunk size"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
msgstr "Ungültige Frequenz"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
@ -1135,7 +1150,7 @@ msgstr "Ungültiger Pin für rechten Kanal"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1260,7 +1275,6 @@ msgid "No CCCD for this Characteristic"
msgstr "Kein CCCD für diese Charakteristik"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Kein DAC im Chip vorhanden"
@ -1429,6 +1443,10 @@ msgstr ""
"Nur monochrome, indizierte 4bpp oder 8bpp, und 16bpp oder größere BMPs "
"unterstützt: %d bpp wurden gegeben"
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -1982,14 +2000,16 @@ msgstr "WatchDogTimer läuft aktuell nicht"
#: shared-bindings/watchdog/WatchDogTimer.c
msgid "WatchDogTimer.mode cannot be changed once set to WatchDogMode.RESET"
msgstr ""
"WatchDogTimer.mode kann nicht geändert werden, nachdem er auf WatchDogMode."
"RESET gesetzt wurde"
#: shared-bindings/watchdog/WatchDogTimer.c
msgid "WatchDogTimer.timeout must be greater than 0"
msgstr ""
msgstr "WatchDogTimer.timeout muss größer als 0 sein"
#: supervisor/shared/safe_mode.c
msgid "Watchdog timer expired."
msgstr ""
msgstr "Watchdog timer abgelaufen "
#: py/builtinhelp.c
#, c-format
@ -2009,11 +2029,11 @@ msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "WiFi password must be between 8 and 63 characters"
msgstr ""
msgstr "WiFi Passwort muss zwischen 8 und 63 Zeichen lang sein"
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
msgid "Writes not supported on Characteristic"
msgstr "Schreiben nicht unterstüzt für die Characteristic"
msgstr "Schreiben nicht unterstüzt für diese Charakteristik"
#: supervisor/shared/safe_mode.c
msgid "You are in safe mode: something unanticipated happened.\n"
@ -2031,7 +2051,7 @@ msgstr "__init__() sollte None zurückgeben"
#: py/objtype.c
msgid "__init__() should return None, not '%q'"
msgstr ""
msgstr "__init__() sollte None zurückgeben, nicht '%q'"
#: py/objobject.c
msgid "__new__ arg must be a user-type"
@ -2076,12 +2096,12 @@ msgstr "Argument hat falschen Typ"
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
msgstr "Argument muss ein ndarray sein"
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
msgid "argument num/types mismatch"
msgstr "Anzahl/Type der Argumente passen nicht"
msgstr "Anzahl/Typen der Argumente passen nicht"
#: py/runtime.c
msgid "argument should be a '%q' not a '%q'"
@ -2164,6 +2184,10 @@ msgstr "Puffersegmente müssen gleich lang sein"
msgid "buffer too small"
msgstr "Der Puffer ist zu klein"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "Tasten müssen digitalio.DigitalInOut sein"
@ -2183,7 +2207,7 @@ msgstr "bytes mit mehr als 8 bits werden nicht unterstützt"
#: py/objarray.c
msgid "bytes length not a multiple of item size"
msgstr ""
msgstr "Byte-Länge ist kein vielfaches der Item-Größe"
#: py/objstr.c
msgid "bytes value out of range"
@ -2226,7 +2250,7 @@ msgstr "kann keinem Ausdruck zuweisen"
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %q to %q"
msgstr ""
msgstr "kann %q nicht zu %q konvertieren"
#: py/objstr.c
msgid "can't convert '%q' object to %q implicitly"
@ -2234,7 +2258,7 @@ msgstr "Kann '%q' Objekt nicht implizit nach %q konvertieren"
#: py/obj.c
msgid "can't convert to %q"
msgstr ""
msgstr "kann nicht zu %q konvertieren"
#: py/objstr.c
msgid "can't convert to str implicitly"
@ -2288,7 +2312,7 @@ msgstr ""
#: shared-module/sdcardio/SDCard.c
msgid "can't set 512 block size"
msgstr ""
msgstr "Kann Blockgröße von 512 nicht setzen"
#: py/objnamedtuple.c
msgid "can't set attribute"
@ -2724,11 +2748,11 @@ msgstr "Indizes müssen Integer, Slices oder Boolesche Listen sein"
#: extmod/ulab/code/approx/approx.c
msgid "initial values must be iterable"
msgstr ""
msgstr "Ausgangswerte müssen iterierbar sein"
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
msgid "initial_value length is wrong"
msgstr ""
msgstr "Länge von initial_value ist falsch"
#: py/compile.c
msgid "inline assembler must be a function"
@ -2803,6 +2827,10 @@ msgstr "ungültiges Format"
msgid "invalid format specifier"
msgstr "ungültiger Formatbezeichner"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "ungültiger Schlüssel"
@ -2902,6 +2930,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr "long int wird in diesem Build nicht unterstützt"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr "fehlformatierter f-string"
@ -2936,6 +2968,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr "maximale Rekursionstiefe überschritten"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3118,7 +3158,7 @@ msgstr "Objekt nicht iterierbar"
#: py/obj.c
msgid "object of type '%q' has no len()"
msgstr ""
msgstr "Object vom Typ '%q' hat kein len()"
#: py/obj.c
msgid "object with buffer protocol required"
@ -3172,11 +3212,11 @@ msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
msgstr "Außerhalb des Bereichs der Quelle"
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
msgstr "Außerhalb des Bereichs des Ziels"
#: py/objint_mpz.c
msgid "overflow converting long int to machine word"
@ -3250,6 +3290,8 @@ msgstr "pow () mit 3 Argumenten erfordert Integer"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3374,6 +3416,10 @@ msgstr "weicher reboot\n"
msgid "sort argument must be an ndarray"
msgstr "sortierungs Argument muss ein ndarray sein"
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3388,7 +3434,7 @@ msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "source palette too large"
msgstr ""
msgstr "Quell-Palette zu groß"
#: py/objstr.c
msgid "start/end indices"
@ -3416,7 +3462,7 @@ msgstr "stream operation ist nicht unterstützt"
#: py/objstrunicode.c
msgid "string indices must be integers, not %q"
msgstr ""
msgstr "String Indizes müssen Integer sein, nicht %q"
#: py/stream.c
msgid "string not supported; use bytes or bytearray"
@ -3457,7 +3503,7 @@ msgstr "time.struct_time() nimmt eine 9-Sequenz an"
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
msgid "timeout duration exceeded the maximum supported value"
msgstr ""
msgstr "Das Zeitlimit hat den maximal zulässigen Wert überschritten"
#: shared-bindings/busio/UART.c
msgid "timeout must be 0.0-100.0 seconds"
@ -3469,11 +3515,11 @@ msgstr "timeout muss >= 0.0 sein"
#: shared-module/sdcardio/SDCard.c
msgid "timeout waiting for v1 card"
msgstr ""
msgstr "Zeitlimit beim warten auf v1 Karte"
#: shared-module/sdcardio/SDCard.c
msgid "timeout waiting for v2 card"
msgstr ""
msgstr "Zeitlimit beim warten auf v2 Karte"
#: shared-bindings/time/__init__.c
msgid "timestamp out of range for platform time_t"
@ -3504,6 +3550,16 @@ msgstr "Tupelindex außerhalb des Bereichs"
msgid "tuple/list has wrong length"
msgstr "tupel/list hat falsche Länge"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
@ -3524,7 +3580,7 @@ msgstr "Typ vom Objekt '%q' hat kein Attribut '%q'"
#: py/objgenerator.c
msgid "type object 'generator' has no attribute '__await__'"
msgstr ""
msgstr "Das Typ-Objekt 'generator' hat kein Attribut '__await__'"
#: py/objtype.c
msgid "type takes 1 or 3 arguments"
@ -3569,7 +3625,7 @@ msgstr "unbekannter Konvertierungs specifier %c"
#: py/objstr.c
msgid "unknown format code '%c' for object of type '%q'"
msgstr ""
msgstr "Unbekannter Formatcode '%c' für Objekt vom Typ '%q'"
#: py/compile.c
msgid "unknown type"
@ -3630,7 +3686,7 @@ msgstr "value_count muss größer als 0 sein"
#: extmod/ulab/code/linalg/linalg.c
msgid "vectors must have same lengths"
msgstr ""
msgstr "Vektoren müssen die selbe Länge haben"
#: shared-bindings/watchdog/WatchDogTimer.c
msgid "watchdog timeout must be greater than 0"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@ -287,11 +287,16 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -406,6 +411,10 @@ msgid ""
"disable.\n"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -774,7 +783,7 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -900,6 +909,7 @@ msgid "File exists"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -946,6 +956,10 @@ msgstr ""
msgid "Hardware in use, try alternative pins"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr ""
@ -1025,6 +1039,7 @@ msgstr ""
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
@ -1113,7 +1128,7 @@ msgstr ""
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1236,7 +1251,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr ""
@ -1399,6 +1413,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2102,6 +2120,10 @@ msgstr ""
msgid "buffer too small"
msgstr ""
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr ""
@ -2727,6 +2749,10 @@ msgstr ""
msgid "invalid format specifier"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr ""
@ -2820,6 +2846,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2854,6 +2884,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3164,6 +3202,8 @@ msgstr ""
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3286,6 +3326,10 @@ msgstr ""
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3415,6 +3459,16 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -7,16 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"PO-Revision-Date: 2020-10-09 17:19+0000\n"
"Last-Translator: dherrada <dylan.herrada@adafruit.com>\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-11-01 16:26+0000\n"
"Last-Translator: Alvaro Figueroa <alvaro@greencore.co.cr>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3-dev\n"
"X-Generator: Weblate 4.3.2-dev\n"
#: main.c
msgid ""
@ -33,7 +33,7 @@ msgid ""
"https://github.com/adafruit/circuitpython/issues\n"
msgstr ""
"\n"
"Reporte un problema con el contenido de su unidad CIRCUITPY en\n"
"Presente un problema con el contenido de su unidad CIRCUITPY en\n"
"https://github.com/adafruit/circuitpython/issues\n"
#: py/obj.c
@ -168,7 +168,7 @@ msgstr "'%s' espera un registro"
#: py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a special register"
msgstr "'%s' espera un carácter"
msgstr "'%s' espera un registro especial"
#: py/emitinlinethumb.c
#, c-format
@ -239,7 +239,7 @@ msgstr "el objeto 'coroutine' no es un iterador"
#: py/compile.c
msgid "'data' requires at least 2 arguments"
msgstr "'data' requiere como minomo 2 argumentos"
msgstr "'data' requiere como mínimo 2 argumentos"
#: py/compile.c
msgid "'data' requires integer arguments"
@ -255,7 +255,7 @@ msgstr "'return' fuera de una función"
#: py/compile.c
msgid "'yield from' inside async function"
msgstr ""
msgstr "'yield from' dentro de una función asincrónica"
#: py/compile.c
msgid "'yield' outside function"
@ -284,22 +284,27 @@ msgstr "El canal EXTINT ya está siendo utilizado"
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
msgid "ADC2 is being used by WiFi"
msgstr ""
msgstr "ADC2 está siendo usado por WiFi"
#: shared-bindings/_bleio/Address.c shared-bindings/ipaddress/IPv4Address.c
#, c-format
msgid "Address must be %d bytes long"
msgstr "La dirección debe ser %d bytes de largo"
msgstr "La dirección debe tener %d bytes de largo"
#: shared-bindings/_bleio/Address.c
msgid "Address type out of range"
msgstr "Tipo de dirección fuera de rango"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr "Todos los periféricos CAN están en uso"
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Todos los periféricos I2C están siendo usados"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr "Todos los FIFOs de RX en uso"
@ -347,7 +352,7 @@ msgstr "Ya se encuentra publicando."
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "Already have all-matches listener"
msgstr "Ya se tiene un escucha todas-las-coincidencias"
msgstr "Ya se tiene un escucha de todas las coincidencias"
#: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c
@ -370,7 +375,7 @@ msgstr "Funcionalidad AnalogOut no soportada"
#: shared-bindings/analogio/AnalogOut.c
msgid "AnalogOut is only 16 bits. Value must be less than 65536."
msgstr "AnalogOut es solo de 16 bits. Value debe ser menos a 65536."
msgstr "AnalogOut es solo de 16 bits. El valor debe ser menor que 65536."
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
msgid "AnalogOut not supported on given pin"
@ -383,7 +388,7 @@ msgstr "Otro envío ya está activo"
#: shared-bindings/pulseio/PulseOut.c
msgid "Array must contain halfwords (type 'H')"
msgstr "Array debe contener media palabra (type 'H')"
msgstr "El array debe contener medias palabras (escriba 'H')"
#: shared-bindings/nvm/ByteArray.c
msgid "Array values should be single bytes."
@ -420,6 +425,10 @@ msgstr ""
"Auto-reload habilitado. Simplemente guarda los archivos via USB para "
"ejecutarlos o entra al REPL para desabilitarlos.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr "El periférico no maneja el Baudrate"
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -794,7 +803,7 @@ msgstr "Modo Drive no se usa cuando la dirección es input."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB solo opera sobre 16 bytes a la vez"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr "Fallo ESP-IDF al tomar la memoria"
@ -920,6 +929,7 @@ msgid "File exists"
msgstr "El archivo ya existe"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr "Filtros muy complejos"
@ -967,6 +977,10 @@ msgstr "Hardware ocupado, pruebe pines alternativos"
msgid "Hardware in use, try alternative pins"
msgstr "Hardware en uso, pruebe pines alternativos"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr "Hostname debe ser entre 1 y 253 caracteres"
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "Operación I/O en archivo cerrado"
@ -1048,6 +1062,7 @@ msgstr "Archivo BMP inválido"
msgid "Invalid BSSID"
msgstr "BSSID inválido"
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "Pin suministrado inválido para DAC"
@ -1136,7 +1151,7 @@ msgstr "Pin inválido para canal derecho"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1259,7 +1274,6 @@ msgid "No CCCD for this Characteristic"
msgstr "No hay CCCD para esta característica"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "El chip no tiene DAC"
@ -1428,6 +1442,10 @@ msgstr ""
"Solo se admiten BMP monocromáticos, indexados de 4 bpp u 8 bpp y 16 bpp o "
"más: %d bpp proporcionados"
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr "Solo un color puede ser transparente a la vez"
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr "Solo se aceptan enteros crudos para ip"
@ -1818,15 +1836,15 @@ msgstr "No se pudo encontrar el búfer para UART"
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr "Error de desinicialización de UARL"
msgstr "Error de desinicialización de UART"
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr "Error de inicialización de UARL"
msgstr "Error de inicialización de UART"
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr "Error de reinicialización de UARL"
msgstr "Error de reinicialización de UART"
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
@ -2165,6 +2183,10 @@ msgstr "Las secciones del buffer necesitan tener longitud igual"
msgid "buffer too small"
msgstr "buffer demasiado pequeño"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr "búfer muy pequeño para los bytes solicitados"
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "los botones necesitan ser digitalio.DigitalInOut"
@ -2797,6 +2819,10 @@ msgstr "formato inválido"
msgid "invalid format specifier"
msgstr "especificador de formato inválido"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr "hostname inválido"
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "llave inválida"
@ -2893,6 +2919,10 @@ msgstr "variable local referenciada antes de la asignación"
msgid "long int not supported in this build"
msgstr "long int no soportado en esta compilación"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr "cadena-f mal formada"
@ -2927,6 +2957,14 @@ msgstr "max_lenght debe ser > 0"
msgid "maximum recursion depth exceeded"
msgstr "profundidad máxima de recursión excedida"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3240,6 +3278,8 @@ msgstr "pow() con 3 argumentos requiere enteros"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3364,6 +3404,10 @@ msgstr "reinicio suave\n"
msgid "sort argument must be an ndarray"
msgstr "argumento de ordenado debe ser un ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr "el arreglo sos debe de forma (n_section, 6)"
@ -3494,6 +3538,16 @@ msgstr "tuple index fuera de rango"
msgid "tuple/list has wrong length"
msgstr "tupla/lista tiene una longitud incorrecta"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
@ -3514,7 +3568,7 @@ msgstr "objeto de tipo '%q' no tiene atributo '%q'"
#: py/objgenerator.c
msgid "type object 'generator' has no attribute '__await__'"
msgstr ""
msgstr "objeto tipo 'generator' no tiene un atributo '__await__'"
#: py/objtype.c
msgid "type takes 1 or 3 arguments"
@ -3997,7 +4051,7 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgstr "Falló el iniciar borrado de flash, err 0x%04x"
#~ msgid "Flash write failed"
#~ msgstr "Falló la escritura"
#~ msgstr "Falló la escritura flash"
#~ msgid "Flash write failed to start, err 0x%04x"
#~ msgstr "Falló el iniciar la escritura de flash, err 0x%04x"
@ -4054,7 +4108,7 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgstr "Sin soporte PulseIn para %q"
#~ msgid "No hardware support for analog out."
#~ msgstr "Sin soporte de hardware para analog out"
#~ msgstr "Sin soporte de hardware para salida analógica"
#~ msgid "Not connected."
#~ msgstr "No conectado."
@ -4063,24 +4117,24 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgstr "Solo formato Windows, BMP sin comprimir soportado %d"
#~ msgid "Only bit maps of 8 bit color or less are supported"
#~ msgstr "Solo se admiten bit maps de color de 8 bits o menos"
#~ msgstr "Solo se admiten mapas de bits de color de 8 bits o menos"
#~ msgid ""
#~ "Only monochrome, indexed 8bpp, and 16bpp or greater BMPs supported: %d "
#~ "bpp given"
#~ msgstr ""
#~ "Solo se admiten BMP monocromos, indexados de 8bpp y 16bpp o superiores:%d "
#~ "bppdado"
#~ "bpp dado"
#, fuzzy
#~ msgid "Only slices with step=1 (aka None) are supported"
#~ msgstr "solo se admiten segmentos con step=1 (alias None)"
#~ msgstr "Solo se admiten segmentos con step=1 (alias None)"
#~ msgid "Only true color (24 bpp or higher) BMP supported %x"
#~ msgstr "Solo color verdadero (24 bpp o superior) BMP admitido %x"
#~ msgid "Only tx supported on UART1 (GPIO2)."
#~ msgstr "Solo tx soportada en UART1 (GPIO2)"
#~ msgstr "Solo tx soportada en UART1 (GPIO2)."
#~ msgid "PWM not supported on pin %d"
#~ msgstr "El pin %d no soporta PWM"
@ -4095,11 +4149,11 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgstr "Pines no válidos para SPI"
#~ msgid "Pixel beyond bounds of buffer"
#~ msgstr "Pixel beyond bounds of buffer"
#~ msgstr "Píxel fuera de los límites del búfer"
#, fuzzy
#~ msgid "Range out of bounds"
#~ msgstr "address fuera de límites"
#~ msgstr "Rango fuera de límites"
#~ msgid "STA must be active"
#~ msgstr "STA debe estar activo"
@ -4119,10 +4173,10 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgstr ""
#~ "El heap de CircuitPython estaba corrupto porque el stack era demasiado "
#~ "pequeño.\n"
#~ "Aumente los límites del tamaño del stacj y presione reset (después de "
#~ "Aumente los límites del tamaño del stack y presione reset (después de "
#~ "expulsarCIRCUITPY).\n"
#~ "Si no cambió el stack, entonces reporte un issue aquí con el contenido "
#~ "desu unidad CIRCUITPY:\n"
#~ "Si no cambió el stack, entonces reporte un issue aquí con el contenido de "
#~ "su unidad CIRCUITPY:\n"
#~ msgid ""
#~ "The microcontroller's power dipped. Please make sure your power supply "
@ -4175,7 +4229,7 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ "malo ha sucedido.\n"
#~ msgid "bad GATT role"
#~ msgstr "mal GATT role"
#~ msgstr "rol de GATT malo"
#~ msgid "bits must be 8"
#~ msgstr "bits debe ser 8"
@ -4208,7 +4262,7 @@ msgstr "zi debe ser una forma (n_section,2)"
#~ msgstr "no se puede establecer STA config"
#~ msgid "characteristics includes an object that is not a Characteristic"
#~ msgstr "characteristics incluye un objeto que no es una Characteristica"
#~ msgstr "characteristics incluye un objeto que no es una Characteristic"
#~ msgid "color buffer must be a buffer or int"
#~ msgstr "color buffer deber ser un buffer o un int"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@ -289,11 +289,16 @@ msgstr "ang palette ay dapat 32 bytes ang haba"
msgid "Address type out of range"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Lahat ng I2C peripherals ginagamit"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -411,6 +416,10 @@ msgstr ""
"Ang awtomatikong pag re-reload ay ON. i-save lamang ang mga files sa USB "
"para patakbuhin sila o pasukin ang REPL para i-disable ito.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -785,7 +794,7 @@ msgstr "Drive mode ay hindi ginagamit kapag ang direksyon ay input."
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -913,6 +922,7 @@ msgid "File exists"
msgstr "Mayroong file"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -959,6 +969,10 @@ msgstr ""
msgid "Hardware in use, try alternative pins"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "I/O operasyon sa saradong file"
@ -1040,6 +1054,7 @@ msgstr "Mali ang BMP file"
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
@ -1128,7 +1143,7 @@ msgstr "Mali ang pin para sa kanang channel"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1251,7 +1266,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Walang DAC sa chip"
@ -1417,6 +1431,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2135,6 +2153,10 @@ msgstr "aarehas na haba dapat ang buffer slices"
msgid "buffer too small"
msgstr "masyadong maliit ang buffer"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr ""
@ -2772,6 +2794,10 @@ msgstr "hindi wastong pag-format"
msgid "invalid format specifier"
msgstr "mali ang format specifier"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "mali ang key"
@ -2869,6 +2895,10 @@ msgstr "local variable na reference bago na i-assign"
msgid "long int not supported in this build"
msgstr "long int hindi sinusuportahan sa build na ito"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2903,6 +2933,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr "lumagpas ang maximum recursion depth"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3215,6 +3253,8 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3339,6 +3379,10 @@ msgstr "malambot na reboot\n"
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3470,6 +3514,16 @@ msgstr "indeks ng tuple wala sa sakop"
msgid "tuple/list has wrong length"
msgstr "mali ang haba ng tuple/list"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"PO-Revision-Date: 2020-10-12 21:00+0000\n"
"Last-Translator: Noel Gaetan <gaetan.noel@viacesi.fr>\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-10-22 20:48+0000\n"
"Last-Translator: Antonin ENFRUN <antonin.e@me.com>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.3-dev\n"
"X-Generator: Weblate 4.3.1\n"
#: main.c
msgid ""
@ -23,7 +23,7 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
"\n"
"Fin d'éxecution du code. En attente de recharge.\n"
"Fin d'ecution du code. En attente de rechargement.\n"
#: supervisor/shared/safe_mode.c
msgid ""
@ -46,7 +46,7 @@ msgstr " Fichier \"%q\", ligne %d"
#: main.c
msgid " output:\n"
msgstr " sortie:\n"
msgstr " sortie :\n"
#: py/objstr.c
#, c-format
@ -122,39 +122,39 @@ msgstr "'%q' argument requis"
#: py/runtime.c
msgid "'%q' object cannot assign attribute '%q'"
msgstr "object '%q' ne peut assigner l'attribut '%q'"
msgstr "l'objet '%q' ne peut avoir l'attribut '%q'"
#: py/proto.c
msgid "'%q' object does not support '%q'"
msgstr "object '%q' ne supporte pas '%q'"
msgstr "l'objet '%q' ne supporte pas '%q'"
#: py/obj.c
msgid "'%q' object does not support item assignment"
msgstr "objet '%q' ne supporte pas l'assignement d'objets"
msgstr "l'objet '%q' ne supporte pas l'assignement d'objets"
#: py/obj.c
msgid "'%q' object does not support item deletion"
msgstr "object '%q' ne supported pas la suppression d'objet"
msgstr "l'objet '%q' ne supporte pas la suppression d'objet"
#: py/runtime.c
msgid "'%q' object has no attribute '%q'"
msgstr "object '%q' n'as pas d'attribut '%q'"
msgstr "l'objet '%q' n'as pas d'attribut '%q'"
#: py/runtime.c
msgid "'%q' object is not an iterator"
msgstr "object '%q' n'est pas un itérateur"
msgstr "l'objet '%q' n'est pas un itérateur"
#: py/objtype.c py/runtime.c
msgid "'%q' object is not callable"
msgstr "object '%q' ne peut pas être appelé"
msgstr "l'objet '%q' ne peut pas être appelé"
#: py/runtime.c
msgid "'%q' object is not iterable"
msgstr "objet '%q' n'est pas iterable"
msgstr "l'objet '%q' n'est pas itérable"
#: py/obj.c
msgid "'%q' object is not subscriptable"
msgstr "objet '%q' n'est pas souscriptable"
msgstr "l'objet '%q' n'est pas souscriptable"
#: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format
@ -169,7 +169,7 @@ msgstr "'%s' attend un registre"
#: py/emitinlinethumb.c
#, c-format
msgid "'%s' expects a special register"
msgstr "'%s' attend un registre special"
msgstr "'%s' attend un registre spécial"
#: py/emitinlinethumb.c
#, c-format
@ -256,7 +256,7 @@ msgstr "'return' en dehors d'une fonction"
#: py/compile.c
msgid "'yield from' inside async function"
msgstr ""
msgstr "'yield from' dans une fonction async"
#: py/compile.c
msgid "'yield' outside function"
@ -296,11 +296,16 @@ msgstr "L'adresse doit être longue de %d octets"
msgid "Address type out of range"
msgstr "Type d'adresse hors plage"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Tous les périphériques I2C sont utilisés"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr "Tout les RX FIFOs sont utilisé"
@ -346,7 +351,7 @@ msgstr "S'annonce déjà."
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "Already have all-matches listener"
msgstr ""
msgstr "Il y a déjà un auditeur all-matches"
#: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c
@ -355,7 +360,7 @@ msgstr "Déjà en cours d'exécution"
#: ports/esp32s2/common-hal/wifi/Radio.c
msgid "Already scanning for wifi networks"
msgstr ""
msgstr "Déjà à la recherche des réseaux wifi"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
@ -420,6 +425,10 @@ msgstr ""
"Auto-chargement activé. Copiez simplement les fichiers en USB pour les "
"lancer ou entrez sur REPL pour le désactiver.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -532,7 +541,7 @@ msgstr "Impossible de définir CCCD sur une caractéristique locale"
#: shared-bindings/_bleio/Adapter.c
msgid "Cannot create a new Adapter; use _bleio.adapter;"
msgstr ""
"Un nouveau Adapter ne peut être créé; Adapter; utilisez _bleio.adapter;"
"Un nouveau Adapter ne peut être créé ; Adapter; utilisez _bleio.adapter;"
#: shared-bindings/displayio/Bitmap.c
#: shared-bindings/memorymonitor/AllocationSize.c
@ -706,11 +715,11 @@ msgstr "Impossible de redémarrer PWM"
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
msgid "Could not retrieve clock"
msgstr ""
msgstr "Impossible dobtenir lhorloge"
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
msgstr ""
msgstr "Impossible de définir ladresse"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Could not start PWM"
@ -798,7 +807,7 @@ msgstr "Le mode Drive n'est pas utilisé quand la direction est 'input'."
msgid "ECB only operates on 16 bytes at a time"
msgstr "La BCE ne fonctionne que sur 16 octets à la fois"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr "ESP-IDF échec d'allocation de la mémoire"
@ -862,7 +871,7 @@ msgstr "La FFT est définie pour les ndarrays uniquement"
#: ports/esp32s2/common-hal/socketpool/Socket.c
msgid "Failed SSL handshake"
msgstr ""
msgstr "Échec du handshake SSL"
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
@ -889,11 +898,11 @@ msgstr "Echec de l'allocation de %d octets du tampon RX"
#: ports/esp32s2/common-hal/wifi/__init__.c
msgid "Failed to allocate Wifi memory"
msgstr ""
msgstr "Impossible dallouer la mémoire pour Wifi"
#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
msgid "Failed to allocate wifi scan memory"
msgstr ""
msgstr "Impossible d'allouer la mémoire pour le scan wifi"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
@ -925,18 +934,19 @@ msgid "File exists"
msgstr "Le fichier existe"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
msgstr "Filtre trop complexe"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Format not supported"
msgstr ""
msgstr "Format non supporté"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
msgid "Framebuffer requires %d bytes"
msgstr ""
msgstr "Le framebuffer nécessite %d octets"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
msgid "Frequency captured is above capability. Capture Paused."
@ -972,6 +982,10 @@ msgstr "Matériel occupé, essayez d'autres broches"
msgid "Hardware in use, try alternative pins"
msgstr "Matériel utilisé, essayez d'autres broches"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr "Hostname doit faire entre 1 et 253 caractères"
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "opération d'E/S sur un fichier fermé"
@ -1003,7 +1017,7 @@ msgstr "Taille de tampon incorrecte"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "Input taking too long"
msgstr ""
msgstr "L'entrée prend trop de temps"
#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
@ -1039,7 +1053,7 @@ msgstr "Broche invalide pour '%q'"
#: ports/stm/common-hal/busio/UART.c ports/stm/common-hal/canio/CAN.c
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Invalid %q pin selection"
msgstr ""
msgstr "Sélection de pin %q invalide"
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
@ -1053,6 +1067,7 @@ msgstr "Fichier BMP invalide"
msgid "Invalid BSSID"
msgstr "BSSID Invalide"
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "Broche DAC non valide fournie"
@ -1141,7 +1156,7 @@ msgstr "Broche invalide pour le canal droit"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1264,7 +1279,6 @@ msgid "No CCCD for this Characteristic"
msgstr "Pas de CCCD pour cette caractéristique"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Pas de DAC sur la puce"
@ -1387,11 +1401,11 @@ msgstr "Ne joue pas"
#: main.c
msgid "Not running saved code.\n"
msgstr ""
msgstr "N'exécute pas le code sauvegardé.\n"
#: shared-bindings/_bleio/__init__.c
msgid "Not settable"
msgstr ""
msgstr "Non réglable"
#: shared-bindings/util.c
msgid ""
@ -1410,11 +1424,11 @@ msgstr "Uniquement 8 ou 16 bit mono avec "
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
msgid "Only IPv4 SOCK_STREAM sockets supported"
msgstr ""
msgstr "Seules les sockets IPv4 SOCK_STREAM sont prises en charge"
#: ports/esp32s2/common-hal/wifi/__init__.c
msgid "Only IPv4 addresses supported"
msgstr ""
msgstr "Seules les adresses IPv4 sont prises en charge"
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
@ -1433,13 +1447,17 @@ msgstr ""
"Prise en charge uniquement des monochromes, 4 bpp ou 8 bpp indexés et 16 bpp "
"ou plus : %d bpp fournis"
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr "Une seule couleur peut être transparente à la fois"
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
msgstr "IP n'accepte que les entiers bruts"
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
msgid "Out of sockets"
msgstr ""
msgstr "Plus de sockets"
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
@ -1514,6 +1532,8 @@ msgid ""
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
"instead"
msgstr ""
"Ce portage n'accepte pas de PWM carrier. Précisez plutôt pin, frequency et "
"duty cycle"
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
@ -1523,6 +1543,8 @@ msgid ""
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
"instead"
msgstr ""
"Ce portage n'accepte pas pins ou frequency. Construisez et passez un PWMOut "
"Carrier à la place"
#: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap"
@ -1586,7 +1608,7 @@ msgstr "Rafraîchissez trop tôt"
#: shared-bindings/canio/RemoteTransmissionRequest.c
msgid "RemoteTransmissionRequests limited to 8 bytes"
msgstr ""
msgstr "RemoteTransmissionRequests limité à 8 octets"
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
@ -1602,7 +1624,7 @@ msgstr "L'entrée de ligne 'Row' doit être un digitalio.DigitalInOut"
#: main.c
msgid "Running in safe mode! "
msgstr ""
msgstr "Tourne en mode sécurisé "
#: shared-module/sdcardio/SDCard.c
msgid "SD card CSD format not supported"
@ -1616,12 +1638,12 @@ msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO GetCardInfo Error %d"
msgstr ""
msgstr "SDIO GetCardInfo erreur %d"
#: ports/stm/common-hal/sdioio/SDCard.c
#, c-format
msgid "SDIO Init Error %d"
msgstr ""
msgstr "SDIO Init erreur %d"
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
@ -1659,11 +1681,11 @@ msgstr "Sérialiseur en cours d'utilisation"
#: shared-bindings/ssl/SSLContext.c
msgid "Server side context cannot have hostname"
msgstr ""
msgstr "Un contexte niveau serveur ne peut avoir de hostname"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Size not supported"
msgstr ""
msgstr "Taille non prise en charge"
#: shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths."
@ -1678,7 +1700,7 @@ msgstr "Tranches non supportées"
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
msgid "SocketPool can only be used with wifi.radio"
msgstr ""
msgstr "SocketPool ne s'utilise qu'avec wifi.radio"
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
@ -1726,7 +1748,7 @@ msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
msgstr ""
msgstr "La taille de rgb_pins doit être 6, 12, 18, 24 ou 30"
#: supervisor/shared/safe_mode.c
msgid ""
@ -1781,6 +1803,8 @@ msgstr "Le délai est trop long : le délai maximal est de %d secondes"
msgid ""
"Timer was reserved for internal use - declare PWM pins earlier in the program"
msgstr ""
"Timer est reservé pour un usage interne - déclarez la broche PWM plus tôt "
"dans le programme"
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
@ -1861,7 +1885,7 @@ msgstr "Impossible d'allouer des tampons pour une conversion signée"
#: ports/esp32s2/common-hal/busio/I2C.c
msgid "Unable to create lock"
msgstr ""
msgstr "Impossible de créer un verrou"
#: shared-module/displayio/I2CDisplay.c
#, c-format
@ -1892,11 +1916,11 @@ msgstr "Type inattendu pour l'uuid nrfx"
#: ports/esp32s2/common-hal/socketpool/Socket.c
#, c-format
msgid "Unhandled ESP TLS error %d %d %x %d"
msgstr ""
msgstr "Erreur ESP TLS non gérée %d %d %x %d"
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
msgstr "Echec inconnu"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
@ -2016,7 +2040,7 @@ msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "WiFi password must be between 8 and 63 characters"
msgstr ""
msgstr "Le mot de passe WiFi doit faire entre 8 et 63 caractères"
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
msgid "Writes not supported on Characteristic"
@ -2036,7 +2060,7 @@ msgstr "__init__() doit retourner None"
#: py/objtype.c
msgid "__init__() should return None, not '%q'"
msgstr ""
msgstr "__init__() doit retourner None, pas '%q'"
#: py/objobject.c
msgid "__new__ arg must be a user-type"
@ -2081,7 +2105,7 @@ msgstr "l'argument est d'un mauvais type"
#: extmod/ulab/code/linalg/linalg.c
msgid "argument must be ndarray"
msgstr ""
msgstr "l'argument doit être un ndarray"
#: py/argcheck.c shared-bindings/_stage/__init__.c
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
@ -2169,6 +2193,10 @@ msgstr "les tranches de tampon doivent être de longueurs égales"
msgid "buffer too small"
msgstr "tampon trop petit"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr "tampon trop petit pour le nombre d'octets demandé"
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "les boutons doivent être des digitalio.DigitalInOut"
@ -2188,7 +2216,7 @@ msgstr "octets > 8 bits non supporté"
#: py/objarray.c
msgid "bytes length not a multiple of item size"
msgstr ""
msgstr "bytes length n'est pas un multiple de la taille d'un élément"
#: py/objstr.c
msgid "bytes value out of range"
@ -2230,7 +2258,7 @@ msgstr "ne peut pas assigner à une expression"
#: py/obj.c py/objint.c shared-bindings/i2cperipheral/I2CPeripheral.c
#: shared-module/_pixelbuf/PixelBuf.c
msgid "can't convert %q to %q"
msgstr ""
msgstr "impossible de convertir %q en %q"
#: py/objstr.c
msgid "can't convert '%q' object to %q implicitly"
@ -2238,7 +2266,7 @@ msgstr "impossible de convertir l'objet '%q' en '%q' implicitement"
#: py/obj.c
msgid "can't convert to %q"
msgstr ""
msgstr "impossible de convertir en %q"
#: py/objstr.c
msgid "can't convert to str implicitly"
@ -2516,11 +2544,11 @@ msgstr "les exceptions doivent dériver de 'BaseException'"
#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
msgstr "'%q' était attendu, mais reçu '%q'"
#: shared-bindings/canio/CAN.c
msgid "expected '%q' or '%q' but got '%q'"
msgstr ""
msgstr "'%q' ou '%q' était attendu, mais reçu '%q'"
#: py/objstr.c
msgid "expected ':' after format specifier"
@ -2737,7 +2765,7 @@ msgstr "les valeurs initiales doivent être itérables"
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
msgid "initial_value length is wrong"
msgstr ""
msgstr "la longueur de initial_value est incorrecte"
#: py/compile.c
msgid "inline assembler must be a function"
@ -2812,6 +2840,10 @@ msgstr "format invalide"
msgid "invalid format specifier"
msgstr "spécification de format invalide"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr "hostname incorrect"
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "clé invalide"
@ -2909,6 +2941,10 @@ msgstr "variable locale référencée avant d'être assignée"
msgid "long int not supported in this build"
msgstr "entiers longs non supportés dans cette build"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr "f-string mal formé"
@ -2937,12 +2973,20 @@ msgstr "max_length doit être 0-%d lorsque fixed_length est %s"
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
msgid "max_length must be > 0"
msgstr ""
msgstr "max_length doit être > 0"
#: py/runtime.c
msgid "maximum recursion depth exceeded"
msgstr "profondeur maximale de récursivité dépassée"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3090,7 +3134,7 @@ msgstr "le nombre de points doit être d'au moins 2"
#: py/obj.c
msgid "object '%q' is not a tuple or list"
msgstr ""
msgstr "l'objet '%q' n'est pas un tuple ou une list"
#: py/obj.c
msgid "object does not support item assignment"
@ -3126,7 +3170,7 @@ msgstr "objet non itérable"
#: py/obj.c
msgid "object of type '%q' has no len()"
msgstr ""
msgstr "len() indéfinie pour un objet de type '%q'"
#: py/obj.c
msgid "object with buffer protocol required"
@ -3179,11 +3223,11 @@ msgstr ""
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
msgstr "dépassement des bornes de source"
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
msgstr "dépassement des bornes de target"
#: py/objint_mpz.c
msgid "overflow converting long int to machine word"
@ -3192,7 +3236,7 @@ msgstr "dépassement de capacité en convertissant un entier long en mot machine
#: py/modstruct.c
#, c-format
msgid "pack expected %d items for packing (got %d)"
msgstr ""
msgstr "pack attend %d element(s) (%d reçu)"
#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
msgid "palette must be 32 bytes long"
@ -3241,7 +3285,7 @@ msgstr "'pop' d'une entrée PulseIn vide"
#: ports/stm/common-hal/pulseio/PulseIn.c py/objdict.c py/objlist.c py/objset.c
#: shared-bindings/ps2io/Ps2.c
msgid "pop from empty %q"
msgstr ""
msgstr "pop sur %q vide"
#: py/objint_mpz.c
msgid "pow() 3rd argument cannot be 0"
@ -3258,10 +3302,12 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
msgstr ""
msgstr "bouton boot appuyé lors du démarrage.\n"
#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
@ -3269,7 +3315,7 @@ msgstr ""
#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
msgid "pressing both buttons at start up.\n"
msgstr ""
msgstr "les deux boutons appuyés lors du démarrage.\n"
#: extmod/modutimeq.c
msgid "queue overflow"
@ -3364,7 +3410,7 @@ msgstr "la longueur de sleep ne doit pas être négative"
#: extmod/ulab/code/ndarray.c
msgid "slice step can't be zero"
msgstr ""
msgstr "le pas 'step' de la tranche ne peut être zéro"
#: py/objslice.c py/sequence.c
msgid "slice step cannot be zero"
@ -3382,21 +3428,25 @@ msgstr "redémarrage logiciel\n"
msgid "sort argument must be an ndarray"
msgstr "l'argument de «sort» doit être un ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
msgstr "le tableau sos doit être de forme (n_section, 6)"
#: extmod/ulab/code/filter/filter.c
msgid "sos[:, 3] should be all ones"
msgstr ""
msgstr "sos[:, 3] doivent tous être à un"
#: extmod/ulab/code/filter/filter.c
msgid "sosfilt requires iterable arguments"
msgstr ""
msgstr "sosfilt nécessite des argument itératifs"
#: shared-bindings/displayio/Bitmap.c
msgid "source palette too large"
msgstr ""
msgstr "la palette source est trop grande"
#: py/objstr.c
msgid "start/end indices"
@ -3424,7 +3474,7 @@ msgstr "opération de flux non supportée"
#: py/objstrunicode.c
msgid "string indices must be integers, not %q"
msgstr ""
msgstr "les indices d'une chaîne doivent être des entiers, pas %q"
#: py/stream.c
msgid "string not supported; use bytes or bytearray"
@ -3477,11 +3527,11 @@ msgstr "'timeout' doit être >= 0.0"
#: shared-module/sdcardio/SDCard.c
msgid "timeout waiting for v1 card"
msgstr ""
msgstr "Délai dexpiration dépassé en attendant une carte v1"
#: shared-module/sdcardio/SDCard.c
msgid "timeout waiting for v2 card"
msgstr ""
msgstr "Délai dexpiration dépassé en attendant une carte v2"
#: shared-bindings/time/__init__.c
msgid "timestamp out of range for platform time_t"
@ -3502,7 +3552,7 @@ msgstr "trop de valeur à dégrouper (%d attendues)"
#: extmod/ulab/code/approx/approx.c
msgid "trapz is defined for 1D arrays of equal length"
msgstr ""
msgstr "trapz n'est défini que pour des tableaux 1D de longueur égale"
#: extmod/ulab/code/linalg/linalg.c
msgid "tuple index out of range"
@ -3512,6 +3562,16 @@ msgstr "index du tuple hors gamme"
msgid "tuple/list has wrong length"
msgstr "tuple/liste a une mauvaise longueur"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
@ -3532,7 +3592,7 @@ msgstr "l'objet de type '%q' n'a pas d'attribut '%q'"
#: py/objgenerator.c
msgid "type object 'generator' has no attribute '__await__'"
msgstr ""
msgstr "le type 'generator' n'a pas d'attribut '__await__'"
#: py/objtype.c
msgid "type takes 1 or 3 arguments"
@ -3613,7 +3673,7 @@ msgstr "caractère de format '%c' (0x%x) non supporté à l'index %d"
#: py/runtime.c
msgid "unsupported type for %q: '%q'"
msgstr "type non supporté pour %q: '%q'"
msgstr "type non supporté pour %q : '%q'"
#: py/runtime.c
msgid "unsupported type for operator"
@ -3642,7 +3702,7 @@ msgstr "watchdog timeout doit être supérieur à 0"
#: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "width must be greater than zero"
msgstr ""
msgstr "width doit être plus grand que zero"
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"
@ -3694,15 +3754,15 @@ msgstr "'step' nul"
#: extmod/ulab/code/filter/filter.c
msgid "zi must be an ndarray"
msgstr ""
msgstr "zi doit être ndarray"
#: extmod/ulab/code/filter/filter.c
msgid "zi must be of float type"
msgstr ""
msgstr "zi doit être de type float"
#: extmod/ulab/code/filter/filter.c
msgid "zi must be of shape (n_section, 2)"
msgstr ""
msgstr "zi doit être de forme (n_section, 2)"
#~ msgid "Must provide SCK pin"
#~ msgstr "Vous devez fournir un code PIN SCK"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@ -287,11 +287,16 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -406,6 +411,10 @@ msgid ""
"disable.\n"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -774,7 +783,7 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -900,6 +909,7 @@ msgid "File exists"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -946,6 +956,10 @@ msgstr ""
msgid "Hardware in use, try alternative pins"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr ""
@ -1025,6 +1039,7 @@ msgstr ""
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
@ -1113,7 +1128,7 @@ msgstr ""
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1236,7 +1251,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr ""
@ -1399,6 +1413,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2102,6 +2120,10 @@ msgstr ""
msgid "buffer too small"
msgstr ""
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr ""
@ -2727,6 +2749,10 @@ msgstr ""
msgid "invalid format specifier"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr ""
@ -2820,6 +2846,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2854,6 +2884,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3164,6 +3202,8 @@ msgstr ""
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3286,6 +3326,10 @@ msgstr ""
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3415,6 +3459,16 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@ -288,11 +288,16 @@ msgstr "la palette deve essere lunga 32 byte"
msgid "Address type out of range"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Tutte le periferiche I2C sono in uso"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -410,6 +415,10 @@ msgstr ""
"L'auto-reload è attivo. Salva i file su USB per eseguirli o entra nel REPL "
"per disabilitarlo.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -785,7 +794,7 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -913,6 +922,7 @@ msgid "File exists"
msgstr "File esistente"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -959,6 +969,10 @@ msgstr ""
msgid "Hardware in use, try alternative pins"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "operazione I/O su file chiuso"
@ -1040,6 +1054,7 @@ msgstr "File BMP non valido"
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
@ -1130,7 +1145,7 @@ msgstr "Pin non valido per il canale destro"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1255,7 +1270,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Nessun DAC sul chip"
@ -1422,6 +1436,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2140,6 +2158,10 @@ msgstr "slice del buffer devono essere della stessa lunghezza"
msgid "buffer too small"
msgstr "buffer troppo piccolo"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr ""
@ -2773,6 +2795,10 @@ msgstr "formato non valido"
msgid "invalid format specifier"
msgstr "specificatore di formato non valido"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "chiave non valida"
@ -2871,6 +2897,10 @@ msgstr "variabile locale richiamata prima di un assegnamento"
msgid "long int not supported in this build"
msgstr "long int non supportata in questa build"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2905,6 +2935,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr "profondità massima di ricorsione superata"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3222,6 +3260,8 @@ msgstr "pow() con 3 argomenti richiede interi"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3346,6 +3386,10 @@ msgstr "soft reboot\n"
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3477,6 +3521,16 @@ msgstr "indice della tupla fuori intervallo"
msgid "tuple/list has wrong length"
msgstr "tupla/lista ha la lunghezza sbagliata"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-09-25 18:20+0000\n"
"Last-Translator: Taku Fukada <naninunenor@gmail.com>\n"
"Language-Team: none\n"
@ -294,11 +294,16 @@ msgstr "アドレスは、%dバイト長でなければなりません"
msgid "Address type out of range"
msgstr "address_typeが範囲外"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "全てのI2C周辺機器が使用中"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr "全てのRX FIFOが使用中"
@ -415,6 +420,10 @@ msgstr ""
"オートリロードがオンです。ファイルをUSB経由で保存するだけで実行できます。REPL"
"に入ると無効化します。\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -787,7 +796,7 @@ msgstr "方向がinputのときドライブモードは使われません"
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECBは一度に16バイトの演算のみを行います"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -913,6 +922,7 @@ msgid "File exists"
msgstr "ファイルが存在します"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -959,6 +969,10 @@ msgstr "ハードウェアビジー。代替のピンを試してください"
msgid "Hardware in use, try alternative pins"
msgstr "ハードウェア使用中。代わりのピンを試してください"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "閉じられたファイルへのI/O操作"
@ -1040,6 +1054,7 @@ msgstr "不正なBMPファイル"
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "不正なDACピンが与えられました"
@ -1128,7 +1143,7 @@ msgstr "右チャネルのピンが不正"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1251,7 +1266,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "チップにDACがありません"
@ -1416,6 +1430,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2127,6 +2145,10 @@ msgstr "バッファのスライスは同じ長さでなければなりません
msgid "buffer too small"
msgstr ""
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "buttonsはdigitalio.DigitalInOutでなければなりません"
@ -2757,6 +2779,10 @@ msgstr ""
msgid "invalid format specifier"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "不正な鍵"
@ -2850,6 +2876,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr "このビルドはlong intに非対応"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr "不正な形式のf-string"
@ -2884,6 +2914,14 @@ msgstr "max_lengthは0より大きくなければなりません"
msgid "maximum recursion depth exceeded"
msgstr "最大の再帰深度を超えました"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3196,6 +3234,8 @@ msgstr "pow()の第3引数には整数が必要"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3319,6 +3359,10 @@ msgstr "ソフトリブート\n"
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3448,6 +3492,16 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr "タプル/リストの長さが正しくありません"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-10-05 12:12+0000\n"
"Last-Translator: Michal Čihař <michal@cihar.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -290,11 +290,16 @@ msgstr ""
msgid "Address type out of range"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "사용중인 모든 I2C주변 기기"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -411,6 +416,10 @@ msgstr ""
"자동 새로 고침이 켜져 있습니다. USB를 통해 파일을 저장하여 실행하십시오. 비활"
"성화하려면 REPL을 입력하십시오.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -779,7 +788,7 @@ msgstr ""
msgid "ECB only operates on 16 bytes at a time"
msgstr ""
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -905,6 +914,7 @@ msgid "File exists"
msgstr ""
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -951,6 +961,10 @@ msgstr ""
msgid "Hardware in use, try alternative pins"
msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr ""
@ -1030,6 +1044,7 @@ msgstr ""
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
@ -1118,7 +1133,7 @@ msgstr "오른쪽 채널 핀이 잘못되었습니다"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1241,7 +1256,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr ""
@ -1404,6 +1418,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2108,6 +2126,10 @@ msgstr ""
msgid "buffer too small"
msgstr ""
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr ""
@ -2733,6 +2755,10 @@ msgstr "형식가 유효하지 않습니다"
msgid "invalid format specifier"
msgstr "형식 지정자(format specifier)가 유효하지 않습니다"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "키가 유효하지 않습니다"
@ -2826,6 +2852,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2860,6 +2890,14 @@ msgstr ""
msgid "maximum recursion depth exceeded"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3170,6 +3208,8 @@ msgstr ""
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3292,6 +3332,10 @@ msgstr ""
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3421,6 +3465,16 @@ msgstr ""
msgid "tuple/list has wrong length"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -5,8 +5,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"PO-Revision-Date: 2020-09-09 16:05+0000\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-10-27 16:47+0000\n"
"Last-Translator: Jelle Jager <jell@jjc.id.au>\n"
"Language-Team: none\n"
"Language: nl\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3-dev\n"
"X-Generator: Weblate 4.3.2-dev\n"
#: main.c
msgid ""
@ -98,7 +98,7 @@ msgstr "%q moet een tuple van lengte 2 zijn"
#: shared-bindings/canio/Match.c
msgid "%q out of range"
msgstr ""
msgstr "%q buiten bereik"
#: ports/atmel-samd/common-hal/microcontroller/Pin.c
msgid "%q pin invalid"
@ -252,7 +252,7 @@ msgstr "'return' buiten de functie"
#: py/compile.c
msgid "'yield from' inside async function"
msgstr ""
msgstr "'yield from' binnen asynchrone functie"
#: py/compile.c
msgid "'yield' outside function"
@ -281,7 +281,7 @@ msgstr "Een hardware interrupt kanaal is al in gebruik"
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
msgid "ADC2 is being used by WiFi"
msgstr ""
msgstr "ADC2 wordt gebruikt door WiFi"
#: shared-bindings/_bleio/Address.c shared-bindings/ipaddress/IPv4Address.c
#, c-format
@ -292,14 +292,19 @@ msgstr "Adres moet %d bytes lang zijn"
msgid "Address type out of range"
msgstr "Adres type buiten bereik"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Alle I2C peripherals zijn in gebruik"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
msgstr "Alle RX FIFO's zijn in gebruik"
#: ports/esp32s2/common-hal/busio/SPI.c ports/nrf/common-hal/busio/SPI.c
msgid "All SPI peripherals are in use"
@ -342,7 +347,7 @@ msgstr "Advertising is al bezig."
#: ports/atmel-samd/common-hal/canio/Listener.c
msgid "Already have all-matches listener"
msgstr ""
msgstr "Heeft al een luisteraar voor 'all-matches'"
#: shared-module/memorymonitor/AllocationAlarm.c
#: shared-module/memorymonitor/AllocationSize.c
@ -351,7 +356,7 @@ msgstr "Wordt al uitgevoerd"
#: ports/esp32s2/common-hal/wifi/Radio.c
msgid "Already scanning for wifi networks"
msgstr ""
msgstr "Zoekt al naar WiFi netwerken"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
msgid "AnalogIn not supported on given pin"
@ -399,7 +404,7 @@ msgstr "heap allocatie geprobeerd terwijl MicroPython VM niet draait."
#: shared-bindings/wifi/Radio.c
msgid "Authentication failure"
msgstr ""
msgstr "Authenticatiefout"
#: main.c
msgid "Auto-reload is off.\n"
@ -413,6 +418,10 @@ msgstr ""
"Auto-herlaad staat aan. Sla bestanden simpelweg op over USB om uit te voeren "
"of start REPL om uit te schakelen.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -481,7 +490,7 @@ msgstr "Buffer lengte moet een veelvoud van 512 zijn"
#: ports/stm/common-hal/sdioio/SDCard.c
msgid "Buffer must be a multiple of 512 bytes"
msgstr "Buffer moet een veelvoud van 512 zijn"
msgstr "Buffer moet een veelvoud van 512 bytes zijn"
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
msgid "Buffer must be at least length 1"
@ -617,7 +626,7 @@ msgstr ""
#: supervisor/shared/safe_mode.c
msgid "CircuitPython was unable to allocate the heap.\n"
msgstr ""
msgstr "CircuitPython kon het heap geheugen niet toewijzen.\n"
#: shared-module/bitbangio/SPI.c
msgid "Clock pin init failed."
@ -658,7 +667,7 @@ msgstr "Corrupt raw code"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Could not initialize Camera"
msgstr ""
msgstr "Kon camera niet initialiseren"
#: ports/cxd56/common-hal/gnss/GNSS.c
msgid "Could not initialize GNSS"
@ -695,7 +704,7 @@ msgstr "Kan PWM niet herstarten"
#: ports/esp32s2/common-hal/neopixel_write/__init__.c
msgid "Could not retrieve clock"
msgstr ""
msgstr "Kon klok niet ophalen"
#: shared-bindings/_bleio/Adapter.c
msgid "Could not set address"
@ -787,9 +796,9 @@ msgstr "Drive modus niet gebruikt als de richting input is."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB werkt alleen met 16 bytes tegelijkertijd"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
msgstr "ESP-IDF geheugen toewijzing mislukt"
#: ports/atmel-samd/common-hal/frequencyio/FrequencyIn.c
#: ports/atmel-samd/common-hal/ps2io/Ps2.c
@ -850,7 +859,7 @@ msgstr "FFT alleen voor ndarrays gedefineerd"
#: ports/esp32s2/common-hal/socketpool/Socket.c
msgid "Failed SSL handshake"
msgstr ""
msgstr "SSL handdruk mislukt"
#: shared-bindings/ps2io/Ps2.c
msgid "Failed sending command."
@ -877,11 +886,11 @@ msgstr "Mislukt een RX buffer van %d bytes te alloceren"
#: ports/esp32s2/common-hal/wifi/__init__.c
msgid "Failed to allocate Wifi memory"
msgstr ""
msgstr "Kon WiFi geheugen niet toewijzen"
#: ports/esp32s2/common-hal/wifi/ScannedNetworks.c
msgid "Failed to allocate wifi scan memory"
msgstr ""
msgstr "Kon WiFi scan geheugen niet toewijzen"
#: ports/nrf/common-hal/_bleio/Adapter.c
msgid "Failed to connect: internal error"
@ -893,7 +902,7 @@ msgstr "Verbinding mislukt: timeout"
#: ports/esp32s2/common-hal/wifi/__init__.c
msgid "Failed to init wifi"
msgstr ""
msgstr "Kon WiFi niet initialiseren"
#: shared-module/audiomp3/MP3Decoder.c
msgid "Failed to parse MP3 file"
@ -913,13 +922,14 @@ msgid "File exists"
msgstr "Bestand bestaat"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
msgstr "Filters zijn te complex"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Format not supported"
msgstr ""
msgstr "Formaat wordt niet ondersteund"
#: shared-module/framebufferio/FramebufferDisplay.c
#, c-format
@ -961,6 +971,10 @@ msgstr "Hardware bezig, probeer alternatieve pinnen"
msgid "Hardware in use, try alternative pins"
msgstr "Hardware in gebruik, probeer alternatieve pinnen"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr "Hostnaam moet tussen 1 en 253 karakters zijn"
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "I/O actie op gesloten bestand"
@ -992,7 +1006,7 @@ msgstr "Incorrecte buffer grootte"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
msgid "Input taking too long"
msgstr ""
msgstr "Invoer duurt te lang"
#: ports/esp32s2/common-hal/neopixel_write/__init__.c py/moduerrno.c
msgid "Input/output error"
@ -1040,8 +1054,9 @@ msgstr "Ongeldig BMP bestand"
#: shared-bindings/wifi/Radio.c
msgid "Invalid BSSID"
msgstr ""
msgstr "Ongeldig BSSID"
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "Ongeldige DAC pin opgegeven"
@ -1090,7 +1105,7 @@ msgstr "Ongeldig formaat stuk grootte"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency"
msgstr ""
msgstr "Onjuiste frequentie"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "Invalid frequency supplied"
@ -1130,7 +1145,7 @@ msgstr "Ongeldige pin voor rechter kanaal"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1213,7 +1228,7 @@ msgstr "Maximale x waarde indien gespiegeld is %d"
#: shared-bindings/canio/Message.c
msgid "Messages limited to 8 bytes"
msgstr ""
msgstr "Berichten zijn beperkt tot 8 bytes"
#: supervisor/shared/safe_mode.c
msgid "MicroPython NLR jump failed. Likely memory corruption."
@ -1253,7 +1268,6 @@ msgid "No CCCD for this Characteristic"
msgstr "Geen CCCD voor deze Characteristic"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Geen DAC op de chip"
@ -1326,11 +1340,11 @@ msgstr "Geen lange integer ondersteuning"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more channels available"
msgstr ""
msgstr "Geen kanalen meer beschikbaar"
#: ports/esp32s2/common-hal/pwmio/PWMOut.c
msgid "No more timers available"
msgstr ""
msgstr "Geen timers meer beschikbaar"
#: ports/stm/common-hal/pwmio/PWMOut.c
msgid "No more timers available on this pin."
@ -1338,7 +1352,7 @@ msgstr "Geen timers meer beschikbaar op deze pin."
#: shared-bindings/wifi/Radio.c
msgid "No network with that ssid"
msgstr ""
msgstr "Geen netwerk met dat SSID gevonden"
#: shared-module/touchio/TouchIn.c
msgid "No pulldown on pin; 1Mohm recommended"
@ -1362,7 +1376,7 @@ msgstr "Nordic Soft Device assertion mislukt."
#: shared-bindings/ipaddress/IPv4Address.c shared-bindings/ipaddress/__init__.c
msgid "Not a valid IP string"
msgstr ""
msgstr "Geen geldige IP string"
#: ports/nrf/common-hal/_bleio/__init__.c
#: shared-bindings/_bleio/CharacteristicBuffer.c
@ -1380,7 +1394,7 @@ msgstr "Opgeslagen code wordt niet uitgevoerd.\n"
#: shared-bindings/_bleio/__init__.c
msgid "Not settable"
msgstr ""
msgstr "Niet instelbaar"
#: shared-bindings/util.c
msgid ""
@ -1399,11 +1413,11 @@ msgstr "Alleen 8 of 16 bit mono met "
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
msgid "Only IPv4 SOCK_STREAM sockets supported"
msgstr ""
msgstr "Alleen IPv4 SOCK_STREAM sockets worden ondersteund"
#: ports/esp32s2/common-hal/wifi/__init__.c
msgid "Only IPv4 addresses supported"
msgstr ""
msgstr "Alleen IPv4 adressen worden ondersteund"
#: shared-module/displayio/OnDiskBitmap.c
#, c-format
@ -1422,13 +1436,17 @@ msgstr ""
"Alleen monochrome en 4bpp of 8bpp, en 16bpp of grotere geïndiceerde BMP's "
"zijn ondersteund: %d bpp is gegeven"
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr "Er kan maar één kleur per keer transparant zijn"
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
msgstr "Alleen raw int ondersteund voor IP"
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
msgid "Out of sockets"
msgstr ""
msgstr "Geen sockets meer beschikbaar"
#: shared-bindings/audiobusio/PDMIn.c
msgid "Oversample must be multiple of 8."
@ -1502,6 +1520,8 @@ msgid ""
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
"instead"
msgstr ""
"Poort ondersteund geen PWM drager. Geef een pin, frequentie en inschakeltijd "
"op"
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
#: ports/cxd56/common-hal/pulseio/PulseOut.c
@ -1511,6 +1531,8 @@ msgid ""
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
"instead"
msgstr ""
"Poort accepteert geen pin of frequentie. Stel een PWMOut Carrier samen en "
"geef die op"
#: shared-bindings/_bleio/Adapter.c
msgid "Prefix buffer must be on the heap"
@ -1576,7 +1598,7 @@ msgstr "Verversing te snel"
#: shared-bindings/canio/RemoteTransmissionRequest.c
msgid "RemoteTransmissionRequests limited to 8 bytes"
msgstr ""
msgstr "RemoteTransmissionRequests is beperkt tot 8 bytes"
#: shared-bindings/aesio/aes.c
msgid "Requested AES mode is unsupported"
@ -1649,11 +1671,11 @@ msgstr "Serializer in gebruik"
#: shared-bindings/ssl/SSLContext.c
msgid "Server side context cannot have hostname"
msgstr ""
msgstr "Context aan de serverkant kan geen hostnaam hebben"
#: ports/cxd56/common-hal/camera/Camera.c
msgid "Size not supported"
msgstr ""
msgstr "Afmeting niet ondersteund"
#: shared-bindings/nvm/ByteArray.c
msgid "Slice and value different lengths."
@ -1668,7 +1690,7 @@ msgstr "Slices niet ondersteund"
#: ports/esp32s2/common-hal/socketpool/SocketPool.c
msgid "SocketPool can only be used with wifi.radio"
msgstr ""
msgstr "SocketPool kan alleen met wifi.radio gebruikt worden"
#: shared-bindings/aesio/aes.c
msgid "Source and destination buffers must be the same length"
@ -1716,7 +1738,7 @@ msgstr ""
#: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "The length of rgb_pins must be 6, 12, 18, 24, or 30"
msgstr ""
msgstr "De lengte van rgb_pins moet 6, 12, 18, 24 of 30 zijn"
#: supervisor/shared/safe_mode.c
msgid ""
@ -1775,7 +1797,7 @@ msgstr ""
#: supervisor/shared/safe_mode.c
msgid "To exit, please reset the board without "
msgstr ""
msgstr "Om te beëindigen, reset het bord zonder "
#: ports/atmel-samd/common-hal/audiobusio/I2SOut.c
msgid "Too many channels in sample."
@ -1848,7 +1870,7 @@ msgstr "Niet in staat buffers voor gesigneerde conversie te alloceren"
#: ports/esp32s2/common-hal/busio/I2C.c
msgid "Unable to create lock"
msgstr ""
msgstr "Kan vergrendeling niet maken"
#: shared-module/displayio/I2CDisplay.c
#, c-format
@ -1879,11 +1901,11 @@ msgstr "Onverwacht mrfx uuid type"
#: ports/esp32s2/common-hal/socketpool/Socket.c
#, c-format
msgid "Unhandled ESP TLS error %d %d %x %d"
msgstr ""
msgstr "Niet behandelde ESP TLS fout %d %d %x %d"
#: shared-bindings/wifi/Radio.c
msgid "Unknown failure"
msgstr ""
msgstr "Onbekende fout"
#: ports/nrf/common-hal/_bleio/__init__.c
#, c-format
@ -2001,7 +2023,7 @@ msgstr ""
#: shared-bindings/wifi/Radio.c
msgid "WiFi password must be between 8 and 63 characters"
msgstr ""
msgstr "WiFi wachtwoord moet tussen 8 en 63 karakters bevatten"
#: ports/nrf/common-hal/_bleio/PacketBuffer.c
msgid "Writes not supported on Characteristic"
@ -2154,6 +2176,10 @@ msgstr "buffer slices moeten van gelijke grootte zijn"
msgid "buffer too small"
msgstr "buffer te klein"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr "buffer te klein voor gevraagde bytes"
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "buttons moeten digitalio.DigitalInOut zijn"
@ -2173,7 +2199,7 @@ msgstr "butes > 8 niet ondersteund"
#: py/objarray.c
msgid "bytes length not a multiple of item size"
msgstr ""
msgstr "bytes lengte is geen veelvoud van itemgrootte"
#: py/objstr.c
msgid "bytes value out of range"
@ -2491,11 +2517,11 @@ msgstr "uitzonderingen moeten afleiden van BaseException"
#: shared-bindings/canio/CAN.c
msgid "expected '%q' but got '%q'"
msgstr ""
msgstr "verwachtte '%q' maar ontving '%q'"
#: shared-bindings/canio/CAN.c
msgid "expected '%q' or '%q' but got '%q'"
msgstr ""
msgstr "verwachtte '%q' of '%q' maar ontving '%q'"
#: py/objstr.c
msgid "expected ':' after format specifier"
@ -2709,7 +2735,7 @@ msgstr "oorspronkelijke waarden moeten itereerbaar zijn"
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
msgid "initial_value length is wrong"
msgstr ""
msgstr "lengte van initial_value is onjuist"
#: py/compile.c
msgid "inline assembler must be a function"
@ -2784,6 +2810,10 @@ msgstr "ongeldig formaat"
msgid "invalid format specifier"
msgstr "ongeldige formaatspecificatie"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr "onjuiste hostnaam"
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "ongeldige sleutel"
@ -2880,6 +2910,10 @@ msgstr "verwijzing naar een (nog) niet toegewezen lokale variabele"
msgid "long int not supported in this build"
msgstr "long int wordt niet ondersteund in deze build"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr "onjuist gevormde f-string"
@ -2914,6 +2948,14 @@ msgstr "max_length moet >0 zijn"
msgid "maximum recursion depth exceeded"
msgstr "maximale recursiediepte overschreden"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3146,11 +3188,11 @@ msgstr "ord() verwacht een teken (char) maar vond een string van lengte %d"
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of source"
msgstr ""
msgstr "buiten bereik van bron"
#: shared-bindings/displayio/Bitmap.c
msgid "out of range of target"
msgstr ""
msgstr "buiten bereik van doel"
#: py/objint_mpz.c
msgid "overflow converting long int to machine word"
@ -3159,7 +3201,7 @@ msgstr "overloop bij converteren van long int naar machine word"
#: py/modstruct.c
#, c-format
msgid "pack expected %d items for packing (got %d)"
msgstr ""
msgstr "pack verwachtte %d elementen (ontving %d)"
#: shared-bindings/_stage/Layer.c shared-bindings/_stage/Text.c
msgid "palette must be 32 bytes long"
@ -3225,10 +3267,12 @@ msgstr "pow() met 3 argumenten vereist integers"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
msgstr ""
msgstr "druk bootknop in bij opstarten.\n"
#: ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
#: ports/atmel-samd/boards/circuitplayground_express_crickit/mpconfigboard.h
@ -3236,7 +3280,7 @@ msgstr ""
#: ports/atmel-samd/boards/escornabot_makech/mpconfigboard.h
#: ports/atmel-samd/boards/meowmeow/mpconfigboard.h
msgid "pressing both buttons at start up.\n"
msgstr ""
msgstr "druk beide knoppen in bij opstarten.\n"
#: extmod/modutimeq.c
msgid "queue overflow"
@ -3349,6 +3393,10 @@ msgstr "zachte herstart\n"
msgid "sort argument must be an ndarray"
msgstr "sorteerargument moet een ndarray zijn"
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr "sos array moet vorm (n_section, 6) hebben"
@ -3363,7 +3411,7 @@ msgstr "sosfilt vereist itereerbare argumenten"
#: shared-bindings/displayio/Bitmap.c
msgid "source palette too large"
msgstr ""
msgstr "bronpalet te groot"
#: py/objstr.c
msgid "start/end indices"
@ -3478,6 +3526,16 @@ msgstr "tuple index buiten bereik"
msgid "tuple/list has wrong length"
msgstr "tuple of lijst heeft onjuiste lengte"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c
@ -3498,7 +3556,7 @@ msgstr "objecttype '%q' heeft geen attribuut '%q'"
#: py/objgenerator.c
msgid "type object 'generator' has no attribute '__await__'"
msgstr ""
msgstr "het type object 'generator' heeft geen attribuut '__await__'"
#: py/objtype.c
msgid "type takes 1 or 3 arguments"
@ -3608,7 +3666,7 @@ msgstr "watchdog time-out moet groter zijn dan 0"
#: shared-bindings/rgbmatrix/RGBMatrix.c
msgid "width must be greater than zero"
msgstr ""
msgstr "breedte moet groter dan nul zijn"
#: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-09-29 01:39+0000\n"
"Last-Translator: Maciej Stankiewicz <tawezik@gmail.com>\n"
"Language-Team: pl\n"
@ -294,11 +294,16 @@ msgstr "Adres musi mieć %d bajtów"
msgid "Address type out of range"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr ""
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Wszystkie peryferia I2C w użyciu"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr ""
@ -415,6 +420,10 @@ msgstr ""
"Samo-przeładowywanie włączone. Po prostu zapisz pliki przez USB aby je "
"uruchomić, albo wejdź w konsolę aby wyłączyć.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr ""
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -787,7 +796,7 @@ msgstr "Tryb sterowania nieużywany w trybie wejścia."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB działa tylko na 16 bajtach naraz"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr ""
@ -913,6 +922,7 @@ msgid "File exists"
msgstr "Plik istnieje"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr ""
@ -959,6 +969,10 @@ msgstr "Sprzęt zajęty, wypróbuj alternatywne piny"
msgid "Hardware in use, try alternative pins"
msgstr "Sprzęt w użyciu, wypróbuj alternatywne piny"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr ""
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "Operacja I/O na zamkniętym pliku"
@ -1040,6 +1054,7 @@ msgstr "Zły BMP"
msgid "Invalid BSSID"
msgstr ""
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
@ -1128,7 +1143,7 @@ msgstr "Zła nóżka dla prawego kanału"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1252,7 +1267,6 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Brak DAC"
@ -1415,6 +1429,10 @@ msgid ""
"%d bpp given"
msgstr ""
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr ""
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr ""
@ -2124,6 +2142,10 @@ msgstr "fragmenty bufora muszą mieć tę samą długość"
msgid "buffer too small"
msgstr "zbyt mały bufor"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr ""
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "buttons musi być digitalio.DigitalInOut"
@ -2750,6 +2772,10 @@ msgstr "zły format"
msgid "invalid format specifier"
msgstr "zła specyfikacja formatu"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr ""
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "zły klucz"
@ -2843,6 +2869,10 @@ msgstr "zmienna lokalna użyta przed przypisaniem"
msgid "long int not supported in this build"
msgstr "long int jest nieobsługiwany"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
@ -2877,6 +2907,14 @@ msgstr "max_length musi być > 0"
msgid "maximum recursion depth exceeded"
msgstr "przekroczono dozwoloną głębokość rekurencji"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr ""
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr ""
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3188,6 +3226,8 @@ msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3311,6 +3351,10 @@ msgstr "programowy reset\n"
msgid "sort argument must be an ndarray"
msgstr ""
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr ""
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr ""
@ -3440,6 +3484,16 @@ msgstr "indeks krotki poza zakresem"
msgid "tuple/list has wrong length"
msgstr "krotka/lista ma złą długość"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr ""
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -5,8 +5,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"PO-Revision-Date: 2020-10-13 17:11+0000\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-10-28 21:45+0000\n"
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
"Language-Team: \n"
"Language: pt_BR\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.3-dev\n"
"X-Generator: Weblate 4.3.2-dev\n"
#: main.c
msgid ""
@ -296,11 +296,16 @@ msgstr "O endereço deve ter %d bytes de comprimento"
msgid "Address type out of range"
msgstr "O tipo do endereço está fora do alcance"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr "Todos os periféricos CAN estão em uso"
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Todos os periféricos I2C estão em uso"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr "Todos os FIFOs RX estão em uso"
@ -419,6 +424,10 @@ msgstr ""
"O recarregamento automático está ativo. Simplesmente salve os arquivos via "
"USB para executá-los ou digite REPL para desativar.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr "O Baudrate não é suportado pelo periférico"
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -796,7 +805,7 @@ msgstr "O modo do controlador não é usado quando a direção for inserida."
msgid "ECB only operates on 16 bytes at a time"
msgstr "O BCE opera apenas com 16 bytes por vez"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr "Houve uma falha na alocação da memória ESP-IDF"
@ -922,6 +931,7 @@ msgid "File exists"
msgstr "Arquivo já existe"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr "Os filtros são muito complexos"
@ -970,6 +980,10 @@ msgstr "O hardware está ocupado, tente os pinos alternativos"
msgid "Hardware in use, try alternative pins"
msgstr "O hardware está em uso, tente os pinos alternativos"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr "O nome do host deve ter entre 1 e 253 caracteres"
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "Operação I/O no arquivo fechado"
@ -1051,6 +1065,7 @@ msgstr "Arquivo BMP inválido"
msgid "Invalid BSSID"
msgstr "BSSID Inválido"
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "O pino DAC informado é inválido"
@ -1139,7 +1154,7 @@ msgstr "Pino inválido para canal direito"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1262,7 +1277,6 @@ msgid "No CCCD for this Characteristic"
msgstr "Não há nenhum CCCD para esta característica"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Nenhum DAC no chip"
@ -1430,6 +1444,10 @@ msgstr ""
"São compatíveis apenas os BMPs monocromáticos, indexados em 4bpp ou 8bpp e "
"16bpp ou superior: determinado %d bpp"
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr "Apenas uma cor pode ser transparente de cada vez"
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr "Apenas o int bruto é compatível para o ip"
@ -2173,6 +2191,10 @@ msgstr "as fatias do buffer devem ter o mesmo comprimento"
msgid "buffer too small"
msgstr "o buffer é muito pequeno"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr "o buffer é pequeno demais para os bytes requisitados"
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "os botões devem ser digitalio.DigitalInOut"
@ -2808,6 +2830,10 @@ msgstr "formato inválido"
msgid "invalid format specifier"
msgstr "o especificador do formato é inválido"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr "o nome do host é inválido"
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "chave inválida"
@ -2904,6 +2930,10 @@ msgstr "a variável local referenciada antes da atribuição"
msgid "long int not supported in this build"
msgstr "o long int não é suportado nesta compilação"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr "o loopback + o modo silencioso não é suportado pelo periférico"
#: py/parse.c
msgid "malformed f-string"
msgstr "f-string malformado"
@ -2938,6 +2968,14 @@ msgstr "max_length deve ser > 0"
msgid "maximum recursion depth exceeded"
msgstr "a recursão máxima da profundidade foi excedida"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr "maxiter deve ser > 0"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr "maxiter pode ser > 0"
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3255,6 +3293,8 @@ msgstr "o pow() com 3 argumentos requer números inteiros"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3379,6 +3419,10 @@ msgstr "reinicialização soft\n"
msgid "sort argument must be an ndarray"
msgstr "o argumento da classificação deve ser um ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr "o eixo ordenado não pode ser maior do que 65535"
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr "o sos da matriz deve estar na forma (n_section, 6)"
@ -3508,6 +3552,16 @@ msgstr "o índice da tupla está fora do intervalo"
msgid "tuple/list has wrong length"
msgstr "a tupla/lista está com tamanho incorreto"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr "o twai_driver_install retornou um erro esp-idf #%d"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr "o twai_start retornou um erro esp-idf #%d"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -5,8 +5,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"PO-Revision-Date: 2020-10-14 18:12+0000\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-11-01 16:26+0000\n"
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sv\n"
@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3-dev\n"
"X-Generator: Weblate 4.3.2-dev\n"
#: main.c
msgid ""
@ -292,11 +292,16 @@ msgstr "Adressen måste vara %d byte lång"
msgid "Address type out of range"
msgstr "Adresstyp utanför intervallet"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr "All I2C-kringutrustning används"
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "All I2C-kringutrustning används"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr "Alla RX FIFO i bruk"
@ -413,6 +418,10 @@ msgstr ""
"Autoladdning är på. Spara bara filer via USB för att köra dem eller ange "
"REPL för att inaktivera.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr "Baudrate stöds inte av kringutrustning"
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -494,7 +503,7 @@ msgstr "Bufferten är för stor och kan inte allokeras"
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr "Buffert år %d bytes för kort"
msgstr "Buffert är %d bytes för kort"
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
@ -787,7 +796,7 @@ msgstr "Drivläge används inte när riktning är input."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB arbetar endast på 16 byte åt gången"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr "ESP-IDF-minnetilldelning misslyckades"
@ -913,6 +922,7 @@ msgid "File exists"
msgstr "Filen finns redan"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr "Filter för komplexa"
@ -959,6 +969,10 @@ msgstr "Hårdvaran är upptagen, prova alternativa pinnar"
msgid "Hardware in use, try alternative pins"
msgstr "Hårdvaran används redan, prova alternativa pinnar"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr "Hostname måste vara mellan 1 och 253 tecken"
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "I/O-operation på stängd fil"
@ -1040,6 +1054,7 @@ msgstr "Ogiltig BMP-fil"
msgid "Invalid BSSID"
msgstr "Ogiltig BSSID"
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "Ogiltig DAC-pinne angiven"
@ -1128,7 +1143,7 @@ msgstr "Ogiltig pinne för höger kanal"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1252,7 +1267,6 @@ msgid "No CCCD for this Characteristic"
msgstr "Ingen CCCD för denna karaktäristik"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Ingen DAC på chipet"
@ -1420,6 +1434,10 @@ msgstr ""
"Endast monokrom, indexerad 4 bpp eller 8 bpp och 16 bpp eller högre BMP: er "
"stöds: %d bpp angiven"
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr "Bara en färg kan vara genomskinlig i taget"
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr "Endast raw int stöds för ip"
@ -2151,6 +2169,10 @@ msgstr "buffertsegmenten måste vara lika långa"
msgid "buffer too small"
msgstr "buffert för liten"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr "buffert för liten för begärd längd"
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "buttons måste vara digitalio.DigitalInOut"
@ -2781,6 +2803,10 @@ msgstr "ogiltigt format"
msgid "invalid format specifier"
msgstr "ogiltig formatspecificerare"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr "Ogiltigt värdnamn"
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "ogiltig nyckel"
@ -2877,6 +2903,10 @@ msgstr "lokal variabel refererad före tilldelning"
msgid "long int not supported in this build"
msgstr "long int stöds inte i denna build"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr "loopback + tyst läge stöds inte av kringutrustning"
#: py/parse.c
msgid "malformed f-string"
msgstr "f-sträng har felaktigt format"
@ -2911,6 +2941,14 @@ msgstr "max_length måste vara > 0"
msgid "maximum recursion depth exceeded"
msgstr "maximal rekursionsdjup överskriden"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr "maxiter måste vara > 0"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr "maxiter bör vara > 0"
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3222,6 +3260,8 @@ msgstr "pow() med 3 argument kräver heltal"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3346,6 +3386,10 @@ msgstr "mjuk omstart\n"
msgid "sort argument must be an ndarray"
msgstr "argumentet sort måste vara en ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr "sorterad axel kan inte vara längre än 65535"
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr "sos array måste ha form (n_section, 6)"
@ -3475,6 +3519,16 @@ msgstr "tupelindex utanför intervallet"
msgid "tuple/list has wrong length"
msgstr "tupel/lista har fel längd"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr "twai_driver_install returnerade esp-idf-fel #%d"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr "twai_start returnerade esp-idf-fel #%d"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: circuitpython-cn\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-10 23:49-0700\n"
"PO-Revision-Date: 2020-10-13 17:11+0000\n"
"POT-Creation-Date: 2020-10-21 20:13-0500\n"
"PO-Revision-Date: 2020-10-28 21:45+0000\n"
"Last-Translator: hexthat <hexthat@gmail.com>\n"
"Language-Team: Chinese Hanyu Pinyin\n"
"Language: zh_Latn_pinyin\n"
@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.3-dev\n"
"X-Generator: Weblate 4.3.2-dev\n"
#: main.c
msgid ""
@ -294,11 +294,16 @@ msgstr "Dìzhǐ bìxū shì %d zì jié zhǎng"
msgid "Address type out of range"
msgstr "Dìzhǐ lèixíng chāochū fànwéi"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "All CAN peripherals are in use"
msgstr "suǒ yǒu CAN wài shè dōu zài shǐ yòng zhōng"
#: ports/esp32s2/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
msgid "All I2C peripherals are in use"
msgstr "Suǒyǒu I2C wàiwéi qì zhèngzài shǐyòng"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "All RX FIFOs in use"
msgstr "Suǒyǒu shǐyòng zhōng de RX FIFO"
@ -415,6 +420,10 @@ msgstr ""
"Zìdòng chóngxīn jiāzài. Zhǐ xū tōngguò USB bǎocún wénjiàn lái yùnxíng tāmen "
"huò shūrù REPL jìnyòng.\n"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "Baudrate not supported by peripheral"
msgstr "wài shè bù zhī chí de bō tè lā tè"
#: shared-module/displayio/Display.c
#: shared-module/framebufferio/FramebufferDisplay.c
msgid "Below minimum frame rate"
@ -785,7 +794,7 @@ msgstr "Fāngxiàng shūrù shí qūdòng móshì méiyǒu shǐyòng."
msgid "ECB only operates on 16 bytes at a time"
msgstr "ECB yí cì zhǐ shǐ yòng 16 gè zì jié"
#: ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/SPI.c ports/esp32s2/common-hal/canio/CAN.c
msgid "ESP-IDF memory allocation failed"
msgstr "ESP-IDF nèicún fēnpèi shībài"
@ -911,6 +920,7 @@ msgid "File exists"
msgstr "Wénjiàn cúnzài"
#: ports/atmel-samd/common-hal/canio/Listener.c
#: ports/esp32s2/common-hal/canio/Listener.c
#: ports/stm/common-hal/canio/Listener.c
msgid "Filters too complex"
msgstr "guò lǜ qì tài fù zá"
@ -957,6 +967,10 @@ msgstr "Yìngjiàn máng, qǐng chángshì qítā zhēnjiǎo"
msgid "Hardware in use, try alternative pins"
msgstr "Shǐyòng de yìngjiàn, qǐng chángshì qítā yǐn jiǎo"
#: shared-bindings/wifi/Radio.c
msgid "Hostname must be between 1 and 253 characters"
msgstr "zhǔ jī míng bì xū jiè yú 1 hé 253 gè zì fú zhī jiān"
#: extmod/vfs_posix_file.c py/objstringio.c
msgid "I/O operation on closed file"
msgstr "Wénjiàn shàng de I/ O cāozuò"
@ -1038,6 +1052,7 @@ msgstr "Wúxiào de BMP wénjiàn"
msgid "Invalid BSSID"
msgstr "Wúxiào de BSSID"
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr "Tí gōng liǎo wúxiào de DAC yǐn jiǎo"
@ -1126,7 +1141,7 @@ msgstr "Yòuxián tōngdào yǐn jiǎo wúxiào"
#: ports/cxd56/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/SPI.c
#: ports/cxd56/common-hal/busio/UART.c ports/cxd56/common-hal/sdioio/SDCard.c
#: ports/esp32s2/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/SPI.c
#: ports/esp32s2/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/esp32s2/common-hal/canio/CAN.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
@ -1249,7 +1264,6 @@ msgid "No CCCD for this Characteristic"
msgstr "Zhège tèzhēng méiyǒu CCCD"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/esp32s2/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Méiyǒu DAC zài xīnpiàn shàng de"
@ -1417,6 +1431,10 @@ msgstr ""
"Jǐn zhīchí dān sè, suǒyǐn wéi 4bpp huò 8bpp yǐjí 16bpp huò gèng gāo de BMP: "
"Gěi chū %d bpp"
#: shared-module/displayio/ColorConverter.c
msgid "Only one color can be transparent at a time"
msgstr "Yīcì zhǐ néng yǒuyī zhǒng yánsè shì tòumíng de"
#: shared-bindings/ipaddress/__init__.c
msgid "Only raw int supported for ip"
msgstr "Ip jǐn zhīchí raw int"
@ -2143,6 +2161,10 @@ msgstr "huǎnchōng qū qiēpiàn bìxū chángdù xiāngděng"
msgid "buffer too small"
msgstr "huǎnchōng qū tài xiǎo"
#: shared-bindings/socketpool/Socket.c
msgid "buffer too small for requested bytes"
msgstr "huǎn chōng qū tài xiǎo, duì yú qǐng qiú de zì jié"
#: shared-bindings/_pew/PewPew.c
msgid "buttons must be digitalio.DigitalInOut"
msgstr "ànniǔ bìxū shì digitalio.DigitalInOut"
@ -2773,6 +2795,10 @@ msgstr "wúxiào géshì"
msgid "invalid format specifier"
msgstr "wúxiào de géshì biāozhù"
#: shared-bindings/wifi/Radio.c
msgid "invalid hostname"
msgstr "wú xiào zhǔ jī míng"
#: extmod/modussl_axtls.c
msgid "invalid key"
msgstr "wúxiào de mì yào"
@ -2867,6 +2893,10 @@ msgstr "fùzhí qián yǐnyòng de júbù biànliàng"
msgid "long int not supported in this build"
msgstr "cǐ bǎnběn bù zhīchí zhǎng zhěngshù"
#: ports/esp32s2/common-hal/canio/CAN.c
msgid "loopback + silent mode not supported by peripheral"
msgstr "Wài shè bù zhī chí huán huí + jìng yīn mó shì"
#: py/parse.c
msgid "malformed f-string"
msgstr "jīxíng de f-string"
@ -2901,6 +2931,14 @@ msgstr "Max_length bìxū > 0"
msgid "maximum recursion depth exceeded"
msgstr "chāochū zuìdà dìguī shēndù"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter must be > 0"
msgstr "maxiter bì xū > 0"
#: extmod/ulab/code/approx/approx.c
msgid "maxiter should be > 0"
msgstr "maxiter yìng wéi > 0"
#: py/runtime.c
#, c-format
msgid "memory allocation failed, allocating %u bytes"
@ -3211,6 +3249,8 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
#: ports/esp32s2/boards/targett_module_clip_wrover/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2/mpconfigboard.h
#: ports/esp32s2/boards/unexpectedmaker_feathers2_prerelease/mpconfigboard.h
msgid "pressing boot button at start up.\n"
@ -3269,7 +3309,7 @@ msgstr "yòubiān bìxū shì ndarray huò biāoliàng"
#: py/objstr.c
msgid "rsplit(None,n)"
msgstr "Rchāifēn(wú N"
msgstr "Rchāifēn(wú,N)"
#: shared-bindings/audiocore/RawSample.c
msgid ""
@ -3335,6 +3375,10 @@ msgstr "ruǎn chóngqǐ\n"
msgid "sort argument must be an ndarray"
msgstr "páixù cānshù bìxū shì ndarray"
#: extmod/ulab/code/numerical/numerical.c
msgid "sorted axis can't be longer than 65535"
msgstr "pái xù zhóu bù néng chāo guò 65535"
#: extmod/ulab/code/filter/filter.c
msgid "sos array must be of shape (n_section, 6)"
msgstr "sos shùzǔ de xíngzhuàng bìxū wèi (n_section, 6)"
@ -3464,6 +3508,16 @@ msgstr "yuán zǔ suǒyǐn chāochū fànwéi"
msgid "tuple/list has wrong length"
msgstr "yuán zǔ/lièbiǎo chángdù cuòwù"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_driver_install returned esp-idf error #%d"
msgstr "twai_driver_install fǎn huí esp-idf cuò wù #%d"
#: ports/esp32s2/common-hal/canio/CAN.c
#, c-format
msgid "twai_start returned esp-idf error #%d"
msgstr "twai_start fǎn huí esp -idf cuò wù #%d"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/esp32s2/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: shared-bindings/busio/UART.c shared-bindings/canio/CAN.c

4
main.c
View File

@ -234,10 +234,12 @@ void cleanup_after_vm(supervisor_allocation* heap) {
common_hal_canio_reset();
#endif
reset_port();
// reset_board_busses() first because it may release pins from the never_reset state, so that
// reset_port() can reset them.
#if CIRCUITPY_BOARD
reset_board_busses();
#endif
reset_port();
reset_board();
reset_status_led();
}

View File

@ -66,7 +66,7 @@ LDFLAGS += -static -static-libgcc -static-libstdc++
endif
# source files
SRC_C = \
SRC_C += \
main.c \
gccollect.c \
supervisor/stub/safe_mode.c \

View File

@ -197,6 +197,7 @@ endif
LDFLAGS = $(CFLAGS) -nostartfiles -Wl,-nostdlib -Wl,-T,$(GENERATED_LD_FILE) -Wl,-Map=$@.map -Wl,-cref -Wl,-gc-sections -specs=nano.specs
LDFLAGS += -flto=$(shell $(NPROC))
LIBS := -lgcc -lc
# Use toolchain libm if we're not using our own.

View File

@ -12,14 +12,14 @@
#define BOARD_HAS_CRYSTAL 1
#define DEFAULT_I2C_BUS_SDA (&pin_PB02)
#define DEFAULT_I2C_BUS_SCL (&pin_PB03)
#define DEFAULT_I2C_BUS_SCL (&pin_PA16)
#define DEFAULT_I2C_BUS_SDA (&pin_PA17)
#define DEFAULT_UART_BUS_RX (&pin_PB20)
#define DEFAULT_UART_BUS_TX (&pin_PB21)
#define DEFAULT_SPI_BUS_MISO (&pin_PB23)
#define DEFAULT_UART_BUS_TX (&pin_PB24)
#define DEFAULT_UART_BUS_RX (&pin_PB25)
#define DEFAULT_SPI_BUS_MOSI (&pin_PC27)
#define DEFAULT_SPI_BUS_SCK (&pin_PC28)
#define MICROPY_HW_LED_STATUS (&pin_PA15)
#define MICROPY_HW_LED_STATUS (&pin_PA23)
#define MICROPY_HW_LED_RX (&pin_PC05)
#define MICROPY_HW_LED_TX (&pin_PC06)

View File

@ -1,64 +1,70 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PB08) },
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PB09) },
{ MP_ROM_QSTR(MP_QSTR_A10), MP_ROM_PTR(&pin_PC00) },
{ MP_ROM_QSTR(MP_QSTR_A11), MP_ROM_PTR(&pin_PC01) },
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PB00) },
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_PB01) },
{ MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_PB05) },
{ MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_PB06) },
{ MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_PB07) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PC10) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PC11) },
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA14) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA13) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PB14) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PB15) },
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PC20) },
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PC21) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PB31) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA17) },
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_A10), MP_ROM_PTR(&pin_PB07) },
{ MP_ROM_QSTR(MP_QSTR_A11), MP_ROM_PTR(&pin_PC00) },
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PB08) },
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PB09) },
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PC02) },
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_PC03) },
{ MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_PB04) },
{ MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_PB05) },
{ MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_PB06) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PB31) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PC16) },
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PC13) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA14) },
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA15) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PB12) },
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_PB13) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PC17) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PC18) },
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PC19) },
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PC20) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PC21) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PB18) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PB19) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PC12) },
{ MP_ROM_QSTR(MP_QSTR_DAC0), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_DAC1), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_EN), MP_ROM_PTR(&pin_PC03) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_EN), MP_ROM_PTR(&pin_PC15) },
{ MP_ROM_QSTR(MP_QSTR_E5), MP_ROM_PTR(&pin_PC15) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_GPIO0), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_UART3_RTS), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_E3), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_GPIO2), MP_ROM_PTR(&pin_PA19) },
{ MP_ROM_QSTR(MP_QSTR_UART3_CTS), MP_ROM_PTR(&pin_PA19) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_RESET), MP_ROM_PTR(&pin_PC02) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_RX), MP_ROM_PTR(&pin_PB21) },
{ MP_ROM_QSTR(MP_QSTR_UART3_RX), MP_ROM_PTR(&pin_PB21) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_TX), MP_ROM_PTR(&pin_PB20) },
{ MP_ROM_QSTR(MP_QSTR_UART3_TX), MP_ROM_PTR(&pin_PB20) },
{ MP_ROM_QSTR(MP_QSTR_I2C_SCL), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_I2C_SDA), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_E4), MP_ROM_PTR(&pin_PA19) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_RESET), MP_ROM_PTR(&pin_PC14) },
{ MP_ROM_QSTR(MP_QSTR_E6), MP_ROM_PTR(&pin_PC14) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_RX), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_UART3_RX), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_I2C3_SCL), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_E2), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_ESP01_TX), MP_ROM_PTR(&pin_PA13) },
{ MP_ROM_QSTR(MP_QSTR_UART3_TX), MP_ROM_PTR(&pin_PA13) },
{ MP_ROM_QSTR(MP_QSTR_I2C3_SDA), MP_ROM_PTR(&pin_PA13) },
{ MP_ROM_QSTR(MP_QSTR_E1), MP_ROM_PTR(&pin_PA13) },
{ MP_ROM_QSTR(MP_QSTR_I2C1_SCL), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_I2C1_SDA), MP_ROM_PTR(&pin_PA17) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA17) },
{ MP_ROM_QSTR(MP_QSTR_I2S_FS_0), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_I2S_FS_1), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_I2S_MCK_0), MP_ROM_PTR(&pin_PB17) },
{ MP_ROM_QSTR(MP_QSTR_I2S_MCK_1), MP_ROM_PTR(&pin_PB13) },
{ MP_ROM_QSTR(MP_QSTR_I2S_SCK_0), MP_ROM_PTR(&pin_PB16) },
{ MP_ROM_QSTR(MP_QSTR_I2S_SCK_1), MP_ROM_PTR(&pin_PB12) },
{ MP_ROM_QSTR(MP_QSTR_I2S_SDI), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_I2S_SDO), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_LED_B), MP_ROM_PTR(&pin_PA15) },
{ MP_ROM_QSTR(MP_QSTR_LED_STATUS), MP_ROM_PTR(&pin_PA15) },
{ MP_ROM_QSTR(MP_QSTR_LED_G), MP_ROM_PTR(&pin_PB18) },
{ MP_ROM_QSTR(MP_QSTR_LED_R), MP_ROM_PTR(&pin_PB19) },
{ MP_ROM_QSTR(MP_QSTR_LED_B), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_LED_STATUS), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_LED_G), MP_ROM_PTR(&pin_PB15) },
{ MP_ROM_QSTR(MP_QSTR_LED_R), MP_ROM_PTR(&pin_PB14) },
{ MP_ROM_QSTR(MP_QSTR_LED_RX), MP_ROM_PTR(&pin_PC05) },
{ MP_ROM_QSTR(MP_QSTR_LED_TX), MP_ROM_PTR(&pin_PC06) },
{ MP_ROM_QSTR(MP_QSTR_RS485_RE), MP_ROM_PTR(&pin_PC15) },
{ MP_ROM_QSTR(MP_QSTR_RS485_RX), MP_ROM_PTR(&pin_PC13) },
{ MP_ROM_QSTR(MP_QSTR_RS485_TE), MP_ROM_PTR(&pin_PC14) },
{ MP_ROM_QSTR(MP_QSTR_RS485_TX), MP_ROM_PTR(&pin_PC12) },
{ MP_ROM_QSTR(MP_QSTR_RS485_RE), MP_ROM_PTR(&pin_PB01) },
{ MP_ROM_QSTR(MP_QSTR_RS485_RX), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_RS485_TE), MP_ROM_PTR(&pin_PB00) },
{ MP_ROM_QSTR(MP_QSTR_RS485_TX), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_SPI_MISO), MP_ROM_PTR(&pin_PB23) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PB23) },
{ MP_ROM_QSTR(MP_QSTR_SPI_MOSI), MP_ROM_PTR(&pin_PC27) },
@ -67,14 +73,16 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PC28) },
{ MP_ROM_QSTR(MP_QSTR_SPI_SS), MP_ROM_PTR(&pin_PB22) },
{ MP_ROM_QSTR(MP_QSTR_SS), MP_ROM_PTR(&pin_PB22) },
{ MP_ROM_QSTR(MP_QSTR_UART1_CTS), MP_ROM_PTR(&pin_PC19) },
{ MP_ROM_QSTR(MP_QSTR_UART1_RTS), MP_ROM_PTR(&pin_PC18) },
{ MP_ROM_QSTR(MP_QSTR_UART1_RX), MP_ROM_PTR(&pin_PC17) },
{ MP_ROM_QSTR(MP_QSTR_UART1_TX), MP_ROM_PTR(&pin_PC16) },
{ MP_ROM_QSTR(MP_QSTR_UART2_RX), MP_ROM_PTR(&pin_PB25) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB25) },
{ MP_ROM_QSTR(MP_QSTR_UART2_TX), MP_ROM_PTR(&pin_PB24) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB24) },
{ MP_ROM_QSTR(MP_QSTR_UART1_CTS), MP_ROM_PTR(&pin_PC25) },
{ MP_ROM_QSTR(MP_QSTR_UART1_RTS), MP_ROM_PTR(&pin_PC24) },
{ MP_ROM_QSTR(MP_QSTR_UART1_RX), MP_ROM_PTR(&pin_PB24) },
{ MP_ROM_QSTR(MP_QSTR_UART1_TX), MP_ROM_PTR(&pin_PB25) },
{ MP_ROM_QSTR(MP_QSTR_UART2_RX), MP_ROM_PTR(&pin_PB20) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB20) },
{ MP_ROM_QSTR(MP_QSTR_I2C2_SCL), MP_ROM_PTR(&pin_PB20) },
{ MP_ROM_QSTR(MP_QSTR_UART2_TX), MP_ROM_PTR(&pin_PB21) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB21) },
{ MP_ROM_QSTR(MP_QSTR_I2C2_SDA), MP_ROM_PTR(&pin_PB21) },
{ 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

@ -0,0 +1,38 @@
/*
* 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

@ -0,0 +1,40 @@
#define MICROPY_HW_BOARD_NAME "DynOSSAT-EDU-EPS"
#define MICROPY_HW_MCU_NAME "samd21g18"
#define MICROPY_HW_NEOPIXEL (&pin_PA06)
#define SPI_FLASH_MOSI_PIN &pin_PA22
#define SPI_FLASH_MISO_PIN &pin_PA21
#define SPI_FLASH_SCK_PIN &pin_PA23
#define SPI_FLASH_CS_PIN &pin_PA20
// These are pins not to reset.
#define MICROPY_PORT_A ( 0 )
#define MICROPY_PORT_B ( 0 )
#define MICROPY_PORT_C ( 0 )
#define BOARD_HAS_CRYSTAL 1
#define DEFAULT_I2C_BUS_SCL (&pin_PA09)
#define DEFAULT_I2C_BUS_SDA (&pin_PA08)
#define DEFAULT_SPI_BUS_SCK (&pin_PB11)
#define DEFAULT_SPI_BUS_MOSI (&pin_PA12)
#define DEFAULT_SPI_BUS_MISO (&pin_PB10)
#define DEFAULT_UART_BUS_RX (&pin_PA17)
#define DEFAULT_UART_BUS_TX (&pin_PA16)
// USB is always used internally so skip the pin objects for it.
#define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1
#define IGNORE_PIN_PA03 1
#define IGNORE_PIN_PA13 1
#define IGNORE_PIN_PA14 1
#define IGNORE_PIN_PA15 1
#define IGNORE_PIN_PA18 1
#define IGNORE_PIN_PA27 1
#define IGNORE_PIN_PA28 1
#define IGNORE_PIN_PB08 1
#define IGNORE_PIN_PB22 1
#define IGNORE_PIN_PB23 1

View File

@ -0,0 +1,23 @@
USB_VID = 0x04D8
USB_PID = 0xEAD1
USB_PRODUCT = "DynOSSAT-EDU-EPS-v1.0"
USB_MANUFACTURER = "BH Dynamics"
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
SPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = "GD25Q32C"
LONGINT_IMPL = MPZ
CIRCUITPY_BITBANGIO = 0
CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_COUNTIO = 0
CIRCUITPY_I2CPERIPHERAL = 0
CIRCUITPY_VECTORIO = 0
CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0

View File

@ -0,0 +1,32 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB11) },
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PB10) },
{ MP_ROM_QSTR(MP_QSTR_D30), MP_ROM_PTR(&pin_PA30) },
{ MP_ROM_QSTR(MP_QSTR_D31), MP_ROM_PTR(&pin_PA31) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA17) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_OVTEMP), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_SAT_RESET), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_SAT_PWR_ENABLE), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA19) },
{ MP_ROM_QSTR(MP_QSTR_INT_IMU_OBC), MP_ROM_PTR(&pin_PA19) },
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_PWRMON_SDA), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_PWRMON_SCL), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_PWRMON_ALERT), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_I2C_MONITOR), 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

@ -0,0 +1,38 @@
/*
* 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

@ -0,0 +1,44 @@
#define MICROPY_HW_BOARD_NAME "DynOSSAT-EDU-OBC"
#define MICROPY_HW_MCU_NAME "samd51j20"
#define MICROPY_HW_NEOPIXEL (&pin_PA08)
#define SPI_FLASH_MOSI_PIN &pin_PA16
#define SPI_FLASH_MISO_PIN &pin_PA18
#define SPI_FLASH_SCK_PIN &pin_PA17
#define SPI_FLASH_CS_PIN &pin_PA19
// These are pins not to reset.
#define MICROPY_PORT_A ( PORT_PA16 | PORT_PA17 | PORT_PA18 | PORT_PA19 )
#define MICROPY_PORT_B ( 0 )
#define MICROPY_PORT_C ( 0 )
#define MICROPY_PORT_D ( 0 )
#define BOARD_HAS_CRYSTAL 1
#define DEFAULT_I2C_BUS_SCL (&pin_PB13)
#define DEFAULT_I2C_BUS_SDA (&pin_PB12)
#define DEFAULT_SPI_BUS_SCK (&pin_PB03)
#define DEFAULT_SPI_BUS_MOSI (&pin_PB02)
#define DEFAULT_SPI_BUS_MISO (&pin_PB01)
#define DEFAULT_UART_BUS_RX (&pin_PA23)
#define DEFAULT_UART_BUS_TX (&pin_PA22)
// USB is always used internally so skip the pin objects for it.
#define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1
#define IGNORE_PIN_PA02 1
#define IGNORE_PIN_PA13 1
#define IGNORE_PIN_PA14 1
#define IGNORE_PIN_PA20 1
#define IGNORE_PIN_PA21 1
#define IGNORE_PIN_PA27 1
#define IGNORE_PIN_PB00 1
#define IGNORE_PIN_PB04 1
#define IGNORE_PIN_PB05 1
#define IGNORE_PIN_PB16 1
#define IGNORE_PIN_PB17 1
#define IGNORE_PIN_PB23 1
#define IGNORE_PIN_PB31 1

View File

@ -0,0 +1,16 @@
USB_VID = 0x04D8
USB_PID = 0xEAD2
USB_PRODUCT = "DynOSSAT-EDU-OBC-v1.0"
USB_MANUFACTURER = "BH Dynamics"
CHIP_VARIANT = SAMD51J20A
CHIP_FAMILY = samd51
SPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = "GD25Q32C"
LONGINT_IMPL = MPZ
CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0

View File

@ -0,0 +1,40 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PB09) },
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PB08) },
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PB01) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PB15) },
{ MP_ROM_QSTR(MP_QSTR_D30), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_D31), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PB14) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PB12) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PB13) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PB11) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PB10) },
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PB07) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PB06) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PB30) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D32), MP_ROM_PTR(&pin_PA30) },
{ MP_ROM_QSTR(MP_QSTR_D33), MP_ROM_PTR(&pin_PA31) },
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_PB22) },
{ MP_ROM_QSTR(MP_QSTR_INT_IMU), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_SAT_POWER), MP_ROM_PTR(&pin_PA15) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA08) },
{ 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

@ -11,12 +11,12 @@ LONGINT_IMPL = MPZ
# Not needed.
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_RGBMATRIX = 0
CIRCUITPY_PS2IO = 0
CIRCUITPY_AUDIOMP3 = 0
CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_PS2IO = 0
CIRCUITPY_RGBMATRIX = 0
CIRCUITPY_ULAB = 0
# Override optimization to keep binary small

View File

@ -9,7 +9,7 @@
// These are pins not to reset.
// QSPI Data pins, PA23 is NeoPixel
#define MICROPY_PORT_A (PORT_PA08 | PORT_PA09 | PORT_PA10 | PORT_PA11 | PA23)
#define MICROPY_PORT_A (PORT_PA08 | PORT_PA09 | PORT_PA10 | PORT_PA11 | PORT_PA23)
// QSPI CS, QSPI SCK
#define MICROPY_PORT_B (PORT_PB10 | PORT_PB11)
#define MICROPY_PORT_C (0)

View File

@ -16,8 +16,8 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_BUSY), MP_ROM_PTR(&pin_PA22) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RESET), MP_ROM_PTR(&pin_PA21) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RTS), MP_ROM_PTR(&pin_PA18) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_TX), MP_ROM_PTR(&pin_PA12) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RX), MP_ROM_PTR(&pin_PA13) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_TX), MP_ROM_PTR(&pin_PA13) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RX), MP_ROM_PTR(&pin_PA12) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_SCL),MP_ROM_PTR(&pin_PB30) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_SDA),MP_ROM_PTR(&pin_PB31) },

View File

@ -6,10 +6,6 @@ USB_MANUFACTURER = "Adafruit Industries LLC"
CHIP_VARIANT = SAMD51J19A
CHIP_FAMILY = samd51
# Support _bleio via the on-board ESP32 module.
CIRCUITPY_BLEIO = 1
CIRCUITPY_BLEIO_HCI = 1
QSPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 3
EXTERNAL_FLASH_DEVICES = "S25FL116K, S25FL216K, GD25Q16C"

View File

@ -97,7 +97,8 @@ void board_init(void) {
&pin_PA01, // busy_pin
false, // busy_state
5, // seconds_per_frame
false); // chip_select (don't always toggle chip select)
false, // chip_select (don't always toggle chip select)
false); // grayscale
}
bool board_requests_safe_mode(void) {

View File

@ -35,9 +35,6 @@
#define IGNORE_PIN_PA12 1
#define IGNORE_PIN_PA15 1
#define IGNORE_PIN_PA16 1
#define IGNORE_PIN_PA21 1
#define IGNORE_PIN_PA22 1
#define IGNORE_PIN_PA23 1
#define IGNORE_PIN_PA27 1
#define IGNORE_PIN_PA28 1

View File

@ -16,8 +16,6 @@
#define IGNORE_PIN_PA27 1
#define IGNORE_PIN_PA28 1
#define IGNORE_PIN_PA30 1
#define IGNORE_PIN_PA31 1
#define IGNORE_PIN_PB01 1
#define IGNORE_PIN_PB02 1

View File

@ -1,14 +1,15 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_PA03) },
{ MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_PA03) },
{ MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA10) },
@ -19,8 +20,10 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA19) },
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_PA03) },
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA31) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA30) },
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_PA03) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA22) },

View File

@ -18,7 +18,7 @@ LONGINT_IMPL = MPZ
# Disable modules that are unusable on this special-purpose board.
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_AUDIOIO = 0
CIRCUITPY_BLEIO = 0
CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_FRAMEBUFFERIO = 0
CIRCUITPY_GAMEPAD = 0

View File

@ -44,26 +44,36 @@
#include "hpl/pm/hpl_pm_base.h"
#endif
#define HAVE_ANALOGOUT ( \
(defined(PIN_PA02) && !defined(IGNORE_PA02)) || \
(defined(SAM_D5X_E5X) && defined(PIN_PA05) && !defined(IGNORE_PA05)) \
)
void common_hal_analogio_analogout_construct(analogio_analogout_obj_t* self,
const mcu_pin_obj_t *pin) {
#if defined(SAMD21) && !defined(PIN_PA02)
#if !HAVE_ANALOGOUT
mp_raise_NotImplementedError(translate("No DAC on chip"));
#else
if (pin->number != PIN_PA02
#ifdef SAM_D5X_E5X
&& pin->number != PIN_PA05
int channel = -1;
#if defined(PIN_PA02) && !defined(IGNORE_PIN_PA02)
if (pin->number != PIN_PA02) {
channel = 0;
}
#endif
) {
#if defined(PIN_PA05) && defined(PIN_PA05) && !defined(IGNORE_PIN_PA05)
if (pin->number != PIN_PA05) {
channel = 1;
}
#endif
if(channel == -1) {
mp_raise_ValueError(translate("AnalogOut not supported on given pin"));
return;
}
self->channel = 0;
#ifdef SAM_D5X_E5X
if (pin->number == PIN_PA05) {
self->channel = 1;
}
#endif
self->channel = channel;
#ifdef SAM_D5X_E5X
hri_mclk_set_APBDMASK_DAC_bit(MCLK);
@ -105,11 +115,15 @@ void common_hal_analogio_analogout_construct(analogio_analogout_obj_t* self,
}
bool common_hal_analogio_analogout_deinited(analogio_analogout_obj_t *self) {
#if !HAVE_ANALOGOUT
return false;
#else
return self->deinited;
#endif
}
void common_hal_analogio_analogout_deinit(analogio_analogout_obj_t *self) {
#if (defined(SAMD21) && defined(PIN_PA02)) || defined(SAM_D5X_E5X)
#if HAVE_ANALOGOUT
if (common_hal_analogio_analogout_deinited(self)) {
return;
}
@ -130,12 +144,11 @@ void common_hal_analogio_analogout_deinit(analogio_analogout_obj_t *self) {
void common_hal_analogio_analogout_set_value(analogio_analogout_obj_t *self,
uint16_t value) {
#if defined(SAMD21) && !defined(PIN_PA02)
return;
#endif
#if HAVE_ANALOGOUT
// Input is 16 bit so make sure and set LEFTADJ to 1 so it takes the top
// bits. This is currently done in asf4_conf/*/hpl_dac_config.h.
dac_sync_write(&self->descriptor, self->channel, &value, 1);
#endif
}
void analogout_reset(void) {
@ -143,7 +156,7 @@ void analogout_reset(void) {
// if it was enabled, so do that instead if AudioOut is enabled.
#if CIRCUITPY_AUDIOIO
audioout_reset();
#else
#elif HAVE_ANALOGOUT
#ifdef SAMD21
while (DAC->STATUS.reg & DAC_STATUS_SYNCBUSY) {}
#endif

View File

@ -223,9 +223,11 @@ bool common_hal_mcu_pin_is_free(const mcu_pin_obj_t* pin) {
#ifdef MICROPY_HW_NEOPIXEL
if (pin == MICROPY_HW_NEOPIXEL) {
// Special case for Metro M0 where the NeoPixel is also SWCLK
#ifndef IGNORE_PIN_PA30
if (MICROPY_HW_NEOPIXEL == &pin_PA30 && DSU->STATUSB.bit.DBGPRES == 1) {
return false;
}
#endif
return !neopixel_in_use;
}
#endif

View File

@ -275,120 +275,119 @@ STATIC const mp_rom_map_elem_t mcu_pin_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_PB31), MP_ROM_PTR(&pin_PB31) },
#endif
// These are SAMD51 specific so we assume we want them in RAM
#if defined(PIN_PC00)
#if defined(PIN_PC00) && !defined(IGNORE_PIN_PC00)
{ MP_ROM_QSTR(MP_QSTR_PC00), MP_ROM_PTR(&pin_PC00) },
#endif
#if defined(PIN_PC01)
#if defined(PIN_PC01) && !defined(IGNORE_PIN_PC01)
{ MP_ROM_QSTR(MP_QSTR_PC01), MP_ROM_PTR(&pin_PC01) },
#endif
#if defined(PIN_PC02)
#if defined(PIN_PC02) && !defined(IGNORE_PIN_PC02)
{ MP_ROM_QSTR(MP_QSTR_PC02), MP_ROM_PTR(&pin_PC02) },
#endif
#if defined(PIN_PC03)
#if defined(PIN_PC03) && !defined(IGNORE_PIN_PC03)
{ MP_ROM_QSTR(MP_QSTR_PC03), MP_ROM_PTR(&pin_PC03) },
#endif
#if defined(PIN_PC04)
#if defined(PIN_PC04) && !defined(IGNORE_PIN_PC04)
{ MP_ROM_QSTR(MP_QSTR_PC04), MP_ROM_PTR(&pin_PC04) },
#endif
#if defined(PIN_PC05)
#if defined(PIN_PC05) && !defined(IGNORE_PIN_PC05)
{ MP_ROM_QSTR(MP_QSTR_PC05), MP_ROM_PTR(&pin_PC05) },
#endif
#if defined(PIN_PC06)
#if defined(PIN_PC06) && !defined(IGNORE_PIN_PC06)
{ MP_ROM_QSTR(MP_QSTR_PC06), MP_ROM_PTR(&pin_PC06) },
#endif
#if defined(PIN_PC07)
#if defined(PIN_PC07) && !defined(IGNORE_PIN_PC07)
{ MP_ROM_QSTR(MP_QSTR_PC07), MP_ROM_PTR(&pin_PC07) },
#endif
#if defined(PIN_PC10)
#if defined(PIN_PC10) && !defined(IGNORE_PIN_PC10)
{ MP_ROM_QSTR(MP_QSTR_PC10), MP_ROM_PTR(&pin_PC10) },
#endif
#if defined(PIN_PC11)
#if defined(PIN_PC11) && !defined(IGNORE_PIN_PC11)
{ MP_ROM_QSTR(MP_QSTR_PC11), MP_ROM_PTR(&pin_PC11) },
#endif
#if defined(PIN_PC12)
#if defined(PIN_PC12) && !defined(IGNORE_PIN_PC12)
{ MP_ROM_QSTR(MP_QSTR_PC12), MP_ROM_PTR(&pin_PC12) },
#endif
#if defined(PIN_PC13)
#if defined(PIN_PC13) && !defined(IGNORE_PIN_PC13)
{ MP_ROM_QSTR(MP_QSTR_PC13), MP_ROM_PTR(&pin_PC13) },
#endif
#if defined(PIN_PC14)
#if defined(PIN_PC14) && !defined(IGNORE_PIN_PC14)
{ MP_ROM_QSTR(MP_QSTR_PC14), MP_ROM_PTR(&pin_PC14) },
#endif
#if defined(PIN_PC15)
#if defined(PIN_PC15) && !defined(IGNORE_PIN_PC15)
{ MP_ROM_QSTR(MP_QSTR_PC15), MP_ROM_PTR(&pin_PC15) },
#endif
#if defined(PIN_PC16)
#if defined(PIN_PC16) && !defined(IGNORE_PIN_PC16)
{ MP_ROM_QSTR(MP_QSTR_PC16), MP_ROM_PTR(&pin_PC16) },
#endif
#if defined(PIN_PC17)
#if defined(PIN_PC17) && !defined(IGNORE_PIN_PC17)
{ MP_ROM_QSTR(MP_QSTR_PC17), MP_ROM_PTR(&pin_PC17) },
#endif
#if defined(PIN_PC18)
#if defined(PIN_PC18) && !defined(IGNORE_PIN_PC18)
{ MP_ROM_QSTR(MP_QSTR_PC18), MP_ROM_PTR(&pin_PC18) },
#endif
#if defined(PIN_PC19)
#if defined(PIN_PC19) && !defined(IGNORE_PIN_PC19)
{ MP_ROM_QSTR(MP_QSTR_PC19), MP_ROM_PTR(&pin_PC19) },
#endif
#if defined(PIN_PC20)
#if defined(PIN_PC20) && !defined(IGNORE_PIN_PC20)
{ MP_ROM_QSTR(MP_QSTR_PC20), MP_ROM_PTR(&pin_PC20) },
#endif
#if defined(PIN_PC21)
#if defined(PIN_PC21) && !defined(IGNORE_PIN_PC21)
{ MP_ROM_QSTR(MP_QSTR_PC21), MP_ROM_PTR(&pin_PC21) },
#endif
#if defined(PIN_PC22)
#if defined(PIN_PC22) && !defined(IGNORE_PIN_PC22)
{ MP_ROM_QSTR(MP_QSTR_PC22), MP_ROM_PTR(&pin_PC22) },
#endif
#if defined(PIN_PC23)
#if defined(PIN_PC23) && !defined(IGNORE_PIN_PC23)
{ MP_ROM_QSTR(MP_QSTR_PC23), MP_ROM_PTR(&pin_PC23) },
#endif
#if defined(PIN_PC24)
#if defined(PIN_PC24) && !defined(IGNORE_PIN_PC24)
{ MP_ROM_QSTR(MP_QSTR_PC24), MP_ROM_PTR(&pin_PC24) },
#endif
#if defined(PIN_PC25)
#if defined(PIN_PC25) && !defined(IGNORE_PIN_PC25)
{ MP_ROM_QSTR(MP_QSTR_PC25), MP_ROM_PTR(&pin_PC25) },
#endif
#if defined(PIN_PC26)
#if defined(PIN_PC26) && !defined(IGNORE_PIN_PC26)
{ MP_ROM_QSTR(MP_QSTR_PC26), MP_ROM_PTR(&pin_PC26) },
#endif
#if defined(PIN_PC27)
#if defined(PIN_PC27) && !defined(IGNORE_PIN_PC27)
{ MP_ROM_QSTR(MP_QSTR_PC27), MP_ROM_PTR(&pin_PC27) },
#endif
#if defined(PIN_PC28)
#if defined(PIN_PC28) && !defined(IGNORE_PIN_PC28)
{ MP_ROM_QSTR(MP_QSTR_PC28), MP_ROM_PTR(&pin_PC28) },
#endif
#if defined(PIN_PC30)
#if defined(PIN_PC30) && !defined(IGNORE_PIN_PC30)
{ MP_ROM_QSTR(MP_QSTR_PC30), MP_ROM_PTR(&pin_PC30) },
#endif
#if defined(PIN_PC31)
#if defined(PIN_PC31) && !defined(IGNORE_PIN_PC31)
{ MP_ROM_QSTR(MP_QSTR_PC31), MP_ROM_PTR(&pin_PC31) },
#endif
#if defined(PIN_PD00)
#if defined(PIN_PD00) && !defined(IGNORE_PIN_PD00)
{ MP_ROM_QSTR(MP_QSTR_PD00), MP_ROM_PTR(&pin_PD00) },
#endif
#if defined(PIN_PD01)
#if defined(PIN_PD01) && !defined(IGNORE_PIN_PD01)
{ MP_ROM_QSTR(MP_QSTR_PD01), MP_ROM_PTR(&pin_PD01) },
#endif
#if defined(PIN_PD08)
#if defined(PIN_PD08) && !defined(IGNORE_PIN_PD08)
{ MP_ROM_QSTR(MP_QSTR_PD08), MP_ROM_PTR(&pin_PD08) },
#endif
#if defined(PIN_PD09)
#if defined(PIN_PD09) && !defined(IGNORE_PIN_PD09)
{ MP_ROM_QSTR(MP_QSTR_PD09), MP_ROM_PTR(&pin_PD09) },
#endif
#if defined(PIN_PD10)
#if defined(PIN_PD10) && !defined(IGNORE_PIN_PD10)
{ MP_ROM_QSTR(MP_QSTR_PD10), MP_ROM_PTR(&pin_PD10) },
#endif
#if defined(PIN_PD11)
#if defined(PIN_PD11) && !defined(IGNORE_PIN_PD11)
{ MP_ROM_QSTR(MP_QSTR_PD11), MP_ROM_PTR(&pin_PD11) },
#endif
#if defined(PIN_PD12)
#if defined(PIN_PD12) && !defined(IGNORE_PIN_PD12)
{ MP_ROM_QSTR(MP_QSTR_PD12), MP_ROM_PTR(&pin_PD12) },
#endif
#if defined(PIN_PD20)
#if defined(PIN_PD20) && !defined(IGNORE_PIN_PD20)
{ MP_ROM_QSTR(MP_QSTR_PD20), MP_ROM_PTR(&pin_PD20) },
#endif
#if defined(PIN_PD21)
#if defined(PIN_PD21) && !defined(IGNORE_PIN_PD21)
{ MP_ROM_QSTR(MP_QSTR_PD21), MP_ROM_PTR(&pin_PD21) },
#endif
};

View File

@ -37,6 +37,9 @@ ifndef CIRCUITPY_TOUCHIO_USE_NATIVE
CIRCUITPY_TOUCHIO_USE_NATIVE = 1
endif
# No room for HCI _bleio on SAMD21.
CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_SDCARDIO ?= 0
# Not enough RAM for framebuffers

View File

@ -162,7 +162,7 @@ SRC_SHARED_MODULE_EXPANDED = $(addprefix shared-bindings/, $(SRC_SHARED_MODULE))
SRC_S = supervisor/cpu.s
SRC_C = \
SRC_C += \
background.c \
fatfs_port.c \
mphalport.c \

View File

@ -30,18 +30,20 @@ Connect these pins using a [USB adapter](https://www.adafruit.com/product/4090)
## Building and flashing ##
Before building or flashing the ESP32-S2, you must [install the esp-idf](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html). This must be re-done ever time the esp-idf is updated, but not every time you build. Run `cd ports/esp32s2` from `circuitpython/` to move to the esp32s2 port root, and run:
Before building or flashing the ESP32-S2, you must [install the esp-idf](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/get-started/index.html). This must be re-done ever time the esp-idf is updated, but not every time you build. Run `cd ports/esp32s2` from `circuitpython/` to move to the esp32s2 port root, and run:
```
./esp-idf/install.sh
```
Additionally, any time you open a new bash environment for building or flashing, you must add the esp-idf tools to your path:
After this initial installation, you must add the esp-idf tools to your path. You must also do this **any time you open a new bash environment for building or flashing**:
```
. esp-idf/export.sh
```
When Circuitpython updates the ESP-IDF to a new release, you may need to run this installation process again. The exact commands used may also vary based on your bash environment.
Building boards such as the Saola is typically done through `make flash`. The default port is `tty.SLAB_USBtoUART`, which will only work on certain Mac setups. On most machines, both Mac and Linux, you will need to set the port yourself by running `ls /dev/tty.usb*` and selecting the one that only appears when your development board is plugged in. An example make command with the port setting is as follows:
```

View File

@ -0,0 +1,47 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 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"
#include "mpconfigboard.h"
#include "shared-bindings/microcontroller/Pin.h"
void board_init(void) {
// USB
common_hal_never_reset_pin(&pin_GPIO19);
common_hal_never_reset_pin(&pin_GPIO20);
// Debug UART
common_hal_never_reset_pin(&pin_GPIO43);
common_hal_never_reset_pin(&pin_GPIO44);
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -0,0 +1,45 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
//Micropython setup
#define MICROPY_HW_BOARD_NAME "EInk Portal"
#define MICROPY_HW_MCU_NAME "ESP32S2"
#define MICROPY_HW_NEOPIXEL (&pin_GPIO1)
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO34)
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO33)
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO36)
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO35)
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO37)

View File

@ -0,0 +1,17 @@
USB_VID = 0x239A
USB_PID = 0x80E6
USB_PRODUCT = "EInk Portal"
USB_MANUFACTURER = "Adafruit"
INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = MPZ
# The default queue depth of 16 overflows on release builds,
# so increase it to 32.
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_MODULE=wrover

View File

@ -0,0 +1,41 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO10) },
{ MP_ROM_QSTR(MP_QSTR_AD1), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_GPIO13) },
{ MP_ROM_QSTR(MP_QSTR_SPEAKER), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_SPEAKER_ENABLE), MP_ROM_PTR(&pin_GPIO16) },
{ MP_ROM_QSTR(MP_QSTR_EPD_BUSY), MP_ROM_PTR(&pin_GPIO5) },
{ MP_ROM_QSTR(MP_QSTR_EPD_RESET), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_EPD_DC), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_EPD_CS), MP_ROM_PTR(&pin_GPIO8) },
{ MP_ROM_QSTR(MP_QSTR_BUTTON_A), MP_ROM_PTR(&pin_GPIO15) },
{ MP_ROM_QSTR(MP_QSTR_BUTTON_B), MP_ROM_PTR(&pin_GPIO14) },
{ MP_ROM_QSTR(MP_QSTR_BUTTON_C), MP_ROM_PTR(&pin_GPIO12) },
{ MP_ROM_QSTR(MP_QSTR_BUTTON_D), MP_ROM_PTR(&pin_GPIO11) },
{ MP_ROM_QSTR(MP_QSTR_LIGHT), MP_ROM_PTR(&pin_GPIO3) },
{ MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO33) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO34) },
{ MP_ROM_QSTR(MP_QSTR_CS), MP_ROM_PTR(&pin_GPIO8) },
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO36) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL_POWER), MP_ROM_PTR(&pin_GPIO21) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO1) },
{ 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_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -0,0 +1,33 @@
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
#
# SPI RAM config
#
# CONFIG_SPIRAM_TYPE_AUTO is not set
CONFIG_SPIRAM_TYPE_ESPPSRAM16=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=2097152
#
# PSRAM clock and cs IO for ESP32S2
#
CONFIG_DEFAULT_PSRAM_CLK_IO=30
CONFIG_DEFAULT_PSRAM_CS_IO=26
# end of PSRAM clock and cs IO for ESP32S2
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
# CONFIG_SPIRAM_SPEED_80M is not set
CONFIG_SPIRAM_SPEED_40M=y
# CONFIG_SPIRAM_SPEED_26M is not set
# CONFIG_SPIRAM_SPEED_20M is not set
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
# CONFIG_SPIRAM_USE_MALLOC is not set
CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config

View File

@ -31,3 +31,9 @@ CONFIG_SPIRAM_USE_MEMMAP=y
CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config
#
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="Metro-ESP32S2"
# end of LWIP

View File

@ -11,7 +11,7 @@ LONGINT_IMPL = MPZ
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_FREQ=80m
CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_MODULE=wrover

View File

@ -32,3 +32,8 @@ CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config
#
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="microS2"
# end of LWIP

View File

@ -0,0 +1,51 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 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"
#include "mpconfigboard.h"
#include "shared-bindings/microcontroller/Pin.h"
void board_init(void) {
// USB
common_hal_never_reset_pin(&pin_GPIO19);
common_hal_never_reset_pin(&pin_GPIO20);
// Debug UART
common_hal_never_reset_pin(&pin_GPIO43);
common_hal_never_reset_pin(&pin_GPIO44);
// Crystal
common_hal_never_reset_pin(&pin_GPIO15);
common_hal_never_reset_pin(&pin_GPIO16);
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -0,0 +1,40 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
//Micropython setup
//Essentially the same as the Saola board but without the neopixel
#define MICROPY_HW_BOARD_NAME "Targett Module Clip w/Wroom"
#define MICROPY_HW_MCU_NAME "ESP32S2"
//#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500

View File

@ -0,0 +1,17 @@
USB_VID = 0x1209
USB_PID = 0x3252
USB_PRODUCT = "Targett Module Clip w/Wroom"
USB_MANUFACTURER = "Targett"
INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = MPZ
# The default queue depth of 16 overflows on release builds,
# so increase it to 32.
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_MODULE=wroom

View File

@ -0,0 +1,48 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
//{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
};
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -0,0 +1,51 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 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"
#include "mpconfigboard.h"
#include "shared-bindings/microcontroller/Pin.h"
void board_init(void) {
// USB
common_hal_never_reset_pin(&pin_GPIO19);
common_hal_never_reset_pin(&pin_GPIO20);
// Debug UART
common_hal_never_reset_pin(&pin_GPIO43);
common_hal_never_reset_pin(&pin_GPIO44);
//Crystal
common_hal_never_reset_pin(&pin_GPIO15);
common_hal_never_reset_pin(&pin_GPIO16);
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -0,0 +1,40 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
//Micropython setup
//Same setup as the Saola board but with no Neopixel on board
#define MICROPY_HW_BOARD_NAME "Targett Module Clip w/Wrover"
#define MICROPY_HW_MCU_NAME "ESP32S2"
//#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
#define AUTORESET_DELAY_MS 500

View File

@ -0,0 +1,17 @@
USB_VID = 0x1209
USB_PID = 0x3253
USB_PRODUCT = "Targett Module Clip w/Wrover"
USB_MANUFACTURER = "Targett"
INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = MPZ
# The default queue depth of 16 overflows on release builds,
# so increase it to 32.
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
CIRCUITPY_ESP_FLASH_MODE=dio
CIRCUITPY_ESP_FLASH_FREQ=40m
CIRCUITPY_ESP_FLASH_SIZE=4MB
CIRCUITPY_MODULE=wrover

View File

@ -0,0 +1,48 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_IO44), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
//{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
};
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -0,0 +1,33 @@
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
#
# SPI RAM config
#
# CONFIG_SPIRAM_TYPE_AUTO is not set
CONFIG_SPIRAM_TYPE_ESPPSRAM16=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=2097152
#
# PSRAM clock and cs IO for ESP32S2
#
CONFIG_DEFAULT_PSRAM_CLK_IO=30
CONFIG_DEFAULT_PSRAM_CS_IO=26
# end of PSRAM clock and cs IO for ESP32S2
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
# CONFIG_SPIRAM_SPEED_80M is not set
CONFIG_SPIRAM_SPEED_40M=y
# CONFIG_SPIRAM_SPEED_26M is not set
# CONFIG_SPIRAM_SPEED_20M is not set
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
# CONFIG_SPIRAM_USE_MALLOC is not set
CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config

View File

@ -32,3 +32,8 @@ CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config
#
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="UMFeatherS2"
# end of LWIP

View File

@ -46,11 +46,11 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO38) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO38) },
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
{ MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO38) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO33) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO33) },
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
{ MP_ROM_QSTR(MP_QSTR_D20), MP_ROM_PTR(&pin_GPIO33) },

View File

@ -33,3 +33,9 @@ CONFIG_SPIRAM_USE_MEMMAP=y
CONFIG_SPIRAM_MEMTEST=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
# end of SPI RAM config
#
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="UMFeatherS2"
# end of LWIP

View File

@ -357,6 +357,9 @@ bool common_hal_busio_spi_transfer(busio_spi_obj_t *self, const uint8_t *data_ou
} else {
hal->dma_enabled = 0;
burst_length = sizeof(hal->hw->data_buf);
// When switching to non-DMA, we need to make sure DMA is off. Otherwise,
// the S2 will transmit zeroes instead of our data.
spi_ll_txdma_disable(hal->hw);
}
// This rounds up.

View File

@ -0,0 +1,295 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Jeff Epler for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <string.h>
#include "py/runtime.h"
#include "py/mperrno.h"
#include "common-hal/canio/CAN.h"
#include "shared-bindings/microcontroller/Pin.h"
#include "shared-bindings/util.h"
#include "supervisor/port.h"
#include "hal/twai_types.h"
STATIC bool reserved_can;
twai_timing_config_t get_t_config(int baudrate) {
switch(baudrate) {
case 1000000:
{
// TWAI_TIMING_CONFIG_abc expands to a C designated initializer list
// { .brp = 4, ...}. This is only acceptable to the compiler as an
// initializer and 'return TWAI_TIMING_CONFIG_1MBITS()` is not valid.
// Instead, introduce a temporary, named variable and return it.
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_1MBITS();
return t_config;
}
case 800000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_800KBITS();
return t_config;
}
case 500000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_500KBITS();
return t_config;
}
case 250000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_250KBITS();
return t_config;
}
case 125000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_125KBITS();
return t_config;
}
case 100000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_100KBITS();
return t_config;
}
case 50000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_50KBITS();
return t_config;
}
case 25000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_25KBITS();
return t_config;
}
case 20000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_20KBITS();
return t_config;
}
case 16000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_16KBITS();
return t_config;
}
case 12500:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_12_5KBITS();
return t_config;
}
case 10000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_10KBITS();
return t_config;
}
case 5000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_5KBITS();
return t_config;
}
case 1000:
{
twai_timing_config_t t_config = TWAI_TIMING_CONFIG_1KBITS();
return t_config;
}
default:
mp_raise_ValueError(translate("Baudrate not supported by peripheral"));
}
}
void common_hal_canio_can_construct(canio_can_obj_t *self, mcu_pin_obj_t *tx, mcu_pin_obj_t *rx, int baudrate, bool loopback, bool silent)
{
#define DIV_ROUND(a, b) (((a) + (b)/2) / (b))
#define DIV_ROUND_UP(a, b) (((a) + (b) - 1) / (b))
if (reserved_can) {
mp_raise_ValueError(translate("All CAN peripherals are in use"));
}
if (loopback && silent) {
mp_raise_ValueError(translate("loopback + silent mode not supported by peripheral"));
}
twai_timing_config_t t_config = get_t_config(baudrate);
twai_general_config_t g_config = TWAI_GENERAL_CONFIG_DEFAULT(-1, -1, TWAI_MODE_NORMAL);
g_config.tx_io = tx->number;
g_config.rx_io = rx->number;
if (loopback) {
g_config.mode = TWAI_MODE_NO_ACK;
}
if (silent) {
g_config.mode = TWAI_MODE_LISTEN_ONLY;
}
twai_filter_config_t f_config = TWAI_FILTER_CONFIG_ACCEPT_ALL();
esp_err_t result = twai_driver_install(&g_config, &t_config, &f_config);
if (result == ESP_ERR_NO_MEM) {
mp_raise_msg(&mp_type_MemoryError, translate("ESP-IDF memory allocation failed"));
} else if (result == ESP_ERR_INVALID_ARG) {
mp_raise_ValueError(translate("Invalid pins"));
} else if (result != ESP_OK) {
mp_raise_OSError_msg_varg(translate("twai_driver_install returned esp-idf error #%d"), (int)result);
}
result = twai_start();
if (result != ESP_OK) {
mp_raise_OSError_msg_varg(translate("twai_start returned esp-idf error #%d"), (int)result);
}
self->silent = silent;
self->loopback = loopback;
self->baudrate = baudrate;
self->tx_pin = tx;
self->rx_pin = rx;
claim_pin(tx);
claim_pin(rx);
reserved_can = true;
}
bool common_hal_canio_can_loopback_get(canio_can_obj_t *self)
{
return self->loopback;
}
int common_hal_canio_can_baudrate_get(canio_can_obj_t *self)
{
return self->baudrate;
}
int common_hal_canio_can_transmit_error_count_get(canio_can_obj_t *self)
{
twai_status_info_t info;
twai_get_status_info(&info);
return info.tx_error_counter;
}
int common_hal_canio_can_receive_error_count_get(canio_can_obj_t *self)
{
twai_status_info_t info;
twai_get_status_info(&info);
return info.rx_error_counter;
}
canio_bus_state_t common_hal_canio_can_state_get(canio_can_obj_t *self) {
twai_status_info_t info;
twai_get_status_info(&info);
if (info.state == TWAI_STATE_BUS_OFF || info.state == TWAI_STATE_RECOVERING) {
return BUS_STATE_OFF;
}
if (info.tx_error_counter > 127 || info.rx_error_counter > 127) {
return BUS_STATE_ERROR_PASSIVE;
}
if (info.tx_error_counter > 96 || info.rx_error_counter > 96) {
return BUS_STATE_ERROR_WARNING;
}
return BUS_STATE_ERROR_ACTIVE;
}
static void can_restart(void) {
twai_status_info_t info;
twai_get_status_info(&info);
if (info.state != TWAI_STATE_BUS_OFF) {
return;
}
twai_initiate_recovery();
// wait 100ms (hard coded for now) for bus to recover
uint64_t deadline = port_get_raw_ticks(NULL) + 100;
do {
twai_get_status_info(&info);
} while (port_get_raw_ticks(NULL) < deadline && (info.state == TWAI_STATE_BUS_OFF || info.state == TWAI_STATE_RECOVERING));
}
void canio_maybe_auto_restart(canio_can_obj_t *self) {
if (self->auto_restart) can_restart();
}
void common_hal_canio_can_restart(canio_can_obj_t *self) {
if (!common_hal_canio_can_auto_restart_get(self)) {
can_restart();
}
}
bool common_hal_canio_can_auto_restart_get(canio_can_obj_t *self) {
return self->auto_restart;
}
void common_hal_canio_can_auto_restart_set(canio_can_obj_t *self, bool value) {
self->auto_restart = value;
canio_maybe_auto_restart(self);
}
void common_hal_canio_can_send(canio_can_obj_t *self, mp_obj_t message_in)
{
canio_maybe_auto_restart(self);
canio_message_obj_t *message = message_in;
bool rtr = message->base.type == &canio_remote_transmission_request_type;
twai_message_t message_out = {
.extd = message->extended,
.rtr = rtr,
.self = self->loopback,
.identifier = message->id,
.data_length_code = message->size,
};
if (!rtr) {
memcpy(message_out.data, message->data, message->size);
}
// Allow transmission to occur in background
twai_transmit(&message_out, 0);
}
bool common_hal_canio_can_silent_get(canio_can_obj_t *self) {
return self->silent;
}
bool common_hal_canio_can_deinited(canio_can_obj_t *self) {
return !self->tx_pin;
}
void common_hal_canio_can_check_for_deinit(canio_can_obj_t *self) {
if (common_hal_canio_can_deinited(self)) {
raise_deinited_error();
}
}
void common_hal_canio_can_deinit(canio_can_obj_t *self)
{
if (self->tx_pin) {
(void)twai_stop();
(void)twai_driver_uninstall();
reset_pin_number(self->tx_pin->number);
reset_pin_number(self->rx_pin->number);
reserved_can = false;
}
self->tx_pin = NULL;
self->rx_pin = NULL;
}
void common_hal_canio_reset(void) {
(void)twai_stop();
(void)twai_driver_uninstall();
reserved_can = false;
}

View File

@ -0,0 +1,49 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Jeff Epler for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#pragma once
#include "py/obj.h"
#include "shared-bindings/canio/__init__.h"
#include "shared-bindings/canio/CAN.h"
#include "common-hal/microcontroller/Pin.h"
#include "common-hal/canio/__init__.h"
#include "shared-module/canio/Message.h"
#include "driver/twai.h"
#define FILTER_BANK_COUNT (28)
typedef struct canio_can_obj {
mp_obj_base_t base;
int baudrate;
const mcu_pin_obj_t *rx_pin;
const mcu_pin_obj_t *tx_pin;
bool loopback:1;
bool silent:1;
bool auto_restart:1;
bool fifo_in_use:1;
} canio_can_obj_t;

View File

@ -0,0 +1,182 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Jeff Epler for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <math.h>
#include <string.h>
#include "py/obj.h"
#include "py/runtime.h"
#include "common-hal/canio/__init__.h"
#include "common-hal/canio/Listener.h"
#include "shared-bindings/canio/Listener.h"
#include "shared-bindings/util.h"
#include "supervisor/shared/tick.h"
#include "supervisor/shared/safe_mode.h"
#include "hal/twai_ll.h"
// IDE = "extended ID" flag of packet header. We always add this bit to the
// mask because a match is always for just one kind of address length
#define FILTER16_IDE (1<<3)
#define FILTER32_IDE (1<<2)
// Work around a problem reported at
// https://github.com/espressif/esp-idf/issues/6020 where
// twai_ll_set_acc_filter does not work under -Os optimization
__attribute__((optimize("O0")))
__attribute__((noinline))
static void canio_set_acc_filter(twai_dev_t* hw, uint32_t code, uint32_t mask, bool single_filter)
{
uint32_t code_swapped = __builtin_bswap32(code);
uint32_t mask_swapped = __builtin_bswap32(mask);
for (int i = 0; i < 4; i++) {
hw->acceptance_filter.acr[i].val = ((code_swapped >> (i * 8)) & 0xFF);
hw->acceptance_filter.amr[i].val = ((mask_swapped >> (i * 8)) & 0xFF);
}
hw->mode_reg.afm = single_filter;
}
STATIC void install_standard_filter(canio_listener_obj_t *self, canio_match_obj_t *match) {
canio_set_acc_filter(&TWAI, match->id << 21, ~(match->mask << 21), true);
self->extended = false;
self->standard = true;
}
STATIC void install_extended_filter(canio_listener_obj_t *self, canio_match_obj_t *match) {
canio_set_acc_filter(&TWAI, match->id << 3, ~(match->mask << 3), true);
self->extended = true;
self->standard = false;
}
STATIC void install_all_match_filter(canio_listener_obj_t *self) {
canio_set_acc_filter(&TWAI, 0u, ~0u, true);
self->extended = true;
self->standard = true;
}
__attribute__((noinline,optimize("O0")))
void set_filters(canio_listener_obj_t *self, size_t nmatch, canio_match_obj_t **matches) {
twai_ll_enter_reset_mode(&TWAI);
if (!nmatch) {
install_all_match_filter(self);
} else {
canio_match_obj_t *match = matches[0];
if (match->extended) {
install_extended_filter(self, match);
} else {
install_standard_filter(self, match);
}
}
twai_ll_exit_reset_mode(&TWAI);
}
void common_hal_canio_listener_construct(canio_listener_obj_t *self, canio_can_obj_t *can, size_t nmatch, canio_match_obj_t **matches, float timeout) {
if (can->fifo_in_use) {
mp_raise_ValueError(translate("All RX FIFOs in use"));
}
if (nmatch > 1) {
mp_raise_ValueError(translate("Filters too complex"));
}
// Nothing can fail now so it's safe to assign self->can
can->fifo_in_use = 1;
self->can = can;
self->pending = false;
set_filters(self, nmatch, matches);
self->extended = self->standard = true;
common_hal_canio_listener_set_timeout(self, timeout);
}
void common_hal_canio_listener_set_timeout(canio_listener_obj_t *self, float timeout) {
self->timeout_ms = (int)MICROPY_FLOAT_C_FUN(ceil)(timeout * 1000);
}
float common_hal_canio_listener_get_timeout(canio_listener_obj_t *self) {
return self->timeout_ms / 1000.0f;
}
void common_hal_canio_listener_check_for_deinit(canio_listener_obj_t *self) {
if (!self->can) {
raise_deinited_error();
}
common_hal_canio_can_check_for_deinit(self->can);
}
// The API has no peek method so we must receive a packet into a holding area
// and then we can say that we have 1 message pending
int common_hal_canio_listener_in_waiting(canio_listener_obj_t *self) {
while (!self->pending && twai_receive(&self->message_in, 0) == ESP_OK) {
if (self->message_in.extd && self->extended) {
self->pending = true;
}
if (!self->message_in.extd && self->standard) {
self->pending = true;
}
}
return self->pending;
}
mp_obj_t common_hal_canio_listener_receive(canio_listener_obj_t *self) {
if (!common_hal_canio_listener_in_waiting(self)) {
uint64_t deadline = supervisor_ticks_ms64() + self->timeout_ms;
do {
if (supervisor_ticks_ms64() > deadline) {
return NULL;
}
} while (!common_hal_canio_listener_in_waiting(self));
}
bool rtr = self->message_in.rtr;
int dlc = self->message_in.data_length_code;
canio_message_obj_t *message = m_new_obj(canio_message_obj_t);
message->base.type = rtr ? &canio_remote_transmission_request_type : &canio_message_type;
message->extended = self->message_in.extd;
message->id = self->message_in.identifier;
message->size = dlc;
if (!rtr) {
MP_STATIC_ASSERT(sizeof(self->message_in.data) == sizeof(message->data));
memcpy(message->data, self->message_in.data, sizeof(message->data));
}
self->pending = false;
return message;
}
void common_hal_canio_listener_deinit(canio_listener_obj_t *self) {
if (self->can) {
self->can->fifo_in_use = false;
}
self->can = NULL;
}

View File

@ -0,0 +1,40 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2020 Jeff Epler for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#pragma once
#include "common-hal/canio/CAN.h"
#include "shared-module/canio/Match.h"
typedef struct canio_listener_obj {
mp_obj_base_t base;
canio_can_obj_t *can;
bool extended:1;
bool standard:1;
bool pending:1;
twai_message_t message_in;
uint32_t timeout_ms;
} canio_listener_obj_t;

View File

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

View File

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

View File

@ -125,4 +125,6 @@ void common_hal_neopixel_write (const digitalio_digitalinout_obj_t* digitalinout
// Free channel again
esp32s2_peripherals_free_rmt(config.channel);
// Swap pin back to GPIO mode
gpio_set_direction(digitalinout->pin->number, GPIO_MODE_OUTPUT);
}

View File

@ -0,0 +1,96 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2016 Scott Shawcroft for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "shared-bindings/touchio/TouchIn.h"
#include "py/runtime.h"
#include "driver/touch_pad.h"
static uint16_t get_raw_reading(touchio_touchin_obj_t *self) {
uint32_t touch_value;
touch_pad_read_raw_data((touch_pad_t)self->pin->touch_channel, &touch_value);
if (touch_value > UINT16_MAX) {
return UINT16_MAX;
}
return touch_value;
}
void common_hal_touchio_touchin_construct(touchio_touchin_obj_t* self,
const mcu_pin_obj_t *pin) {
if (pin->touch_channel == TOUCH_PAD_MAX) {
mp_raise_ValueError(translate("Invalid pin"));
}
claim_pin(pin);
touch_pad_init();
touch_pad_config((touch_pad_t)pin->touch_channel);
touch_pad_set_fsm_mode(TOUCH_FSM_MODE_TIMER);
touch_pad_fsm_start();
// wait for "raw data" to reset
mp_hal_delay_ms(10);
// Initial values for pins will vary, depending on what peripherals the pins
// share on-chip.
// Set a "touched" threshold not too far above the initial value.
// For simple finger touch, the values may vary as much as a factor of two,
// but for touches using fruit or other objects, the difference is much less.
self->pin = pin;
self->threshold = get_raw_reading(self) + 100;
}
bool common_hal_touchio_touchin_deinited(touchio_touchin_obj_t* self) {
return self->pin == NULL;
}
void common_hal_touchio_touchin_deinit(touchio_touchin_obj_t* self) {
if (common_hal_touchio_touchin_deinited(self)) {
return;
}
touch_pad_deinit();
reset_pin_number(self->pin->touch_channel);
self->pin = NULL;
}
bool common_hal_touchio_touchin_get_value(touchio_touchin_obj_t *self) {
uint16_t reading = get_raw_reading(self);
return reading > self->threshold;
}
uint16_t common_hal_touchio_touchin_get_raw_value(touchio_touchin_obj_t *self) {
return get_raw_reading(self);
}
uint16_t common_hal_touchio_touchin_get_threshold(touchio_touchin_obj_t *self) {
return self->threshold;
}
void common_hal_touchio_touchin_set_threshold(touchio_touchin_obj_t *self, uint16_t new_threshold) {
self->threshold = new_threshold;
}

View File

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

View File

@ -0,0 +1 @@
// No touchio module functions.

View File

@ -25,6 +25,7 @@
*/
#include "shared-bindings/wifi/Radio.h"
#include "shared-bindings/wifi/Network.h"
#include <string.h>
@ -38,6 +39,8 @@
#include "components/esp_wifi/include/esp_wifi.h"
#include "components/lwip/include/apps/ping/ping_sock.h"
#define MAC_ADDRESS_LENGTH 6
static void start_station(wifi_radio_obj_t *self) {
if (self->sta_mode) {
return;
@ -50,6 +53,8 @@ static void start_station(wifi_radio_obj_t *self) {
}
esp_wifi_set_mode(next_mode);
self->sta_mode = 1;
esp_wifi_set_config(WIFI_MODE_STA, &self->sta_config);
}
@ -73,8 +78,6 @@ void common_hal_wifi_radio_set_enabled(wifi_radio_obj_t *self, bool enabled) {
}
}
#define MAC_ADDRESS_LENGTH 6
mp_obj_t common_hal_wifi_radio_get_mac_address(wifi_radio_obj_t *self) {
uint8_t mac[MAC_ADDRESS_LENGTH];
esp_wifi_get_mac(ESP_IF_WIFI_STA, mac);
@ -104,6 +107,19 @@ void common_hal_wifi_radio_stop_scanning_networks(wifi_radio_obj_t *self) {
self->current_scan = NULL;
}
mp_obj_t common_hal_wifi_radio_get_hostname(wifi_radio_obj_t *self) {
const char *hostname = NULL;
esp_netif_get_hostname(self->netif, &hostname);
if (hostname == NULL) {
return mp_const_none;
}
return mp_obj_new_str(hostname, strlen(hostname));
}
void common_hal_wifi_radio_set_hostname(wifi_radio_obj_t *self, const char *hostname) {
esp_netif_set_hostname(self->netif, hostname);
}
wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t* ssid, size_t ssid_len, uint8_t* password, size_t password_len, uint8_t channel, mp_float_t timeout, uint8_t* bssid, size_t bssid_len) {
// check enabled
start_station(self);
@ -149,13 +165,66 @@ wifi_radio_error_t common_hal_wifi_radio_connect(wifi_radio_obj_t *self, uint8_t
return WIFI_RADIO_ERROR_NONE;
}
mp_obj_t common_hal_wifi_radio_get_ap_info(wifi_radio_obj_t *self) {
if (!esp_netif_is_netif_up(self->netif)) {
return mp_const_none;
}
// Make sure the interface is in STA mode
if (!self->sta_mode){
return mp_const_none;
}
wifi_network_obj_t *ap_info = m_new_obj(wifi_network_obj_t);
ap_info->base.type = &wifi_network_type;
// From esp_wifi.h, the possible return values (typos theirs):
// ESP_OK: succeed
// ESP_ERR_WIFI_CONN: The station interface don't initialized
// ESP_ERR_WIFI_NOT_CONNECT: The station is in disconnect status
if (esp_wifi_sta_get_ap_info(&self->ap_info.record) != ESP_OK){
return mp_const_none;
} else {
memcpy(&ap_info->record, &self->ap_info.record, sizeof(wifi_ap_record_t));
return MP_OBJ_FROM_PTR(ap_info);
}
}
mp_obj_t common_hal_wifi_radio_get_ipv4_gateway(wifi_radio_obj_t *self) {
if (!esp_netif_is_netif_up(self->netif)) {
return mp_const_none;
}
esp_netif_get_ip_info(self->netif, &self->ip_info);
return common_hal_ipaddress_new_ipv4address(self->ip_info.gw.addr);
}
mp_obj_t common_hal_wifi_radio_get_ipv4_subnet(wifi_radio_obj_t *self) {
if (!esp_netif_is_netif_up(self->netif)) {
return mp_const_none;
}
esp_netif_get_ip_info(self->netif, &self->ip_info);
return common_hal_ipaddress_new_ipv4address(self->ip_info.netmask.addr);
}
mp_obj_t common_hal_wifi_radio_get_ipv4_address(wifi_radio_obj_t *self) {
if (!esp_netif_is_netif_up(self->netif)) {
return mp_const_none;
}
esp_netif_ip_info_t ip_info;
esp_netif_get_ip_info(self->netif, &ip_info);
return common_hal_ipaddress_new_ipv4address(ip_info.ip.addr);
esp_netif_get_ip_info(self->netif, &self->ip_info);
return common_hal_ipaddress_new_ipv4address(self->ip_info.ip.addr);
}
mp_obj_t common_hal_wifi_radio_get_ipv4_dns(wifi_radio_obj_t *self) {
if (!esp_netif_is_netif_up(self->netif)) {
return mp_const_none;
}
esp_netif_get_dns_info(self->netif, ESP_NETIF_DNS_MAIN, &self->dns_info);
// dns_info is of type esp_netif_dns_info_t, which is just ever so slightly
// different than esp_netif_ip_info_t used for
// common_hal_wifi_radio_get_ipv4_address (includes both ipv4 and 6),
// so some extra jumping is required to get to the actual address
return common_hal_ipaddress_new_ipv4address(self->dns_info.ip.u_addr.ip4.addr);
}
mp_int_t common_hal_wifi_radio_ping(wifi_radio_obj_t *self, mp_obj_t ip_address, mp_float_t timeout) {

View File

@ -32,6 +32,7 @@
#include "components/esp_event/include/esp_event.h"
#include "shared-bindings/wifi/ScannedNetworks.h"
#include "shared-bindings/wifi/Network.h"
// Event bits for the Radio event group.
#define WIFI_SCAN_DONE_BIT BIT0
@ -46,6 +47,9 @@ typedef struct {
StaticEventGroup_t event_group;
EventGroupHandle_t event_group_handle;
wifi_config_t sta_config;
wifi_network_obj_t ap_info;
esp_netif_ip_info_t ip_info;
esp_netif_dns_info_t dns_info;
esp_netif_t *netif;
bool started;
bool ap_mode;

View File

@ -100,6 +100,13 @@ void common_hal_wifi_init(void) {
wifi_radio_obj_t* self = &common_hal_wifi_radio_obj;
self->netif = esp_netif_create_default_wifi_sta();
// Even though we just called esp_netif_create_default_wifi_sta,
// station mode isn't actually ready for use until esp_wifi_set_mode()
// is called and the configuration is loaded via esp_wifi_set_config().
// Set both convienence flags to false so it's not forgotten.
self->sta_mode = 0;
self->ap_mode = 0;
self->event_group_handle = xEventGroupCreateStatic(&self->event_group);
ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT,
ESP_EVENT_ANY_ID,

View File

@ -16,6 +16,7 @@ LONGINT_IMPL = MPZ
CIRCUITPY_FULL_BUILD = 1
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_AUDIOIO = 0
CIRCUITPY_CANIO = 1
CIRCUITPY_COUNTIO = 0
CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CPERIPHERAL = 0
@ -26,4 +27,8 @@ CIRCUITPY_USB_MIDI = 0
CIRCUITPY_WIFI = 1
CIRCUITPY_ESPIDF = 1
ifndef CIRCUITPY_TOUCHIO_USE_NATIVE
CIRCUITPY_TOUCHIO_USE_NATIVE = 1
endif
CIRCUITPY_MODULE ?= none

View File

@ -29,55 +29,58 @@
#define NO_ADC 0
#define NO_ADC_CHANNEL ADC_CHANNEL_MAX
#define NO_TOUCH_CHANNEL TOUCH_PAD_MAX
// This macro is used to simplify pin definition in boards/<board>/pins.c
#define PIN(p_name, p_number, p_adc_index, p_adc_channel) \
#define PIN(p_name, p_number, p_adc_index, p_adc_channel, p_touch_channel) \
const mcu_pin_obj_t pin_## p_name = { \
PIN_PREFIX_VALUES \
.number = p_number, \
.adc_index = p_adc_index, \
.adc_channel = p_adc_channel, \
.touch_channel = p_touch_channel, \
}
PIN(GPIO0, 0, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO1, 1, ADC_UNIT_1, ADC_CHANNEL_0);
PIN(GPIO2, 2, ADC_UNIT_1, ADC_CHANNEL_1);
PIN(GPIO3, 3, ADC_UNIT_1, ADC_CHANNEL_2);
PIN(GPIO4, 4, ADC_UNIT_1, ADC_CHANNEL_3);
PIN(GPIO5, 5, ADC_UNIT_1, ADC_CHANNEL_4);
PIN(GPIO6, 6, ADC_UNIT_1, ADC_CHANNEL_5);
PIN(GPIO7, 7, ADC_UNIT_1, ADC_CHANNEL_6);
PIN(GPIO8, 8, ADC_UNIT_1, ADC_CHANNEL_7);
PIN(GPIO9, 9, ADC_UNIT_1, ADC_CHANNEL_8);
PIN(GPIO10, 10, ADC_UNIT_1, ADC_CHANNEL_9);
PIN(GPIO11, 11, ADC_UNIT_2, ADC_CHANNEL_0);
PIN(GPIO12, 12, ADC_UNIT_2, ADC_CHANNEL_1);
PIN(GPIO13, 13, ADC_UNIT_2, ADC_CHANNEL_2);
PIN(GPIO14, 14, ADC_UNIT_2, ADC_CHANNEL_3);
PIN(GPIO15, 15, ADC_UNIT_2, ADC_CHANNEL_4);
PIN(GPIO16, 16, ADC_UNIT_2, ADC_CHANNEL_5);
PIN(GPIO17, 17, ADC_UNIT_2, ADC_CHANNEL_6);
PIN(GPIO18, 18, ADC_UNIT_2, ADC_CHANNEL_7);
PIN(GPIO19, 19, ADC_UNIT_2, ADC_CHANNEL_8);
PIN(GPIO20, 20, ADC_UNIT_2, ADC_CHANNEL_9);
PIN(GPIO21, 21, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO26, 26, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO27, 27, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO28, 28, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO29, 29, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO30, 30, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO31, 31, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO32, 32, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO33, 33, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO34, 34, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO35, 35, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO36, 36, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO37, 37, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO38, 38, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO39, 39, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO40, 40, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO41, 41, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO42, 42, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO43, 43, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO44, 44, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO45, 45, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO46, 46, NO_ADC, NO_ADC_CHANNEL);
PIN(GPIO0, 0, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO1, 1, ADC_UNIT_1, ADC_CHANNEL_0, TOUCH_PAD_NUM1);
PIN(GPIO2, 2, ADC_UNIT_1, ADC_CHANNEL_1, TOUCH_PAD_NUM2);
PIN(GPIO3, 3, ADC_UNIT_1, ADC_CHANNEL_2, TOUCH_PAD_NUM3);
PIN(GPIO4, 4, ADC_UNIT_1, ADC_CHANNEL_3, TOUCH_PAD_NUM4);
PIN(GPIO5, 5, ADC_UNIT_1, ADC_CHANNEL_4, TOUCH_PAD_NUM5);
PIN(GPIO6, 6, ADC_UNIT_1, ADC_CHANNEL_5, TOUCH_PAD_NUM6);
PIN(GPIO7, 7, ADC_UNIT_1, ADC_CHANNEL_6, TOUCH_PAD_NUM7);
PIN(GPIO8, 8, ADC_UNIT_1, ADC_CHANNEL_7, TOUCH_PAD_NUM8);
PIN(GPIO9, 9, ADC_UNIT_1, ADC_CHANNEL_8, TOUCH_PAD_NUM9);
PIN(GPIO10, 10, ADC_UNIT_1, ADC_CHANNEL_9, TOUCH_PAD_NUM10);
PIN(GPIO11, 11, ADC_UNIT_2, ADC_CHANNEL_0, TOUCH_PAD_NUM11);
PIN(GPIO12, 12, ADC_UNIT_2, ADC_CHANNEL_1, TOUCH_PAD_NUM12);
PIN(GPIO13, 13, ADC_UNIT_2, ADC_CHANNEL_2, TOUCH_PAD_NUM13);
PIN(GPIO14, 14, ADC_UNIT_2, ADC_CHANNEL_3, TOUCH_PAD_NUM14);
PIN(GPIO15, 15, ADC_UNIT_2, ADC_CHANNEL_4, NO_TOUCH_CHANNEL);
PIN(GPIO16, 16, ADC_UNIT_2, ADC_CHANNEL_5, NO_TOUCH_CHANNEL);
PIN(GPIO17, 17, ADC_UNIT_2, ADC_CHANNEL_6, NO_TOUCH_CHANNEL);
PIN(GPIO18, 18, ADC_UNIT_2, ADC_CHANNEL_7, NO_TOUCH_CHANNEL);
PIN(GPIO19, 19, ADC_UNIT_2, ADC_CHANNEL_8, NO_TOUCH_CHANNEL);
PIN(GPIO20, 20, ADC_UNIT_2, ADC_CHANNEL_9, NO_TOUCH_CHANNEL);
PIN(GPIO21, 21, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO26, 26, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO27, 27, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO28, 28, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO29, 29, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO30, 30, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO31, 31, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO32, 32, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO33, 33, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO34, 34, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO35, 35, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO36, 36, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO37, 37, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO38, 38, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO39, 39, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO40, 40, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO41, 41, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO42, 42, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO43, 43, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO44, 44, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO45, 45, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);
PIN(GPIO46, 46, NO_ADC, NO_ADC_CHANNEL, NO_TOUCH_CHANNEL);

View File

@ -37,12 +37,14 @@
#include "components/hal/include/hal/gpio_types.h"
#include "components/hal/include/hal/adc_types.h"
#include "components/hal/include/hal/touch_sensor_types.h"
typedef struct {
PIN_PREFIX_FIELDS
gpio_num_t number;
uint8_t adc_index:2;
uint8_t adc_channel:6;
uint8_t touch_channel;
} mcu_pin_obj_t;
extern const mcu_pin_obj_t pin_GPIO0;

View File

@ -16,6 +16,7 @@ CIRCUITPY_ANALOGIO = 0
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_AUDIOIO = 0
CIRCUITPY_BITBANGIO = 0
CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_BOARD = 0
CIRCUITPY_BUSIO = 0
CIRCUITPY_COUNTIO = 0

View File

@ -147,7 +147,7 @@ SRC_SDK := \
SRC_SDK := $(addprefix sdk/devices/$(CHIP_FAMILY)/, $(SRC_SDK))
SRC_C = \
SRC_C += \
background.c \
boards/$(BOARD)/board.c \
boards/$(BOARD)/flash_config.c \

View File

@ -0,0 +1,38 @@
/*
* 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

@ -0,0 +1,33 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2016 Glenn Ruben Bakke
*
*
* 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 "nrfx/hal/nrf_gpio.h"
#define MICROPY_HW_BOARD_NAME "AtelierDuMaker nRF52840 Breakout"
#define MICROPY_HW_MCU_NAME "nRF52840"
#define MICROPY_HW_LED_STATUS (&pin_P0_19)

View File

@ -0,0 +1,8 @@
USB_VID = 0x239A
USB_PID = 0x80A0
USB_PRODUCT = "ADM_B_NRF52840_1"
USB_MANUFACTURER = "AtelierDuMaker"
MCU_CHIP = nrf52840
INTERNAL_FLASH_FILESYSTEM = 1

View File

@ -0,0 +1,57 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_P1_10), MP_ROM_PTR(&pin_P0_02) },
{ MP_ROM_QSTR(MP_QSTR_P1_11), MP_ROM_PTR(&pin_P1_11) },
{ MP_ROM_QSTR(MP_QSTR_P1_13), MP_ROM_PTR(&pin_P1_13) },
{ MP_ROM_QSTR(MP_QSTR_P1_15), MP_ROM_PTR(&pin_P1_15) },
{ MP_ROM_QSTR(MP_QSTR_P0_03), MP_ROM_PTR(&pin_P0_03) },
{ MP_ROM_QSTR(MP_QSTR_P0_02), MP_ROM_PTR(&pin_P0_02) },
{ MP_ROM_QSTR(MP_QSTR_P0_28), MP_ROM_PTR(&pin_P0_28) },
{ MP_ROM_QSTR(MP_QSTR_P0_29), MP_ROM_PTR(&pin_P0_29) },
{ MP_ROM_QSTR(MP_QSTR_P0_30), MP_ROM_PTR(&pin_P0_30) },
{ MP_ROM_QSTR(MP_QSTR_P0_31), MP_ROM_PTR(&pin_P0_31) },
{ MP_ROM_QSTR(MP_QSTR_P0_04), MP_ROM_PTR(&pin_P0_04) },
{ MP_ROM_QSTR(MP_QSTR_P0_05), MP_ROM_PTR(&pin_P0_05) },
{ MP_ROM_QSTR(MP_QSTR_P1_14), MP_ROM_PTR(&pin_P1_14) },
{ MP_ROM_QSTR(MP_QSTR_P1_12), MP_ROM_PTR(&pin_P1_12) },
{ MP_ROM_QSTR(MP_QSTR_P0_25), MP_ROM_PTR(&pin_P0_25) },
{ MP_ROM_QSTR(MP_QSTR_P0_11), MP_ROM_PTR(&pin_P0_11) },
{ MP_ROM_QSTR(MP_QSTR_P1_08), MP_ROM_PTR(&pin_P1_08) },
{ MP_ROM_QSTR(MP_QSTR_P0_27), MP_ROM_PTR(&pin_P0_28) },
{ MP_ROM_QSTR(MP_QSTR_P0_08), MP_ROM_PTR(&pin_P0_08) },
{ MP_ROM_QSTR(MP_QSTR_P0_06), MP_ROM_PTR(&pin_P0_06) },
{ MP_ROM_QSTR(MP_QSTR_P0_26), MP_ROM_PTR(&pin_P0_26) },
{ MP_ROM_QSTR(MP_QSTR_P0_10), MP_ROM_PTR(&pin_P0_10) },
{ MP_ROM_QSTR(MP_QSTR_P0_09), MP_ROM_PTR(&pin_P0_09) },
{ MP_ROM_QSTR(MP_QSTR_P1_06), MP_ROM_PTR(&pin_P1_06) },
{ MP_ROM_QSTR(MP_QSTR_P1_04), MP_ROM_PTR(&pin_P1_04) },
{ MP_ROM_QSTR(MP_QSTR_P1_02), MP_ROM_PTR(&pin_P1_02) },
{ MP_ROM_QSTR(MP_QSTR_P1_01), MP_ROM_PTR(&pin_P1_01) },
{ MP_ROM_QSTR(MP_QSTR_P1_03), MP_ROM_PTR(&pin_P1_03) },
{ MP_ROM_QSTR(MP_QSTR_P1_00), MP_ROM_PTR(&pin_P1_00) },
{ MP_ROM_QSTR(MP_QSTR_P0_22), MP_ROM_PTR(&pin_P0_22) },
{ MP_ROM_QSTR(MP_QSTR_P1_07), MP_ROM_PTR(&pin_P1_07) },
{ MP_ROM_QSTR(MP_QSTR_P1_05), MP_ROM_PTR(&pin_P1_05) },
{ MP_ROM_QSTR(MP_QSTR_P0_24), MP_ROM_PTR(&pin_P0_24) },
{ MP_ROM_QSTR(MP_QSTR_P0_20), MP_ROM_PTR(&pin_P0_20) },
{ MP_ROM_QSTR(MP_QSTR_P0_17), MP_ROM_PTR(&pin_P0_17) },
{ MP_ROM_QSTR(MP_QSTR_P0_15), MP_ROM_PTR(&pin_P0_15) },
{ MP_ROM_QSTR(MP_QSTR_P0_14), MP_ROM_PTR(&pin_P0_14) },
{ MP_ROM_QSTR(MP_QSTR_P0_13), MP_ROM_PTR(&pin_P0_13) },
{ MP_ROM_QSTR(MP_QSTR_P0_16), MP_ROM_PTR(&pin_P0_16) },
{ MP_ROM_QSTR(MP_QSTR_P0_07), MP_ROM_PTR(&pin_P0_07) },
{ MP_ROM_QSTR(MP_QSTR_P1_09), MP_ROM_PTR(&pin_P1_09) },
{ MP_ROM_QSTR(MP_QSTR_P0_12), MP_ROM_PTR(&pin_P0_12) },
{ MP_ROM_QSTR(MP_QSTR_P0_23), MP_ROM_PTR(&pin_P0_23) },
{ MP_ROM_QSTR(MP_QSTR_P0_21), MP_ROM_PTR(&pin_P0_21) },
{ MP_ROM_QSTR(MP_QSTR_P0_19), MP_ROM_PTR(&pin_P0_19) },
// RESET { MP_ROM_QSTR(MP_QSTR_P0_18), MP_ROM_PTR(&pin_P0_18) }
};
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

View File

@ -59,8 +59,8 @@
#define DEFAULT_I2C_BUS_SCL (&pin_P0_04)
#define DEFAULT_I2C_BUS_SDA (&pin_P0_05)
#define DEFAULT_SPI_BUS_SCK (&pin_P0_05)
#define DEFAULT_SPI_BUS_MOSI (&pin_P1_03)
#define DEFAULT_SPI_BUS_SCK (&pin_P0_02)
#define DEFAULT_SPI_BUS_MOSI (&pin_P0_03)
#define DEFAULT_SPI_BUS_MISO (&pin_P0_29)
#define DEFAULT_UART_BUS_RX (&pin_P0_30)

View File

@ -23,6 +23,9 @@ CIRCUITPY_AUDIOCORE ?= 1
CIRCUITPY_AUDIOMIXER ?= 1
CIRCUITPY_AUDIOPWMIO ?= 1
# Native BLEIO is not compatible with HCI _bleio.
CIRCUITPY_BLEIO_HCI = 0
CIRCUITPY_BLEIO ?= 1
# No I2CPeripheral implementation

View File

@ -7,6 +7,7 @@ INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE
CIRCUITPY_NVM = 1
CIRCUITPY_BLEIO_HCI = 0
MCU_SERIES = F4
MCU_VARIANT = STM32F411xE

View File

@ -134,7 +134,7 @@ SRC_MOD += modjni.c
endif
# source files
SRC_C = \
SRC_C += \
main.c \
gccollect.c \
unix_mphal.c \

Some files were not shown because too many files have changed in this diff Show More