Merge remote-tracking branch 'adafruit/master' into lower_power

This commit is contained in:
Scott Shawcroft 2020-03-31 15:13:58 -07:00
commit 8fe512c7e9
No known key found for this signature in database
GPG Key ID: 9349BC7E64B1921E
135 changed files with 5934 additions and 929 deletions

View File

@ -122,6 +122,7 @@ jobs:
fail-fast: false
matrix:
board:
- "8086_commander"
- "TG-Watch02A"
- "aramcon_badge_2019"
- "arduino_mkr1300"
@ -130,6 +131,7 @@ jobs:
- "arduino_nano_33_iot"
- "arduino_zero"
- "bast_pro_mini_m0"
- "bdmicro_vina_m0"
- "capablerobot_usbhub"
- "catwan_usbstick"
- "circuitbrains_basic_m0"
@ -229,11 +231,14 @@ jobs:
- "stringcar_m0_express"
- "teensy40"
- "teknikio_bluebird"
- "thunderpack"
- "trellis_m4_express"
- "trinket_m0"
- "trinket_m0_haxpress"
- "uartlogger2"
- "uchip"
- "ugame10"
- "winterbloom_big_honking_button"
- "winterbloom_sol"
- "xinabox_cc03"
- "xinabox_cs11"
@ -274,3 +279,49 @@ jobs:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
build-riscv:
runs-on: ubuntu-16.04
needs: test
strategy:
fail-fast: false
matrix:
board:
- "fomu"
steps:
- name: Set up Python 3.5
uses: actions/setup-python@v1
with:
python-version: 3.5
- name: Install deps
run: |
sudo apt-get install -y gettext
pip install requests sh click setuptools awscli
wget https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
sudo tar -C /usr --strip-components=1 -xaf riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
- name: Versions
run: |
gcc --version
riscv64-unknown-elf-gcc --version
python3 --version
- uses: actions/checkout@v1
with:
submodules: true
- name: mpy-cross
run: make -C mpy-cross -j2
- name: build
run: python3 -u build_release_files.py
working-directory: tools
env:
BOARDS: ${{ matrix.board }}
- uses: actions/upload-artifact@v1.0.0
with:
name: ${{ matrix.board }}
path: bin/${{ matrix.board }}
- name: Upload to S3
run: "[ -z \"$AWS_ACCESS_KEY_ID\" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1"
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))

View File

@ -36,7 +36,7 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(BASEOPTS)
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(BASEOPTS)
TRANSLATE_SOURCES = extmod lib main.c ports/atmel-samd ports/cxd56 ports/mimxrt10xx ports/nrf ports/stm32f4 py shared-bindings shared-module supervisor
TRANSLATE_SOURCES = extmod lib main.c ports/atmel-samd ports/cxd56 ports/mimxrt10xx ports/nrf ports/stm py shared-bindings shared-module supervisor
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext stubs

View File

@ -123,6 +123,7 @@ exclude_patterns = ["**/build*",
"ports/atmel-samd/tools",
"ports/cxd56/mkspk",
"ports/cxd56/spresense-exported-sdk",
"ports/litex/hw",
"ports/minimal",
"ports/mimxrt10xx/peripherals",
"ports/mimxrt10xx/sdk",

@ -1 +1 @@
Subproject commit 66b89de8c714790de8647dc55f59430002044171
Subproject commit a91b36986d81fd906a6232010778f2a93d690f8e

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\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"
@ -134,6 +134,10 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' integer 0x%x tidak cukup didalam mask 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -394,6 +398,11 @@ msgstr ""
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, fuzzy, c-format
@ -482,7 +491,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr "tidak dapat mendapatkan ukuran scalar secara tidak ambigu"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -543,31 +552,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "Tidak dapat menginisialisasi UART"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -593,11 +602,11 @@ msgstr ""
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -709,7 +718,7 @@ msgstr "Gagal untuk mengalokasikan buffer RX"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Gagal untuk megalokasikan buffer RX dari %d byte"
@ -743,7 +752,7 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -761,11 +770,11 @@ msgstr ""
msgid "Group full"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -773,7 +782,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr "operasi I/O pada file tertutup"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -803,7 +812,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -812,7 +821,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "%q pada tidak valid"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -820,11 +829,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -834,12 +843,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr "Frekuensi PWM tidak valid"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -851,7 +859,7 @@ msgstr ""
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr "Ukuran buffer tidak valid"
@ -879,7 +887,7 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -918,7 +926,7 @@ msgstr "Pin untuk channel kanan tidak valid"
msgid "Invalid pins"
msgstr "Pin-pin tidak valid"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -950,7 +958,7 @@ msgstr ""
msgid "Invalid wave file"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -999,7 +1007,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1007,7 +1015,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1024,7 +1032,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/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"
@ -1033,23 +1041,23 @@ msgstr "Tidak ada DAC (Digital Analog Converter) di dalam chip"
msgid "No DMA channel found"
msgstr "tidak ada channel DMA ditemukan"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Tidak pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Tidak ada pin TX"
@ -1078,7 +1086,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr "Tidak ada dukungan hardware untuk pin"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1150,7 +1158,7 @@ msgid ""
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1162,11 +1170,11 @@ msgstr ""
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "Pin tidak mempunya kemampuan untuk ADC (Analog Digital Converter)"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1192,15 +1200,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1218,11 +1226,11 @@ msgid "RTC is not supported on this board"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1264,11 +1272,11 @@ msgstr ""
msgid "SDA or SCL needs a pull up"
msgstr "SDA atau SCL membutuhkan pull up"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1319,11 +1327,11 @@ msgstr ""
msgid "Stream missing readinto() or write() method."
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1400,23 +1408,23 @@ msgstr ""
msgid "Tuple or struct_time argument required"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1536,7 +1544,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1606,6 +1614,10 @@ msgstr ""
msgid "addresses is empty"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr ""
@ -2020,10 +2032,6 @@ msgstr ""
msgid "empty heap"
msgstr "heap kosong"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr ""
@ -2114,6 +2122,10 @@ msgstr ""
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr ""
@ -2163,6 +2175,10 @@ msgstr "fungsi diharapkan setidaknya %d argumen, hanya mendapatkan %d"
msgid "function got multiple values for argument '%q'"
msgstr "fungsi mendapatkan nilai ganda untuk argumen '%q'"
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2233,7 +2249,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index keluar dari jangkauan"
@ -2431,6 +2447,10 @@ msgstr ""
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2660,7 +2680,7 @@ msgstr ""
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2720,7 +2740,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr "Muncul dari PulseIn yang kosong"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\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"
@ -133,6 +133,10 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -390,6 +394,11 @@ msgstr ""
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
@ -472,7 +481,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -533,31 +542,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -583,11 +592,11 @@ msgstr ""
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -698,7 +707,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
@ -732,7 +741,7 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -750,11 +759,11 @@ msgstr ""
msgid "Group full"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -762,7 +771,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -792,7 +801,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -801,7 +810,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -809,11 +818,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -823,12 +832,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -840,7 +848,7 @@ msgstr ""
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr ""
@ -868,7 +876,7 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -907,7 +915,7 @@ msgstr ""
msgid "Invalid pins"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -939,7 +947,7 @@ msgstr ""
msgid "Invalid wave file"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -988,7 +996,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -996,7 +1004,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1013,7 +1021,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr ""
@ -1022,23 +1030,23 @@ msgstr ""
msgid "No DMA channel found"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr ""
@ -1067,7 +1075,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1138,7 +1146,7 @@ msgid ""
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1150,11 +1158,11 @@ msgstr ""
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1178,15 +1186,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1204,11 +1212,11 @@ msgid "RTC is not supported on this board"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1248,11 +1256,11 @@ msgstr ""
msgid "SDA or SCL needs a pull up"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1303,11 +1311,11 @@ msgstr ""
msgid "Stream missing readinto() or write() method."
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1384,23 +1392,23 @@ msgstr ""
msgid "Tuple or struct_time argument required"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1519,7 +1527,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1583,6 +1591,10 @@ msgstr ""
msgid "addresses is empty"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr ""
@ -1996,10 +2008,6 @@ msgstr ""
msgid "empty heap"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr ""
@ -2090,6 +2098,10 @@ msgstr ""
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr ""
@ -2139,6 +2151,10 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2209,7 +2225,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@ -2407,6 +2423,10 @@ msgstr ""
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2635,7 +2655,7 @@ msgstr ""
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2695,7 +2715,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: Pascal Deneaux\n"
"Language-Team: Sebastian Plamauer, Pascal Deneaux\n"
@ -135,6 +135,10 @@ msgstr "'%s' integer %d ist nicht im Bereich %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' Integer 0x%x passt nicht in Maske 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -394,6 +398,11 @@ msgstr "Der Puffer muss eine Mindestenslänge von 1 haben"
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
@ -476,7 +485,7 @@ msgstr "Übertragung ohne MOSI- und MISO-Pins nicht möglich."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "sizeof scalar kann nicht eindeutig bestimmt werden"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -537,31 +546,31 @@ msgstr "Beschädigter raw code"
msgid "Could not initialize UART"
msgstr "Konnte UART nicht initialisieren"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -587,11 +596,11 @@ msgstr "Konnte second buffer nicht zuteilen"
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -702,7 +711,7 @@ msgstr "Konnte keinen RX Buffer allozieren"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Konnte keine RX Buffer mit %d allozieren"
@ -738,7 +747,7 @@ msgstr ""
"Die aufgezeichnete Frequenz liegt über der Leistungsgrenze. Aufnahme "
"angehalten."
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -756,11 +765,11 @@ msgstr "Gruppe schon benutzt"
msgid "Group full"
msgstr "Gruppe voll"
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -768,7 +777,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr "Lese/Schreibe-operation an geschlossener Datei"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -800,7 +809,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -809,7 +818,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "Ungültiger %q pin"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -817,11 +826,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr "Ungültige BMP-Datei"
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -831,12 +840,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr "Ungültige PWM Frequenz"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -848,7 +856,7 @@ msgstr "Ungültiges Argument"
msgid "Invalid bits per value"
msgstr "Ungültige Bits pro Wert"
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr "Ungültige Puffergröße"
@ -876,7 +884,7 @@ msgstr "Ungültige Datei"
msgid "Invalid format chunk size"
msgstr "Ungültige format chunk size"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -915,7 +923,7 @@ msgstr "Ungültiger Pin für rechten Kanal"
msgid "Invalid pins"
msgstr "Ungültige Pins"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -947,7 +955,7 @@ msgstr "Ungültige Anzahl von Stimmen"
msgid "Invalid wave file"
msgstr "Ungültige wave Datei"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -997,7 +1005,7 @@ msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr ""
"Die Startverzögerung des Mikrofons muss im Bereich von 0,0 bis 1,0 liegen"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1005,7 +1013,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr "Muss eine %q Unterklasse sein."
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1022,7 +1030,7 @@ msgid "No CCCD for this Characteristic"
msgstr "Kein CCCD für diese Charakteristik"
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Kein DAC im Chip vorhanden"
@ -1031,23 +1039,23 @@ msgstr "Kein DAC im Chip vorhanden"
msgid "No DMA channel found"
msgstr "Kein DMA Kanal gefunden"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Kein RX Pin"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Kein TX Pin"
@ -1076,7 +1084,7 @@ msgstr "Keine Hardwareunterstützung am clk Pin"
msgid "No hardware support on pin"
msgstr "Keine Hardwareunterstützung an diesem Pin"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1153,7 +1161,7 @@ msgid ""
msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False."
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1165,11 +1173,11 @@ msgstr "Zugang verweigert"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "Pin hat keine ADC Funktionalität"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1195,15 +1203,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr "Pull wird nicht verwendet, wenn die Richtung output ist."
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1221,11 +1229,11 @@ msgid "RTC is not supported on this board"
msgstr "Eine RTC wird auf diesem Board nicht unterstützt"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1265,11 +1273,11 @@ msgstr "Sicherheitsmodus aktiv! Gespeicherter Code wird nicht ausgeführt\n"
msgid "SDA or SCL needs a pull up"
msgstr "SDA oder SCL brauchen pull up"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1320,11 +1328,11 @@ msgstr "Die Stackgröße sollte mindestens 256 sein"
msgid "Stream missing readinto() or write() method."
msgstr "Stream fehlt readinto() oder write() Methode."
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1403,23 +1411,23 @@ msgstr "Zurückverfolgung (jüngste Aufforderung zuletzt):\n"
msgid "Tuple or struct_time argument required"
msgstr "Tuple- oder struct_time-Argument erforderlich"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1540,7 +1548,7 @@ msgstr "Länge des Wertes > max_length"
msgid "Viper functions don't currently support more than 4 arguments"
msgstr "Viper-Funktionen unterstützen derzeit nicht mehr als 4 Argumente"
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1611,6 +1619,10 @@ msgstr "Adresse außerhalb der Grenzen"
msgid "addresses is empty"
msgstr "adresses ist leer"
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr "arg ist eine leere Sequenz"
@ -2025,10 +2037,6 @@ msgstr "leer"
msgid "empty heap"
msgstr "leerer heap"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr "leeres Trennzeichen"
@ -2119,6 +2127,10 @@ msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen"
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr "Das erste Argument für super() muss type sein"
@ -2168,6 +2180,10 @@ msgstr "Funktion erwartet maximal %d Argumente, aber hat %d erhalten"
msgid "function got multiple values for argument '%q'"
msgstr "Funktion hat mehrere Werte für Argument '%q'"
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2239,7 +2255,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index außerhalb der Reichweite"
@ -2443,6 +2459,10 @@ msgstr ""
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2671,7 +2691,7 @@ msgstr ""
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2733,7 +2753,7 @@ msgstr "pixel_shader muss displayio.Palette oder displayio.ColorConverter sein"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr "pop von einem leeren PulseIn"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -133,6 +133,10 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -390,6 +394,11 @@ msgstr ""
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
@ -472,7 +481,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -533,31 +542,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -583,11 +592,11 @@ msgstr ""
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -698,7 +707,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
@ -732,7 +741,7 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -750,11 +759,11 @@ msgstr ""
msgid "Group full"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -762,7 +771,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -792,7 +801,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -801,7 +810,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -809,11 +818,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -823,12 +832,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -840,7 +848,7 @@ msgstr ""
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr ""
@ -868,7 +876,7 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -907,7 +915,7 @@ msgstr ""
msgid "Invalid pins"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -939,7 +947,7 @@ msgstr ""
msgid "Invalid wave file"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -988,7 +996,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -996,7 +1004,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1013,7 +1021,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr ""
@ -1022,23 +1030,23 @@ msgstr ""
msgid "No DMA channel found"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr ""
@ -1067,7 +1075,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1138,7 +1146,7 @@ msgid ""
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1150,11 +1158,11 @@ msgstr ""
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1178,15 +1186,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1204,11 +1212,11 @@ msgid "RTC is not supported on this board"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1248,11 +1256,11 @@ msgstr ""
msgid "SDA or SCL needs a pull up"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1303,11 +1311,11 @@ msgstr ""
msgid "Stream missing readinto() or write() method."
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1384,23 +1392,23 @@ msgstr ""
msgid "Tuple or struct_time argument required"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1519,7 +1527,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1583,6 +1591,10 @@ msgstr ""
msgid "addresses is empty"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr ""
@ -1996,10 +2008,6 @@ msgstr ""
msgid "empty heap"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr ""
@ -2090,6 +2098,10 @@ msgstr ""
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr ""
@ -2139,6 +2151,10 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2209,7 +2225,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@ -2407,6 +2423,10 @@ msgstr ""
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2635,7 +2655,7 @@ msgstr ""
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2695,7 +2715,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: @sommersoft, @MrCertainly\n"
@ -135,6 +135,10 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -394,6 +398,11 @@ msgstr ""
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
@ -476,7 +485,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -537,31 +546,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -587,11 +596,11 @@ msgstr ""
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -702,7 +711,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
@ -736,7 +745,7 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -754,11 +763,11 @@ msgstr ""
msgid "Group full"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -766,7 +775,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -796,7 +805,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -805,7 +814,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "Avast! %q pin be invalid"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -813,11 +822,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -827,12 +836,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -844,7 +852,7 @@ msgstr ""
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr ""
@ -872,7 +880,7 @@ msgstr ""
msgid "Invalid format chunk size"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -911,7 +919,7 @@ msgstr "Belay that! Invalid pin for starboard-side channel"
msgid "Invalid pins"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -943,7 +951,7 @@ msgstr ""
msgid "Invalid wave file"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -992,7 +1000,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1000,7 +1008,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1017,7 +1025,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Shiver me timbers! There be no DAC on this chip"
@ -1026,23 +1034,23 @@ msgstr "Shiver me timbers! There be no DAC on this chip"
msgid "No DMA channel found"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr ""
@ -1071,7 +1079,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1142,7 +1150,7 @@ msgid ""
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1154,11 +1162,11 @@ msgstr ""
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "Belay that! Th' Pin be not ADC capable"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1182,15 +1190,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1208,11 +1216,11 @@ msgid "RTC is not supported on this board"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1252,11 +1260,11 @@ msgstr "Runnin' in safe mode! Nay runnin' saved code.\n"
msgid "SDA or SCL needs a pull up"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1307,11 +1315,11 @@ msgstr ""
msgid "Stream missing readinto() or write() method."
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1388,23 +1396,23 @@ msgstr ""
msgid "Tuple or struct_time argument required"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1523,7 +1531,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1587,6 +1595,10 @@ msgstr ""
msgid "addresses is empty"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr ""
@ -2000,10 +2012,6 @@ msgstr ""
msgid "empty heap"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr ""
@ -2094,6 +2102,10 @@ msgstr ""
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr ""
@ -2143,6 +2155,10 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2213,7 +2229,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@ -2411,6 +2427,10 @@ msgstr ""
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2639,7 +2659,7 @@ msgstr ""
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2699,7 +2719,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2018-08-24 22:56-0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -135,6 +135,10 @@ msgstr "'%s' entero %d no esta dentro del rango %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' entero 0x%x no cabe en la máscara 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -396,6 +400,11 @@ msgstr "Buffer debe ser de longitud 1 como minimo"
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
@ -478,7 +487,7 @@ msgstr "No se puede transmitir sin pines MOSI y MISO."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "No se puede obtener inequívocamente sizeof escalar"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -539,31 +548,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "No se puede inicializar la UART"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -589,11 +598,11 @@ msgstr "No se pudo asignar el segundo buffer"
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -704,7 +713,7 @@ msgstr "Ha fallado la asignación del buffer RX"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Falló la asignación del buffer RX de %d bytes"
@ -738,7 +747,7 @@ msgstr "El archivo ya existe"
msgid "Frequency captured is above capability. Capture Paused."
msgstr "Frecuencia capturada por encima de la capacidad. Captura en pausa."
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -756,11 +765,11 @@ msgstr ""
msgid "Group full"
msgstr "Group lleno"
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -768,7 +777,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr "Operación I/O en archivo cerrado"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -800,7 +809,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -809,7 +818,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "Pin %q inválido"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -817,11 +826,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr "Archivo BMP inválido"
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -831,12 +840,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr "Frecuencia PWM inválida"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -848,7 +856,7 @@ msgstr "Argumento inválido"
msgid "Invalid bits per value"
msgstr "Inválido bits por valor"
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr "Tamaño de buffer inválido"
@ -876,7 +884,7 @@ msgstr "Archivo inválido"
msgid "Invalid format chunk size"
msgstr "Formato de fragmento de formato no válido"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -915,7 +923,7 @@ msgstr "Pin inválido para canal derecho"
msgid "Invalid pins"
msgstr "pines inválidos"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -947,7 +955,7 @@ msgstr "Cuenta de voces inválida"
msgid "Invalid wave file"
msgstr "Archivo wave inválido"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -996,7 +1004,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr "Micrófono demora de inicio debe estar en el rango 0.0 a 1.0"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1004,7 +1012,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr "Debe de ser una subclase de %q"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1021,7 +1029,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "El chip no tiene DAC"
@ -1030,23 +1038,23 @@ msgstr "El chip no tiene DAC"
msgid "No DMA channel found"
msgstr "No se encontró el canal DMA"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Sin pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Sin pin TX"
@ -1075,7 +1083,7 @@ msgstr "Sin soporte de hardware en el pin clk"
msgid "No hardware support on pin"
msgstr "Sin soporte de hardware en pin"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1152,7 +1160,7 @@ msgstr ""
"construcion"
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1164,11 +1172,11 @@ msgstr "Permiso denegado"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "Pin no tiene capacidad ADC"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1194,15 +1202,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr "Pull no se usa cuando la dirección es output."
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1220,11 +1228,11 @@ msgid "RTC is not supported on this board"
msgstr "RTC no soportado en esta placa"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1265,11 +1273,11 @@ msgstr "Ejecutando en modo seguro! No se esta ejecutando el código guardado.\n"
msgid "SDA or SCL needs a pull up"
msgstr "SDA o SCL necesitan una pull up"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1320,11 +1328,11 @@ msgstr "El tamaño de la pila debe ser de al menos 256"
msgid "Stream missing readinto() or write() method."
msgstr "A Stream le falta el método readinto() o write()."
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1401,23 +1409,23 @@ msgstr "Traceback (ultima llamada reciente):\n"
msgid "Tuple or struct_time argument required"
msgstr "Argumento tuple o struct_time requerido"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1537,7 +1545,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr "funciones Viper actualmente no soportan más de 4 argumentos."
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1607,6 +1615,10 @@ msgstr "address fuera de límites"
msgid "addresses is empty"
msgstr "addresses esta vacío"
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr "argumento es una secuencia vacía"
@ -2027,10 +2039,6 @@ msgstr "vacío"
msgid "empty heap"
msgstr "heap vacío"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr "separator vacío"
@ -2121,6 +2129,10 @@ msgstr "sistema de archivos debe proporcionar método de montaje"
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr "primer argumento para super() debe ser de tipo"
@ -2170,6 +2182,10 @@ msgstr "la función esperaba minimo %d argumentos, tiene %d"
msgid "function got multiple values for argument '%q'"
msgstr "la función tiene múltiples valores para el argumento '%q'"
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2240,7 +2256,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index fuera de rango"
@ -2441,6 +2457,10 @@ msgstr "error de dominio matemático"
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2673,7 +2693,7 @@ msgstr "solo se admiten segmentos con step=1 (alias None)"
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2733,7 +2753,7 @@ msgstr "pixel_shader debe ser displayio.Palette o displayio.ColorConverter"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr "pop de un PulseIn vacío"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@ -136,6 +136,10 @@ msgstr "'%s' integer %d ay wala sa sakop ng %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' integer 0x%x ay wala sa mask na sakop ng 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -396,6 +400,11 @@ msgstr "Buffer dapat ay hindi baba sa 1 na haba"
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, fuzzy, c-format
@ -480,7 +489,7 @@ msgstr "Hindi maaaring ilipat kapag walang MOSI at MISO pin."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "Hindi puedeng hindi sigurado ang get sizeof scalar"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -542,31 +551,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "Hindi ma-initialize ang UART"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -592,11 +601,11 @@ msgstr "Hindi ma-iallocate ang second buffer"
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -712,7 +721,7 @@ msgstr "Nabigong ilaan ang RX buffer"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Nabigong ilaan ang RX buffer ng %d bytes"
@ -746,7 +755,7 @@ msgstr "Mayroong file"
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -764,11 +773,11 @@ msgstr ""
msgid "Group full"
msgstr "Puno ang group"
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -776,7 +785,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr "I/O operasyon sa saradong file"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -808,7 +817,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -817,7 +826,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "Mali ang %q pin"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -825,11 +834,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr "Mali ang BMP file"
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -839,12 +848,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr "Mali ang PWM frequency"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -856,7 +864,7 @@ msgstr "Maling argumento"
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr "Mali ang buffer size"
@ -884,7 +892,7 @@ msgstr "Mali ang file"
msgid "Invalid format chunk size"
msgstr "Mali ang format ng chunk size"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -923,7 +931,7 @@ msgstr "Mali ang pin para sa kanang channel"
msgid "Invalid pins"
msgstr "Mali ang pins"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -955,7 +963,7 @@ msgstr "Maling bilang ng voice"
msgid "Invalid wave file"
msgstr "May hindi tama sa wave file"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -1004,7 +1012,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr "Ang delay ng startup ng mikropono ay dapat na nasa 0.0 hanggang 1.0"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1012,7 +1020,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1029,7 +1037,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Walang DAC sa chip"
@ -1038,23 +1046,23 @@ msgstr "Walang DAC sa chip"
msgid "No DMA channel found"
msgstr "Walang DMA channel na mahanap"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Walang RX pin"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Walang TX pin"
@ -1083,7 +1091,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr "Walang support sa hardware ang pin"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1158,7 +1166,7 @@ msgstr ""
"PWM frequency hindi writable kapag variable_frequency ay False sa pag buo."
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1170,11 +1178,11 @@ msgstr "Walang pahintulot"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "Ang pin ay walang kakayahan sa ADC"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1200,15 +1208,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr "Pull hindi ginagamit kapag ang direksyon ay output."
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1226,11 +1234,11 @@ msgid "RTC is not supported on this board"
msgstr "Hindi supportado ang RTC sa board na ito"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1271,11 +1279,11 @@ msgstr "Tumatakbo sa safe mode! Hindi tumatakbo ang nai-save na code.\n"
msgid "SDA or SCL needs a pull up"
msgstr "Kailangan ng pull up resistors ang SDA o SCL"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1326,11 +1334,11 @@ msgstr "Ang laki ng stack ay dapat na hindi bababa sa 256"
msgid "Stream missing readinto() or write() method."
msgstr "Stream kulang ng readinto() o write() method."
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1407,23 +1415,23 @@ msgstr "Traceback (pinakahuling huling tawag): \n"
msgid "Tuple or struct_time argument required"
msgstr "Tuple o struct_time argument kailangan"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1546,7 +1554,7 @@ msgstr ""
"Ang mga function ng Viper ay kasalukuyang hindi sumusuporta sa higit sa 4 na "
"argumento"
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1616,6 +1624,10 @@ msgstr "wala sa sakop ang address"
msgid "addresses is empty"
msgstr "walang laman ang address"
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr "arg ay walang laman na sequence"
@ -2040,10 +2052,6 @@ msgstr "walang laman"
msgid "empty heap"
msgstr "walang laman ang heap"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr "walang laman na separator"
@ -2135,6 +2143,10 @@ msgstr "ang filesystem dapat mag bigay ng mount method"
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr "unang argument ng super() ay dapat type"
@ -2184,6 +2196,10 @@ msgstr "function na inaasahang %d ang argumento, ngunit %d ang nakuha"
msgid "function got multiple values for argument '%q'"
msgstr "ang function ay nakakuha ng maraming values para sa argument '%q'"
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2255,7 +2271,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index wala sa sakop"
@ -2457,6 +2473,10 @@ msgstr "may pagkakamali sa math domain"
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2686,7 +2706,7 @@ msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan"
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2747,7 +2767,7 @@ msgstr "pixel_shader ay dapat displayio.Palette o displayio.ColorConverter"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr "pop mula sa walang laman na PulseIn"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2019-04-14 20:05+0100\n"
"Last-Translator: Pierrick Couturier <arofarn@arofarn.info>\n"
"Language-Team: fr\n"
@ -137,6 +137,10 @@ msgstr "'%s' l'entier %d n'est pas dans la gamme %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' l'entier 0x%x ne correspond pas au masque 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -400,6 +404,11 @@ msgstr "Le tampon doit être de longueur au moins 1"
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, fuzzy, c-format
@ -485,7 +494,7 @@ msgstr "Pas de transfert sans broches MOSI et MISO."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "Impossible d'obtenir la taille du scalaire sans ambigüité"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -547,31 +556,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "L'UART n'a pu être initialisé"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -597,11 +606,11 @@ msgstr "Impossible d'allouer le 2e tampon"
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -715,7 +724,7 @@ msgstr "Echec de l'allocation du tampon RX"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Echec de l'allocation de %d octets du tampon RX"
@ -749,7 +758,7 @@ msgstr "Le fichier existe"
msgid "Frequency captured is above capability. Capture Paused."
msgstr "La fréquence capturée est au delà des capacités. Capture en pause."
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -767,11 +776,11 @@ msgstr ""
msgid "Group full"
msgstr "Groupe plein"
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -779,7 +788,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr "opération d'E/S sur un fichier fermé"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -811,7 +820,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -820,7 +829,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "Broche invalide pour '%q'"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -829,11 +838,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr "Fichier BMP invalide"
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -843,12 +852,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr "Fréquence de PWM invalide"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -860,7 +868,7 @@ msgstr "Argument invalide"
msgid "Invalid bits per value"
msgstr "Bits par valeur invalides"
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
#, fuzzy
msgid "Invalid buffer size"
msgstr "Longueur de tampon invalide"
@ -890,7 +898,7 @@ msgstr "Fichier invalide"
msgid "Invalid format chunk size"
msgstr "Taille de bloc de formatage invalide"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -929,7 +937,7 @@ msgstr "Broche invalide pour le canal droit"
msgid "Invalid pins"
msgstr "Broches invalides"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -962,7 +970,7 @@ msgstr "Nombre de voix invalide"
msgid "Invalid wave file"
msgstr "Fichier WAVE invalide"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -1011,7 +1019,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr "Le délais au démarrage du micro doit être entre 0.0 et 1.0"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1019,7 +1027,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1036,7 +1044,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Pas de DAC sur la puce"
@ -1045,23 +1053,23 @@ msgstr "Pas de DAC sur la puce"
msgid "No DMA channel found"
msgstr "Aucun canal DMA trouvé"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Pas de broche RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Pas de broche TX"
@ -1090,7 +1098,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr "Pas de support matériel pour cette broche"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1172,7 +1180,7 @@ msgstr ""
"à la construction."
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1184,11 +1192,11 @@ msgstr "Permission refusée"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "La broche ne peut être utilisée pour l'ADC"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1213,15 +1221,15 @@ msgstr "Appuyez sur une touche pour entrer sur REPL ou CTRL-D pour recharger."
msgid "Pull not used when direction is output."
msgstr "Le tirage 'pull' n'est pas utilisé quand la direction est 'output'."
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1239,11 +1247,11 @@ msgid "RTC is not supported on this board"
msgstr "RTC non supportée sur cette carte"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1284,11 +1292,11 @@ msgstr "Mode sans-échec! Le code sauvegardé n'est pas éxecuté.\n"
msgid "SDA or SCL needs a pull up"
msgstr "SDA ou SCL a besoin d'une résistance de tirage ('pull up')"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1340,11 +1348,11 @@ msgstr "La pile doit être au moins de 256"
msgid "Stream missing readinto() or write() method."
msgstr "Il manque une méthode readinto() ou write() au flux."
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1422,23 +1430,23 @@ msgstr "Trace (appels les plus récents en dernier):\n"
msgid "Tuple or struct_time argument required"
msgstr "Argument de type tuple ou struct_time nécessaire"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1564,7 +1572,7 @@ msgid "Viper functions don't currently support more than 4 arguments"
msgstr ""
"les fonctions de Viper ne supportent pas plus de 4 arguments actuellement"
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1633,6 +1641,10 @@ msgstr "adresse hors limites"
msgid "addresses is empty"
msgstr "adresses vides"
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr "l'argument est une séquence vide"
@ -2065,10 +2077,6 @@ msgstr "vide"
msgid "empty heap"
msgstr "tas vide"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr "séparateur vide"
@ -2160,6 +2168,10 @@ msgstr "le system de fichier doit fournir une méthode 'mount'"
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr "le premier argument de super() doit être un type"
@ -2209,6 +2221,10 @@ msgstr "la fonction attendait au plus %d arguments, reçu %d"
msgid "function got multiple values for argument '%q'"
msgstr "la fonction a reçu plusieurs valeurs pour l'argument '%q'"
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2279,7 +2295,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "index hors gamme"
@ -2481,6 +2497,10 @@ msgstr "erreur de domaine math"
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2713,7 +2733,7 @@ msgstr "seules les tranches avec 'step=1' (cad None) sont supportées"
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2779,7 +2799,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr "'pop' d'une entrée PulseIn vide"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@ -135,6 +135,10 @@ msgstr "intero '%s' non è nell'intervallo %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "intero '%s' non è nell'intervallo %d..%d"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -396,6 +400,11 @@ msgstr "Il buffer deve essere lungo almeno 1"
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, fuzzy, c-format
@ -481,7 +490,7 @@ msgstr "Impossibile trasferire senza i pin MOSI e MISO."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "Impossibile ricavare la grandezza scalare di sizeof inequivocabilmente"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -543,31 +552,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "Impossibile inizializzare l'UART"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -593,11 +602,11 @@ msgstr "Impossibile allocare il secondo buffer"
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -712,7 +721,7 @@ msgstr "Impossibile allocare buffer RX"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Fallita allocazione del buffer RX di %d byte"
@ -746,7 +755,7 @@ msgstr "File esistente"
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -764,11 +773,11 @@ msgstr ""
msgid "Group full"
msgstr "Gruppo pieno"
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -776,7 +785,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr "operazione I/O su file chiuso"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -808,7 +817,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -817,7 +826,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "Pin %q non valido"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -825,11 +834,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr "File BMP non valido"
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -839,12 +848,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr "Frequenza PWM non valida"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -856,7 +864,7 @@ msgstr "Argomento non valido"
msgid "Invalid bits per value"
msgstr "bits per valore invalido"
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
#, fuzzy
msgid "Invalid buffer size"
msgstr "lunghezza del buffer non valida"
@ -886,7 +894,7 @@ msgstr "File non valido"
msgid "Invalid format chunk size"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -925,7 +933,7 @@ msgstr "Pin non valido per il canale destro"
msgid "Invalid pins"
msgstr "Pin non validi"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -958,7 +966,7 @@ msgstr "Tipo di servizio non valido"
msgid "Invalid wave file"
msgstr "File wave non valido"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -1008,7 +1016,7 @@ msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr ""
"Il ritardo di avvio del microfono deve essere nell'intervallo tra 0.0 e 1.0"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1016,7 +1024,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1033,7 +1041,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Nessun DAC sul chip"
@ -1042,23 +1050,23 @@ msgstr "Nessun DAC sul chip"
msgid "No DMA channel found"
msgstr "Nessun canale DMA trovato"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Nessun pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Nessun pin TX"
@ -1087,7 +1095,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr "Nessun supporto hardware sul pin"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1167,7 +1175,7 @@ msgstr ""
"impostato nel costruttore a False."
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1179,11 +1187,11 @@ msgstr "Permesso negato"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "Il pin non ha capacità di ADC"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1209,15 +1217,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1235,11 +1243,11 @@ msgid "RTC is not supported on this board"
msgstr "RTC non supportato su questa scheda"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1280,11 +1288,11 @@ msgstr "Modalità sicura in esecuzione! Codice salvato non in esecuzione.\n"
msgid "SDA or SCL needs a pull up"
msgstr "SDA o SCL necessitano un pull-up"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1337,11 +1345,11 @@ msgstr "La dimensione dello stack deve essere almeno 256"
msgid "Stream missing readinto() or write() method."
msgstr "Metodi mancanti readinto() o write() allo stream."
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1418,23 +1426,23 @@ msgstr "Traceback (chiamata più recente per ultima):\n"
msgid "Tuple or struct_time argument required"
msgstr "Tupla o struct_time richiesto come argomento"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1555,7 +1563,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr "Le funzioni Viper non supportano più di 4 argomenti al momento"
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1619,6 +1627,10 @@ msgstr "indirizzo fuori limite"
msgid "addresses is empty"
msgstr "gli indirizzi sono vuoti"
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr "l'argomento è una sequenza vuota"
@ -2041,10 +2053,6 @@ msgstr "vuoto"
msgid "empty heap"
msgstr "heap vuoto"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr "separatore vuoto"
@ -2136,6 +2144,10 @@ msgstr "il filesystem deve fornire un metodo di mount"
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr ""
@ -2185,6 +2197,10 @@ msgstr "la funzione prevede al massimo %d argmoneti, ma ne ha ricevuti %d"
msgid "function got multiple values for argument '%q'"
msgstr "la funzione ha ricevuto valori multipli per l'argomento '%q'"
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2256,7 +2272,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "indice fuori intervallo"
@ -2459,6 +2475,10 @@ msgstr "errore di dominio matematico"
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2691,7 +2711,7 @@ msgstr "solo slice con step=1 (aka None) sono supportate"
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2754,7 +2774,7 @@ msgstr "pixel_shader deve essere displayio.Palette o displayio.ColorConverter"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr "pop sun un PulseIn vuoto"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2019-05-06 14:22-0700\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -135,6 +135,10 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -394,6 +398,11 @@ msgstr "잘못된 크기의 버퍼. >1 여야합니다"
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
@ -476,7 +485,7 @@ msgstr ""
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -537,31 +546,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -587,11 +596,11 @@ msgstr ""
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -702,7 +711,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr ""
@ -736,7 +745,7 @@ msgstr ""
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -754,11 +763,11 @@ msgstr ""
msgid "Group full"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -766,7 +775,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr ""
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -796,7 +805,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -805,7 +814,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -813,11 +822,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -827,12 +836,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -844,7 +852,7 @@ msgstr ""
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr ""
@ -872,7 +880,7 @@ msgstr "파일이 유효하지 않습니다"
msgid "Invalid format chunk size"
msgstr "형식 청크 크기가 잘못되었습니다"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -911,7 +919,7 @@ msgstr "오른쪽 채널 핀이 잘못되었습니다"
msgid "Invalid pins"
msgstr "핀이 유효하지 않습니다"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -943,7 +951,7 @@ msgstr ""
msgid "Invalid wave file"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -992,7 +1000,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1000,7 +1008,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1017,7 +1025,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr ""
@ -1026,23 +1034,23 @@ msgstr ""
msgid "No DMA channel found"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr ""
@ -1071,7 +1079,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1142,7 +1150,7 @@ msgid ""
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1154,11 +1162,11 @@ msgstr ""
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1182,15 +1190,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1208,11 +1216,11 @@ msgid "RTC is not supported on this board"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1252,11 +1260,11 @@ msgstr ""
msgid "SDA or SCL needs a pull up"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1307,11 +1315,11 @@ msgstr ""
msgid "Stream missing readinto() or write() method."
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1388,23 +1396,23 @@ msgstr ""
msgid "Tuple or struct_time argument required"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1524,7 +1532,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1588,6 +1596,10 @@ msgstr ""
msgid "addresses is empty"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr ""
@ -2001,10 +2013,6 @@ msgstr ""
msgid "empty heap"
msgstr ""
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr ""
@ -2095,6 +2103,10 @@ msgstr ""
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr ""
@ -2144,6 +2156,10 @@ msgstr ""
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2214,7 +2230,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr ""
@ -2412,6 +2428,10 @@ msgstr ""
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2640,7 +2660,7 @@ msgstr ""
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2700,7 +2720,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2019-03-19 18:37-0700\n"
"Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n"
"Language-Team: pl\n"
@ -134,6 +134,10 @@ msgstr "'%s' liczba %d poza zakresem %d..%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' liczba 0x%x nie pasuje do maski 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -393,6 +397,11 @@ msgstr "Bufor musi mieć długość 1 lub więcej"
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
@ -475,7 +484,7 @@ msgstr "Nie można przesyłać bez nóżek MOSI i MISO."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "Wielkość skalara jest niejednoznaczna"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -536,31 +545,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "Ustawienie UART nie powiodło się"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -586,11 +595,11 @@ msgstr "Nie udała się alokacja drugiego bufora"
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -701,7 +710,7 @@ msgstr "Nie udała się alokacja bufora RX"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Nie udała się alokacja %d bajtów na bufor RX"
@ -735,7 +744,7 @@ msgstr "Plik istnieje"
msgid "Frequency captured is above capability. Capture Paused."
msgstr "Uzyskana częstotliwość jest niemożliwa. Spauzowano."
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -753,11 +762,11 @@ msgstr ""
msgid "Group full"
msgstr "Grupa pełna"
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -765,7 +774,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr "Operacja I/O na zamkniętym pliku"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -797,7 +806,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -806,7 +815,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "Zła nóżka %q"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -814,11 +823,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr "Zły BMP"
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -828,12 +837,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr "Zła częstotliwość PWM"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -845,7 +853,7 @@ msgstr "Zły argument"
msgid "Invalid bits per value"
msgstr "Zła liczba bitów wartości"
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr "Zła wielkość bufora"
@ -873,7 +881,7 @@ msgstr "Zły plik"
msgid "Invalid format chunk size"
msgstr "Zła wielkość fragmentu formatu"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -912,7 +920,7 @@ msgstr "Zła nóżka dla prawego kanału"
msgid "Invalid pins"
msgstr "Złe nóżki"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -944,7 +952,7 @@ msgstr "Zła liczba głosów"
msgid "Invalid wave file"
msgstr "Zły plik wave"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -993,7 +1001,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr "Opóźnienie włączenia mikrofonu musi być w zakresie od 0.0 do 1.0"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1001,7 +1009,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1018,7 +1026,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Brak DAC"
@ -1027,23 +1035,23 @@ msgstr "Brak DAC"
msgid "No DMA channel found"
msgstr "Nie znaleziono kanału DMA"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Brak nóżki RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Brak nóżki TX"
@ -1072,7 +1080,7 @@ msgstr ""
msgid "No hardware support on pin"
msgstr "Brak sprzętowej obsługi na nóżce"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1143,7 +1151,7 @@ msgid ""
msgstr "Nie można zmienić częstotliwości PWM gdy variable_frequency=False."
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1155,11 +1163,11 @@ msgstr "Odmowa dostępu"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "Nóżka nie obsługuje ADC"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1183,15 +1191,15 @@ msgstr "Dowolny klawisz aby uruchomić konsolę. CTRL-D aby przeładować."
msgid "Pull not used when direction is output."
msgstr "Podciągnięcie nieużywane w trybie wyjścia."
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1209,11 +1217,11 @@ msgid "RTC is not supported on this board"
msgstr "Brak obsługi RTC"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1253,11 +1261,11 @@ msgstr "Uruchomiony tryb bezpieczeństwa! Zapisany kod nie jest uruchamiany.\n"
msgid "SDA or SCL needs a pull up"
msgstr "SDA lub SCL wymagają podciągnięcia"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1308,11 +1316,11 @@ msgstr "Stos musi mieć co najmniej 256 bajtów"
msgid "Stream missing readinto() or write() method."
msgstr "Strumień nie ma metod readinto() lub write()."
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1389,23 +1397,23 @@ msgstr "Ślad wyjątku (najnowsze wywołanie na końcu):\n"
msgid "Tuple or struct_time argument required"
msgstr "Wymagana krotka lub struct_time"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1524,7 +1532,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr "Funkcje Viper nie obsługują obecnie więcej niż 4 argumentów"
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1591,6 +1599,10 @@ msgstr "adres poza zakresem"
msgid "addresses is empty"
msgstr "adres jest pusty"
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr "arg jest puste"
@ -2005,10 +2017,6 @@ msgstr "puste"
msgid "empty heap"
msgstr "pusta sterta"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr "pusty separator"
@ -2099,6 +2107,10 @@ msgstr "system plików musi mieć metodę mount"
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr "pierwszy argument super() musi być typem"
@ -2148,6 +2160,10 @@ msgstr "funkcja bierze najwyżej %d argumentów, jest %d"
msgid "function got multiple values for argument '%q'"
msgstr "funkcja dostała wiele wartości dla argumentu '%q'"
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2218,7 +2234,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "indeks poza zakresem"
@ -2416,6 +2432,10 @@ msgstr "błąd domeny"
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2644,7 +2664,7 @@ msgstr "tylko fragmenty ze step=1 (lub None) są wspierane"
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2705,7 +2725,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr "pop z pustego PulseIn"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2018-10-02 21:14-0000\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -135,6 +135,10 @@ msgstr ""
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr ""
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr ""
@ -393,6 +397,11 @@ msgstr ""
msgid "Buffer too large and unable to allocate"
msgstr ""
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, fuzzy, c-format
@ -477,7 +486,7 @@ msgstr "Não é possível transferir sem os pinos MOSI e MISO."
msgid "Cannot unambiguously get sizeof scalar"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr ""
@ -539,31 +548,31 @@ msgstr ""
msgid "Could not initialize UART"
msgstr "Não foi possível inicializar o UART"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr ""
@ -589,11 +598,11 @@ msgstr "Não pôde alocar segundo buffer"
msgid "Crash into the HardFault_Handler."
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr ""
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr ""
@ -707,7 +716,7 @@ msgstr "Falha ao alocar buffer RX"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Falha ao alocar buffer RX de %d bytes"
@ -741,7 +750,7 @@ msgstr "Arquivo já existe"
msgid "Frequency captured is above capability. Capture Paused."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr ""
@ -759,11 +768,11 @@ msgstr ""
msgid "Group full"
msgstr "Grupo cheio"
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Hardware in use, try alternative pins"
msgstr ""
@ -771,7 +780,7 @@ msgstr ""
msgid "I/O operation on closed file"
msgstr "Operação I/O no arquivo fechado"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr ""
@ -801,7 +810,7 @@ msgstr ""
msgid "Insufficient encryption"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr ""
@ -810,7 +819,7 @@ msgstr ""
msgid "Invalid %q pin"
msgstr "Pino do %q inválido"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr ""
@ -818,11 +827,11 @@ msgstr ""
msgid "Invalid BMP file"
msgstr "Arquivo BMP inválido"
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "Invalid DAC pin supplied"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr ""
@ -832,12 +841,11 @@ msgstr ""
msgid "Invalid PWM frequency"
msgstr "Frequência PWM inválida"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr ""
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr ""
@ -849,7 +857,7 @@ msgstr "Argumento inválido"
msgid "Invalid bits per value"
msgstr ""
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
#, fuzzy
msgid "Invalid buffer size"
msgstr "Arquivo inválido"
@ -879,7 +887,7 @@ msgstr "Arquivo inválido"
msgid "Invalid format chunk size"
msgstr "Tamanho do pedaço de formato inválido"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr ""
@ -918,7 +926,7 @@ msgstr "Pino inválido para canal direito"
msgid "Invalid pins"
msgstr "Pinos inválidos"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -951,7 +959,7 @@ msgstr "certificado inválido"
msgid "Invalid wave file"
msgstr "Aqruivo de ondas inválido"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr ""
@ -1000,7 +1008,7 @@ msgstr ""
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr ""
@ -1008,7 +1016,7 @@ msgstr ""
msgid "Must be a %q subclass."
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr ""
@ -1025,7 +1033,7 @@ msgid "No CCCD for this Characteristic"
msgstr ""
#: ports/atmel-samd/common-hal/analogio/AnalogOut.c
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "No DAC on chip"
msgstr "Nenhum DAC no chip"
@ -1034,23 +1042,23 @@ msgstr "Nenhum DAC no chip"
msgid "No DMA channel found"
msgstr "Nenhum canal DMA encontrado"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Nenhum pino RX"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Nenhum pino TX"
@ -1079,7 +1087,7 @@ msgstr "Sem suporte de hardware no pino de clock"
msgid "No hardware support on pin"
msgstr "Nenhum suporte de hardware no pino"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr ""
@ -1153,7 +1161,7 @@ msgid ""
msgstr ""
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr ""
@ -1165,11 +1173,11 @@ msgstr "Permissão negada"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "O pino não tem recursos de ADC"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1194,15 +1202,15 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr ""
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr ""
@ -1220,11 +1228,11 @@ msgid "RTC is not supported on this board"
msgstr "O RTC não é suportado nesta placa"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr ""
@ -1265,11 +1273,11 @@ msgstr "Rodando em modo seguro! Não está executando o código salvo.\n"
msgid "SDA or SCL needs a pull up"
msgstr "SDA ou SCL precisa de um pull up"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr ""
@ -1320,11 +1328,11 @@ msgstr "O tamanho da pilha deve ser pelo menos 256"
msgid "Stream missing readinto() or write() method."
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1401,23 +1409,23 @@ msgstr ""
msgid "Tuple or struct_time argument required"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr ""
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr ""
@ -1537,7 +1545,7 @@ msgstr ""
msgid "Viper functions don't currently support more than 4 arguments"
msgstr ""
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1601,6 +1609,10 @@ msgstr ""
msgid "addresses is empty"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr ""
@ -2017,10 +2029,6 @@ msgstr "vazio"
msgid "empty heap"
msgstr "heap vazia"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr ""
@ -2112,6 +2120,10 @@ msgstr "sistema de arquivos deve fornecer método de montagem"
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr ""
@ -2161,6 +2173,10 @@ msgstr "função esperada na maioria dos %d argumentos, obteve %d"
msgid "function got multiple values for argument '%q'"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2231,7 +2247,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "Índice fora do intervalo"
@ -2429,6 +2445,10 @@ msgstr ""
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2657,7 +2677,7 @@ msgstr ""
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2717,7 +2737,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: circuitpython-cn\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-11 17:52-0400\n"
"POT-Creation-Date: 2020-03-30 17:03-0700\n"
"PO-Revision-Date: 2019-04-13 10:10-0700\n"
"Last-Translator: hexthat\n"
"Language-Team: Chinese Hanyu Pinyin\n"
@ -140,6 +140,10 @@ msgstr "'%s' zhěngshù %d bùzài fànwéi nèi %d.%d"
msgid "'%s' integer 0x%x does not fit in mask 0x%x"
msgstr "'%s' zhěngshù 0x%x bù shìyòng yú yǎn mǎ 0x%x"
#: py/runtime.c
msgid "'%s' object cannot assign attribute '%q'"
msgstr ""
#: py/proto.c
msgid "'%s' object does not support '%q'"
msgstr "'%s' duì xiàng bù zhīchí '%q'"
@ -399,6 +403,11 @@ msgstr "Huǎnchōng qū bìxū zhìshǎo chángdù 1"
msgid "Buffer too large and unable to allocate"
msgstr "huǎn chōng qū tài dà wú fǎ fēn pèi"
#: shared-bindings/_bleio/PacketBuffer.c
#, c-format
msgid "Buffer too short by %d bytes"
msgstr ""
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
#: ports/nrf/common-hal/displayio/ParallelBus.c
#, c-format
@ -481,7 +490,7 @@ msgstr "Méiyǒu MOSI/MISO jiù wúfǎ zhuǎnyí."
msgid "Cannot unambiguously get sizeof scalar"
msgstr "Wúfǎ míngquè de huòdé biāoliàng de dàxiǎo"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Cannot vary frequency on a timer that is already in use"
msgstr "Wúfǎ gēnggǎi yǐ zài shǐyòng de jìshí qì shàng de pínlǜ"
@ -544,31 +553,31 @@ msgstr "Sǔnhuài de yuánshǐ dàimǎ"
msgid "Could not initialize UART"
msgstr "Wúfǎ chūshǐhuà UART"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize channel"
msgstr "Wúfǎ chūshǐhuà píndào"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not initialize timer"
msgstr "Wúfǎ chūshǐhuà jìshí qì"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init channel"
msgstr "Wúfǎ chóngxīn chūshǐhuà píndào"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not re-init timer"
msgstr "Wúfǎ chóngxīn qǐdòng jìshí qì"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not restart PWM"
msgstr "Wúfǎ chóngqǐ PWM"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Could not start PWM"
msgstr "Wúfǎ qǐdòng PWM"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Could not start interrupt, RX busy"
msgstr "Wúfǎ qǐdòng zhōngduàn,RX máng"
@ -594,11 +603,11 @@ msgstr "Wúfǎ fēnpèi dì èr gè huǎnchōng qū"
msgid "Crash into the HardFault_Handler."
msgstr "Zhuìhuǐ. Shūrù HardFault_Handler."
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Channel Init Error"
msgstr "DAC tōngdào chūshǐhuà cuòwù"
#: ports/stm32f4/common-hal/analogio/AnalogOut.c
#: ports/stm/common-hal/analogio/AnalogOut.c
msgid "DAC Device Init Error"
msgstr "DAC shèbèi chūshǐhuà cuòwù"
@ -709,7 +718,7 @@ msgstr "Fēnpèi RX huǎnchōng shībài"
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
#, c-format
msgid "Failed to allocate RX buffer of %d bytes"
msgstr "Fēnpèi RX huǎnchōng qū%d zì jié shībài"
@ -743,7 +752,7 @@ msgstr "Wénjiàn cúnzài"
msgid "Frequency captured is above capability. Capture Paused."
msgstr "Pínlǜ bǔhuò gāo yú nénglì. Bǔhuò zàntíng."
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Frequency must match existing PWMOut using this timer"
msgstr "Pínlǜ bìxū yǔ shǐyòng cǐ jìshí qì de xiàn yǒu PWMOut xiāng pǐpèi"
@ -761,11 +770,11 @@ msgstr "Jítuán yǐjīng shǐyòngguò"
msgid "Group full"
msgstr "Fēnzǔ yǐ mǎn"
#: ports/stm32f4/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/I2C.c ports/stm/common-hal/busio/SPI.c
msgid "Hardware busy, try alternative pins"
msgstr "Yìngjiàn máng, qǐng chángshì qítā zhēnjiǎo"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
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"
@ -773,7 +782,7 @@ msgstr "Shǐyòng de yìngjiàn, qǐng chángshì qítā yǐn jiǎo"
msgid "I/O operation on closed file"
msgstr "Wénjiàn shàng de I/ O cāozuò"
#: ports/stm32f4/common-hal/busio/I2C.c
#: ports/stm/common-hal/busio/I2C.c
msgid "I2C Init Error"
msgstr "I2C chūshǐhuà cuòwù"
@ -805,7 +814,7 @@ msgstr "Rènzhèng bùzú"
msgid "Insufficient encryption"
msgstr "Jiāmì bùzú"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Internal define error"
msgstr "Nèibù dìngyì cuòwù"
@ -814,7 +823,7 @@ msgstr "Nèibù dìngyì cuòwù"
msgid "Invalid %q pin"
msgstr "Wúxiào de %q yǐn jiǎo"
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Invalid ADC Unit value"
msgstr "Wúxiào de ADC dānwèi zhí"
@ -822,11 +831,11 @@ msgstr "Wúxiào de ADC dānwèi zhí"
msgid "Invalid BMP file"
msgstr "Wúxiào de BMP wénjiàn"
#: ports/stm32f4/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"
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm32f4/common-hal/busio/I2C.c
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
msgid "Invalid I2C pin selection"
msgstr "Wúxiào de I2C yǐn jiǎo xuǎnzé"
@ -836,12 +845,11 @@ msgstr "Wúxiào de I2C yǐn jiǎo xuǎnzé"
msgid "Invalid PWM frequency"
msgstr "Wúxiào de PWM pínlǜ"
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm32f4/common-hal/busio/SPI.c
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/stm/common-hal/busio/SPI.c
msgid "Invalid SPI pin selection"
msgstr "Wúxiào de SPI yǐn jiǎo xuǎnzé"
#: ports/mimxrt10xx/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid UART pin selection"
msgstr "Wúxiào de UART yǐn jiǎo xuǎnzé"
@ -853,7 +861,7 @@ msgstr "Wúxiào de cānshù"
msgid "Invalid bits per value"
msgstr "Měi gè zhí de wèi wúxiào"
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "Invalid buffer size"
msgstr "Wúxiào de huǎnchōng qū dàxiǎo"
@ -881,7 +889,7 @@ msgstr "Wúxiào de wénjiàn"
msgid "Invalid format chunk size"
msgstr "Géshì kuài dàxiǎo wúxiào"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid frequency supplied"
msgstr "Tígōng de pínlǜ wúxiào"
@ -920,7 +928,7 @@ msgstr "Yòuxián tōngdào yǐn jiǎo wúxiào"
msgid "Invalid pins"
msgstr "Wúxiào de yǐn jiǎo"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "Invalid pins for PWMOut"
msgstr ""
@ -952,7 +960,7 @@ msgstr "Wúxiào de yǔyīn jìshù"
msgid "Invalid wave file"
msgstr "Wúxiào de làng làngcháo wénjiàn"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Invalid word/bit length"
msgstr "Wúxiào de zì/wèi chángdù"
@ -1001,7 +1009,7 @@ msgstr "MicroPython zhìmìng cuòwù."
msgid "Microphone startup delay must be in range 0.0 to 1.0"
msgstr "Màikèfēng qǐdòng yánchí bìxū zài 0.0 Dào 1.0 De fànwéi nèi"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Missing MISO or MOSI Pin"
msgstr "Quēshǎo MISO huò MOSI yǐn jiǎo"
@ -1009,7 +1017,7 @@ msgstr "Quēshǎo MISO huò MOSI yǐn jiǎo"
msgid "Must be a %q subclass."
msgstr "Bìxū shì %q zi lèi."
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "Must provide MISO or MOSI pin"
msgstr "Bìxū tígōng MISO huò MOSI yǐn jiǎo"
@ -1026,7 +1034,7 @@ 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/stm32f4/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"
@ -1035,23 +1043,23 @@ msgstr "Méiyǒu DAC zài xīnpiàn shàng de"
msgid "No DMA channel found"
msgstr "Wèi zhǎodào DMA píndào"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MISO Pin"
msgstr "Méiyǒu MISO yǐn jiǎo"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "No MOSI Pin"
msgstr "Méiyǒu MOSI yǐn jiǎo"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No RX pin"
msgstr "Wèi zhǎodào RX yǐn jiǎo"
#: ports/atmel-samd/common-hal/busio/UART.c
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "No TX pin"
msgstr "Wèi zhǎodào TX yǐn jiǎo"
@ -1080,7 +1088,7 @@ msgstr "Shízhōng yǐn jiǎo wú yìngjiàn zhīchí"
msgid "No hardware support on pin"
msgstr "Méiyǒu zài yǐn jiǎo shàng de yìngjiàn zhīchí"
#: ports/stm32f4/common-hal/pulseio/PWMOut.c
#: ports/stm/common-hal/pulseio/PWMOut.c
msgid "No more timers available on this pin."
msgstr "Gāi yǐn jiǎo shàng méiyǒu kěyòng de dìngshí qì."
@ -1157,7 +1165,7 @@ msgid ""
msgstr "Dāng biànliàng_pínlǜ shì False zài jiànzhú shí PWM pínlǜ bùkě xiě."
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
#: ports/stm32f4/common-hal/displayio/ParallelBus.c
#: ports/stm/common-hal/displayio/ParallelBus.c
msgid "ParallelBus not yet supported"
msgstr "Shàng bù zhīchí ParallelBus"
@ -1169,11 +1177,11 @@ msgstr "Quánxiàn bèi jùjué"
#: ports/cxd56/common-hal/analogio/AnalogIn.c
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
#: ports/nrf/common-hal/analogio/AnalogIn.c
#: ports/stm32f4/common-hal/analogio/AnalogIn.c
#: ports/stm/common-hal/analogio/AnalogIn.c
msgid "Pin does not have ADC capabilities"
msgstr "Pin méiyǒu ADC nénglì"
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "Pin number already reserved by EXTI"
msgstr ""
@ -1197,15 +1205,15 @@ msgstr "Àn xià rènhé jiàn jìnrù REPL. Shǐyòng CTRL-D chóngxīn jiāzà
msgid "Pull not used when direction is output."
msgstr "Fāngxiàng shūchū shí Pull méiyǒu shǐyòng."
#: ports/stm32f4/common-hal/pulseio/PulseOut.c
#: ports/stm/common-hal/pulseio/PulseOut.c
msgid "PulseOut not supported on this chip"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr "RNG qǔxiāo chūshǐhuà cuòwù"
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "RNG Init Error"
msgstr "RNG chūshǐhuà cuòwù"
@ -1223,11 +1231,11 @@ msgid "RTC is not supported on this board"
msgstr "Cǐ bǎn bù zhīchí RTC"
#: ports/atmel-samd/common-hal/busio/UART.c ports/cxd56/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm32f4/common-hal/busio/UART.c
#: ports/nrf/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
msgid "RTS/CTS/RS485 Not yet supported on this device"
msgstr ""
#: ports/stm32f4/common-hal/os/__init__.c
#: ports/stm/common-hal/os/__init__.c
msgid "Random number generation error"
msgstr "Suíjī shù shēngchéng cuòwù"
@ -1267,11 +1275,11 @@ msgstr "Zài ānquán móshì xià yùnxíng! Bù yùnxíng yǐ bǎocún de dài
msgid "SDA or SCL needs a pull up"
msgstr "SDA huò SCL xūyào lādòng"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Init Error"
msgstr "SPI chūshǐhuà cuòwù"
#: ports/stm32f4/common-hal/busio/SPI.c
#: ports/stm/common-hal/busio/SPI.c
msgid "SPI Re-initialization error"
msgstr "SPI chóngxīn chūshǐhuà cuòwù"
@ -1322,11 +1330,11 @@ msgstr "Duīzhàn dàxiǎo bìxū zhìshǎo 256"
msgid "Stream missing readinto() or write() method."
msgstr "Liú quēshǎo readinto() huò write() fāngfǎ."
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "Supply at least one UART pin"
msgstr "Dìngyì zhìshǎo yīgè UART yǐn jiǎo"
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Temperature read timed out"
msgstr ""
@ -1410,23 +1418,23 @@ msgstr "Traceback (Zuìjìn yīcì dǎ diànhuà):\n"
msgid "Tuple or struct_time argument required"
msgstr "Xūyào Tuple huò struct_time cānshù"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Buffer allocation error"
msgstr "UART huǎnchōng qū fēnpèi cuòwù"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART De-init error"
msgstr "UART qǔxiāo chūshǐhuà cuòwù"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Init Error"
msgstr "UART chūshǐhuà cuòwù"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART Re-init error"
msgstr "UART chóngxīn chūshǐhuà cuòwù"
#: ports/stm32f4/common-hal/busio/UART.c
#: ports/stm/common-hal/busio/UART.c
msgid "UART write error"
msgstr "UART xiě cuòwù"
@ -1547,7 +1555,7 @@ msgstr "Zhí chángdù > zuìdà chángdù"
msgid "Viper functions don't currently support more than 4 arguments"
msgstr "Viper hánshù mùqián bù zhīchí chāoguò 4 gè cānshù"
#: ports/stm32f4/common-hal/microcontroller/Processor.c
#: ports/stm/common-hal/microcontroller/Processor.c
msgid "Voltage read timed out"
msgstr ""
@ -1616,6 +1624,10 @@ msgstr "dìzhǐ chāochū biānjiè"
msgid "addresses is empty"
msgstr "dìzhǐ wèi kōng"
#: extmod/ulab/code/vectorise.c
msgid "arctan2 is implemented for scalars and ndarrays only"
msgstr ""
#: py/modbuiltins.c
msgid "arg is an empty sequence"
msgstr "cānshù shì yīgè kōng de xùliè"
@ -2033,10 +2045,6 @@ msgstr "kòngxián"
msgid "empty heap"
msgstr "kōng yīn yīnxiào"
#: extmod/ulab/code/ndarray.c
msgid "empty index range"
msgstr ""
#: py/objstr.c
msgid "empty separator"
msgstr "kōng fēngé fú"
@ -2127,6 +2135,10 @@ msgstr "wénjiàn xìtǒng bìxū tígōng guà zài fāngfǎ"
msgid "first argument must be an iterable"
msgstr ""
#: extmod/ulab/code/vectorise.c
msgid "first argument must be an ndarray"
msgstr ""
#: py/objtype.c
msgid "first argument to super() must be type"
msgstr "chāojí () de dì yī gè cānshù bìxū shì lèixíng"
@ -2176,6 +2188,10 @@ msgstr "hánshù yùjì zuìduō %d cānshù, huòdé %d"
msgid "function got multiple values for argument '%q'"
msgstr "hánshù huòdé cānshù '%q' de duōchóng zhí"
#: extmod/ulab/code/linalg.c
msgid "function is defined for ndarrays only"
msgstr ""
#: py/argcheck.c
#, c-format
msgid "function missing %d required positional arguments"
@ -2246,7 +2262,7 @@ msgstr ""
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c py/obj.c
#: ports/stm/common-hal/pulseio/PulseIn.c py/obj.c
msgid "index out of range"
msgstr "suǒyǐn chāochū fànwéi"
@ -2445,6 +2461,10 @@ msgstr "shùxué yù cuòwù"
msgid "matrix dimensions do not match"
msgstr ""
#: extmod/ulab/code/linalg.c
msgid "matrix is not positive definite"
msgstr ""
#: ports/nrf/common-hal/_bleio/Characteristic.c
#: ports/nrf/common-hal/_bleio/Descriptor.c
#, c-format
@ -2674,7 +2694,7 @@ msgstr "jǐn zhīchí bù zhǎng = 1(jí wú) de qiēpiàn"
msgid "only square matrices can be inverted"
msgstr ""
#: extmod/ulab/code/ndarray.c
#: extmod/ulab/code/ndarray.c extmod/ulab/code/vectorise.c
msgid "operands could not be broadcast together"
msgstr ""
@ -2734,7 +2754,7 @@ msgstr "pixel_shader bìxū shì displayio.Palette huò displayio.ColorConverter
#: ports/atmel-samd/common-hal/pulseio/PulseIn.c
#: ports/cxd56/common-hal/pulseio/PulseIn.c
#: ports/nrf/common-hal/pulseio/PulseIn.c
#: ports/stm32f4/common-hal/pulseio/PulseIn.c
#: ports/stm/common-hal/pulseio/PulseIn.c
msgid "pop from an empty PulseIn"
msgstr "cóng kōng de PulseIn dànchū dànchū"

View File

@ -0,0 +1,37 @@
/*
* 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,28 @@
#define MICROPY_HW_BOARD_NAME "8086 Commander"
#define MICROPY_HW_MCU_NAME "samd21g18"
#define BOARD_HAS_CRYSTAL 0
#define CALIBRATE_CRYSTALLESS 1
#define MICROPY_HW_LED_STATUS (&pin_PA06)
#define MICROPY_PORT_A (0)
#define MICROPY_PORT_B (0)
#define MICROPY_PORT_C (0)
// USB is always used internally so skip the pin objects for it.
#define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1
#define DEFAULT_I2C_BUS_SCL (&pin_PA23)
#define DEFAULT_I2C_BUS_SDA (&pin_PA22)
#define SPI_FLASH_BAUDRATE (8000000)
#define SPI_FLASH_MISO_PIN &pin_PA19
#define SPI_FLASH_MOSI_PIN &pin_PA16
#define SPI_FLASH_SCK_PIN &pin_PA17
#define SPI_FLASH_CS_PIN &pin_PA18
#define DEFAULT_UART_BUS_RX (&pin_PA11)
#define DEFAULT_UART_BUS_TX (&pin_PA10)

View File

@ -0,0 +1,26 @@
USB_VID = 0x3171
USB_PID = 0x0101
USB_PRODUCT = "Commander"
USB_MANUFACTURER = "8086 Consultancy"
USB_DEVICES= "CDC,MSC,HID"
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
SPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = "W25Q128JV_SQ"
LONGINT_IMPL = NONE
CIRCUITPY_SMALL_BUILD = 1
SUPEROPT_GC = 0
CFLAGS_INLINE_LIMIT = 60
# Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ADXL34x

View File

@ -0,0 +1,63 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
// Serial
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA11) }, // RX
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA10) }, // TX
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA10) },
// Buttons
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA20) }, // 1
{ MP_ROM_QSTR(MP_QSTR_B1), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA09) }, // 2
{ MP_ROM_QSTR(MP_QSTR_B2), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PB09) }, // 3
{ MP_ROM_QSTR(MP_QSTR_B3), MP_ROM_PTR(&pin_PB09) },
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PA02) }, // 4
{ MP_ROM_QSTR(MP_QSTR_B4), MP_ROM_PTR(&pin_PA02) },
// SD Card / SPI
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA13) }, // CS
{ MP_ROM_QSTR(MP_QSTR_CS), MP_ROM_PTR(&pin_PA13) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PB10) }, // MOSI
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB10) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PB11) }, // SCK
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB11) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA12) }, // MISO
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA12) },
// LED
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA15) }, // 1A
{ MP_ROM_QSTR(MP_QSTR_LED1A), MP_ROM_PTR(&pin_PA15) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA14) }, // 1B
{ MP_ROM_QSTR(MP_QSTR_LED1B), MP_ROM_PTR(&pin_PA14) },
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA08) }, // 2A
{ MP_ROM_QSTR(MP_QSTR_LED2A), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA07) }, // 2B
{ MP_ROM_QSTR(MP_QSTR_LED2B), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_PA06) }, // ALERT
{ MP_ROM_QSTR(MP_QSTR_ALERT), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_PA05) }, // 3A
{ MP_ROM_QSTR(MP_QSTR_LED3A), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_PA04) }, // 3B
{ MP_ROM_QSTR(MP_QSTR_LED3B), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_PB02) }, // 4A
{ MP_ROM_QSTR(MP_QSTR_LED4A), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_PB03) }, // 4B
{ MP_ROM_QSTR(MP_QSTR_LED4B), MP_ROM_PTR(&pin_PB03) },
// Accelerometer / I2C
{ MP_ROM_QSTR(MP_QSTR_D19), MP_ROM_PTR(&pin_PA23) }, // SCL
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_D20), MP_ROM_PTR(&pin_PA22) }, // SDA
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA22) },
// Comm objects
{ 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

@ -0,0 +1,48 @@
/*
* 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"
#include "mpconfigboard.h"
void board_init(void)
{
// struct port_config pin_conf;
// port_get_config_defaults(&pin_conf);
//
// pin_conf.direction = PORT_PIN_DIR_OUTPUT;
// port_pin_set_config(MICROPY_HW_LED_TX, &pin_conf);
// port_pin_set_output_level(MICROPY_HW_LED_TX, true);
//
// port_pin_set_config(MICROPY_HW_LED_RX, &pin_conf);
// port_pin_set_output_level(MICROPY_HW_LED_RX, true);
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -0,0 +1,35 @@
#define MICROPY_HW_BOARD_NAME "BDMICRO Vina M0"
#define MICROPY_HW_MCU_NAME "samd21g18"
#define MICROPY_HW_LED_STATUS (&pin_PA28)
#define MICROPY_HW_LED_TX &pin_PA27
#define MICROPY_HW_LED_RX &pin_PA31
// Clock rates are off: Salae reads 12MHz which is the limit even though we set it to the safer 8MHz.
#define SPI_FLASH_BAUDRATE (8000000)
#define SPI_FLASH_MOSI_PIN &pin_PB22
#define SPI_FLASH_MISO_PIN &pin_PB03
#define SPI_FLASH_SCK_PIN &pin_PB23
#define SPI_FLASH_CS_PIN &pin_PA13
// 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 0
#define DEFAULT_I2C_BUS_SCL (&pin_PA23)
#define DEFAULT_I2C_BUS_SDA (&pin_PA22)
#define DEFAULT_SPI_BUS_SCK (&pin_PB11)
#define DEFAULT_SPI_BUS_MOSI (&pin_PB10)
#define DEFAULT_SPI_BUS_MISO (&pin_PA12)
#define DEFAULT_UART_BUS_RX (&pin_PA11)
#define DEFAULT_UART_BUS_TX (&pin_PA10)
// USB is always used internally so skip the pin objects for it.
#define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1

View File

@ -0,0 +1,18 @@
USB_VID = 0x31e2
USB_PID = 0x2002
USB_PRODUCT = "Vina M0"
USB_MANUFACTURER = "BDMICRO LLC"
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
SPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = "MX25L51245G"
LONGINT_IMPL = MPZ
CIRCUITPY_BITBANGIO = 0
CIRCUITPY_I2CSLAVE = 0
CFLAGS_INLINE_LIMIT = 60
SUPEROPT_GC = 0

View File

@ -0,0 +1,39 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_RTC_INT), MP_ROM_PTR(&pin_PA00) },
{ MP_ROM_QSTR(MP_QSTR_RTC_CLK), MP_ROM_PTR(&pin_PA01) },
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PB08) },
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PB09) },
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA14) },
{ MP_ROM_QSTR(MP_QSTR_RTC_TS), MP_ROM_PTR(&pin_PA14) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PA15) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA19) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA17) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_PGM_LED), MP_ROM_PTR(&pin_PA28) },
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PB11) },
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB10) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA12) },
{ 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

@ -77,7 +77,9 @@ void board_init(void) {
&pin_PA28, // Command or data
&pin_PA01, // Chip select
&pin_PA27, // Reset
12000000);
12000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -106,7 +108,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -58,7 +58,9 @@ void board_init(void) {
&pin_PB31, // TFT_DC Command or data
&pin_PA27, // TFT_CS Chip select
&pin_PB30, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -87,7 +89,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -16,4 +16,4 @@ CIRCUITPY_NETWORK = 0
CIRCUITPY_PS2IO = 0
CIRCUITPY_AUDIOMP3 = 0
MICROPY_PY_ULAB = 0
CIRCUITPY_ULAB = 0

View File

@ -59,7 +59,9 @@ void board_init(void) {
&pin_PA07, // TFT_DC Command or data
&pin_PA06, // TFT_CS Chip select
&pin_PA04, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -88,7 +90,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -64,7 +64,9 @@ void board_init(void) {
&pin_PB05, // EPD_DC Command or data
&pin_PB07, // EPD_CS Chip select
&pin_PA00, // EPD_RST Reset
1000000);
1000000, // Baudrate
0, // Polarity
0); // Phase
displayio_epaperdisplay_obj_t* display = &displays[0].epaper_display;
display->base.type = &displayio_epaperdisplay_type;

View File

@ -106,7 +106,9 @@ void board_init(void) {
&pin_PA16, // TFT_DC Command or data
&pin_PA11, // TFT_CS Chip select
&pin_PA17, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
uint32_t cfg0 = lookupCfg(CFG_DISPLAY_CFG0, 0x000000);
uint32_t offX = (cfg0 >> 8) & 0xff;
@ -138,7 +140,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
false, // auto_refresh
20); // native_frames_per_second
20, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -81,7 +81,9 @@ void board_init(void) {
&pin_PB05, // TFT_DC Command or data
&pin_PB07, // TFT_CS Chip select
&pin_PA00, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -110,7 +112,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -59,7 +59,9 @@ void board_init(void) {
&pin_PB05, // TFT_DC Command or data
&pin_PB06, // TFT_CS Chip select
&pin_PB07, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -88,7 +90,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -81,7 +81,9 @@ void board_init(void) {
&pin_PB05, // TFT_DC Command or data
&pin_PB12, // TFT_CS Chip select
&pin_PA00, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -110,7 +112,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -59,7 +59,9 @@ void board_init(void) {
&pin_PA00, // TFT_DC Command or data
&pin_PB15, // TFT_CS Chip select
&pin_PB05, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -88,7 +90,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -98,7 +98,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -115,7 +115,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -0,0 +1,39 @@
/*
* 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"
#include "mpconfigboard.h"
#include "hal/include/hal_gpio.h"
void board_init(void) {
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -0,0 +1,35 @@
#define MICROPY_HW_BOARD_NAME "UARTLogger II"
#define MICROPY_HW_MCU_NAME "samd51j19"
#define CIRCUITPY_MCU_FAMILY samd51
#define MICROPY_HW_LED_TX (&pin_PB07)
#define MICROPY_HW_LED_RX (&pin_PB06)
#define MICROPY_HW_LED_STATUS (&pin_PA16)
#define MICROPY_HW_NEOPIXEL (&pin_PB22)
// These are pins not to reset.
// QSPI Data pins
#define MICROPY_PORT_A (PORT_PA08 | PORT_PA09 | PORT_PA10 | PORT_PA11)
// QSPI CS, QSPI SCK and NeoPixel pin
#define MICROPY_PORT_B (PORT_PB11 | PORT_PB10 | PORT_PB22)
#define MICROPY_PORT_C (0)
#define MICROPY_PORT_D (0)
#define BOARD_HAS_CRYSTAL 1
#define DEFAULT_I2C_BUS_SCL (&pin_PB03)
#define DEFAULT_I2C_BUS_SDA (&pin_PB02)
#define DEFAULT_SPI_BUS_SCK (&pin_PA13)
#define DEFAULT_SPI_BUS_MOSI (&pin_PA12)
#define DEFAULT_SPI_BUS_MISO (&pin_PA14)
#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

View File

@ -0,0 +1,12 @@
USB_VID = 0x239A
USB_PID = 0x8096
USB_PRODUCT = "UARTLogger II"
USB_MANUFACTURER = "Szymon Klause"
CHIP_VARIANT = SAMD51J19A
CHIP_FAMILY = samd51
QSPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = "W25Q32JV_IQ"
LONGINT_IMPL = MPZ

View File

@ -0,0 +1,55 @@
#include "shared-bindings/board/__init__.h"
// This mapping only includes functional names because pins broken
// out on connectors are labeled with their MCU name available from
// microcontroller.pin.
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA02) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA05) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PA06) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PB00) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PB08) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PB09) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA23) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA23) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA22) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA22) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PB17) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PB16) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PB13) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PB14) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PB15) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PB12) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA21) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA20) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA19) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA17) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_D13),MP_ROM_PTR(&pin_PA16) },
// ESP control
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_CS), MP_ROM_PTR(&pin_PA15) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_GPIO0), MP_ROM_PTR(&pin_PB01) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_BUSY), MP_ROM_PTR(&pin_PB04) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RESET), MP_ROM_PTR(&pin_PB05) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RTS), MP_ROM_PTR(&pin_PB23) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_TX), MP_ROM_PTR(&pin_PA04) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ESP_RX), MP_ROM_PTR(&pin_PA07) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_SDA),MP_ROM_PTR(&pin_PB02) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_SCL),MP_ROM_PTR(&pin_PB03) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL),MP_ROM_PTR(&pin_PB22) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_SCK),MP_ROM_PTR(&pin_PA13) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_MOSI),MP_ROM_PTR(&pin_PA12) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_MISO),MP_ROM_PTR(&pin_PA14) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_LED_RX),MP_ROM_PTR(&pin_PB06) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_LED_TX),MP_ROM_PTR(&pin_PB07) },
{ 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

@ -77,7 +77,9 @@ void board_init(void) {
&pin_PA09, // Command or data
&pin_PA08, // Chip select
NULL, // Reset
24000000);
24000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -106,7 +108,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data as commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

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,20 @@
#define MICROPY_HW_BOARD_NAME "Winterbloom Big Honking Button"
#define MICROPY_HW_MCU_NAME "samd21g18"
#define MICROPY_HW_LED_STATUS (&pin_PA17)
#define SPI_FLASH_MOSI_PIN &pin_PB22
#define SPI_FLASH_MISO_PIN &pin_PB03
#define SPI_FLASH_SCK_PIN &pin_PB23
#define SPI_FLASH_CS_PIN &pin_PA27
// These are pins not to reset.
#define MICROPY_PORT_A (PORT_PA00 | PORT_PA01)
#define MICROPY_PORT_B ( 0 )
#define MICROPY_PORT_C ( 0 )
#define BOARD_HAS_CRYSTAL 0
// USB is always used internally so skip the pin objects for it.
#define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1

View File

@ -0,0 +1,32 @@
# Adafruit
USB_VID = 0x239A
# Allocated for Big Honking Button at https://github.com/adafruit/circuitpython/issues/2715
USB_PID = 0x6005
USB_PRODUCT = "Big Honking Button"
USB_MANUFACTURER = "Winterbloom"
USB_DEVICES = "CDC,MSC"
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
SPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = "GD25Q16C"
LONGINT_IMPL = MPZ
CIRCUITPY_AUDIOIO = 1
# Disable modules that are unusable on this special-purpose board.
CIRCUITPY_BITBANGIO = 0
CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CSLAVE = 0
CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_BLEIO = 0
CIRCUITPY_DISPLAYIO = 0
CIRCUITPY_GAMEPAD = 0
CIRCUITPY_I2CSLAVE = 0
CIRCUITPY_NETWORK = 0
CIRCUITPY_TOUCHIO = 0
CIRCUITPY_PS2IO = 0
CIRCUITPY_USB_HID = 0
CIRCUITPY_RTC = 0

View File

@ -0,0 +1,10 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_HONK_OUT), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_GATE_OUT), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_GATE_IN), MP_ROM_PTR(&pin_PA14) },
{ MP_ROM_QSTR(MP_QSTR_PITCH_IN), MP_ROM_PTR(&pin_PB08) },
};
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -12,8 +12,8 @@ CHIP_VARIANT = SAMD51J20A
CHIP_FAMILY = samd51
QSPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICE_COUNT = 1
EXTERNAL_FLASH_DEVICES = W25Q32JV_IQ
EXTERNAL_FLASH_DEVICE_COUNT = 2
EXTERNAL_FLASH_DEVICES = "GD25Q64C, W25Q32JV_IQ"
LONGINT_IMPL = MPZ
# Disable modules that are unusable on this special-purpose board.

View File

@ -40,7 +40,7 @@ endif
# SAMD21 needs separate endpoint pairs for MSC BULK IN and BULK OUT, otherwise it's erratic.
USB_MSC_EP_NUM_OUT = 1
MICROPY_PY_ULAB = 0
CIRCUITPY_ULAB = 0
endif # samd21
@ -64,9 +64,9 @@ ifndef CIRCUITPY_SAMD
CIRCUITPY_SAMD = 1
endif
ifndef MICROPY_PY_ULAB
ifndef CIRCUITPY_ULAB
ifneq ($(CIRCUITPY_SMALL_BUILD),1)
MICROPY_PY_ULAB = 1
CIRCUITPY_ULAB = 1
endif
endif

200
ports/litex/Makefile Normal file
View File

@ -0,0 +1,200 @@
# 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.
# Select the board to build for.
ifeq ($(BOARD),)
$(error You must provide a BOARD parameter)
else
ifeq ($(wildcard boards/$(BOARD)/.),)
$(error Invalid BOARD specified)
endif
endif
# If the build directory is not given, make it reflect the board name.
BUILD ?= build-$(BOARD)
include ../../py/mkenv.mk
# Board-specific
include boards/$(BOARD)/mpconfigboard.mk
# Port-specific
include mpconfigport.mk
# CircuitPython-specific
include $(TOP)/py/circuitpy_mpconfig.mk
# qstr definitions (must come before including py.mk)
QSTR_DEFS = qstrdefsport.h
# include py core make definitions
include $(TOP)/py/py.mk
include $(TOP)/supervisor/supervisor.mk
# Include make rules and variables common across CircuitPython builds.
include $(TOP)/py/circuitpy_defns.mk
CROSS_COMPILE = riscv64-unknown-elf-
#######################################
# CFLAGS
#######################################
INC += -I.
INC += -I../..
INC += -I$(BUILD)
INC += -I$(BUILD)/genhdr
INC += -I./boards
INC += -I./boards/$(BOARD)
INC += -I./peripherals
INC += -I../../lib/mp-readline
INC += -I../../lib/tinyusb/src
INC += -I../../supervisor/shared/usb
#Debugging/Optimization
ifeq ($(DEBUG), 1)
CFLAGS += -ggdb
# You may want to enable these flags to make setting breakpoints easier.
CFLAGS += -fno-inline -fno-ipa-sra
else
CFLAGS += -Os -DNDEBUG -ggdb3
# TODO: Test with -flto
### CFLAGS += -flto
endif
CFLAGS += $(INC) -Werror -Wall -std=gnu11 -nostdlib $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT)
# TODO: check this
CFLAGS += -D__START=main -DFOMU
LD_FILE := boards/$(BOARD)/$(BOARD)-spi.ld
LDFLAGS = $(CFLAGS) -fshort-enums -Wl,-nostdlib -Wl,-T,$(LD_FILE) -Wl,-Map=$@.map -Wl,-cref -Wl,-gc-sections -specs=nano.specs -Wl,-melf32lriscv
LIBS := -lgcc -lc
LDFLAGS += -flto -ffreestanding -nostartfiles -Wl,--gc-section -Wl,-Bstatic -Wl,-melf32lriscv -nostartfiles \
-Wl,--no-warn-mismatch \
-Wl,--build-id=none
# Use toolchain libm if we're not using our own.
ifndef INTERNAL_LIBM
LIBS += -lm
endif
# TinyUSB defines
CFLAGS += -DCFG_TUSB_MCU=OPT_MCU_VALENTYUSB_EPTRI -DCFG_TUD_CDC_RX_BUFSIZE=1024 -DCFG_TUD_CDC_TX_BUFSIZE=1024 -DCFG_TUD_MSC_BUFSIZE=4096 -DCFG_TUD_MIDI_RX_BUFSIZE=128 -DCFG_TUD_MIDI_TX_BUFSIZE=128
######################################
# source
######################################
SRC_C += \
background.c \
fatfs_port.c \
mphalport.c \
tick.c \
boards/$(BOARD)/board.c \
boards/$(BOARD)/pins.c \
lib/libc/string0.c \
lib/mp-readline/readline.c \
lib/oofatfs/ff.c \
lib/oofatfs/option/ccsbcs.c \
lib/timeutils/timeutils.c \
lib/utils/buffer_helper.c \
lib/utils/context_manager_helpers.c \
lib/utils/interrupt_char.c \
lib/utils/pyexec.c \
lib/utils/stdout_helpers.c \
lib/utils/sys_stdio_mphal.c \
supervisor/shared/memory.c
ifneq ($(USB),FALSE)
SRC_C += lib/tinyusb/src/portable/valentyusb/eptri/dcd_eptri.c
endif
SRC_S = \
crt0-vexriscv.S
SRC_COMMON_HAL_EXPANDED = $(addprefix shared-bindings/, $(SRC_COMMON_HAL)) \
$(addprefix shared-bindings/, $(SRC_BINDINGS_ENUMS)) \
$(addprefix common-hal/, $(SRC_COMMON_HAL))
SRC_SHARED_MODULE_EXPANDED = $(addprefix shared-bindings/, $(SRC_SHARED_MODULE)) \
$(addprefix shared-module/, $(SRC_SHARED_MODULE)) \
$(addprefix shared-module/, $(SRC_SHARED_MODULE_INTERNAL))
ifneq ($(FROZEN_MPY_DIR),)
FROZEN_MPY_PY_FILES := $(shell find -L $(FROZEN_MPY_DIR) -type f -name '*.py')
FROZEN_MPY_MPY_FILES := $(addprefix $(BUILD)/,$(FROZEN_MPY_PY_FILES:.py=.mpy))
endif
OBJ += $(PY_O) $(SUPERVISOR_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_COMMON_HAL_EXPANDED:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_SHARED_MODULE_EXPANDED:.c=.o))
ifeq ($(INTERNAL_LIBM),1)
OBJ += $(addprefix $(BUILD)/, $(SRC_LIBM:.c=.o))
endif
OBJ += $(addprefix $(BUILD)/, $(SRC_S:.S=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_MOD:.c=.o))
$(BUILD)/$(FATFS_DIR)/ff.o: COPT += -Os
$(filter $(PY_BUILD)/../extmod/vfs_fat_%.o, $(PY_O)): COPT += -Os
# List of sources for qstr extraction
SRC_QSTR += $(SRC_C) $(SRC_SUPERVISOR) $(SRC_MOD) $(SRC_COMMON_HAL_EXPANDED) $(SRC_SHARED_MODULE_EXPANDED)
# Sources that only hold QSTRs after pre-processing.
SRC_QSTR_PREPROCESSOR +=
all: $(BUILD)/firmware.bin $(BUILD)/firmware.dfu
$(BUILD)/firmware.elf: $(OBJ)
$(STEPECHO) "LINK $@"
$(Q)$(CC) -o $@ $(LDFLAGS) $^ -Wl,--start-group $(LIBS) -Wl,--end-group
$(Q)$(SIZE) $@ | $(PYTHON3) $(TOP)/tools/build_memory_info.py $(LD_FILE)
$(BUILD)/firmware.bin: $(BUILD)/firmware.elf
$(STEPECHO) "Create $@"
$(Q)$(OBJCOPY) -O binary $^ $@
# $(Q)$(OBJCOPY) -O binary -j .vectors -j .text -j .data $^ $@
$(BUILD)/firmware.hex: $(BUILD)/firmware.elf
$(STEPECHO) "Create $@"
$(Q)$(OBJCOPY) -O ihex $^ $@
# $(Q)$(OBJCOPY) -O ihex -j .vectors -j .text -j .data $^ $@
$(BUILD)/firmware.dfu: $(BUILD)/firmware.bin
$(ECHO) "Create $@"
$(PYTHON3) $(TOP)/tools/dfu.py -b $^ -D 0x1209:0x5bf0 "$(BUILD)/firmware.dfu"
include $(TOP)/py/mkrules.mk
# Print out the value of a make variable.
# https://stackoverflow.com/questions/16467718/how-to-print-out-a-variable-in-makefile
print-%:
@echo $* = $($*)

60
ports/litex/background.c Normal file
View File

@ -0,0 +1,60 @@
/*
* 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 "py/runtime.h"
#include "supervisor/filesystem.h"
#include "supervisor/usb.h"
#include "supervisor/shared/stack.h"
#if CIRCUITPY_DISPLAYIO
#include "shared-module/displayio/__init__.h"
#endif
static bool running_background_tasks = false;
void background_tasks_reset(void) {
running_background_tasks = false;
}
void run_background_tasks(void) {
// Don't call ourselves recursively.
if (running_background_tasks) {
return;
}
running_background_tasks = true;
filesystem_background();
#if USB_AVAILABLE
usb_background();
#endif
#if CIRCUITPY_DISPLAYIO
displayio_background();
#endif
running_background_tasks = false;
assert_heap_ok();
}

35
ports/litex/background.h Normal file
View File

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

View File

@ -0,0 +1,45 @@
/*
* 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.
*/
// This file defines board specific functions.
#ifndef MICROPY_INCLUDED_LITEX_BOARDS_BOARD_H
#define MICROPY_INCLUDED_LITEX_BOARDS_BOARD_H
#include <stdbool.h>
// Initializes board related state once on start up.
void board_init(void);
// Returns true if the user initiates safe mode in a board specific way.
// Also add BOARD_USER_SAFE_MODE in mpconfigboard.h to explain the board specific
// way.
bool board_requests_safe_mode(void);
// Reset the state of off MCU components such as neopixels.
void reset_board(void);
#endif // MICROPY_INCLUDED_LITEX_BOARDS_BOARD_H

View File

@ -0,0 +1,75 @@
/*
* 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"
#include "mpconfigboard.h"
#include "csr.h"
// ICE40 LED Driver hard macro.
// See http://www.latticesemi.com/-/media/LatticeSemi/Documents/ApplicationNotes/IK/ICE40LEDDriverUsageGuide.ashx?document_id=50668
enum led_registers {
LEDDCR0 = 8,
LEDDBR = 9,
LEDDONR = 10,
LEDDOFR = 11,
LEDDBCRR = 5,
LEDDBCFR = 6,
LEDDPWRR = 1,
LEDDPWRG = 2,
LEDDPWRB = 3,
};
#define BREATHE_ENABLE (1 << 7)
#define BREATHE_EDGE_ON (0 << 6)
#define BREATHE_EDGE_BOTH (1 << 6)
#define BREATHE_MODE_MODULATE (1 << 5)
#define BREATHE_RATE(x) ((x & 7) << 0)
// Write a value into the LEDDA_IP register.
static void ledda_write(uint8_t value, uint8_t addr) {
rgb_addr_write(addr);
rgb_dat_write(value);
}
void board_init(void) {
uint8_t onrate = 15;
uint8_t offrate = 1;
ledda_write(BREATHE_ENABLE | BREATHE_MODE_MODULATE | BREATHE_RATE(onrate), LEDDBCRR);
ledda_write(BREATHE_ENABLE | BREATHE_MODE_MODULATE | BREATHE_RATE(offrate), LEDDBCFR);
ledda_write(123, LEDDPWRR); // Red
ledda_write(3, LEDDPWRG); // Green
ledda_write(98, LEDDPWRB); // Blue
}
bool board_requests_safe_mode(void) {
return false;
}
void reset_board(void) {
}

View File

@ -0,0 +1,647 @@
//--------------------------------------------------------------------------------
// Auto-generated by Migen (f4fcd10) & LiteX (de205d4a) on 2019-11-25 14:57:34
//--------------------------------------------------------------------------------
#include <generated/soc.h>
#ifndef __GENERATED_CSR_H
#define __GENERATED_CSR_H
#include <stdint.h>
#ifdef CSR_ACCESSORS_DEFINED
extern void csr_writeb(uint8_t value, unsigned long addr);
extern uint8_t csr_readb(unsigned long addr);
extern void csr_writew(uint16_t value, unsigned long addr);
extern uint16_t csr_readw(unsigned long addr);
extern void csr_writel(uint32_t value, unsigned long addr);
extern uint32_t csr_readl(unsigned long addr);
#else /* ! CSR_ACCESSORS_DEFINED */
#include <hw/common.h>
#endif /* ! CSR_ACCESSORS_DEFINED */
/* ctrl */
#define CSR_CTRL_BASE 0xe0000000L
#define CSR_CTRL_RESET_ADDR 0xe0000000L
#define CSR_CTRL_RESET_SIZE 1
static inline unsigned char ctrl_reset_read(void) {
unsigned char r = csr_readl(0xe0000000L);
return r;
}
static inline void ctrl_reset_write(unsigned char value) {
csr_writel(value, 0xe0000000L);
}
#define CSR_CTRL_SCRATCH_ADDR 0xe0000004L
#define CSR_CTRL_SCRATCH_SIZE 4
static inline unsigned int ctrl_scratch_read(void) {
unsigned int r = csr_readl(0xe0000004L);
r <<= 8;
r |= csr_readl(0xe0000008L);
r <<= 8;
r |= csr_readl(0xe000000cL);
r <<= 8;
r |= csr_readl(0xe0000010L);
return r;
}
static inline void ctrl_scratch_write(unsigned int value) {
csr_writel(value >> 24, 0xe0000004L);
csr_writel(value >> 16, 0xe0000008L);
csr_writel(value >> 8, 0xe000000cL);
csr_writel(value, 0xe0000010L);
}
#define CSR_CTRL_BUS_ERRORS_ADDR 0xe0000014L
#define CSR_CTRL_BUS_ERRORS_SIZE 4
static inline unsigned int ctrl_bus_errors_read(void) {
unsigned int r = csr_readl(0xe0000014L);
r <<= 8;
r |= csr_readl(0xe0000018L);
r <<= 8;
r |= csr_readl(0xe000001cL);
r <<= 8;
r |= csr_readl(0xe0000020L);
return r;
}
/* lxspi */
#define CSR_LXSPI_BASE 0xe0007800L
#define CSR_LXSPI_BITBANG_ADDR 0xe0007800L
#define CSR_LXSPI_BITBANG_SIZE 1
static inline unsigned char lxspi_bitbang_read(void) {
unsigned char r = csr_readl(0xe0007800L);
return r;
}
static inline void lxspi_bitbang_write(unsigned char value) {
csr_writel(value, 0xe0007800L);
}
#define CSR_LXSPI_BITBANG_MOSI_OFFSET 0
#define CSR_LXSPI_BITBANG_MOSI_SIZE 1
#define CSR_LXSPI_BITBANG_CLK_OFFSET 1
#define CSR_LXSPI_BITBANG_CLK_SIZE 1
#define CSR_LXSPI_BITBANG_CS_N_OFFSET 2
#define CSR_LXSPI_BITBANG_CS_N_SIZE 1
#define CSR_LXSPI_BITBANG_DIR_OFFSET 3
#define CSR_LXSPI_BITBANG_DIR_SIZE 1
#define CSR_LXSPI_MISO_ADDR 0xe0007804L
#define CSR_LXSPI_MISO_SIZE 1
static inline unsigned char lxspi_miso_read(void) {
unsigned char r = csr_readl(0xe0007804L);
return r;
}
#define CSR_LXSPI_BITBANG_EN_ADDR 0xe0007808L
#define CSR_LXSPI_BITBANG_EN_SIZE 1
static inline unsigned char lxspi_bitbang_en_read(void) {
unsigned char r = csr_readl(0xe0007808L);
return r;
}
static inline void lxspi_bitbang_en_write(unsigned char value) {
csr_writel(value, 0xe0007808L);
}
/* messible */
#define CSR_MESSIBLE_BASE 0xe0008000L
#define CSR_MESSIBLE_IN_ADDR 0xe0008000L
#define CSR_MESSIBLE_IN_SIZE 1
static inline unsigned char messible_in_read(void) {
unsigned char r = csr_readl(0xe0008000L);
return r;
}
static inline void messible_in_write(unsigned char value) {
csr_writel(value, 0xe0008000L);
}
#define CSR_MESSIBLE_OUT_ADDR 0xe0008004L
#define CSR_MESSIBLE_OUT_SIZE 1
static inline unsigned char messible_out_read(void) {
unsigned char r = csr_readl(0xe0008004L);
return r;
}
#define CSR_MESSIBLE_STATUS_ADDR 0xe0008008L
#define CSR_MESSIBLE_STATUS_SIZE 1
static inline unsigned char messible_status_read(void) {
unsigned char r = csr_readl(0xe0008008L);
return r;
}
#define CSR_MESSIBLE_STATUS_FULL_OFFSET 0
#define CSR_MESSIBLE_STATUS_FULL_SIZE 1
#define CSR_MESSIBLE_STATUS_HAVE_OFFSET 1
#define CSR_MESSIBLE_STATUS_HAVE_SIZE 1
/* reboot */
#define CSR_REBOOT_BASE 0xe0006000L
#define CSR_REBOOT_CTRL_ADDR 0xe0006000L
#define CSR_REBOOT_CTRL_SIZE 1
static inline unsigned char reboot_ctrl_read(void) {
unsigned char r = csr_readl(0xe0006000L);
return r;
}
static inline void reboot_ctrl_write(unsigned char value) {
csr_writel(value, 0xe0006000L);
}
#define CSR_REBOOT_CTRL_IMAGE_OFFSET 0
#define CSR_REBOOT_CTRL_IMAGE_SIZE 2
#define CSR_REBOOT_CTRL_KEY_OFFSET 2
#define CSR_REBOOT_CTRL_KEY_SIZE 6
#define CSR_REBOOT_ADDR_ADDR 0xe0006004L
#define CSR_REBOOT_ADDR_SIZE 4
static inline unsigned int reboot_addr_read(void) {
unsigned int r = csr_readl(0xe0006004L);
r <<= 8;
r |= csr_readl(0xe0006008L);
r <<= 8;
r |= csr_readl(0xe000600cL);
r <<= 8;
r |= csr_readl(0xe0006010L);
return r;
}
static inline void reboot_addr_write(unsigned int value) {
csr_writel(value >> 24, 0xe0006004L);
csr_writel(value >> 16, 0xe0006008L);
csr_writel(value >> 8, 0xe000600cL);
csr_writel(value, 0xe0006010L);
}
/* rgb */
#define CSR_RGB_BASE 0xe0006800L
#define CSR_RGB_DAT_ADDR 0xe0006800L
#define CSR_RGB_DAT_SIZE 1
static inline unsigned char rgb_dat_read(void) {
unsigned char r = csr_readl(0xe0006800L);
return r;
}
static inline void rgb_dat_write(unsigned char value) {
csr_writel(value, 0xe0006800L);
}
#define CSR_RGB_ADDR_ADDR 0xe0006804L
#define CSR_RGB_ADDR_SIZE 1
static inline unsigned char rgb_addr_read(void) {
unsigned char r = csr_readl(0xe0006804L);
return r;
}
static inline void rgb_addr_write(unsigned char value) {
csr_writel(value, 0xe0006804L);
}
#define CSR_RGB_CTRL_ADDR 0xe0006808L
#define CSR_RGB_CTRL_SIZE 1
static inline unsigned char rgb_ctrl_read(void) {
unsigned char r = csr_readl(0xe0006808L);
return r;
}
static inline void rgb_ctrl_write(unsigned char value) {
csr_writel(value, 0xe0006808L);
}
#define CSR_RGB_CTRL_EXE_OFFSET 0
#define CSR_RGB_CTRL_EXE_SIZE 1
#define CSR_RGB_CTRL_CURREN_OFFSET 1
#define CSR_RGB_CTRL_CURREN_SIZE 1
#define CSR_RGB_CTRL_RGBLEDEN_OFFSET 2
#define CSR_RGB_CTRL_RGBLEDEN_SIZE 1
#define CSR_RGB_CTRL_RRAW_OFFSET 3
#define CSR_RGB_CTRL_RRAW_SIZE 1
#define CSR_RGB_CTRL_GRAW_OFFSET 4
#define CSR_RGB_CTRL_GRAW_SIZE 1
#define CSR_RGB_CTRL_BRAW_OFFSET 5
#define CSR_RGB_CTRL_BRAW_SIZE 1
#define CSR_RGB_RAW_ADDR 0xe000680cL
#define CSR_RGB_RAW_SIZE 1
static inline unsigned char rgb_raw_read(void) {
unsigned char r = csr_readl(0xe000680cL);
return r;
}
static inline void rgb_raw_write(unsigned char value) {
csr_writel(value, 0xe000680cL);
}
#define CSR_RGB_RAW_R_OFFSET 0
#define CSR_RGB_RAW_R_SIZE 1
#define CSR_RGB_RAW_G_OFFSET 1
#define CSR_RGB_RAW_G_SIZE 1
#define CSR_RGB_RAW_B_OFFSET 2
#define CSR_RGB_RAW_B_SIZE 1
/* timer0 */
#define CSR_TIMER0_BASE 0xe0002800L
#define CSR_TIMER0_LOAD_ADDR 0xe0002800L
#define CSR_TIMER0_LOAD_SIZE 4
static inline unsigned int timer0_load_read(void) {
unsigned int r = csr_readl(0xe0002800L);
r <<= 8;
r |= csr_readl(0xe0002804L);
r <<= 8;
r |= csr_readl(0xe0002808L);
r <<= 8;
r |= csr_readl(0xe000280cL);
return r;
}
static inline void timer0_load_write(unsigned int value) {
csr_writel(value >> 24, 0xe0002800L);
csr_writel(value >> 16, 0xe0002804L);
csr_writel(value >> 8, 0xe0002808L);
csr_writel(value, 0xe000280cL);
}
#define CSR_TIMER0_RELOAD_ADDR 0xe0002810L
#define CSR_TIMER0_RELOAD_SIZE 4
static inline unsigned int timer0_reload_read(void) {
unsigned int r = csr_readl(0xe0002810L);
r <<= 8;
r |= csr_readl(0xe0002814L);
r <<= 8;
r |= csr_readl(0xe0002818L);
r <<= 8;
r |= csr_readl(0xe000281cL);
return r;
}
static inline void timer0_reload_write(unsigned int value) {
csr_writel(value >> 24, 0xe0002810L);
csr_writel(value >> 16, 0xe0002814L);
csr_writel(value >> 8, 0xe0002818L);
csr_writel(value, 0xe000281cL);
}
#define CSR_TIMER0_EN_ADDR 0xe0002820L
#define CSR_TIMER0_EN_SIZE 1
static inline unsigned char timer0_en_read(void) {
unsigned char r = csr_readl(0xe0002820L);
return r;
}
static inline void timer0_en_write(unsigned char value) {
csr_writel(value, 0xe0002820L);
}
#define CSR_TIMER0_UPDATE_VALUE_ADDR 0xe0002824L
#define CSR_TIMER0_UPDATE_VALUE_SIZE 1
static inline unsigned char timer0_update_value_read(void) {
unsigned char r = csr_readl(0xe0002824L);
return r;
}
static inline void timer0_update_value_write(unsigned char value) {
csr_writel(value, 0xe0002824L);
}
#define CSR_TIMER0_VALUE_ADDR 0xe0002828L
#define CSR_TIMER0_VALUE_SIZE 4
static inline unsigned int timer0_value_read(void) {
unsigned int r = csr_readl(0xe0002828L);
r <<= 8;
r |= csr_readl(0xe000282cL);
r <<= 8;
r |= csr_readl(0xe0002830L);
r <<= 8;
r |= csr_readl(0xe0002834L);
return r;
}
#define CSR_TIMER0_EV_STATUS_ADDR 0xe0002838L
#define CSR_TIMER0_EV_STATUS_SIZE 1
static inline unsigned char timer0_ev_status_read(void) {
unsigned char r = csr_readl(0xe0002838L);
return r;
}
static inline void timer0_ev_status_write(unsigned char value) {
csr_writel(value, 0xe0002838L);
}
#define CSR_TIMER0_EV_PENDING_ADDR 0xe000283cL
#define CSR_TIMER0_EV_PENDING_SIZE 1
static inline unsigned char timer0_ev_pending_read(void) {
unsigned char r = csr_readl(0xe000283cL);
return r;
}
static inline void timer0_ev_pending_write(unsigned char value) {
csr_writel(value, 0xe000283cL);
}
#define CSR_TIMER0_EV_ENABLE_ADDR 0xe0002840L
#define CSR_TIMER0_EV_ENABLE_SIZE 1
static inline unsigned char timer0_ev_enable_read(void) {
unsigned char r = csr_readl(0xe0002840L);
return r;
}
static inline void timer0_ev_enable_write(unsigned char value) {
csr_writel(value, 0xe0002840L);
}
/* touch */
#define CSR_TOUCH_BASE 0xe0005800L
#define CSR_TOUCH_O_ADDR 0xe0005800L
#define CSR_TOUCH_O_SIZE 1
static inline unsigned char touch_o_read(void) {
unsigned char r = csr_readl(0xe0005800L);
return r;
}
static inline void touch_o_write(unsigned char value) {
csr_writel(value, 0xe0005800L);
}
#define CSR_TOUCH_OE_ADDR 0xe0005804L
#define CSR_TOUCH_OE_SIZE 1
static inline unsigned char touch_oe_read(void) {
unsigned char r = csr_readl(0xe0005804L);
return r;
}
static inline void touch_oe_write(unsigned char value) {
csr_writel(value, 0xe0005804L);
}
#define CSR_TOUCH_I_ADDR 0xe0005808L
#define CSR_TOUCH_I_SIZE 1
static inline unsigned char touch_i_read(void) {
unsigned char r = csr_readl(0xe0005808L);
return r;
}
/* usb */
#define CSR_USB_BASE 0xe0004800L
#define CSR_USB_PULLUP_OUT_ADDR 0xe0004800L
#define CSR_USB_PULLUP_OUT_SIZE 1
static inline unsigned char usb_pullup_out_read(void) {
unsigned char r = csr_readl(0xe0004800L);
return r;
}
static inline void usb_pullup_out_write(unsigned char value) {
csr_writel(value, 0xe0004800L);
}
#define CSR_USB_ADDRESS_ADDR 0xe0004804L
#define CSR_USB_ADDRESS_SIZE 1
static inline unsigned char usb_address_read(void) {
unsigned char r = csr_readl(0xe0004804L);
return r;
}
static inline void usb_address_write(unsigned char value) {
csr_writel(value, 0xe0004804L);
}
#define CSR_USB_ADDRESS_ADDR_OFFSET 0
#define CSR_USB_ADDRESS_ADDR_SIZE 7
#define CSR_USB_NEXT_EV_ADDR 0xe0004808L
#define CSR_USB_NEXT_EV_SIZE 1
static inline unsigned char usb_next_ev_read(void) {
unsigned char r = csr_readl(0xe0004808L);
return r;
}
#define CSR_USB_NEXT_EV_IN_OFFSET 0
#define CSR_USB_NEXT_EV_IN_SIZE 1
#define CSR_USB_NEXT_EV_OUT_OFFSET 1
#define CSR_USB_NEXT_EV_OUT_SIZE 1
#define CSR_USB_NEXT_EV_SETUP_OFFSET 2
#define CSR_USB_NEXT_EV_SETUP_SIZE 1
#define CSR_USB_NEXT_EV_RESET_OFFSET 3
#define CSR_USB_NEXT_EV_RESET_SIZE 1
#define CSR_USB_SETUP_DATA_ADDR 0xe000480cL
#define CSR_USB_SETUP_DATA_SIZE 1
static inline unsigned char usb_setup_data_read(void) {
unsigned char r = csr_readl(0xe000480cL);
return r;
}
#define CSR_USB_SETUP_DATA_DATA_OFFSET 0
#define CSR_USB_SETUP_DATA_DATA_SIZE 8
#define CSR_USB_SETUP_CTRL_ADDR 0xe0004810L
#define CSR_USB_SETUP_CTRL_SIZE 1
static inline unsigned char usb_setup_ctrl_read(void) {
unsigned char r = csr_readl(0xe0004810L);
return r;
}
static inline void usb_setup_ctrl_write(unsigned char value) {
csr_writel(value, 0xe0004810L);
}
#define CSR_USB_SETUP_CTRL_RESET_OFFSET 5
#define CSR_USB_SETUP_CTRL_RESET_SIZE 1
#define CSR_USB_SETUP_STATUS_ADDR 0xe0004814L
#define CSR_USB_SETUP_STATUS_SIZE 1
static inline unsigned char usb_setup_status_read(void) {
unsigned char r = csr_readl(0xe0004814L);
return r;
}
#define CSR_USB_SETUP_STATUS_EPNO_OFFSET 0
#define CSR_USB_SETUP_STATUS_EPNO_SIZE 4
#define CSR_USB_SETUP_STATUS_HAVE_OFFSET 4
#define CSR_USB_SETUP_STATUS_HAVE_SIZE 1
#define CSR_USB_SETUP_STATUS_PEND_OFFSET 5
#define CSR_USB_SETUP_STATUS_PEND_SIZE 1
#define CSR_USB_SETUP_STATUS_IS_IN_OFFSET 6
#define CSR_USB_SETUP_STATUS_IS_IN_SIZE 1
#define CSR_USB_SETUP_STATUS_DATA_OFFSET 7
#define CSR_USB_SETUP_STATUS_DATA_SIZE 1
#define CSR_USB_SETUP_EV_STATUS_ADDR 0xe0004818L
#define CSR_USB_SETUP_EV_STATUS_SIZE 1
static inline unsigned char usb_setup_ev_status_read(void) {
unsigned char r = csr_readl(0xe0004818L);
return r;
}
static inline void usb_setup_ev_status_write(unsigned char value) {
csr_writel(value, 0xe0004818L);
}
#define CSR_USB_SETUP_EV_PENDING_ADDR 0xe000481cL
#define CSR_USB_SETUP_EV_PENDING_SIZE 1
static inline unsigned char usb_setup_ev_pending_read(void) {
unsigned char r = csr_readl(0xe000481cL);
return r;
}
static inline void usb_setup_ev_pending_write(unsigned char value) {
csr_writel(value, 0xe000481cL);
}
#define CSR_USB_SETUP_EV_ENABLE_ADDR 0xe0004820L
#define CSR_USB_SETUP_EV_ENABLE_SIZE 1
static inline unsigned char usb_setup_ev_enable_read(void) {
unsigned char r = csr_readl(0xe0004820L);
return r;
}
static inline void usb_setup_ev_enable_write(unsigned char value) {
csr_writel(value, 0xe0004820L);
}
#define CSR_USB_IN_DATA_ADDR 0xe0004824L
#define CSR_USB_IN_DATA_SIZE 1
static inline unsigned char usb_in_data_read(void) {
unsigned char r = csr_readl(0xe0004824L);
return r;
}
static inline void usb_in_data_write(unsigned char value) {
csr_writel(value, 0xe0004824L);
}
#define CSR_USB_IN_DATA_DATA_OFFSET 0
#define CSR_USB_IN_DATA_DATA_SIZE 8
#define CSR_USB_IN_CTRL_ADDR 0xe0004828L
#define CSR_USB_IN_CTRL_SIZE 1
static inline unsigned char usb_in_ctrl_read(void) {
unsigned char r = csr_readl(0xe0004828L);
return r;
}
static inline void usb_in_ctrl_write(unsigned char value) {
csr_writel(value, 0xe0004828L);
}
#define CSR_USB_IN_CTRL_EPNO_OFFSET 0
#define CSR_USB_IN_CTRL_EPNO_SIZE 4
#define CSR_USB_IN_CTRL_RESET_OFFSET 5
#define CSR_USB_IN_CTRL_RESET_SIZE 1
#define CSR_USB_IN_CTRL_STALL_OFFSET 6
#define CSR_USB_IN_CTRL_STALL_SIZE 1
#define CSR_USB_IN_STATUS_ADDR 0xe000482cL
#define CSR_USB_IN_STATUS_SIZE 1
static inline unsigned char usb_in_status_read(void) {
unsigned char r = csr_readl(0xe000482cL);
return r;
}
#define CSR_USB_IN_STATUS_IDLE_OFFSET 0
#define CSR_USB_IN_STATUS_IDLE_SIZE 1
#define CSR_USB_IN_STATUS_HAVE_OFFSET 4
#define CSR_USB_IN_STATUS_HAVE_SIZE 1
#define CSR_USB_IN_STATUS_PEND_OFFSET 5
#define CSR_USB_IN_STATUS_PEND_SIZE 1
#define CSR_USB_IN_EV_STATUS_ADDR 0xe0004830L
#define CSR_USB_IN_EV_STATUS_SIZE 1
static inline unsigned char usb_in_ev_status_read(void) {
unsigned char r = csr_readl(0xe0004830L);
return r;
}
static inline void usb_in_ev_status_write(unsigned char value) {
csr_writel(value, 0xe0004830L);
}
#define CSR_USB_IN_EV_PENDING_ADDR 0xe0004834L
#define CSR_USB_IN_EV_PENDING_SIZE 1
static inline unsigned char usb_in_ev_pending_read(void) {
unsigned char r = csr_readl(0xe0004834L);
return r;
}
static inline void usb_in_ev_pending_write(unsigned char value) {
csr_writel(value, 0xe0004834L);
}
#define CSR_USB_IN_EV_ENABLE_ADDR 0xe0004838L
#define CSR_USB_IN_EV_ENABLE_SIZE 1
static inline unsigned char usb_in_ev_enable_read(void) {
unsigned char r = csr_readl(0xe0004838L);
return r;
}
static inline void usb_in_ev_enable_write(unsigned char value) {
csr_writel(value, 0xe0004838L);
}
#define CSR_USB_OUT_DATA_ADDR 0xe000483cL
#define CSR_USB_OUT_DATA_SIZE 1
static inline unsigned char usb_out_data_read(void) {
unsigned char r = csr_readl(0xe000483cL);
return r;
}
#define CSR_USB_OUT_DATA_DATA_OFFSET 0
#define CSR_USB_OUT_DATA_DATA_SIZE 8
#define CSR_USB_OUT_CTRL_ADDR 0xe0004840L
#define CSR_USB_OUT_CTRL_SIZE 1
static inline unsigned char usb_out_ctrl_read(void) {
unsigned char r = csr_readl(0xe0004840L);
return r;
}
static inline void usb_out_ctrl_write(unsigned char value) {
csr_writel(value, 0xe0004840L);
}
#define CSR_USB_OUT_CTRL_EPNO_OFFSET 0
#define CSR_USB_OUT_CTRL_EPNO_SIZE 4
#define CSR_USB_OUT_CTRL_ENABLE_OFFSET 4
#define CSR_USB_OUT_CTRL_ENABLE_SIZE 1
#define CSR_USB_OUT_CTRL_RESET_OFFSET 5
#define CSR_USB_OUT_CTRL_RESET_SIZE 1
#define CSR_USB_OUT_CTRL_STALL_OFFSET 6
#define CSR_USB_OUT_CTRL_STALL_SIZE 1
#define CSR_USB_OUT_STATUS_ADDR 0xe0004844L
#define CSR_USB_OUT_STATUS_SIZE 1
static inline unsigned char usb_out_status_read(void) {
unsigned char r = csr_readl(0xe0004844L);
return r;
}
#define CSR_USB_OUT_STATUS_EPNO_OFFSET 0
#define CSR_USB_OUT_STATUS_EPNO_SIZE 4
#define CSR_USB_OUT_STATUS_HAVE_OFFSET 4
#define CSR_USB_OUT_STATUS_HAVE_SIZE 1
#define CSR_USB_OUT_STATUS_PEND_OFFSET 5
#define CSR_USB_OUT_STATUS_PEND_SIZE 1
#define CSR_USB_OUT_EV_STATUS_ADDR 0xe0004848L
#define CSR_USB_OUT_EV_STATUS_SIZE 1
static inline unsigned char usb_out_ev_status_read(void) {
unsigned char r = csr_readl(0xe0004848L);
return r;
}
static inline void usb_out_ev_status_write(unsigned char value) {
csr_writel(value, 0xe0004848L);
}
#define CSR_USB_OUT_EV_PENDING_ADDR 0xe000484cL
#define CSR_USB_OUT_EV_PENDING_SIZE 1
static inline unsigned char usb_out_ev_pending_read(void) {
unsigned char r = csr_readl(0xe000484cL);
return r;
}
static inline void usb_out_ev_pending_write(unsigned char value) {
csr_writel(value, 0xe000484cL);
}
#define CSR_USB_OUT_EV_ENABLE_ADDR 0xe0004850L
#define CSR_USB_OUT_EV_ENABLE_SIZE 1
static inline unsigned char usb_out_ev_enable_read(void) {
unsigned char r = csr_readl(0xe0004850L);
return r;
}
static inline void usb_out_ev_enable_write(unsigned char value) {
csr_writel(value, 0xe0004850L);
}
#define CSR_USB_OUT_ENABLE_STATUS_ADDR 0xe0004854L
#define CSR_USB_OUT_ENABLE_STATUS_SIZE 1
static inline unsigned char usb_out_enable_status_read(void) {
unsigned char r = csr_readl(0xe0004854L);
return r;
}
#define CSR_USB_OUT_STALL_STATUS_ADDR 0xe0004858L
#define CSR_USB_OUT_STALL_STATUS_SIZE 1
static inline unsigned char usb_out_stall_status_read(void) {
unsigned char r = csr_readl(0xe0004858L);
return r;
}
/* version */
#define CSR_VERSION_BASE 0xe0007000L
#define CSR_VERSION_MAJOR_ADDR 0xe0007000L
#define CSR_VERSION_MAJOR_SIZE 1
static inline unsigned char version_major_read(void) {
unsigned char r = csr_readl(0xe0007000L);
return r;
}
#define CSR_VERSION_MINOR_ADDR 0xe0007004L
#define CSR_VERSION_MINOR_SIZE 1
static inline unsigned char version_minor_read(void) {
unsigned char r = csr_readl(0xe0007004L);
return r;
}
#define CSR_VERSION_REVISION_ADDR 0xe0007008L
#define CSR_VERSION_REVISION_SIZE 1
static inline unsigned char version_revision_read(void) {
unsigned char r = csr_readl(0xe0007008L);
return r;
}
#define CSR_VERSION_GITREV_ADDR 0xe000700cL
#define CSR_VERSION_GITREV_SIZE 4
static inline unsigned int version_gitrev_read(void) {
unsigned int r = csr_readl(0xe000700cL);
r <<= 8;
r |= csr_readl(0xe0007010L);
r <<= 8;
r |= csr_readl(0xe0007014L);
r <<= 8;
r |= csr_readl(0xe0007018L);
return r;
}
#define CSR_VERSION_GITEXTRA_ADDR 0xe000701cL
#define CSR_VERSION_GITEXTRA_SIZE 2
static inline unsigned short int version_gitextra_read(void) {
unsigned short int r = csr_readl(0xe000701cL);
r <<= 8;
r |= csr_readl(0xe0007020L);
return r;
}
#define CSR_VERSION_DIRTY_ADDR 0xe0007024L
#define CSR_VERSION_DIRTY_SIZE 1
static inline unsigned char version_dirty_read(void) {
unsigned char r = csr_readl(0xe0007024L);
return r;
}
#define CSR_VERSION_DIRTY_DIRTY_OFFSET 0
#define CSR_VERSION_DIRTY_DIRTY_SIZE 1
#define CSR_VERSION_MODEL_ADDR 0xe0007028L
#define CSR_VERSION_MODEL_SIZE 1
static inline unsigned char version_model_read(void) {
unsigned char r = csr_readl(0xe0007028L);
return r;
}
#define CSR_VERSION_MODEL_MODEL_OFFSET 0
#define CSR_VERSION_MODEL_MODEL_SIZE 8
#define CSR_VERSION_SEED_ADDR 0xe000702cL
#define CSR_VERSION_SEED_SIZE 4
static inline unsigned int version_seed_read(void) {
unsigned int r = csr_readl(0xe000702cL);
r <<= 8;
r |= csr_readl(0xe0007030L);
r <<= 8;
r |= csr_readl(0xe0007034L);
r <<= 8;
r |= csr_readl(0xe0007038L);
return r;
}
#endif

View File

@ -0,0 +1,82 @@
/*
GNU linker script for Fomu
*/
ENTRY(_start)
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x20040000, LENGTH = 0x100000 /* entire flash, 1 MiB */
RAM (xrw) : ORIGIN = 0x10000000, LENGTH = 0x00020000 /* 128 KiB */
}
/* top end of the stack */
_estack = ORIGIN(RAM) + LENGTH(RAM);
/* define output sections */
SECTIONS
{
/* This is the initialized data section
The program executes knowing that the data is in the RAM
but the loader puts the initial values in the FLASH (inidata).
It is one task of the startup to copy the initial values from FLASH to RAM. */
.data : AT ( _sidata )
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start; used by startup code in order to initialise the .data section in RAM */
*(.itcm.*) /* Instruction Tightly Coupled Memory */
*(.dtcm_data.*) /* Data Tightly Coupled Memory */
*(.ramtext) /* .text* sections (code) */
*(.ramtext*) /* .text* sections (code) */
*(.data) /* .data sections */
*(.data*) /* .data* sections */
*(.sdata) /* .data sections */
*(.sdata*) /* .data* sections */
. = ALIGN(4);
_edata = .; /* define a global symbol at data end; used by startup code in order to initialise the .data section in RAM */
} >RAM
/* The program code and other data goes into FLASH */
.text :
{
. = ALIGN(4);
KEEP(*(.text.start)) /* isr vector table */
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
*(.srodata) /* .rodata sections (constants, strings, etc.) */
*(.srodata*) /* .rodata* sections (constants, strings, etc.) */
. = ALIGN(4);
_etext = .; /* define a global symbol at end of code */
_sidata = _etext; /* This is used by the startup in order to initialize the .data secion */
} >FLASH
/* Uninitialized data section */
.bss :
{
. = ALIGN(4);
_sbss = .; /* define a global symbol at bss start; used by startup code */
*(.bss)
*(.bss*)
*(.dtcm_bss.*) /* Data Tightly Coupled Memory */
*(.sbss)
*(.sbss*)
*(COMMON)
. = ALIGN(4);
_ebss = .; /* define a global symbol at bss end; used by startup code */
} >RAM
/* this is to define the start of the heap, and make sure we have a minimum size */
.heap :
{
. = ALIGN(4);
_heap_start = .; /* define a global symbol at heap start */
} >RAM
}

View File

@ -0,0 +1,58 @@
//--------------------------------------------------------------------------------
// Auto-generated by Migen (f4fcd10) & LiteX (de205d4a) on 2019-11-25 15:17:59
//--------------------------------------------------------------------------------
#ifndef __GENERATED_SOC_H
#define __GENERATED_SOC_H
#define CONFIG_BITSTREAM_SYNC_HEADER1 2123999870
static inline int config_bitstream_sync_header1_read(void) {
return 2123999870;
}
#define CONFIG_BITSTREAM_SYNC_HEADER2 2125109630
static inline int config_bitstream_sync_header2_read(void) {
return 2125109630;
}
#define CONFIG_CLOCK_FREQUENCY 12000000
static inline int config_clock_frequency_read(void) {
return 12000000;
}
#define CONFIG_CPU_RESET_ADDR 0
static inline int config_cpu_reset_addr_read(void) {
return 0;
}
#define CONFIG_CPU_TYPE "VEXRISCV"
static inline const char * config_cpu_type_read(void) {
return "VEXRISCV";
}
#define CONFIG_CPU_TYPE_VEXRISCV
#define CONFIG_CPU_VARIANT "MIN"
static inline const char * config_cpu_variant_read(void) {
return "MIN";
}
#define CONFIG_CPU_VARIANT_MIN
#define CONFIG_CSR_ALIGNMENT 32
static inline int config_csr_alignment_read(void) {
return 32;
}
#define CONFIG_CSR_DATA_WIDTH 8
static inline int config_csr_data_width_read(void) {
return 8;
}
#define CONFIG_FOMU_REV "HACKER"
static inline const char * config_fomu_rev_read(void) {
return "HACKER";
}
#define CONFIG_FOMU_REV_HACKER
#define CONFIG_SHADOW_BASE 2147483648
static inline int config_shadow_base_read(void) {
return 2147483648;
}
#define TIMER0_INTERRUPT 2
static inline int timer0_interrupt_read(void) {
return 2;
}
#define USB_INTERRUPT 3
static inline int usb_interrupt_read(void) {
return 3;
}
#endif

View File

@ -0,0 +1,37 @@
/*
* 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 "Fomu"
#define MICROPY_HW_MCU_NAME "VexRiscv"
#define FLASH_SIZE (0x100000)
#define FLASH_PAGE_SIZE (0x1000)
#define FLASH_PARTITION_OFFSET_BYTES (1024*1024)
#define AUTORESET_DELAY_MS 500
#define BOARD_FLASH_SIZE (FLASH_SIZE)

View File

@ -0,0 +1,20 @@
USB_VID = 0x1209
USB_PID = 0x5BF0
USB_PRODUCT = "Fomu"
USB_MANUFACTURER = "Foosn"
USB_DEVICES = "CDC,MSC,AUDIO,HID"
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
# Fomu only implements rv32i
CFLAGS += -march=rv32i -mabi=ilp32
LDFLAGS += -march=rv32i -mabi=ilp32
CIRCUITPY_NEOPIXEL_WRITE = 1
CIRCUITPY_DIGITALIO = 1
CIRCUITPY_MICROCONTROLLER = 1

View File

@ -0,0 +1,9 @@
#include "shared-bindings/board/__init__.h"
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_TOUCH1), MP_ROM_PTR(&pin_TOUCH1) },
{ MP_ROM_QSTR(MP_QSTR_TOUCH2), MP_ROM_PTR(&pin_TOUCH2) },
{ MP_ROM_QSTR(MP_QSTR_TOUCH3), MP_ROM_PTR(&pin_TOUCH3) },
{ MP_ROM_QSTR(MP_QSTR_TOUCH4), MP_ROM_PTR(&pin_TOUCH4) },
};
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -0,0 +1,16 @@
set pagination 0
set logging file profile.txt
set logging overwrite
server define poor_profile
set $total = $arg0
set $i = 0
set logging on
while($i<$total)
set $i = $i + 1
cont
p $pc
bt
end
set logging off
end

View File

@ -0,0 +1,119 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "shared-bindings/digitalio/DigitalInOut.h"
#include "py/runtime.h"
#include "supervisor/shared/translate.h"
#include "csr.h"
void common_hal_digitalio_digitalinout_never_reset(
digitalio_digitalinout_obj_t *self) {
(void)self;
}
digitalinout_result_t common_hal_digitalio_digitalinout_construct(
digitalio_digitalinout_obj_t *self, const mcu_pin_obj_t *pin) {
// claim_pin(pin);
self->pin = pin;
return DIGITALINOUT_OK;
}
bool common_hal_digitalio_digitalinout_deinited(digitalio_digitalinout_obj_t *self) {
return self->pin == mp_const_none;
}
void common_hal_digitalio_digitalinout_deinit(digitalio_digitalinout_obj_t *self) {
if (common_hal_digitalio_digitalinout_deinited(self)) {
return;
}
// reset_pin_number(0, self->pin->number);
self->pin = mp_const_none;
}
void common_hal_digitalio_digitalinout_switch_to_input(
digitalio_digitalinout_obj_t *self, digitalio_pull_t pull) {
(void)pull;
touch_oe_write(touch_oe_read() & ~(1 << self->pin->number));
}
void common_hal_digitalio_digitalinout_switch_to_output(
digitalio_digitalinout_obj_t *self, bool value,
digitalio_drive_mode_t drive_mode) {
(void)drive_mode;
common_hal_digitalio_digitalinout_set_value(self, value);
touch_oe_write(touch_oe_read() | (1 << self->pin->number));
}
digitalio_direction_t common_hal_digitalio_digitalinout_get_direction(
digitalio_digitalinout_obj_t *self) {
return (touch_oe_read() & (1 << self->pin->number))
? DIRECTION_OUTPUT : DIRECTION_INPUT;
}
void common_hal_digitalio_digitalinout_set_value(
digitalio_digitalinout_obj_t *self, bool value) {
if (value)
touch_o_write(touch_o_read() | (1 << self->pin->number));
else
touch_o_write(touch_o_read() & ~(1 << self->pin->number));
}
bool common_hal_digitalio_digitalinout_get_value(
digitalio_digitalinout_obj_t *self) {
return !!(touch_i_read() & (1 << self->pin->number));
}
void common_hal_digitalio_digitalinout_set_drive_mode(
digitalio_digitalinout_obj_t *self,
digitalio_drive_mode_t drive_mode) {
(void)self;
(void)drive_mode;
}
digitalio_drive_mode_t common_hal_digitalio_digitalinout_get_drive_mode(
digitalio_digitalinout_obj_t *self) {
if (common_hal_digitalio_digitalinout_get_direction(self) == DIRECTION_OUTPUT)
return DRIVE_MODE_PUSH_PULL;
else
return DRIVE_MODE_OPEN_DRAIN;
}
void common_hal_digitalio_digitalinout_set_pull(
digitalio_digitalinout_obj_t *self, digitalio_pull_t pull) {
(void)self;
(void)pull;
}
digitalio_pull_t common_hal_digitalio_digitalinout_get_pull(
digitalio_digitalinout_obj_t *self) {
return PULL_NONE;
}

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
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_FOMU_COMMON_HAL_DIGITALIO_DIGITALINOUT_H
#define MICROPY_INCLUDED_FOMU_COMMON_HAL_DIGITALIO_DIGITALINOUT_H
#include "common-hal/microcontroller/Pin.h"
typedef struct {
mp_obj_base_t base;
const mcu_pin_obj_t *pin;
} digitalio_digitalinout_obj_t;
#endif // MICROPY_INCLUDED_FOMU_COMMON_HAL_DIGITALIO_DIGITALINOUT_H

View File

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

View File

@ -0,0 +1,56 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2016 Scott Shawcroft for Adafruit Industries
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "shared-bindings/microcontroller/Pin.h"
#include "py/mphal.h"
STATIC uint8_t claimed_pins[1];
// Mark pin as free and return it to a quiescent state.
void reset_pin_number(uint8_t pin_port, uint8_t pin_number) {
if (pin_port == 0x0F) {
return;
}
// Clear claimed bit.
claimed_pins[pin_port] &= ~(1<<pin_number);
}
void claim_pin(const mcu_pin_obj_t* pin) {
// Set bit in claimed_pins bitmask.
claimed_pins[0] |= 1<<pin->number;
}
bool pin_number_is_free(uint8_t pin_port, uint8_t pin_number) {
return !(claimed_pins[pin_port] & 1<<pin_number);
}
bool common_hal_mcu_pin_is_free(const mcu_pin_obj_t *pin) {
return pin_number_is_free(0, pin->number);
}

View File

@ -0,0 +1,59 @@
/*
* 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_FOMU_COMMON_HAL_MICROCONTROLLER_PIN_H
#define MICROPY_INCLUDED_FOMU_COMMON_HAL_MICROCONTROLLER_PIN_H
#include "py/mphal.h"
typedef struct {
mp_obj_base_t base;
uint8_t number;
} mcu_pin_obj_t;
#define PIN(p_number) \
{ \
{ &mcu_pin_type }, \
.number = p_number \
}
extern const mcu_pin_obj_t pin_TOUCH1;
extern const mcu_pin_obj_t pin_TOUCH2;
extern const mcu_pin_obj_t pin_TOUCH3;
extern const mcu_pin_obj_t pin_TOUCH4;
void reset_all_pins(void);
// reset_pin_number takes the pin number instead of the pointer so that objects don't
// need to store a full pointer.
void reset_pin_number(uint8_t pin_port, uint8_t pin_number);
void claim_pin(const mcu_pin_obj_t* pin);
bool pin_number_is_free(uint8_t pin_port, uint8_t pin_number);
void never_reset_pin_number(uint8_t pin_port, uint8_t pin_number);
// GPIO_TypeDef * pin_port(uint8_t pin_port);
uint16_t pin_mask(uint8_t pin_number);
#endif // MICROPY_INCLUDED_FOMU_COMMON_HAL_MICROCONTROLLER_PIN_H

View File

@ -0,0 +1,64 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2017 Dan Halbert for Adafruit Industries
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <math.h>
#include "common-hal/microcontroller/Processor.h"
#include "py/runtime.h"
#include "supervisor/shared/translate.h"
#include "csr.h"
#include "generated/soc.h"
float common_hal_mcu_processor_get_temperature(void) {
return NAN;
}
float common_hal_mcu_processor_get_voltage(void) {
return NAN;
}
uint32_t common_hal_mcu_processor_get_frequency(void) {
return CONFIG_CLOCK_FREQUENCY;
}
void common_hal_mcu_processor_get_uid(uint8_t raw_id[]) {
raw_id[0] = csr_readl(CSR_VERSION_MAJOR_ADDR);
raw_id[1] = csr_readl(CSR_VERSION_MINOR_ADDR);
raw_id[2] = csr_readl(CSR_VERSION_REVISION_ADDR);
raw_id[3] = csr_readl(CSR_VERSION_GITREV_ADDR + 0);
raw_id[4] = csr_readl(CSR_VERSION_GITREV_ADDR + 4);
raw_id[5] = csr_readl(CSR_VERSION_GITREV_ADDR + 8);
raw_id[6] = csr_readl(CSR_VERSION_GITREV_ADDR + 12);
raw_id[7] = csr_readl(CSR_VERSION_GITEXTRA_ADDR + 0);
raw_id[8] = csr_readl(CSR_VERSION_GITEXTRA_ADDR + 4);
raw_id[9] = csr_readl(CSR_VERSION_DIRTY_ADDR);
raw_id[10] = csr_readl(CSR_VERSION_MODEL_ADDR);
raw_id[11] = csr_readl(CSR_VERSION_SEED_ADDR + 0);
raw_id[12] = csr_readl(CSR_VERSION_SEED_ADDR + 4);
raw_id[13] = csr_readl(CSR_VERSION_SEED_ADDR + 8);
raw_id[14] = csr_readl(CSR_VERSION_SEED_ADDR + 12);
}

View File

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

View File

@ -0,0 +1,111 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2016 Scott Shawcroft for Adafruit Industries
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/mphal.h"
#include "py/obj.h"
#include "py/runtime.h"
#include "common-hal/microcontroller/Pin.h"
#include "common-hal/microcontroller/Processor.h"
#include "shared-bindings/microcontroller/__init__.h"
#include "shared-bindings/microcontroller/Pin.h"
#include "shared-bindings/microcontroller/Processor.h"
#include "supervisor/filesystem.h"
#include "supervisor/shared/safe_mode.h"
#include "csr.h"
#include "irq.h"
void common_hal_mcu_delay_us(uint32_t delay) {
// if (__get_PRIMASK() == 0x00000000) {
// //by default use ticks_ms
// uint32_t start = get_us();
// while (get_us()-start < delay) {
// __asm__ __volatile__("nop");
// }
// } else {
// //when SysTick is disabled, approximate with busy loop
// const uint32_t ucount = HAL_RCC_GetSysClockFreq() / 1000000 * delay / LOOP_TICKS;
// for (uint32_t count = 0; ++count <= ucount;) {
// }
// }
}
volatile uint32_t nesting_count = 0;
void common_hal_mcu_disable_interrupts(void) {
irq_setie(0);
// __DMB();
nesting_count++;
}
void common_hal_mcu_enable_interrupts(void) {
if (nesting_count == 0) {
// This is very very bad because it means there was mismatched disable/enables so we
// "HardFault".
asm("ebreak");
}
nesting_count--;
if (nesting_count > 0) {
return;
}
irq_setie(1);
}
void common_hal_mcu_on_next_reset(mcu_runmode_t runmode) {
if(runmode == RUNMODE_SAFE_MODE)
safe_mode_on_next_reset(PROGRAMMATIC_SAFE_MODE);
}
void common_hal_mcu_reset(void) {
filesystem_flush(); //TODO: implement as part of flash improvements
// NVIC_SystemReset();
while(1);
}
// The singleton microcontroller.Processor object, bound to microcontroller.cpu
// It currently only has properties, and no state.
const mcu_processor_obj_t common_hal_mcu_processor_obj = {
.base = {
.type = &mcu_processor_type,
},
};
const mcu_pin_obj_t pin_TOUCH1 = PIN(0);
const mcu_pin_obj_t pin_TOUCH2 = PIN(1);
const mcu_pin_obj_t pin_TOUCH3 = PIN(2);
const mcu_pin_obj_t pin_TOUCH4 = PIN(3);
STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_TOUCH1), MP_ROM_PTR(&pin_TOUCH1) },
{ MP_ROM_QSTR(MP_QSTR_TOUCH2), MP_ROM_PTR(&pin_TOUCH2) },
{ MP_ROM_QSTR(MP_QSTR_TOUCH3), MP_ROM_PTR(&pin_TOUCH3) },
{ MP_ROM_QSTR(MP_QSTR_TOUCH4), MP_ROM_PTR(&pin_TOUCH4) },
};
MP_DEFINE_CONST_DICT(mcu_pin_globals, mcu_pin_globals_table);

View File

@ -0,0 +1,93 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 hathach for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/mphal.h"
#include "shared-bindings/neopixel_write/__init__.h"
#include "csr.h"
// ICE40 LED Driver hard macro.
// See http://www.latticesemi.com/-/media/LatticeSemi/Documents/ApplicationNotes/IK/ICE40LEDDriverUsageGuide.ashx?document_id=50668
enum led_registers {
LEDDCR0 = 8,
LEDDBR = 9,
LEDDONR = 10,
LEDDOFR = 11,
LEDDBCRR = 5,
LEDDBCFR = 6,
LEDDPWRR = 1,
LEDDPWRG = 2,
LEDDPWRB = 3,
};
// Control register definitions
#define LEDDCR0_LEDDEN (1 << 7)
#define LEDDCR0_FR250 (1 << 6)
#define LEDDCR0_OUTPOL (1 << 5)
#define LEDDCR0_OUTSKEW (1 << 4)
#define LEDDCR0_QUICKSTOP (1 << 3)
#define LEDDCR0_PWM_MODE (1 << 2)
#define LEDDCR0_BRMSBEXT (1 << 0)
// Write a value into the LEDDA_IP register.
static void ledda_write(uint8_t value, uint8_t addr) {
rgb_addr_write(addr);
rgb_dat_write(value);
}
static int ledda_init_done;
static void ledda_init(void) {
if (ledda_init_done)
return;
// Enable the driver
rgb_ctrl_write((1 << CSR_RGB_CTRL_EXE_OFFSET) | (1 << CSR_RGB_CTRL_CURREN_OFFSET) | (1 << CSR_RGB_CTRL_RGBLEDEN_OFFSET));
ledda_write(LEDDCR0_LEDDEN | LEDDCR0_FR250 | LEDDCR0_QUICKSTOP, LEDDCR0);
// Set clock register to 12 MHz / 64 kHz - 1
ledda_write((12000000/64000)-1, LEDDBR);
// Ensure LED "breathe" effect is diabled
ledda_write(0, LEDDBCRR);
ledda_write(0, LEDDBCFR);
// Also disable the LED blink time
ledda_write(0, LEDDONR);
ledda_write(0, LEDDOFR);
ledda_init_done = 1;
}
void common_hal_neopixel_write (const digitalio_digitalinout_obj_t* digitalinout, uint8_t *pixels, uint32_t numBytes) {
(void)digitalinout;
(void)numBytes;
ledda_init();
ledda_write(pixels[0], LEDDPWRR); // Red
ledda_write(pixels[1], LEDDPWRG); // Green
ledda_write(pixels[2], LEDDPWRB); // Blue
}

View File

@ -0,0 +1,38 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Michael Schroeder
*
* 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 <stdbool.h>
#include "shared-bindings/supervisor/Runtime.h"
#include "supervisor/serial.h"
bool common_hal_get_serial_connected(void) {
return (bool) serial_connected();
}
bool common_hal_get_serial_bytes_available(void) {
return (bool) serial_bytes_available();
}

View File

@ -0,0 +1,37 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Michael Schroeder
*
* 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_LITEX_COMMON_HAL_SUPERVISOR_RUNTIME_H
#define MICROPY_INCLUDED_LITEX_COMMON_HAL_SUPERVISOR_RUNTIME_H
#include "py/obj.h"
typedef struct {
mp_obj_base_t base;
// Stores no state currently.
} super_runtime_obj_t;
#endif // MICROPY_INCLUDED_LITEX_COMMON_HAL_SUPERVISOR_RUNTIME_H

View File

@ -0,0 +1,40 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Michael Schroeder
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/obj.h"
#include "shared-bindings/supervisor/__init__.h"
#include "shared-bindings/supervisor/Runtime.h"
// The singleton supervisor.Runtime object, bound to supervisor.runtime
// It currently only has properties, and no state.
const super_runtime_obj_t common_hal_supervisor_runtime_obj = {
.base = {
.type = &supervisor_runtime_type,
},
};

View File

@ -0,0 +1,45 @@
/*
* 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 "py/mphal.h"
#include "tick.h"
uint64_t common_hal_time_monotonic(void) {
return supervisor_ticks_ms64();
}
uint64_t common_hal_time_monotonic_ns(void) {
uint64_t ms;
uint32_t us_until_ms;
current_tick(&ms, &us_until_ms);
// us counts down.
return 1000 * (ms * 1000 + (1000 - us_until_ms));
}
void common_hal_time_delay_ms(uint32_t delay) {
mp_hal_delay_ms(delay);
}

View File

@ -0,0 +1,94 @@
.global main
.global isr
.section .text.start
.global _start
_start:
j crt_init
# This sentinal ensures that this program is loaded
# to RAM when loaded using dfu-util.
#.word 0x17ab0f23
#.word 0x10001000
.section .ramtext
.global trap_entry
.align 4
trap_entry:
sw x1, - 1*4(sp)
sw x5, - 2*4(sp)
sw x6, - 3*4(sp)
sw x7, - 4*4(sp)
sw x10, - 5*4(sp)
sw x11, - 6*4(sp)
sw x12, - 7*4(sp)
sw x13, - 8*4(sp)
sw x14, - 9*4(sp)
sw x15, -10*4(sp)
sw x16, -11*4(sp)
sw x17, -12*4(sp)
sw x28, -13*4(sp)
sw x29, -14*4(sp)
sw x30, -15*4(sp)
sw x31, -16*4(sp)
addi sp,sp,-16*4
call isr
lw x1 , 15*4(sp)
lw x5, 14*4(sp)
lw x6, 13*4(sp)
lw x7, 12*4(sp)
lw x10, 11*4(sp)
lw x11, 10*4(sp)
lw x12, 9*4(sp)
lw x13, 8*4(sp)
lw x14, 7*4(sp)
lw x15, 6*4(sp)
lw x16, 5*4(sp)
lw x17, 4*4(sp)
lw x28, 3*4(sp)
lw x29, 2*4(sp)
lw x30, 1*4(sp)
lw x31, 0*4(sp)
addi sp,sp,16*4
mret
.text
crt_init:
# # Flush the caches
# .word 16399
# .word 19
# .word 19
# .word 19
la sp, _estack - 4
la a0, trap_entry
csrw mtvec, a0
bss_init:
la a0, _sbss
la a1, _ebss
bss_loop:
beq a0,a1,bss_done
sw zero,0(a0)
add a0,a0,4
j bss_loop
bss_done:
/* Load DATA */
la t0, _sidata
la t1, _sdata
la t2, _edata
3:
lw t3, 0(t0)
sw t3, 0(t1)
/* _edata is aligned to 16 bytes. Use word-xfers. */
addi t0, t0, 4
addi t1, t1, 4
bltu t1, t2, 3b
li a0, 0x880 //880 enable timer + external interrupt sources (until mstatus.MIE is set, they will never trigger an interrupt)
csrw mie,a0
call main
infinite_loop:
j infinite_loop

33
ports/litex/fatfs_port.c Normal file
View File

@ -0,0 +1,33 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2013, 2014 Damien P. George
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "py/runtime.h"
#include "lib/oofatfs/ff.h"
DWORD get_fattime(void) {
// TODO: Implement this function. For now, fake it.
return ((2016 - 1980) << 25) | ((12) << 21) | ((4) << 16) | ((00) << 11) | ((18) << 5) | (23 / 2);
}

33
ports/litex/hw/common.h Normal file
View File

@ -0,0 +1,33 @@
#ifndef _HW_COMMON_H_
#define _HW_COMMON_H_
#include <stdint.h>
static inline void csr_writeb(uint8_t value, uint32_t addr)
{
*((volatile uint8_t *)addr) = value;
}
static inline uint8_t csr_readb(uint32_t addr)
{
return *(volatile uint8_t *)addr;
}
static inline void csr_writew(uint16_t value, uint32_t addr)
{
*((volatile uint16_t *)addr) = value;
}
static inline uint16_t csr_readw(uint32_t addr)
{
return *(volatile uint16_t *)addr;
}
static inline void csr_writel(uint32_t value, uint32_t addr)
{
*((volatile uint32_t *)addr) = value;
}
static inline uint32_t csr_readl(uint32_t addr)
{
return *(volatile uint32_t *)addr;
}
#endif /* _HW_COMMON_H_ */

71
ports/litex/irq.h Normal file
View File

@ -0,0 +1,71 @@
#ifndef __IRQ_H
#define __IRQ_H
#ifdef __cplusplus
extern "C" {
#endif
#define CSR_MSTATUS_MIE 0x8
#define CSR_IRQ_MASK 0xBC0
#define CSR_IRQ_PENDING 0xFC0
#define CSR_DCACHE_INFO 0xCC0
#define csrr(reg) ({ unsigned long __tmp; \
asm volatile ("csrr %0, " #reg : "=r"(__tmp)); \
__tmp; })
#define csrw(reg, val) ({ \
if (__builtin_constant_p(val) && (unsigned long)(val) < 32) \
asm volatile ("csrw " #reg ", %0" :: "i"(val)); \
else \
asm volatile ("csrw " #reg ", %0" :: "r"(val)); })
#define csrs(reg, bit) ({ \
if (__builtin_constant_p(bit) && (unsigned long)(bit) < 32) \
asm volatile ("csrrs x0, " #reg ", %0" :: "i"(bit)); \
else \
asm volatile ("csrrs x0, " #reg ", %0" :: "r"(bit)); })
#define csrc(reg, bit) ({ \
if (__builtin_constant_p(bit) && (unsigned long)(bit) < 32) \
asm volatile ("csrrc x0, " #reg ", %0" :: "i"(bit)); \
else \
asm volatile ("csrrc x0, " #reg ", %0" :: "r"(bit)); })
static inline unsigned int irq_getie(void)
{
return (csrr(mstatus) & CSR_MSTATUS_MIE) != 0;
}
static inline void irq_setie(unsigned int ie)
{
if(ie) csrs(mstatus,CSR_MSTATUS_MIE); else csrc(mstatus,CSR_MSTATUS_MIE);
}
static inline unsigned int irq_getmask(void)
{
unsigned int mask;
asm volatile ("csrr %0, %1" : "=r"(mask) : "i"(CSR_IRQ_MASK));
return mask;
}
static inline void irq_setmask(unsigned int mask)
{
asm volatile ("csrw %0, %1" :: "i"(CSR_IRQ_MASK), "r"(mask));
}
static inline unsigned int irq_pending(void)
{
unsigned int pending;
asm volatile ("csrr %0, %1" : "=r"(pending) : "i"(CSR_IRQ_PENDING));
return pending;
}
#ifdef __cplusplus
}
#endif
#endif /* __IRQ_H */

View File

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

View File

@ -0,0 +1,31 @@
# Define an equivalent for MICROPY_LONGINT_IMPL, to pass to $(MPY-TOOL) in py/mkrules.mk
# $(MPY-TOOL) needs to know what kind of longint to use (if any) to freeze long integers.
# This should correspond to the MICROPY_LONGINT_IMPL definition in mpconfigport.h.
MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz
# Internal math library is substantially smaller than toolchain one
INTERNAL_LIBM = 1
# Chip supplied serial number, in bytes
USB_SERIAL_NUMBER_LENGTH = 30
# Longints can be implemented as mpz, as longlong, or not
LONGINT_IMPL = MPZ
#Reduced feature set for early port
CIRCUITPY_MINIMAL_BUILD = 1
# CIRCUITPY_BOARD = 1
# CIRCUITPY_DIGITALIO = 1
# CIRCUITPY_ANALOGIO = 1
# CIRCUITPY_MICROCONTROLLER = 1
# CIRCUITPY_BUSIO = 1
# CIRCUITPY_PULSEIO = 1
# CIRCUITPY_OS = 1
# CIRCUITPY_STORAGE = 1
# CIRCUITPY_RANDOM = 1
CIRCUITPY_USB_HID = 1
CIRCUITPY_USB_MIDI = 1
#ifeq ($(MCU_SUB_VARIANT), stm32f412zx)
#endif

81
ports/litex/mphalport.c Normal file
View File

@ -0,0 +1,81 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2015 Glenn Ruben Bakke
* Copyright (c) 2018 Artur Pacholec
*
* 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/mphal.h"
#include "py/mpstate.h"
#include "py/gc.h"
#include "csr.h"
#include "generated/soc.h"
#include "irq.h"
#ifdef CFG_TUSB_MCU
void hal_dcd_isr(uint8_t rhport);
#endif
/*------------------------------------------------------------------*/
/* delay
*------------------------------------------------------------------*/
void mp_hal_delay_ms(mp_uint_t delay) {
uint64_t start_tick = supervisor_ticks_ms64();
uint64_t duration = 0;
while (duration < delay) {
#ifdef MICROPY_VM_HOOK_LOOP
MICROPY_VM_HOOK_LOOP
#endif
// Check to see if we've been CTRL-Ced by autoreload or the user.
if(MP_STATE_VM(mp_pending_exception) == MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception)) ||
MP_STATE_VM(mp_pending_exception) == MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_reload_exception))) {
break;
}
duration = (supervisor_ticks_ms64() - start_tick);
// TODO(tannewt): Go to sleep for a little while while we wait.
}
}
extern void SysTick_Handler(void);
__attribute__((section(".ramtext")))
void isr(void) {
uint8_t irqs = irq_pending() & irq_getmask();
#ifdef CFG_TUSB_MCU
if (irqs & (1 << USB_INTERRUPT))
hal_dcd_isr(0);
#endif
if (irqs & (1 << TIMER0_INTERRUPT))
SysTick_Handler();
}
mp_uint_t cpu_get_regs_and_sp(mp_uint_t *regs) {
unsigned long __tmp;
asm volatile ("mv %0, x2" :"=r"(__tmp));
return __tmp;
}

42
ports/litex/mphalport.h Normal file
View File

@ -0,0 +1,42 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2015 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.
*/
#ifndef __FOMU_HAL
#define __FOMU_HAL
#include <stdbool.h>
#include <stdint.h>
#include "lib/utils/interrupt_char.h"
#include "py/mpconfig.h"
#include "supervisor/shared/tick.h"
#define mp_hal_ticks_ms() ((mp_uint_t) supervisor_ticks_ms32())
//#define mp_hal_delay_us(us) NRFX_DELAY_US((uint32_t) (us))
bool mp_hal_stdin_any(void);
#endif

View File

@ -0,0 +1 @@
// qstrs specific to this port

View File

@ -0,0 +1,350 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2013, 2014 Damien P. George
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "supervisor/internal_flash.h"
#include <stdint.h>
#include <string.h>
#include <stdbool.h>
#include "extmod/vfs.h"
#include "extmod/vfs_fat.h"
#include "py/mphal.h"
#include "py/obj.h"
#include "py/runtime.h"
#include "lib/oofatfs/ff.h"
#include "supervisor/usb.h"
#include "csr.h"
#include "irq.h"
enum pin {
PIN_MOSI = 0,
PIN_CLK = 1,
PIN_CS = 2,
PIN_MISO_EN = 3,
PIN_MISO = 4, // Value is ignored
};
#define NO_CACHE 0xffffffff
static uint8_t _flash_cache[FLASH_PAGE_SIZE] __attribute__((aligned(4)));
static uint32_t _flash_page_addr = NO_CACHE;
static bool _flash_cache_dirty;
// -------------------------------------------------------------------------
// When performing SPI operations, the flash cannot be accessed. Since we
// normally execute directly from SPI, this can cause problems.
// To work around this, we execute from RAM. This is accomplished by marking
// functions as being in the section ".ramtext".
// When building under GCC with -O0 or -Od, the `inline` attribute is ignored.
// Therefore, we must re-implement these functions here and explicitly mark
// them as being in `.ramtext`, even though they really ought to be inlined.
__attribute__((section(".ramtext")))
static inline void spi_writel(uint32_t value, uint32_t addr)
{
*((volatile uint32_t *)addr) = value;
}
__attribute__((section(".ramtext")))
static inline uint32_t spi_readl(uint32_t addr)
{
return *(volatile uint32_t *)addr;
}
__attribute__((section(".ramtext")))
static inline void bb_spi_write(unsigned char value) {
spi_writel(value, CSR_LXSPI_BITBANG_ADDR);
}
__attribute__((section(".ramtext")))
static inline uint32_t bb_read(void) {
return spi_readl(CSR_LXSPI_MISO_ADDR);
}
__attribute__((section(".ramtext")))
static inline void bb_spi_en(unsigned int en) {
spi_writel(en, CSR_LXSPI_BITBANG_EN_ADDR);
}
__attribute__((section(".ramtext")))
static inline void bb_spi_irq_setie(unsigned int ie)
{
if(ie) csrs(mstatus,CSR_MSTATUS_MIE); else csrc(mstatus,CSR_MSTATUS_MIE);
}
__attribute__((section(".ramtext")))
static inline void bb_spi_begin(void) {
bb_spi_write((0 << PIN_CLK) | (0 << PIN_CS));
}
__attribute__((section(".ramtext")))
static inline void bb_spi_end(void) {
bb_spi_write((0 << PIN_CLK) | (1 << PIN_CS));
}
__attribute__((section(".ramtext")))
static void spi_single_tx(uint8_t out) {
int bit;
for (bit = 7; bit >= 0; bit--) {
if (out & (1 << bit)) {
bb_spi_write((0 << PIN_CLK) | (1 << PIN_MOSI));
bb_spi_write((1 << PIN_CLK) | (1 << PIN_MOSI));
bb_spi_write((0 << PIN_CLK) | (1 << PIN_MOSI));
} else {
bb_spi_write((0 << PIN_CLK) | (0 << PIN_MOSI));
bb_spi_write((1 << PIN_CLK) | (0 << PIN_MOSI));
bb_spi_write((0 << PIN_CLK) | (0 << PIN_MOSI));
}
}
}
__attribute__((section(".ramtext")))
static uint8_t spi_single_rx(void) {
int bit = 0;
uint8_t in = 0;
bb_spi_write((1 << PIN_MISO_EN) | (0 << PIN_CLK));
while (bit++ < 8) {
bb_spi_write((1 << PIN_MISO_EN) | (1 << PIN_CLK));
in = (in << 1) | bb_read();
bb_spi_write((1 << PIN_MISO_EN) | (0 << PIN_CLK));
}
return in;
}
__attribute__((section(".ramtext")))
static int bb_spi_beginErase4(uint32_t erase_addr) {
// Enable Write-Enable Latch (WEL)
bb_spi_begin();
spi_single_tx(0x06);
bb_spi_end();
bb_spi_begin();
spi_single_tx(0x20);
spi_single_tx(erase_addr >> 16);
spi_single_tx(erase_addr >> 8);
spi_single_tx(erase_addr >> 0);
bb_spi_end();
return 0;
}
__attribute__((section(".ramtext")))
static int bb_spi_beginWrite(uint32_t addr, const void *v_data, unsigned int count) {
const uint8_t write_cmd = 0x02;
const uint8_t *data = v_data;
unsigned int i;
#ifdef NDEBUG
if (v_data < (const void *)_flash_cache) {
asm("ebreak");
}
if ((v_data+count) > (const void *)&_flash_cache[4096]) {
asm("ebreak");
}
#endif
// Enable Write-Enable Latch (WEL)
bb_spi_begin();
spi_single_tx(0x06);
bb_spi_end();
bb_spi_begin();
spi_single_tx(write_cmd);
spi_single_tx(addr >> 16);
spi_single_tx(addr >> 8);
spi_single_tx(addr >> 0);
for (i = 0; (i < count) && (i < 256); i++)
spi_single_tx(*data++);
bb_spi_end();
return 0;
}
__attribute__((section(".ramtext")))
static uint8_t spi_read_status(void) {
uint8_t val;
bb_spi_begin();
spi_single_tx(0x05);
val = spi_single_rx();
bb_spi_end();
return val;
}
__attribute__((section(".ramtext")))
static int bb_spi_is_busy(void) {
return spi_read_status() & (1 << 0);
}
__attribute__((used))
uint32_t page_write_log[128];
__attribute__((used))
uint32_t page_write_log_offset;
__attribute__((section(".ramtext")))
static void bb_spi_write_page(uint32_t flash_address, const uint8_t *data) {
const uint32_t flash_address_end = flash_address + FLASH_PAGE_SIZE;
// Ensure we're within the target flash address range.
if ((flash_address - FLASH_PARTITION_OFFSET_BYTES) > FLASH_SIZE) {
asm("ebreak");
return;
}
if (flash_address < FLASH_PARTITION_OFFSET_BYTES) {
asm("ebreak");
return;
}
if ((flash_address_end - FLASH_PARTITION_OFFSET_BYTES) > FLASH_SIZE) {
asm("ebreak");
return;
}
if (flash_address_end < FLASH_PARTITION_OFFSET_BYTES) {
asm("ebreak");
return;
}
// Ensure we're not erasing the middle of a flash bank
if ((flash_address & 0xfff) != 0) {
asm("ebreak");
return;
}
page_write_log[page_write_log_offset++] = flash_address;
if (page_write_log_offset > sizeof(page_write_log)/sizeof(*page_write_log)) page_write_log_offset=0;
while (bb_spi_is_busy())
; // relax
bb_spi_beginErase4(flash_address);
while (bb_spi_is_busy())
; // relax
while (flash_address < flash_address_end) {
bb_spi_beginWrite(flash_address, data, 256);
while (bb_spi_is_busy())
; // relax
flash_address += 256;
data += 256;
}
}
static inline uint32_t lba2addr(uint32_t block) {
return (0x20000000 + FLASH_PARTITION_OFFSET_BYTES) + (block * FILESYSTEM_BLOCK_SIZE);
}
void supervisor_flash_init(void) {
}
uint32_t supervisor_flash_get_block_size(void) {
return FILESYSTEM_BLOCK_SIZE;
}
uint32_t supervisor_flash_get_block_count(void) {
return FLASH_SIZE/FILESYSTEM_BLOCK_SIZE;
}
__attribute__((section(".ramtext")))
void supervisor_flash_flush(void) {
// Skip if data is the same, or if there is no data in the cache
if (_flash_page_addr == NO_CACHE)
return;
if (!_flash_cache_dirty)
return;
// Disable interrupts and enable bit-bang mode on the SPI flash.
// This function is running from RAM -- otherwise enabling bitbang mode
// would crash the CPU as the program suddenly became an endless stream
// of `0xffffffff`.
bb_spi_irq_setie(0);
bb_spi_write((0 << PIN_CLK) | (1 << PIN_CS));
bb_spi_en(1);
bb_spi_write_page(_flash_page_addr & 0x00ffffff, (const uint8_t *)_flash_cache);
bb_spi_en(0);
bb_spi_irq_setie(1);
_flash_cache_dirty = false;
}
mp_uint_t supervisor_flash_read_blocks(uint8_t *dest, uint32_t block, uint32_t num_blocks) {
// Must write out anything in cache before trying to read.
supervisor_flash_flush();
uint32_t src = lba2addr(block);
memcpy(dest, (uint8_t*) src, FILESYSTEM_BLOCK_SIZE*num_blocks);
#if USB_AVAILABLE
usb_background();
#endif
return 0;
}
mp_uint_t supervisor_flash_write_blocks(const uint8_t *src, uint32_t lba, uint32_t num_blocks) {
while (num_blocks) {
uint32_t const addr = lba2addr(lba);
uint32_t const page_addr = addr & ~(FLASH_PAGE_SIZE - 1);
uint32_t count = 8 - (lba % 8); // up to page boundary
count = MIN(num_blocks, count);
if (page_addr != _flash_page_addr) {
// Write out anything in cache before overwriting it.
supervisor_flash_flush();
_flash_page_addr = page_addr;
_flash_cache_dirty = false;
// Copy the current contents of the entire page into the cache.
memcpy(_flash_cache, (void *)page_addr, FLASH_PAGE_SIZE);
}
// Overwrite part or all of the page cache with the src data, but only if it's changed.
if (_flash_cache_dirty || memcmp(_flash_cache + (addr & (FLASH_PAGE_SIZE - 1)), src, count * FILESYSTEM_BLOCK_SIZE)) {
memcpy(_flash_cache + (addr & (FLASH_PAGE_SIZE - 1)), src, count * FILESYSTEM_BLOCK_SIZE);
_flash_cache_dirty = true;
}
// adjust for next run
lba += count;
src += count * FILESYSTEM_BLOCK_SIZE;
num_blocks -= count;
#if USB_AVAILABLE
usb_background();
#endif
}
return 0; // success
}
void supervisor_flash_release_cache(void) {
}

View File

@ -0,0 +1,38 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2013, 2014 Damien P. George
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef MICROPY_INCLUDED_LITEX_INTERNAL_FLASH_H
#define MICROPY_INCLUDED_LITEX_INTERNAL_FLASH_H
#include <stdbool.h>
#include <stdint.h>
#include "py/mpconfig.h"
#define INTERNAL_FLASH_SYSTICK_MASK (0x1ff) // 512ms
#define INTERNAL_FLASH_IDLE_TICK(tick) (((tick) & INTERNAL_FLASH_SYSTICK_MASK) == 2)
#endif // MICROPY_INCLUDED_LITEX_INTERNAL_FLASH_H

View File

@ -0,0 +1,31 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2018 Scott Shawcroft for Adafruit Industries LLC
*
* 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_LITEX_INTERNAL_FLASH_ROOT_POINTERS_H
#define MICROPY_INCLUDED_LITEX_INTERNAL_FLASH_ROOT_POINTERS_H
#define FLASH_ROOT_POINTERS
#endif // MICROPY_INCLUDED_LITEX_INTERNAL_FLASH_ROOT_POINTERS_H

View File

@ -0,0 +1,85 @@
/*
* This file is part of the MicroPython project, http://micropython.org/
*
* The MIT License (MIT)
*
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
* Copyright (c) 2019 Lucian Copeland for Adafruit Industries
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <stdint.h>
#include "supervisor/port.h"
#include "boards/board.h"
#include "tick.h"
#include "irq.h"
#include "csr.h"
safe_mode_t port_init(void) {
irq_setmask(0);
irq_setie(1);
tick_init();
board_init();
return NO_SAFE_MODE;
}
extern uint32_t _ebss;
extern uint32_t _heap_start;
extern uint32_t _estack;
void reset_port(void) {
// reset_all_pins();
// i2c_reset();
// spi_reset();
// uart_reset();
// pwmout_reset();
}
void reset_to_bootloader(void) {
reboot_ctrl_write(0xac);
}
void reset_cpu(void) {
}
uint32_t *port_heap_get_bottom(void) {
return port_stack_get_limit();
}
uint32_t *port_heap_get_top(void) {
return port_stack_get_top();
}
uint32_t *port_stack_get_limit(void) {
return &_ebss;
}
uint32_t *port_stack_get_top(void) {
return &_estack;
}
// Place the word to save just after our BSS section that gets blanked.
void port_set_saved_word(uint32_t value) {
_ebss = value;
}
uint32_t port_get_saved_word(void) {
return _ebss;
}

View File

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

82
ports/litex/tick.c Normal file
View File

@ -0,0 +1,82 @@
/*
* 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 "csr.h"
#include "tick.h"
#include "irq.h"
#include "supervisor/shared/autoreload.h"
#include "supervisor/filesystem.h"
#include "supervisor/shared/tick.h"
#include "shared-module/gamepad/__init__.h"
#include "shared-bindings/microcontroller/Processor.h"
// Global millisecond tick count
// volatile uint64_t ticks_ms = 0;
__attribute__((section(".ramtext")))
void SysTick_Handler(void) {
timer0_ev_pending_write(1);
supervisor_tick();
}
void tick_init() {
int t;
timer0_en_write(0);
t = CONFIG_CLOCK_FREQUENCY / 1000; // 1000 kHz tick
timer0_reload_write(t);
timer0_load_write(t);
timer0_en_write(1);
timer0_ev_enable_write(1);
timer0_ev_pending_write(1);
irq_setmask(irq_getmask() | (1 << TIMER0_INTERRUPT));
}
void tick_delay(uint32_t us) {
// uint32_t ticks_per_us = SystemCoreClock / 1000 / 1000;
// uint32_t us_between_ticks = SysTick->VAL / ticks_per_us;
// uint64_t start_ms = ticks_ms;
// while (us > 1000) {
// while (ticks_ms == start_ms) {}
// us -= us_between_ticks;
// start_ms = ticks_ms;
// us_between_ticks = 1000;
// }
// while (SysTick->VAL > ((us_between_ticks - us) * ticks_per_us)) {}
}
// us counts down!
void current_tick(uint64_t* ms, uint32_t* us_until_ms) {
// uint32_t ticks_per_us = SystemCoreClock / 1000 / 1000;
// *ms = ticks_ms;
// *us_until_ms = SysTick->VAL / ticks_per_us;
}
void wait_until(uint64_t ms, uint32_t us_until_ms) {
// uint32_t ticks_per_us = SystemCoreClock / 1000 / 1000;
// while(ticks_ms <= ms && SysTick->VAL / ticks_per_us >= us_until_ms) {}
}

46
ports/litex/tick.h Normal file
View File

@ -0,0 +1,46 @@
/*
* 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.
*/
#ifndef MICROPY_INCLUDED_LITEX_TICK_H
#define MICROPY_INCLUDED_LITEX_TICK_H
#include "py/mpconfig.h"
#include <stdint.h>
extern volatile uint64_t ticks_ms;
extern struct timer_descriptor ms_timer;
void tick_init(void);
void tick_delay(uint32_t us);
void current_tick(uint64_t* ms, uint32_t* us_until_ms);
// Do not call this with interrupts disabled because it may be waiting for
// ticks_ms to increment.
void wait_until(uint64_t ms, uint32_t us_until_ms);
#endif // MICROPY_INCLUDED_LITEX_TICK_H

View File

@ -270,9 +270,14 @@ size_t common_hal_busio_uart_read(busio_uart_obj_t *self, uint8_t *data, size_t
LPUART_TransferAbortReceive(self->uart, &self->handle);
}
// No data left, we got it all
if (self->handle.rxData == NULL) {
return len;
}
// The only place we can reliably tell how many bytes have been received is from the current
// wp in the handle (because the abort nukes rxDataSize, and reading it before abort is a race.)
return self->handle.rxData-data;
return self->handle.rxData - data;
}
// Write characters.

View File

@ -28,10 +28,6 @@
#include "shared-bindings/neopixel_write/__init__.h"
#include "common-hal/microcontroller/Pin.h"
#include "fsl_gpio.h"
#include "py/mperrno.h"
#include "py/mphal.h"
#include "py/runtime.h"
#include "supervisor/port.h"
uint64_t next_start_raw_ticks = 0;
@ -44,7 +40,7 @@ uint64_t next_start_raw_ticks = 0;
#pragma GCC push_options
#pragma GCC optimize ("Os")
void common_hal_neopixel_write (const digitalio_digitalinout_obj_t* digitalinout, uint8_t *pixels,
void PLACE_IN_ITCM(common_hal_neopixel_write)(const digitalio_digitalinout_obj_t* digitalinout, uint8_t *pixels,
uint32_t numBytes) {
uint8_t *p = pixels, *end = p + numBytes, pix = *p++, mask = 0x80;
uint32_t start = 0;
@ -53,14 +49,10 @@ void common_hal_neopixel_write (const digitalio_digitalinout_obj_t* digitalinout
//assumes 800_000Hz frequency
//Theoretical values here are 800_000 -> 1.25us, 2500000->0.4us, 1250000->0.8us
//TODO: try to get dynamic weighting working again
#ifdef MIMXRT1011_SERIES
uint32_t sys_freq = CLOCK_GetCoreFreq();
#else
uint32_t sys_freq = CLOCK_GetAhbFreq();
#endif
uint32_t interval = sys_freq/MAGIC_800_INT;
uint32_t t0 = (sys_freq/MAGIC_800_T0H);
uint32_t t1 = (sys_freq/MAGIC_800_T1H);
const uint32_t sys_freq = SystemCoreClock;
const uint32_t interval = (sys_freq / MAGIC_800_INT);
const uint32_t t0 = (sys_freq / MAGIC_800_T0H);
const uint32_t t1 = (sys_freq / MAGIC_800_T1H);
// Wait to make sure we don't append onto the last transmission. This should only be a tick or
// two.
@ -78,9 +70,9 @@ void common_hal_neopixel_write (const digitalio_digitalinout_obj_t* digitalinout
for(;;) {
cyc = (pix & mask) ? t1 : t0;
start = DWT->CYCCNT;
GPIO_PinWrite(gpio, pin, 1);
gpio->DR |= (1U << pin);
while((DWT->CYCCNT - start) < cyc);
GPIO_PinWrite(gpio, pin, 0);
gpio->DR &= ~(1U << pin);
while((DWT->CYCCNT - start) < interval);
if(!(mask >>= 1)) {
if(p >= end) break;

View File

@ -58,7 +58,9 @@ void board_init(void) {
&pin_P0_13, // TFT_DC Command or data
&pin_P0_12, // TFT_CS Chip select
&pin_P1_03, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -87,7 +89,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -58,7 +58,9 @@ void board_init(void) {
&pin_P0_08, // TFT_DC Command or data
&pin_P0_14, // TFT_CS Chip select
&pin_P0_13, // TFT_RST Reset
60000000);
60000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -80,14 +82,15 @@ void board_init(void) {
0x37, // set vertical scroll command
display_init_sequence,
sizeof(display_init_sequence),
NULL, // backlight pin
&pin_P0_02, // backlight pin
NO_BRIGHTNESS_COMMAND,
1.0f, // brightness (ignored)
true, // auto_brightness
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
false); // backlight_on_high
}
bool board_requests_safe_mode(void) {

View File

@ -162,7 +162,8 @@ bool connection_on_ble_evt(ble_evt_t *ble_evt, void *self_in) {
self->do_bond_cccds = true;
self->do_bond_cccds_request_time = supervisor_ticks_ms64();
}
break;
// Return false so other handlers get this event as well.
return false;
case BLE_GATTS_EVT_SYS_ATTR_MISSING:
sd_ble_gatts_sys_attr_set(self->conn_handle, NULL, 0, 0);

View File

@ -146,6 +146,7 @@ STATIC bool packet_buffer_on_ble_server_evt(ble_evt_t *ble_evt, void *param) {
// A client wrote to this server characteristic.
ble_gatts_evt_write_t *evt_write = &ble_evt->evt.gatts_evt.params.write;
// Event handle must match the handle for my characteristic.
if (evt_write->handle == self->characteristic->handle) {
if (self->conn_handle == BLE_CONN_HANDLE_INVALID) {
@ -154,8 +155,7 @@ STATIC bool packet_buffer_on_ble_server_evt(ble_evt_t *ble_evt, void *param) {
return false;
}
write_to_ringbuf(self, evt_write->data, evt_write->len);
} else if (evt_write->handle == self->characteristic->cccd_handle &&
self->conn_handle == BLE_CONN_HANDLE_INVALID) {
} else if (evt_write->handle == self->characteristic->cccd_handle) {
uint16_t cccd = *((uint16_t*) evt_write->data);
if (cccd & BLE_GATT_HVX_NOTIFICATION) {
self->conn_handle = conn_handle;
@ -165,6 +165,11 @@ STATIC bool packet_buffer_on_ble_server_evt(ble_evt_t *ble_evt, void *param) {
}
break;
}
case BLE_GAP_EVT_DISCONNECTED: {
if (self->conn_handle == conn_handle) {
self->conn_handle = BLE_CONN_HANDLE_INVALID;
}
}
case BLE_GATTS_EVT_HVN_TX_COMPLETE: {
queue_next_write(self);
}
@ -190,6 +195,8 @@ void common_hal_bleio_packet_buffer_construct(
incoming = outgoing;
outgoing = temp;
self->conn_handle = bleio_connection_get_conn_handle(MP_OBJ_TO_PTR(self->characteristic->service->connection));
} else {
self->conn_handle = BLE_CONN_HANDLE_INVALID;
}
if (incoming) {
@ -253,8 +260,7 @@ int common_hal_bleio_packet_buffer_readinto(bleio_packet_buffer_obj_t *self, uin
sd_nvic_critical_region_enter(&is_nested_critical_region);
if (packet_length > len) {
// TODO: raise an exception.
packet_length = len;
return len - packet_length;
}
ringbuf_get_n(&self->ringbuf, data, packet_length);

View File

@ -69,7 +69,9 @@ static uint32_t get_nrf_baud (uint32_t baudrate) {
{ 14400, NRF_UARTE_BAUDRATE_14400 },
{ 19200, NRF_UARTE_BAUDRATE_19200 },
{ 28800, NRF_UARTE_BAUDRATE_28800 },
{ 31250, NRF_UARTE_BAUDRATE_31250 },
{ 38400, NRF_UARTE_BAUDRATE_38400 },
{ 56000, NRF_UARTE_BAUDRATE_56000 },
{ 57600, NRF_UARTE_BAUDRATE_57600 },
{ 76800, NRF_UARTE_BAUDRATE_76800 },
{ 115200, NRF_UARTE_BAUDRATE_115200 },

View File

@ -69,5 +69,5 @@ NRF_DEFINES += -DNRF52840_XXAA -DNRF52840
# Defined here because system_nrf52840.c doesn't #include any of our own include files.
CFLAGS += -DCONFIG_NFCT_PINS_AS_GPIOS
MICROPY_PY_ULAB = 1
CIRCUITPY_ULAB = 1
endif

View File

@ -0,0 +1,118 @@
/*
GNU linker script for STM32F411 via Micropython
*/
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K /* entire flash */
FLASH_ISR (rx) : ORIGIN = 0x08000000, LENGTH = 16K /* sector 0 */
FLASH_FS (rx) : ORIGIN = 0x08004000, LENGTH = 32K /* sectors 1,2 are 16K */
FLASH_NVM (rwx) : ORIGIN = 0x0800C000, LENGTH = 16K /* sector 3 is 16K */
FLASH_TEXT (rx) : ORIGIN = 0x08010000, LENGTH = 448K /* sector 4 is 64K, sectors 5,6,7 are 128K */
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
}
/* produce a link error if there is not this amount of RAM for these sections */
_minimum_stack_size = 2K;
_minimum_heap_size = 16K;
/* Define the top end of the stack. The stack is full descending so begins just
above last byte of RAM. Note that EABI requires the stack to be 8-byte
aligned for a call. */
_estack = ORIGIN(RAM) + LENGTH(RAM);
/* RAM extents for the garbage collector */
_ram_start = ORIGIN(RAM);
_ram_end = ORIGIN(RAM) + LENGTH(RAM);
_heap_start = _ebss; /* heap starts just after statically allocated memory */
_heap_end = 0x2001c000; /* tunable */
ENTRY(Reset_Handler)
/* define output sections */
SECTIONS
{
/* The startup code goes first into FLASH */
.isr_vector :
{
. = ALIGN(4);
KEEP(*(.isr_vector)) /* Startup code */
/* This first flash block is 16K annd the isr vectors only take up
about 400 bytes. Micropython pads this with files, but this didn't
work with the size of Circuitpython's ff object. */
. = ALIGN(4);
} >FLASH_ISR
/* Non-volitile memory */
.nvm_data :
{
. = ALIGN(4);
KEEP(*(.nvm_data))
. = ALIGN(4);
} >FLASH_NVM
/* The program code and other data goes into FLASH */
.text :
{
. = ALIGN(4);
*(.text*) /* .text* sections (code) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
/* *(.glue_7) */ /* glue arm to thumb code */
/* *(.glue_7t) */ /* glue thumb to arm code */
. = ALIGN(4);
_etext = .; /* define a global symbol at end of code */
} >FLASH_TEXT
/* used by the startup to initialize data */
_sidata = LOADADDR(.data);
/* This is the initialized data section
The program executes knowing that the data is in the RAM
but the loader puts the initial values in the FLASH (inidata).
It is one task of the startup to copy the initial values from FLASH to RAM. */
.data :
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start; used by startup code in order to initialise the .data section in RAM */
*(.data*) /* .data* sections */
. = ALIGN(4);
_edata = .; /* define a global symbol at data end; used by startup code in order to initialise the .data section in RAM */
} >RAM AT> FLASH_TEXT
/* Uninitialized data section */
.bss :
{
. = ALIGN(4);
_sbss = .; /* define a global symbol at bss start; used by startup code */
*(.bss*)
*(COMMON)
. = ALIGN(4);
_ebss = .; /* define a global symbol at bss end; used by startup code and GC */
} >RAM
/* this is to define the start of the heap, and make sure we have a minimum size */
.heap :
{
. = ALIGN(4);
. = . + _minimum_heap_size;
. = ALIGN(4);
} >RAM
/* this just checks there is enough RAM for the stack */
.stack :
{
. = ALIGN(4);
. = . + _minimum_stack_size;
. = ALIGN(4);
} >RAM
.ARM.attributes 0 : { *(.ARM.attributes) }
}

View File

@ -78,7 +78,9 @@ void board_init(void) {
&pin_PA08, // Command or data
&pin_PB12, // Chip select
&pin_PB10, // Reset
24000000);
24000000, // Baudrate
0, // Polarity
0); // Phase
displayio_display_obj_t* display = &displays[0].display;
display->base.type = &displayio_display_type;
@ -107,7 +109,8 @@ void board_init(void) {
false, // single_byte_bounds
false, // data_as_commands
true, // auto_refresh
60); // native_frames_per_second
60, // native_frames_per_second
true); // backlight_on_high
}
bool board_requests_safe_mode(void) {

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) {
}

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