Merge remote-tracking branch 'upstream/main' into sslsocket
This commit is contained in:
commit
66639b237f
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@ -304,6 +304,7 @@ jobs:
|
|||||||
- "seeeduino_xiao"
|
- "seeeduino_xiao"
|
||||||
- "serpente"
|
- "serpente"
|
||||||
- "shirtty"
|
- "shirtty"
|
||||||
|
- "silicognition-m4-shim"
|
||||||
- "simmel"
|
- "simmel"
|
||||||
- "snekboard"
|
- "snekboard"
|
||||||
- "sparkfun_lumidrive"
|
- "sparkfun_lumidrive"
|
||||||
@ -443,6 +444,7 @@ jobs:
|
|||||||
- "espressif_kaluga_1"
|
- "espressif_kaluga_1"
|
||||||
- "espressif_saola_1_wroom"
|
- "espressif_saola_1_wroom"
|
||||||
- "espressif_saola_1_wrover"
|
- "espressif_saola_1_wrover"
|
||||||
|
- "lilygo_ttgo_t8_s2_st7789"
|
||||||
- "microdev_micro_s2"
|
- "microdev_micro_s2"
|
||||||
- "muselab_nanoesp32_s2"
|
- "muselab_nanoesp32_s2"
|
||||||
- "targett_module_clip_wroom"
|
- "targett_module_clip_wroom"
|
||||||
@ -462,12 +464,12 @@ jobs:
|
|||||||
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
|
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
|
||||||
- name: CircuitPython version
|
- name: CircuitPython version
|
||||||
run: git describe --dirty --tags
|
run: git describe --dirty --tags
|
||||||
- uses: actions/cache@v1
|
- uses: actions/cache@v2
|
||||||
name: Fetch IDF tool cache
|
name: Fetch IDF tool cache
|
||||||
id: idf-cache
|
id: idf-cache
|
||||||
with:
|
with:
|
||||||
path: ${{ github.workspace }}/.idf_tools
|
path: ${{ github.workspace }}/.idf_tools
|
||||||
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20210122
|
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20210128
|
||||||
- name: Clone IDF submodules
|
- name: Clone IDF submodules
|
||||||
run: |
|
run: |
|
||||||
(cd $IDF_PATH && git submodule update --init)
|
(cd $IDF_PATH && git submodule update --init)
|
||||||
|
2
.github/workflows/pre-commit.yml
vendored
2
.github/workflows/pre-commit.yml
vendored
@ -21,7 +21,7 @@ jobs:
|
|||||||
run: git submodule update --init extmod/ulab
|
run: git submodule update --init extmod/ulab
|
||||||
- name: set PY
|
- name: set PY
|
||||||
run: echo >>$GITHUB_ENV PY="$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')"
|
run: echo >>$GITHUB_ENV PY="$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')"
|
||||||
- uses: actions/cache@v1
|
- uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: ~/.cache/pre-commit
|
path: ~/.cache/pre-commit
|
||||||
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
|
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
|
||||||
|
9
Makefile
9
Makefile
@ -40,17 +40,18 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(BASEOPTS)
|
|||||||
# the i18n builder cannot share the environment and doctrees with the others
|
# the i18n builder cannot share the environment and doctrees with the others
|
||||||
I18NSPHINXOPTS = $(BASEOPTS)
|
I18NSPHINXOPTS = $(BASEOPTS)
|
||||||
|
|
||||||
TRANSLATE_SOURCES = extmod lib main.c ports/atmel-samd ports/cxd56 ports/esp32s2 ports/mimxrt10xx ports/nrf ports/stm py shared-bindings shared-module supervisor
|
TRANSLATE_SOURCES = extmod lib main.c ports/atmel-samd ports/cxd56 ports/esp32s2 ports/mimxrt10xx ports/nrf ports/raspberrypi ports/stm py shared-bindings shared-module supervisor
|
||||||
# Paths to exclude from TRANSLATE_SOURCES
|
# Paths to exclude from TRANSLATE_SOURCES
|
||||||
# Each must be preceded by "-path"; if any wildcards, enclose in quotes.
|
# Each must be preceded by "-path"; if any wildcards, enclose in quotes.
|
||||||
# Separate by "-o" (Find's "or" operand)
|
# Separate by "-o" (Find's "or" operand)
|
||||||
TRANSLATE_SOURCES_EXC = -path "ports/*/build-*" \
|
TRANSLATE_SOURCES_EXC = -path "ports/*/build-*" \
|
||||||
-o -path "ports/*/build" \
|
-o -path "ports/*/build" \
|
||||||
-o -path ports/esp32s2/esp-idf \
|
|
||||||
-o -path ports/cxd56/spresense-exported-sdk \
|
|
||||||
-o -path ports/stm/st_driver \
|
|
||||||
-o -path ports/atmel-samd/asf4 \
|
-o -path ports/atmel-samd/asf4 \
|
||||||
|
-o -path ports/cxd56/spresense-exported-sdk \
|
||||||
|
-o -path ports/esp32s2/esp-idf \
|
||||||
-o -path ports/mimxrt10xx/sdk \
|
-o -path ports/mimxrt10xx/sdk \
|
||||||
|
-o -path ports/raspberrypi/sdk \
|
||||||
|
-o -path ports/stm/st_driver \
|
||||||
-o -path lib/tinyusb \
|
-o -path lib/tinyusb \
|
||||||
-o -path lib/lwip \
|
-o -path lib/lwip \
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ Behavior
|
|||||||
get back into normal mode.
|
get back into normal mode.
|
||||||
- RGB status LED indicating CircuitPython state, and errors through a sequence of colored flashes.
|
- RGB status LED indicating CircuitPython state, and errors through a sequence of colored flashes.
|
||||||
- Re-runs ``code.py`` or other main file after file system writes over USB mass storage. (Disable with
|
- Re-runs ``code.py`` or other main file after file system writes over USB mass storage. (Disable with
|
||||||
``samd.disable_autoreload()``)
|
``supervisor.disable_autoreload()``)
|
||||||
- Entering the REPL after the main code is finished requires a key press which enters the REPL and
|
- Entering the REPL after the main code is finished requires a key press which enters the REPL and
|
||||||
disables autoreload.
|
disables autoreload.
|
||||||
- Main is one of these: ``code.txt``, ``code.py``, ``main.py``,
|
- Main is one of these: ``code.txt``, ``code.py``, ``main.py``,
|
||||||
|
@ -520,7 +520,9 @@ properties.
|
|||||||
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
||||||
| ``temperature`` | float | degrees centigrade |
|
| ``temperature`` | float | degrees centigrade |
|
||||||
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
||||||
| ``eCO2`` | float | equivalent CO2 in ppm |
|
| ``CO2`` | float | measured CO2 in ppm |
|
||||||
|
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
||||||
|
| ``eCO2`` | float | equivalent/estimated CO2 in ppm (estimated from some other measurement) |
|
||||||
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
||||||
| ``TVOC`` | float | Total Volatile Organic Compounds in ppb |
|
| ``TVOC`` | float | Total Volatile Organic Compounds in ppb |
|
||||||
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
+-----------------------+-----------------------+-------------------------------------------------------------------------+
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
:mod:`uerrno` -- system error codes
|
:mod:`errno` -- system error codes
|
||||||
===================================
|
===================================
|
||||||
|
|
||||||
.. include:: ../templates/unsupported_in_circuitpython.inc
|
.. module:: errno
|
||||||
|
|
||||||
.. module:: uerrno
|
|
||||||
:synopsis: system error codes
|
:synopsis: system error codes
|
||||||
|
|
||||||
|see_cpython_module| :mod:`cpython:errno`.
|
|see_cpython_module| :mod:`cpython:errno`.
|
||||||
@ -22,7 +20,7 @@ Constants
|
|||||||
try:
|
try:
|
||||||
os.mkdir("my_dir")
|
os.mkdir("my_dir")
|
||||||
except OSError as exc:
|
except OSError as exc:
|
||||||
if exc.args[0] == uerrno.EEXIST:
|
if exc.args[0] == errno.EEXIST:
|
||||||
print("Directory already exists")
|
print("Directory already exists")
|
||||||
|
|
||||||
.. data:: errorcode
|
.. data:: errorcode
|
||||||
@ -30,5 +28,5 @@ Constants
|
|||||||
Dictionary mapping numeric error codes to strings with symbolic error
|
Dictionary mapping numeric error codes to strings with symbolic error
|
||||||
code (see above)::
|
code (see above)::
|
||||||
|
|
||||||
>>> print(uerrno.errorcode[uerrno.EEXIST])
|
>>> print(errno.errorcode[uerrno.EEXIST])
|
||||||
EEXIST
|
EEXIST
|
@ -1,85 +0,0 @@
|
|||||||
:mod:`esp` --- functions related to the ESP8266
|
|
||||||
===============================================
|
|
||||||
|
|
||||||
.. include:: ../templates/unsupported_in_circuitpython.inc
|
|
||||||
|
|
||||||
.. module:: esp
|
|
||||||
:synopsis: functions related to the ESP8266
|
|
||||||
|
|
||||||
The ``esp`` module contains specific functions related to the ESP8266 module.
|
|
||||||
|
|
||||||
|
|
||||||
Functions
|
|
||||||
---------
|
|
||||||
|
|
||||||
.. function:: sleep_type([sleep_type])
|
|
||||||
|
|
||||||
Get or set the sleep type.
|
|
||||||
|
|
||||||
If the *sleep_type* parameter is provided, sets the sleep type to its
|
|
||||||
value. If the function is called without parameters, returns the current
|
|
||||||
sleep type.
|
|
||||||
|
|
||||||
The possible sleep types are defined as constants:
|
|
||||||
|
|
||||||
* ``SLEEP_NONE`` -- all functions enabled,
|
|
||||||
* ``SLEEP_MODEM`` -- modem sleep, shuts down the WiFi Modem circuit.
|
|
||||||
* ``SLEEP_LIGHT`` -- light sleep, shuts down the WiFi Modem circuit
|
|
||||||
and suspends the processor periodically.
|
|
||||||
|
|
||||||
The system enters the set sleep mode automatically when possible.
|
|
||||||
|
|
||||||
.. function:: deepsleep(time=0)
|
|
||||||
|
|
||||||
Enter deep sleep.
|
|
||||||
|
|
||||||
The whole module powers down, except for the RTC clock circuit, which can
|
|
||||||
be used to restart the module after the specified time if the pin 16 is
|
|
||||||
connected to the reset pin. Otherwise the module will sleep until manually
|
|
||||||
reset.
|
|
||||||
|
|
||||||
.. function:: flash_id()
|
|
||||||
|
|
||||||
Read the device ID of the flash memory.
|
|
||||||
|
|
||||||
.. function:: flash_read(byte_offset, length_or_buffer)
|
|
||||||
|
|
||||||
.. function:: flash_write(byte_offset, bytes)
|
|
||||||
|
|
||||||
.. function:: flash_erase(sector_no)
|
|
||||||
|
|
||||||
.. function:: set_native_code_location(start, length)
|
|
||||||
|
|
||||||
Set the location that native code will be placed for execution after it is
|
|
||||||
compiled. Native code is emitted when the ``@micropython.native``,
|
|
||||||
``@micropython.viper`` and ``@micropython.asm_xtensa`` decorators are applied
|
|
||||||
to a function. The ESP8266 must execute code from either iRAM or the lower
|
|
||||||
1MByte of flash (which is memory mapped), and this function controls the
|
|
||||||
location.
|
|
||||||
|
|
||||||
If *start* and *length* are both ``None`` then the native code location is
|
|
||||||
set to the unused portion of memory at the end of the iRAM1 region. The
|
|
||||||
size of this unused portion depends on the firmware and is typically quite
|
|
||||||
small (around 500 bytes), and is enough to store a few very small
|
|
||||||
functions. The advantage of using this iRAM1 region is that it does not
|
|
||||||
get worn out by writing to it.
|
|
||||||
|
|
||||||
If neither *start* nor *length* are ``None`` then they should be integers.
|
|
||||||
*start* should specify the byte offset from the beginning of the flash at
|
|
||||||
which native code should be stored. *length* specifies how many bytes of
|
|
||||||
flash from *start* can be used to store native code. *start* and *length*
|
|
||||||
should be multiples of the sector size (being 4096 bytes). The flash will
|
|
||||||
be automatically erased before writing to it so be sure to use a region of
|
|
||||||
flash that is not otherwise used, for example by the firmware or the
|
|
||||||
filesystem.
|
|
||||||
|
|
||||||
When using the flash to store native code *start+length* must be less
|
|
||||||
than or equal to 1MByte. Note that the flash can be worn out if repeated
|
|
||||||
erasures (and writes) are made so use this feature sparingly.
|
|
||||||
In particular, native code needs to be recompiled and rewritten to flash
|
|
||||||
on each boot (including wake from deepsleep).
|
|
||||||
|
|
||||||
In both cases above, using iRAM1 or flash, if there is no more room left
|
|
||||||
in the specified region then the use of a native decorator on a function
|
|
||||||
will lead to `MemoryError` exception being raised during compilation of
|
|
||||||
that function.
|
|
@ -6,35 +6,21 @@ MicroPython libraries
|
|||||||
Python standard libraries and micro-libraries
|
Python standard libraries and micro-libraries
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
|
||||||
These libraries are inherited from MicroPython.
|
The libraries below are inherited from MicroPython.
|
||||||
They are similar to the standard Python libraries with the same name
|
They are similar to the standard Python libraries with the same name.
|
||||||
or with the "u" prefix dropped.
|
|
||||||
They implement a subset of or a variant of the corresponding
|
They implement a subset of or a variant of the corresponding
|
||||||
standard Python library.
|
standard Python library.
|
||||||
|
|
||||||
.. warning::
|
|
||||||
|
|
||||||
Though these MicroPython-based libraries are available in CircuitPython,
|
|
||||||
their functionality may change in the future, perhaps significantly.
|
|
||||||
As CircuitPython continues to develop, new versions of these libraries will
|
|
||||||
be created that are more compliant with the standard Python libraries.
|
|
||||||
You may need to change your code later if you rely
|
|
||||||
on any non-standard functionality they currently provide.
|
|
||||||
|
|
||||||
CircuitPython's long-term goal is that code written in CircuitPython
|
CircuitPython's long-term goal is that code written in CircuitPython
|
||||||
using Python standard libraries will be runnable on CPython without changes.
|
using Python standard libraries will be runnable on CPython without changes.
|
||||||
|
|
||||||
Some libraries below are not enabled on CircuitPython builds with
|
These libraries are not enabled on CircuitPython builds with
|
||||||
limited flash memory, usually on non-Express builds:
|
limited flash memory, usually on non-Express builds:
|
||||||
``uerrno``, ``ure``.
|
``binascii``, ``errno``, ``json``, ``re``.
|
||||||
|
|
||||||
Some libraries are not currently enabled in any CircuitPython build, but may be in the future:
|
These libraries are not currently enabled in any CircuitPython build, but may be in the future,
|
||||||
``uio``, ``ujson``, ``uzlib``.
|
with the ``u`` prefix dropped:
|
||||||
|
``uctypes``, ``uhashlib``, ``uzlib``.
|
||||||
Some libraries are only enabled only WiFi-capable ports (ESP8266, nRF)
|
|
||||||
because they are typically used for network software:
|
|
||||||
``binascii``, ``hashlib``, ``uheapq``, ``uselect``, ``ussl``.
|
|
||||||
Not all of these are enabled on all WiFi-capable ports.
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
@ -44,13 +30,14 @@ Not all of these are enabled on all WiFi-capable ports.
|
|||||||
array.rst
|
array.rst
|
||||||
binascii.rst
|
binascii.rst
|
||||||
collections.rst
|
collections.rst
|
||||||
|
errno.rst
|
||||||
gc.rst
|
gc.rst
|
||||||
hashlib.rst
|
hashlib.rst
|
||||||
|
io.rst
|
||||||
|
json.rst
|
||||||
|
re.rst
|
||||||
sys.rst
|
sys.rst
|
||||||
uerrno.rst
|
uctypes.rst
|
||||||
uio.rst
|
|
||||||
ujson.rst
|
|
||||||
ure.rst
|
|
||||||
uselect.rst
|
uselect.rst
|
||||||
usocket.rst
|
usocket.rst
|
||||||
ussl.rst
|
ussl.rst
|
||||||
@ -59,8 +46,8 @@ Not all of these are enabled on all WiFi-capable ports.
|
|||||||
Omitted functions in the ``string`` library
|
Omitted functions in the ``string`` library
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
||||||
A few string operations are not enabled on CircuitPython
|
A few string operations are not enabled on small builds
|
||||||
M0 non-Express builds, due to limited flash memory:
|
(usually non-Express), due to limited flash memory:
|
||||||
``string.center()``, ``string.partition()``, ``string.splitlines()``,
|
``string.center()``, ``string.partition()``, ``string.splitlines()``,
|
||||||
``string.reversed()``.
|
``string.reversed()``.
|
||||||
|
|
||||||
@ -78,15 +65,3 @@ versions of CircuitPython.
|
|||||||
btree.rst
|
btree.rst
|
||||||
framebuf.rst
|
framebuf.rst
|
||||||
micropython.rst
|
micropython.rst
|
||||||
network.rst
|
|
||||||
uctypes.rst
|
|
||||||
|
|
||||||
Libraries specific to the ESP8266
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
The following libraries are specific to the ESP8266.
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:maxdepth: 2
|
|
||||||
|
|
||||||
esp.rst
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
:mod:`uio` -- input/output streams
|
:mod:`io` -- input/output streams
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
.. include:: ../templates/unsupported_in_circuitpython.inc
|
.. module:: io
|
||||||
|
|
||||||
.. module:: uio
|
|
||||||
:synopsis: input/output streams
|
:synopsis: input/output streams
|
||||||
|
|
||||||
|see_cpython_module| :mod:`cpython:io`.
|
|see_cpython_module| :mod:`cpython:io`.
|
@ -1,9 +1,7 @@
|
|||||||
:mod:`ujson` -- JSON encoding and decoding
|
:mod:`json` -- JSON encoding and decoding
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
.. include:: ../templates/unsupported_in_circuitpython.inc
|
.. module:: json
|
||||||
|
|
||||||
.. module:: ujson
|
|
||||||
:synopsis: JSON encoding and decoding
|
:synopsis: JSON encoding and decoding
|
||||||
|
|
||||||
|see_cpython_module| :mod:`cpython:json`.
|
|see_cpython_module| :mod:`cpython:json`.
|
@ -1,278 +0,0 @@
|
|||||||
****************************************
|
|
||||||
:mod:`network` --- network configuration
|
|
||||||
****************************************
|
|
||||||
|
|
||||||
.. include:: ../templates/unsupported_in_circuitpython.inc
|
|
||||||
|
|
||||||
.. module:: network
|
|
||||||
:noindex:
|
|
||||||
:synopsis: network configuration
|
|
||||||
|
|
||||||
This module provides network drivers and routing configuration. To use this
|
|
||||||
module, a MicroPython variant/build with network capabilities must be installed.
|
|
||||||
Network drivers for specific hardware are available within this module and are
|
|
||||||
used to configure hardware network interface(s). Network services provided
|
|
||||||
by configured interfaces are then available for use via the :mod:`usocket`
|
|
||||||
module.
|
|
||||||
|
|
||||||
For example::
|
|
||||||
|
|
||||||
# connect/ show IP config a specific network interface
|
|
||||||
# see below for examples of specific drivers
|
|
||||||
import network
|
|
||||||
import utime
|
|
||||||
nic = network.Driver(...)
|
|
||||||
if not nic.isconnected():
|
|
||||||
nic.connect()
|
|
||||||
print("Waiting for connection...")
|
|
||||||
while not nic.isconnected():
|
|
||||||
utime.sleep(1)
|
|
||||||
print(nic.ifconfig())
|
|
||||||
|
|
||||||
# now use usocket as usual
|
|
||||||
import usocket as socket
|
|
||||||
addr = socket.getaddrinfo('micropython.org', 80)[0][-1]
|
|
||||||
s = socket.socket()
|
|
||||||
s.connect(addr)
|
|
||||||
s.send(b'GET / HTTP/1.1\r\nHost: micropython.org\r\n\r\n')
|
|
||||||
data = s.recv(1000)
|
|
||||||
s.close()
|
|
||||||
|
|
||||||
Common network adapter interface
|
|
||||||
================================
|
|
||||||
|
|
||||||
This section describes an (implied) abstract base class for all network
|
|
||||||
interface classes implemented by ``MicroPython ports <MicroPython port>``
|
|
||||||
for different hardware. This means that MicroPython does not actually
|
|
||||||
provide ``AbstractNIC`` class, but any actual NIC class, as described
|
|
||||||
in the following sections, implements methods as described here.
|
|
||||||
|
|
||||||
.. class:: AbstractNIC(id=None, ...)
|
|
||||||
|
|
||||||
Instantiate a network interface object. Parameters are network interface
|
|
||||||
dependent. If there are more than one interface of the same type, the first
|
|
||||||
parameter should be `id`.
|
|
||||||
|
|
||||||
.. method:: active([is_active])
|
|
||||||
|
|
||||||
Activate ("up") or deactivate ("down") the network interface, if
|
|
||||||
a boolean argument is passed. Otherwise, query current state if
|
|
||||||
no argument is provided. Most other methods require an active
|
|
||||||
interface (behavior of calling them on inactive interface is
|
|
||||||
undefined).
|
|
||||||
|
|
||||||
.. method:: connect([service_id, key=None, \*, ...])
|
|
||||||
|
|
||||||
Connect the interface to a network. This method is optional, and
|
|
||||||
available only for interfaces which are not "always connected".
|
|
||||||
If no parameters are given, connect to the default (or the only)
|
|
||||||
service. If a single parameter is given, it is the primary identifier
|
|
||||||
of a service to connect to. It may be accompanied by a key
|
|
||||||
(password) required to access said service. There can be further
|
|
||||||
arbitrary keyword-only parameters, depending on the networking medium
|
|
||||||
type and/or particular device. Parameters can be used to: a)
|
|
||||||
specify alternative service identifier types; b) provide additional
|
|
||||||
connection parameters. For various medium types, there are different
|
|
||||||
sets of predefined/recommended parameters, among them:
|
|
||||||
|
|
||||||
* WiFi: *bssid* keyword to connect to a specific BSSID (MAC address)
|
|
||||||
|
|
||||||
.. method:: disconnect()
|
|
||||||
|
|
||||||
Disconnect from network.
|
|
||||||
|
|
||||||
.. method:: isconnected()
|
|
||||||
|
|
||||||
Returns ``True`` if connected to network, otherwise returns ``False``.
|
|
||||||
|
|
||||||
.. method:: scan(\*, ...)
|
|
||||||
|
|
||||||
Scan for the available network services/connections. Returns a
|
|
||||||
list of tuples with discovered service parameters. For various
|
|
||||||
network media, there are different variants of predefined/
|
|
||||||
recommended tuple formats, among them:
|
|
||||||
|
|
||||||
* WiFi: (ssid, bssid, channel, RSSI, authmode, hidden). There
|
|
||||||
may be further fields, specific to a particular device.
|
|
||||||
|
|
||||||
The function may accept additional keyword arguments to filter scan
|
|
||||||
results (e.g. scan for a particular service, on a particular channel,
|
|
||||||
for services of a particular set, etc.), and to affect scan
|
|
||||||
duration and other parameters. Where possible, parameter names
|
|
||||||
should match those in connect().
|
|
||||||
|
|
||||||
.. method:: status()
|
|
||||||
|
|
||||||
Return detailed status of the interface, values are dependent
|
|
||||||
on the network medium/technology.
|
|
||||||
|
|
||||||
.. method:: ifconfig([(ip, subnet, gateway, dns)])
|
|
||||||
|
|
||||||
Get/set IP-level network interface parameters: IP address, subnet mask,
|
|
||||||
gateway and DNS server. When called with no arguments, this method returns
|
|
||||||
a 4-tuple with the above information. To set the above values, pass a
|
|
||||||
4-tuple with the required information. For example::
|
|
||||||
|
|
||||||
nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
|
|
||||||
|
|
||||||
.. method:: config('param')
|
|
||||||
config(param=value, ...)
|
|
||||||
|
|
||||||
Get or set general network interface parameters. These methods allow to work
|
|
||||||
with additional parameters beyond standard IP configuration (as dealt with by
|
|
||||||
`ifconfig()`). These include network-specific and hardware-specific
|
|
||||||
parameters and status values. For setting parameters, the keyword argument
|
|
||||||
syntax should be used, and multiple parameters can be set at once. For
|
|
||||||
querying, a parameter name should be quoted as a string, and only one
|
|
||||||
parameter can be queried at a time::
|
|
||||||
|
|
||||||
# Set WiFi access point name (formally known as ESSID) and WiFi channel
|
|
||||||
ap.config(essid='My AP', channel=11)
|
|
||||||
# Query params one by one
|
|
||||||
print(ap.config('essid'))
|
|
||||||
print(ap.config('channel'))
|
|
||||||
# Extended status information also available this way
|
|
||||||
print(sta.config('rssi'))
|
|
||||||
|
|
||||||
.. _network.WLAN:
|
|
||||||
|
|
||||||
Functions
|
|
||||||
=========
|
|
||||||
|
|
||||||
.. function:: phy_mode([mode])
|
|
||||||
|
|
||||||
Get or set the PHY mode.
|
|
||||||
|
|
||||||
If the *mode* parameter is provided, sets the mode to its value. If
|
|
||||||
the function is called without parameters, returns the current mode.
|
|
||||||
|
|
||||||
The possible modes are defined as constants:
|
|
||||||
* ``MODE_11B`` -- IEEE 802.11b,
|
|
||||||
* ``MODE_11G`` -- IEEE 802.11g,
|
|
||||||
* ``MODE_11N`` -- IEEE 802.11n.
|
|
||||||
|
|
||||||
class WLAN
|
|
||||||
==========
|
|
||||||
|
|
||||||
This class provides a driver for WiFi network processor in the ESP8266. Example usage::
|
|
||||||
|
|
||||||
import network
|
|
||||||
# enable station interface and connect to WiFi access point
|
|
||||||
nic = network.WLAN(network.STA_IF)
|
|
||||||
nic.active(True)
|
|
||||||
nic.connect('your-ssid', 'your-password')
|
|
||||||
# now use sockets as usual
|
|
||||||
|
|
||||||
Constructors
|
|
||||||
------------
|
|
||||||
.. class:: WLAN(interface_id)
|
|
||||||
|
|
||||||
Create a WLAN network interface object. Supported interfaces are
|
|
||||||
``network.STA_IF`` (station aka client, connects to upstream WiFi access
|
|
||||||
points) and ``network.AP_IF`` (access point, allows other WiFi clients to
|
|
||||||
connect). Availability of the methods below depends on interface type.
|
|
||||||
For example, only STA interface may `connect()` to an access point.
|
|
||||||
|
|
||||||
Methods
|
|
||||||
-------
|
|
||||||
|
|
||||||
.. method:: wlan.active([is_active])
|
|
||||||
|
|
||||||
Activate ("up") or deactivate ("down") network interface, if boolean
|
|
||||||
argument is passed. Otherwise, query current state if no argument is
|
|
||||||
provided. Most other methods require active interface.
|
|
||||||
|
|
||||||
.. method:: wlan.connect(ssid=None, password=None, \*, bssid=None)
|
|
||||||
|
|
||||||
Connect to the specified wireless network, using the specified password.
|
|
||||||
If *bssid* is given then the connection will be restricted to the
|
|
||||||
access-point with that MAC address (the *ssid* must also be specified
|
|
||||||
in this case).
|
|
||||||
|
|
||||||
.. method:: wlan.disconnect()
|
|
||||||
|
|
||||||
Disconnect from the currently connected wireless network.
|
|
||||||
|
|
||||||
.. method:: wlan.scan()
|
|
||||||
|
|
||||||
Scan for the available wireless networks.
|
|
||||||
|
|
||||||
Scanning is only possible on STA interface. Returns list of tuples with
|
|
||||||
the information about WiFi access points:
|
|
||||||
|
|
||||||
(ssid, bssid, channel, RSSI, authmode, hidden)
|
|
||||||
|
|
||||||
*bssid* is hardware address of an access point, in binary form, returned as
|
|
||||||
bytes object. You can use `binascii.hexlify()` to convert it to ASCII form.
|
|
||||||
|
|
||||||
There are five values for authmode:
|
|
||||||
|
|
||||||
* 0 -- open
|
|
||||||
* 1 -- WEP
|
|
||||||
* 2 -- WPA-PSK
|
|
||||||
* 3 -- WPA2-PSK
|
|
||||||
* 4 -- WPA/WPA2-PSK
|
|
||||||
|
|
||||||
and two for hidden:
|
|
||||||
|
|
||||||
* 0 -- visible
|
|
||||||
* 1 -- hidden
|
|
||||||
|
|
||||||
.. method:: wlan.status()
|
|
||||||
|
|
||||||
Return the current status of the wireless connection.
|
|
||||||
|
|
||||||
The possible statuses are defined as constants:
|
|
||||||
|
|
||||||
* ``STAT_IDLE`` -- no connection and no activity,
|
|
||||||
* ``STAT_CONNECTING`` -- connecting in progress,
|
|
||||||
* ``STAT_WRONG_PASSWORD`` -- failed due to incorrect password,
|
|
||||||
* ``STAT_NO_AP_FOUND`` -- failed because no access point replied,
|
|
||||||
* ``STAT_CONNECT_FAIL`` -- failed due to other problems,
|
|
||||||
* ``STAT_GOT_IP`` -- connection successful.
|
|
||||||
|
|
||||||
.. method:: wlan.isconnected()
|
|
||||||
|
|
||||||
In case of STA mode, returns ``True`` if connected to a WiFi access
|
|
||||||
point and has a valid IP address. In AP mode returns ``True`` when a
|
|
||||||
station is connected. Returns ``False`` otherwise.
|
|
||||||
|
|
||||||
.. method:: wlan.ifconfig([(ip, subnet, gateway, dns)])
|
|
||||||
|
|
||||||
Get/set IP-level network interface parameters: IP address, subnet mask,
|
|
||||||
gateway and DNS server. When called with no arguments, this method returns
|
|
||||||
a 4-tuple with the above information. To set the above values, pass a
|
|
||||||
4-tuple with the required information. For example::
|
|
||||||
|
|
||||||
nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
|
|
||||||
|
|
||||||
.. method:: wlan.config('param')
|
|
||||||
wlan.config(param=value, ...)
|
|
||||||
|
|
||||||
Get or set general network interface parameters. These methods allow to work
|
|
||||||
with additional parameters beyond standard IP configuration (as dealt with by
|
|
||||||
`wlan.ifconfig()`). These include network-specific and hardware-specific
|
|
||||||
parameters. For setting parameters, keyword argument syntax should be used,
|
|
||||||
multiple parameters can be set at once. For querying, parameters name should
|
|
||||||
be quoted as a string, and only one parameter can be queries at time::
|
|
||||||
|
|
||||||
# Set WiFi access point name (formally known as ESSID) and WiFi channel
|
|
||||||
ap.config(essid='My AP', channel=11)
|
|
||||||
# Query params one by one
|
|
||||||
print(ap.config('essid'))
|
|
||||||
print(ap.config('channel'))
|
|
||||||
|
|
||||||
Following are commonly supported parameters (availability of a specific parameter
|
|
||||||
depends on network technology type, driver, and ``MicroPython port``).
|
|
||||||
|
|
||||||
============= ===========
|
|
||||||
Parameter Description
|
|
||||||
============= ===========
|
|
||||||
mac MAC address (bytes)
|
|
||||||
essid WiFi access point name (string)
|
|
||||||
channel WiFi channel (integer)
|
|
||||||
hidden Whether ESSID is hidden (boolean)
|
|
||||||
authmode Authentication mode supported (enumeration, see module constants)
|
|
||||||
password Access password (string)
|
|
||||||
dhcp_hostname The DHCP hostname to use
|
|
||||||
============= ===========
|
|
@ -1,9 +1,7 @@
|
|||||||
:mod:`ure` -- simple regular expressions
|
:mod:`re` -- simple regular expressions
|
||||||
========================================
|
========================================
|
||||||
|
|
||||||
.. include:: ../templates/unsupported_in_circuitpython.inc
|
.. module:: re
|
||||||
|
|
||||||
.. module:: ure
|
|
||||||
:synopsis: regular expressions
|
:synopsis: regular expressions
|
||||||
|
|
||||||
|see_cpython_module| :mod:`cpython:re`.
|
|see_cpython_module| :mod:`cpython:re`.
|
||||||
@ -77,7 +75,7 @@ Regex objects
|
|||||||
-------------
|
-------------
|
||||||
|
|
||||||
Compiled regular expression. Instances of this class are created using
|
Compiled regular expression. Instances of this class are created using
|
||||||
`ure.compile()`.
|
`re.compile()`.
|
||||||
|
|
||||||
.. method:: regex.match(string)
|
.. method:: regex.match(string)
|
||||||
regex.search(string)
|
regex.search(string)
|
@ -30,7 +30,7 @@ import sys
|
|||||||
|
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
|
|
||||||
SUPPORTED_PORTS = ['atmel-samd', 'esp32s2', 'litex', 'mimxrt10xx', 'nrf', 'stm']
|
SUPPORTED_PORTS = ['atmel-samd', 'cxd56', 'esp32s2', 'litex', 'mimxrt10xx', 'nrf', 'raspberrypi', 'stm']
|
||||||
|
|
||||||
def get_circuitpython_root_dir():
|
def get_circuitpython_root_dir():
|
||||||
""" The path to the root './circuitpython' directory
|
""" The path to the root './circuitpython' directory
|
||||||
@ -44,7 +44,7 @@ def get_shared_bindings():
|
|||||||
""" Get a list of modules in shared-bindings based on folder names
|
""" Get a list of modules in shared-bindings based on folder names
|
||||||
"""
|
"""
|
||||||
shared_bindings_dir = get_circuitpython_root_dir() / "shared-bindings"
|
shared_bindings_dir = get_circuitpython_root_dir() / "shared-bindings"
|
||||||
return [item.name for item in shared_bindings_dir.iterdir()] + ["ulab"]
|
return [item.name for item in shared_bindings_dir.iterdir()] + ["binascii", "errno", "json", "re", "ulab"]
|
||||||
|
|
||||||
|
|
||||||
def read_mpconfig():
|
def read_mpconfig():
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 8b804f3bcd8c5a3ac1b3e09e0ff7faf8270751de
|
Subproject commit 743d86487c83e42024ed508ed50499ad0a527d5d
|
@ -1 +1 @@
|
|||||||
Subproject commit 902c16f49197a8baf5e71ec924a812a86e733a74
|
Subproject commit 5e925cea7a55273e375a6129761cb29b4e750d4f
|
@ -1 +1 @@
|
|||||||
Subproject commit 388abe9d9cc0a7c360fd902e01461a53bb7b3f42
|
Subproject commit 045674745afa59028fbeed6dac5cb5a9c4a6033e
|
19
locale/ID.po
19
locale/ID.po
@ -63,8 +63,9 @@ msgstr "%%c harus int atau char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
msgstr "pin alamat %d dan pin rgb %d menunjukkan tinggi %d, bukan %d"
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -523,7 +524,6 @@ msgstr "Panjang buffer harus kelipatan 512"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Penyangga harus memiliki panjang setidaknya 1"
|
msgstr "Penyangga harus memiliki panjang setidaknya 1"
|
||||||
@ -538,6 +538,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "Buffer terlalu pendek untuk %d byte"
|
msgstr "Buffer terlalu pendek untuk %d byte"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -818,6 +819,10 @@ msgstr "DAC sudah digunakan"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "Data 0 pin harus byte disejajarkan"
|
msgstr "Data 0 pin harus byte disejajarkan"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Potongan data harus mengikuti fmt chunk"
|
msgstr "Potongan data harus mengikuti fmt chunk"
|
||||||
@ -1613,7 +1618,6 @@ msgstr ""
|
|||||||
"Frekuensi PWM tidak dapat ditulis ketika variabel_frequency Salah pada "
|
"Frekuensi PWM tidak dapat ditulis ketika variabel_frequency Salah pada "
|
||||||
"konstruksi."
|
"konstruksi."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3762,6 +3766,10 @@ msgstr "sintaksis error pada pendeskripsi uctypes"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4051,6 +4059,9 @@ msgstr ""
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr "pin alamat %d dan pin rgb %d menunjukkan tinggi %d, bukan %d"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "\n"
|
#~ "\n"
|
||||||
#~ "Code done running. Waiting for reload.\n"
|
#~ "Code done running. Waiting for reload.\n"
|
||||||
|
@ -58,7 +58,8 @@ msgstr ""
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
@ -338,6 +339,10 @@ msgstr ""
|
|||||||
msgid "All event channels in use"
|
msgid "All event channels in use"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
msgid "All state machines in use"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
#: ports/atmel-samd/audio_dma.c ports/atmel-samd/common-hal/audiobusio/PDMIn.c
|
||||||
msgid "All sync event channels in use"
|
msgid "All sync event channels in use"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -386,6 +391,7 @@ msgstr ""
|
|||||||
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
#: ports/cxd56/common-hal/analogio/AnalogOut.c
|
||||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
#: ports/mimxrt10xx/common-hal/analogio/AnalogOut.c
|
||||||
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
#: ports/nrf/common-hal/analogio/AnalogOut.c
|
||||||
|
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
|
||||||
msgid "AnalogOut functionality not supported"
|
msgid "AnalogOut functionality not supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -516,7 +522,6 @@ msgstr ""
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -531,6 +536,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -585,6 +591,7 @@ msgstr ""
|
|||||||
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
#: ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
|
||||||
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
#: ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
|
||||||
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
#: ports/nrf/common-hal/digitalio/DigitalInOut.c
|
||||||
|
#: ports/raspberrypi/common-hal/digitalio/DigitalInOut.c
|
||||||
msgid "Cannot get pull while in output mode"
|
msgid "Cannot get pull while in output mode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -804,6 +811,10 @@ msgstr ""
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -862,7 +873,8 @@ msgstr ""
|
|||||||
msgid "Error: Failure to bind"
|
msgid "Error: Failure to bind"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c py/enum.c
|
||||||
|
#: shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||||
#: shared-bindings/neopixel_write/__init__.c
|
#: shared-bindings/neopixel_write/__init__.c
|
||||||
#: shared-bindings/terminalio/Terminal.c
|
#: shared-bindings/terminalio/Terminal.c
|
||||||
@ -1044,6 +1056,10 @@ msgstr ""
|
|||||||
msgid "I2C Init Error"
|
msgid "I2C Init Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||||
|
msgid "I2C peripheral in use"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/audiobusio/I2SOut.c
|
#: shared-bindings/audiobusio/I2SOut.c
|
||||||
msgid "I2SOut not available"
|
msgid "I2SOut not available"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1067,6 +1083,10 @@ msgstr ""
|
|||||||
msgid "Incorrect buffer size"
|
msgid "Incorrect buffer size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "Init program size invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||||
msgid "Initialization failed due to lack of memory"
|
msgid "Initialization failed due to lack of memory"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1079,6 +1099,31 @@ msgstr ""
|
|||||||
msgid "Input/output error"
|
msgid "Input/output error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Instruction %d jumps on pin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Instruction %d shifts in more bits than pin count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Instruction %d shifts out more bits than pin count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Instruction %d uses extra pin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Instruction %d waits on input outside of count"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/nrf/common-hal/_bleio/__init__.c
|
#: ports/nrf/common-hal/_bleio/__init__.c
|
||||||
msgid "Insufficient authentication"
|
msgid "Insufficient authentication"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1130,7 +1175,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
#: ports/atmel-samd/common-hal/pwmio/PWMOut.c
|
||||||
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
#: ports/cxd56/common-hal/pwmio/PWMOut.c ports/nrf/common-hal/pwmio/PWMOut.c
|
||||||
#: shared-bindings/pwmio/PWMOut.c
|
#: ports/raspberrypi/common-hal/pwmio/PWMOut.c shared-bindings/pwmio/PWMOut.c
|
||||||
msgid "Invalid PWM frequency"
|
msgid "Invalid PWM frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1224,6 +1269,8 @@ msgstr ""
|
|||||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/I2C.c
|
||||||
|
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||||
|
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||||
msgid "Invalid pins"
|
msgid "Invalid pins"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1337,6 +1384,36 @@ msgstr ""
|
|||||||
msgid "Missing MISO or MOSI Pin"
|
msgid "Missing MISO or MOSI Pin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Missing first_in_pin. Instruction %d reads pin(s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Missing first_in_pin. Instruction %d shifts in from pin(s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Missing first_in_pin. Instruction %d waits based on pin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Missing first_out_pin. Instruction %d shifts out to pin(s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Missing first_out_pin. Instruction %d writes pin(s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
#, c-format
|
||||||
|
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/displayio/Group.c
|
#: shared-bindings/displayio/Group.c
|
||||||
msgid "Must be a %q subclass."
|
msgid "Must be a %q subclass."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1390,14 +1467,14 @@ msgstr ""
|
|||||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||||
#: ports/esp32s2/common-hal/busio/UART.c
|
#: ports/esp32s2/common-hal/busio/UART.c
|
||||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||||
#: ports/stm/common-hal/busio/UART.c
|
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||||
msgid "No RX pin"
|
msgid "No RX pin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/busio/UART.c
|
#: ports/atmel-samd/common-hal/busio/UART.c
|
||||||
#: ports/esp32s2/common-hal/busio/UART.c
|
#: ports/esp32s2/common-hal/busio/UART.c
|
||||||
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
#: ports/mimxrt10xx/common-hal/busio/UART.c ports/nrf/common-hal/busio/UART.c
|
||||||
#: ports/stm/common-hal/busio/UART.c
|
#: ports/raspberrypi/common-hal/busio/UART.c ports/stm/common-hal/busio/UART.c
|
||||||
msgid "No TX pin"
|
msgid "No TX pin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1454,6 +1531,10 @@ msgstr ""
|
|||||||
msgid "No network with that ssid"
|
msgid "No network with that ssid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
msgid "No out in program"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/touchio/TouchIn.c
|
#: shared-module/touchio/TouchIn.c
|
||||||
msgid "No pulldown on pin; 1Mohm recommended"
|
msgid "No pulldown on pin; 1Mohm recommended"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1509,6 +1590,10 @@ msgstr ""
|
|||||||
msgid "Only 8 or 16 bit mono with "
|
msgid "Only 8 or 16 bit mono with "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
msgid "Only IN/OUT of up to 8 supported"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/wifi/__init__.c
|
#: ports/esp32s2/common-hal/wifi/__init__.c
|
||||||
msgid "Only IPv4 addresses supported"
|
msgid "Only IPv4 addresses supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1580,8 +1665,8 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/raspberrypi/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1594,11 +1679,20 @@ msgstr ""
|
|||||||
msgid "Permission denied"
|
msgid "Permission denied"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "Pin count must be at least 1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
msgid "Pin count too large"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
#: ports/atmel-samd/common-hal/analogio/AnalogIn.c
|
||||||
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
#: ports/cxd56/common-hal/analogio/AnalogIn.c
|
||||||
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
#: ports/esp32s2/common-hal/analogio/AnalogIn.c
|
||||||
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
#: ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
|
||||||
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
#: ports/nrf/common-hal/analogio/AnalogIn.c
|
||||||
|
#: ports/raspberrypi/common-hal/analogio/AnalogIn.c
|
||||||
#: ports/stm/common-hal/analogio/AnalogIn.c
|
#: ports/stm/common-hal/analogio/AnalogIn.c
|
||||||
msgid "Pin does not have ADC capabilities"
|
msgid "Pin does not have ADC capabilities"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1659,10 +1753,34 @@ msgstr ""
|
|||||||
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
msgid "Pretending to deep sleep until alarm, CTRL-C or file write.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
msgid "Program does IN without loading ISR"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||||
|
msgid "Program does OUT without loading OSR"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "Program must contain at least one 16-bit instruction."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "Program size invalid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "Program too large"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/digitalio/DigitalInOut.c
|
#: shared-bindings/digitalio/DigitalInOut.c
|
||||||
msgid "Pull not used when direction is output."
|
msgid "Pull not used when direction is output."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||||
|
msgid "RAISE mode is not implemented"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/stm/common-hal/os/__init__.c
|
#: ports/stm/common-hal/os/__init__.c
|
||||||
msgid "RNG DeInit Error"
|
msgid "RNG DeInit Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1745,6 +1863,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
#: ports/atmel-samd/common-hal/busio/I2C.c ports/esp32s2/common-hal/busio/I2C.c
|
||||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
#: ports/mimxrt10xx/common-hal/busio/I2C.c ports/nrf/common-hal/busio/I2C.c
|
||||||
|
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||||
msgid "SDA or SCL needs a pull up"
|
msgid "SDA or SCL needs a pull up"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -1766,6 +1885,10 @@ msgstr ""
|
|||||||
msgid "SPI Re-initialization error"
|
msgid "SPI Re-initialization error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||||
|
msgid "SPI peripheral in use"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/audiomixer/Mixer.c
|
#: shared-bindings/audiomixer/Mixer.c
|
||||||
msgid "Sample rate must be positive"
|
msgid "Sample rate must be positive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1796,6 +1919,14 @@ msgstr ""
|
|||||||
msgid "Server side context cannot have hostname"
|
msgid "Server side context cannot have hostname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "Set pin count must be between 1 and 5"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "Side set pin count must be between 1 and 5"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/cxd56/common-hal/camera/Camera.c
|
#: ports/cxd56/common-hal/camera/Camera.c
|
||||||
msgid "Size not supported"
|
msgid "Size not supported"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1960,6 +2091,10 @@ msgstr ""
|
|||||||
msgid "UART Re-init error"
|
msgid "UART Re-init error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/common-hal/busio/UART.c
|
||||||
|
msgid "UART not yet supported"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/stm/common-hal/busio/UART.c
|
#: ports/stm/common-hal/busio/UART.c
|
||||||
msgid "UART write error"
|
msgid "UART write error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -2064,7 +2199,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
#: ports/atmel-samd/common-hal/busio/I2C.c ports/cxd56/common-hal/busio/I2C.c
|
||||||
#: ports/esp32s2/common-hal/busio/UART.c ports/stm/common-hal/busio/I2C.c
|
#: ports/esp32s2/common-hal/busio/UART.c
|
||||||
|
#: ports/raspberrypi/common-hal/busio/I2C.c ports/stm/common-hal/busio/I2C.c
|
||||||
msgid "Unsupported baudrate"
|
msgid "Unsupported baudrate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -2115,6 +2251,7 @@ msgid "WARNING: Your code filename has two extensions\n"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||||
|
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||||
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
msgid "WatchDogTimer cannot be deinitialized once mode is set to RESET"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -3496,6 +3633,7 @@ msgstr ""
|
|||||||
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
#: ports/esp32s2/boards/espressif_kaluga_1/mpconfigboard.h
|
||||||
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
#: ports/esp32s2/boards/espressif_saola_1_wroom/mpconfigboard.h
|
||||||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||||
|
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
#: ports/esp32s2/boards/muselab_nanoesp32_s2/mpconfigboard.h
|
||||||
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
#: ports/esp32s2/boards/targett_module_clip_wroom/mpconfigboard.h
|
||||||
@ -3513,6 +3651,14 @@ msgstr ""
|
|||||||
msgid "pressing both buttons at start up.\n"
|
msgid "pressing both buttons at start up.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "pull_threshold must be between 1 and 32"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/raspberrypi/bindings/rp2pio/StateMachine.c
|
||||||
|
msgid "push_threshold must be between 1 and 32"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: extmod/modutimeq.c
|
#: extmod/modutimeq.c
|
||||||
msgid "queue overflow"
|
msgid "queue overflow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -3706,12 +3852,17 @@ msgstr ""
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||||
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
#: ports/nrf/common-hal/watchdog/WatchDogTimer.c
|
||||||
|
#: ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
|
||||||
msgid "timeout duration exceeded the maximum supported value"
|
msgid "timeout duration exceeded the maximum supported value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
19
locale/cs.po
19
locale/cs.po
@ -61,8 +61,9 @@ msgstr "%%c vyžaduje int nebo char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
msgstr "%d adresní piny a %d rgb piny označují výšku %d, nikoli %d"
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -519,7 +520,6 @@ msgstr ""
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -534,6 +534,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -803,6 +804,10 @@ msgstr ""
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1587,7 +1592,6 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3713,6 +3717,10 @@ msgstr ""
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -4001,6 +4009,9 @@ msgstr ""
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr "%d adresní piny a %d rgb piny označují výšku %d, nikoli %d"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "\n"
|
#~ "\n"
|
||||||
#~ "Code done running. Waiting for reload.\n"
|
#~ "Code done running. Waiting for reload.\n"
|
||||||
|
@ -62,8 +62,9 @@ msgstr "%%c erwartet int oder char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
msgstr "%d Adress-Pins und %d rgb-Pins zeigen eine Höhe von %d, nicht von %d"
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -524,7 +525,6 @@ msgstr "Die Pufferlänge muss ein vielfaches von 512 sein"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "Der Puffer muss ein vielfaches von 512 bytes sein"
|
msgstr "Der Puffer muss ein vielfaches von 512 bytes sein"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Der Puffer muss eine Mindestenslänge von 1 haben"
|
msgstr "Der Puffer muss eine Mindestenslänge von 1 haben"
|
||||||
@ -539,6 +539,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "Buffer um %d Bytes zu kurz"
|
msgstr "Buffer um %d Bytes zu kurz"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -815,6 +816,10 @@ msgstr "DAC wird schon benutzt"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "Data 0 pin muss am Byte ausgerichtet sein"
|
msgstr "Data 0 pin muss am Byte ausgerichtet sein"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Dem fmt Block muss ein Datenblock folgen"
|
msgstr "Dem fmt Block muss ein Datenblock folgen"
|
||||||
@ -1612,7 +1617,6 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False."
|
msgstr "Die PWM-Frequenz ist nicht schreibbar wenn variable_Frequenz = False."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3796,6 +3800,10 @@ msgstr "Syntaxfehler in uctypes Deskriptor"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "threshold muss im Intervall 0-65536 liegen"
|
msgstr "threshold muss im Intervall 0-65536 liegen"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() nimmt eine 9-Sequenz an"
|
msgstr "time.struct_time() nimmt eine 9-Sequenz an"
|
||||||
@ -4088,6 +4096,10 @@ msgstr ""
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "%d Adress-Pins und %d rgb-Pins zeigen eine Höhe von %d, nicht von %d"
|
||||||
|
|
||||||
#~ msgid "input argument must be an integer or a 2-tuple"
|
#~ msgid "input argument must be an integer or a 2-tuple"
|
||||||
#~ msgstr "Das Eingabeargument muss eine Ganzzahl oder ein 2-Tupel sein"
|
#~ msgstr "Das Eingabeargument muss eine Ganzzahl oder ein 2-Tupel sein"
|
||||||
|
|
||||||
|
14
locale/el.po
14
locale/el.po
@ -58,7 +58,8 @@ msgstr ""
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
@ -516,7 +517,6 @@ msgstr ""
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -531,6 +531,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -800,6 +801,10 @@ msgstr ""
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1584,7 +1589,6 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3710,6 +3714,10 @@ msgstr ""
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
19
locale/es.po
19
locale/es.po
@ -63,9 +63,9 @@ msgstr "%%c requiere int o char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%d pines de dirección y %d pines rgb indican una altura de %d, no de %d"
|
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -528,7 +528,6 @@ msgstr "El tamaño del búfer debe ser múltiplo de 512"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "Búfer deber ser un múltiplo de 512 bytes"
|
msgstr "Búfer deber ser un múltiplo de 512 bytes"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Buffer debe ser de longitud 1 como minimo"
|
msgstr "Buffer debe ser de longitud 1 como minimo"
|
||||||
@ -543,6 +542,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "Búffer muy corto por %d bytes"
|
msgstr "Búffer muy corto por %d bytes"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -818,6 +818,10 @@ msgstr "DAC ya está siendo utilizado"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "El pin Data 0 debe estar alineado a bytes"
|
msgstr "El pin Data 0 debe estar alineado a bytes"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Trozo de datos debe seguir fmt chunk"
|
msgstr "Trozo de datos debe seguir fmt chunk"
|
||||||
@ -1613,7 +1617,6 @@ msgstr ""
|
|||||||
"La frecuencia de PWM no se puede escribir variable_frequency es False en la "
|
"La frecuencia de PWM no se puede escribir variable_frequency es False en la "
|
||||||
"construcción."
|
"construcción."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3786,6 +3789,10 @@ msgstr "error de sintaxis en el descriptor uctypes"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "limite debe ser en el rango 0-65536"
|
msgstr "limite debe ser en el rango 0-65536"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() toma un sequencio 9"
|
msgstr "time.struct_time() toma un sequencio 9"
|
||||||
@ -4075,6 +4082,10 @@ msgstr "zi debe ser de tipo flotante"
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr "zi debe ser una forma (n_section,2)"
|
msgstr "zi debe ser una forma (n_section,2)"
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "%d pines de dirección y %d pines rgb indican una altura de %d, no de %d"
|
||||||
|
|
||||||
#~ msgid "Unknown failure"
|
#~ msgid "Unknown failure"
|
||||||
#~ msgstr "Fallo desconocido"
|
#~ msgstr "Fallo desconocido"
|
||||||
|
|
||||||
|
@ -57,7 +57,8 @@ msgstr "%%c nangangailangan ng int o char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
@ -521,7 +522,6 @@ msgstr ""
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Buffer dapat ay hindi baba sa 1 na haba"
|
msgstr "Buffer dapat ay hindi baba sa 1 na haba"
|
||||||
@ -536,6 +536,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -809,6 +810,10 @@ msgstr "Ginagamit na ang DAC"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "graphic ay dapat 2048 bytes ang haba"
|
msgstr "graphic ay dapat 2048 bytes ang haba"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Dapat sunurin ng Data chunk ang fmt chunk"
|
msgstr "Dapat sunurin ng Data chunk ang fmt chunk"
|
||||||
@ -1603,7 +1608,6 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"PWM frequency hindi writable kapag variable_frequency ay False sa pag buo."
|
"PWM frequency hindi writable kapag variable_frequency ay False sa pag buo."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3762,6 +3766,10 @@ msgstr "may pagkakamali sa sintaks sa uctypes descriptor"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "ang threshold ay dapat sa range 0-65536"
|
msgstr "ang threshold ay dapat sa range 0-65536"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() kumukuha ng 9-sequence"
|
msgstr "time.struct_time() kumukuha ng 9-sequence"
|
||||||
|
21
locale/fr.po
21
locale/fr.po
@ -67,10 +67,9 @@ msgstr "%%c nécessite un chiffre entier 'int' ou un caractère 'char'"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Les broches d'adresse %d et les broches RVB %d indiquent une hauteur de %d, "
|
|
||||||
"pas %d"
|
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -533,7 +532,6 @@ msgstr "La longueur de la mémoire tampon doit être un multiple de 512"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "La mémoire tampon doit être un multiple de 512"
|
msgstr "La mémoire tampon doit être un multiple de 512"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Le tampon doit être de longueur au moins 1"
|
msgstr "Le tampon doit être de longueur au moins 1"
|
||||||
@ -548,6 +546,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "Tampon trop court de %d octets"
|
msgstr "Tampon trop court de %d octets"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -831,6 +830,10 @@ msgstr "DAC déjà utilisé"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "La broche 'Data 0' doit être aligné sur l'octet"
|
msgstr "La broche 'Data 0' doit être aligné sur l'octet"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Un bloc de données doit suivre un bloc fmt"
|
msgstr "Un bloc de données doit suivre un bloc fmt"
|
||||||
@ -1631,7 +1634,6 @@ msgstr ""
|
|||||||
"La fréquence de PWM n'est pas modifiable quand variable_frequency est False "
|
"La fréquence de PWM n'est pas modifiable quand variable_frequency est False "
|
||||||
"à la construction."
|
"à la construction."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3823,6 +3825,10 @@ msgstr "erreur de syntaxe dans le descripteur d'uctypes"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "le seuil doit être dans la portée 0-65536"
|
msgstr "le seuil doit être dans la portée 0-65536"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() prend une séquence de longueur 9"
|
msgstr "time.struct_time() prend une séquence de longueur 9"
|
||||||
@ -4111,6 +4117,11 @@ msgstr "zi doit être de type float"
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr "zi doit être de forme (n_section, 2)"
|
msgstr "zi doit être de forme (n_section, 2)"
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Les broches d'adresse %d et les broches RVB %d indiquent une hauteur de "
|
||||||
|
#~ "%d, pas %d"
|
||||||
|
|
||||||
#~ msgid "Unknown failure"
|
#~ msgid "Unknown failure"
|
||||||
#~ msgstr "Echec inconnu"
|
#~ msgstr "Echec inconnu"
|
||||||
|
|
||||||
|
14
locale/hi.po
14
locale/hi.po
@ -58,7 +58,8 @@ msgstr ""
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
@ -516,7 +517,6 @@ msgstr ""
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -531,6 +531,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -800,6 +801,10 @@ msgstr ""
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1584,7 +1589,6 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3710,6 +3714,10 @@ msgstr ""
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -57,7 +57,8 @@ msgstr "%%c necessita di int o char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
@ -521,7 +522,6 @@ msgstr ""
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Il buffer deve essere lungo almeno 1"
|
msgstr "Il buffer deve essere lungo almeno 1"
|
||||||
@ -536,6 +536,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -810,6 +811,10 @@ msgstr "DAC già in uso"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "graphic deve essere lunga 2048 byte"
|
msgstr "graphic deve essere lunga 2048 byte"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1612,7 +1617,6 @@ msgstr ""
|
|||||||
"frequenza PWM frequency non è scrivibile quando variable_frequency è "
|
"frequenza PWM frequency non è scrivibile quando variable_frequency è "
|
||||||
"impostato nel costruttore a False."
|
"impostato nel costruttore a False."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3770,6 +3774,10 @@ msgstr "errore di sintassi nel descrittore uctypes"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "la soglia deve essere nell'intervallo 0-65536"
|
msgstr "la soglia deve essere nell'intervallo 0-65536"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
14
locale/ja.po
14
locale/ja.po
@ -63,7 +63,8 @@ msgstr "%%c にはintまたはcharが必要"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
@ -523,7 +524,6 @@ msgstr "バッファ長は512の倍数でなければなりません"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "バッファは512の倍数でなければなりません"
|
msgstr "バッファは512の倍数でなければなりません"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "バッファ長は少なくとも1以上でなければなりません"
|
msgstr "バッファ長は少なくとも1以上でなければなりません"
|
||||||
@ -538,6 +538,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "バッファが %d バイト足りません"
|
msgstr "バッファが %d バイト足りません"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -811,6 +812,10 @@ msgstr "DACはすでに使用中"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "Data 0 ピンは、バイト整列されていなければなりません"
|
msgstr "Data 0 ピンは、バイト整列されていなければなりません"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "fmtチャンクの後にdataチャンクが続かなければなりません"
|
msgstr "fmtチャンクの後にdataチャンクが続かなければなりません"
|
||||||
@ -1600,7 +1605,6 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr "PWM周波数は生成時のvariable_frequencyがFalseのとき書き換え不可"
|
msgstr "PWM周波数は生成時のvariable_frequencyがFalseのとき書き換え不可"
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3741,6 +3745,10 @@ msgstr "uctypedディスクリプタの構文エラー"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "threshouldは0から65536まで"
|
msgstr "threshouldは0から65536まで"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time()は9要素のシーケンスを受け取ります"
|
msgstr "time.struct_time()は9要素のシーケンスを受け取ります"
|
||||||
|
14
locale/ko.po
14
locale/ko.po
@ -59,7 +59,8 @@ msgstr "%%c 전수(int)또는 캐릭터(char)필요합니다"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
@ -519,7 +520,6 @@ msgstr ""
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "잘못된 크기의 버퍼. >1 여야합니다"
|
msgstr "잘못된 크기의 버퍼. >1 여야합니다"
|
||||||
@ -534,6 +534,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -803,6 +804,10 @@ msgstr "DAC가 현재 사용 중입니다"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -1587,7 +1592,6 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3714,6 +3718,10 @@ msgstr ""
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
19
locale/nl.po
19
locale/nl.po
@ -61,8 +61,9 @@ msgstr "%%c vereist een int of char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
msgstr "%d adres pins en %d RGB pins geven een hoogte van %d aan, niet %d"
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -521,7 +522,6 @@ msgstr "Buffer lengte moet een veelvoud van 512 zijn"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "Buffer moet een veelvoud van 512 bytes zijn"
|
msgstr "Buffer moet een veelvoud van 512 bytes zijn"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Buffer moet op zijn minst lengte 1 zijn"
|
msgstr "Buffer moet op zijn minst lengte 1 zijn"
|
||||||
@ -536,6 +536,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "Buffer is %d bytes te klein"
|
msgstr "Buffer is %d bytes te klein"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -811,6 +812,10 @@ msgstr "DAC al in gebruik"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "Data 0 pin moet byte uitgelijnd zijn"
|
msgstr "Data 0 pin moet byte uitgelijnd zijn"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Data chunk moet gevolgd worden door fmt chunk"
|
msgstr "Data chunk moet gevolgd worden door fmt chunk"
|
||||||
@ -1607,7 +1612,6 @@ msgstr ""
|
|||||||
"PWM frequentie is niet schrijfbaar wanneer de variable_frequency False is "
|
"PWM frequentie is niet schrijfbaar wanneer de variable_frequency False is "
|
||||||
"tijdens constructie."
|
"tijdens constructie."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3774,6 +3778,10 @@ msgstr "syntaxisfout in uctypes aanduiding"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "drempelwaarde moet in het bereik 0-65536 liggen"
|
msgstr "drempelwaarde moet in het bereik 0-65536 liggen"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() accepteert een 9-rij"
|
msgstr "time.struct_time() accepteert een 9-rij"
|
||||||
@ -4062,6 +4070,9 @@ msgstr "zi moet van type float zijn"
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr "zi moet vorm (n_section, 2) hebben"
|
msgstr "zi moet vorm (n_section, 2) hebben"
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr "%d adres pins en %d RGB pins geven een hoogte van %d aan, niet %d"
|
||||||
|
|
||||||
#~ msgid "Unknown failure"
|
#~ msgid "Unknown failure"
|
||||||
#~ msgstr "Onbekende fout"
|
#~ msgstr "Onbekende fout"
|
||||||
|
|
||||||
|
22
locale/pl.po
22
locale/pl.po
@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||||
"PO-Revision-Date: 2021-01-20 02:40+0000\n"
|
"PO-Revision-Date: 2021-01-27 01:31+0000\n"
|
||||||
"Last-Translator: Maciej Stankiewicz <tawezik@gmail.com>\n"
|
"Last-Translator: Maciej Stankiewicz <tawezik@gmail.com>\n"
|
||||||
"Language-Team: pl\n"
|
"Language-Team: pl\n"
|
||||||
"Language: pl\n"
|
"Language: pl\n"
|
||||||
@ -63,7 +63,8 @@ msgstr "%%c wymaga int lub char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
@ -523,7 +524,6 @@ msgstr "Długość bufora musi być wielokrotnością 512"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "Bufor musi być wielokrotnością 512 bajtów"
|
msgstr "Bufor musi być wielokrotnością 512 bajtów"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Bufor musi mieć długość 1 lub więcej"
|
msgstr "Bufor musi mieć długość 1 lub więcej"
|
||||||
@ -538,6 +538,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "Bufor za krótki o %d bajtów"
|
msgstr "Bufor za krótki o %d bajtów"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -811,6 +812,10 @@ msgstr "DAC w użyciu"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "Nóżka data 0 musi być wyrównana do bajtu"
|
msgstr "Nóżka data 0 musi być wyrównana do bajtu"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Fragment danych musi następować po fragmencie fmt"
|
msgstr "Fragment danych musi następować po fragmencie fmt"
|
||||||
@ -1598,7 +1603,6 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr "Nie można zmienić częstotliwości PWM gdy variable_frequency=False."
|
msgstr "Nie można zmienić częstotliwości PWM gdy variable_frequency=False."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3134,7 +3138,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: py/parse.c
|
#: py/parse.c
|
||||||
msgid "malformed f-string"
|
msgid "malformed f-string"
|
||||||
msgstr ""
|
msgstr "źle sformatowany f-string"
|
||||||
|
|
||||||
#: shared-bindings/_stage/Layer.c
|
#: shared-bindings/_stage/Layer.c
|
||||||
msgid "map buffer too small"
|
msgid "map buffer too small"
|
||||||
@ -3403,11 +3407,11 @@ msgstr "offset poza zakresem"
|
|||||||
|
|
||||||
#: ports/nrf/common-hal/audiobusio/PDMIn.c
|
#: ports/nrf/common-hal/audiobusio/PDMIn.c
|
||||||
msgid "only bit_depth=16 is supported"
|
msgid "only bit_depth=16 is supported"
|
||||||
msgstr ""
|
msgstr "obsługiwane jest tylko bit_depth=16"
|
||||||
|
|
||||||
#: ports/nrf/common-hal/audiobusio/PDMIn.c
|
#: ports/nrf/common-hal/audiobusio/PDMIn.c
|
||||||
msgid "only sample_rate=16000 is supported"
|
msgid "only sample_rate=16000 is supported"
|
||||||
msgstr ""
|
msgstr "obsługiwane jest tylko sample_rate=16000"
|
||||||
|
|
||||||
#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
|
#: py/objarray.c py/objstr.c py/objstrunicode.c py/objtuple.c
|
||||||
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
|
#: shared-bindings/alarm/SleepMemory.c shared-bindings/nvm/ByteArray.c
|
||||||
@ -3733,6 +3737,10 @@ msgstr "błąd składni w deskryptorze uctypes"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "threshold musi być w zakresie 0-65536"
|
msgstr "threshold musi być w zakresie 0-65536"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() wymaga 9-elementowej sekwencji"
|
msgstr "time.struct_time() wymaga 9-elementowej sekwencji"
|
||||||
|
@ -65,8 +65,9 @@ msgstr "%%c requer int ou char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
msgstr "%d endereços dos pinos e %d pinos rgb indicam uma altura do %d, não %d"
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -533,7 +534,6 @@ msgstr "O comprimento do Buffer deve ser um múltiplo de 512"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "O buffer deve ser um múltiplo de 512 bytes"
|
msgstr "O buffer deve ser um múltiplo de 512 bytes"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "O comprimento do buffer deve ter pelo menos 1"
|
msgstr "O comprimento do buffer deve ter pelo menos 1"
|
||||||
@ -548,6 +548,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "O buffer é muito curto em %d bytes"
|
msgstr "O buffer é muito curto em %d bytes"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -827,6 +828,10 @@ msgstr "DAC em uso"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "O pino de dados 0 deve ser alinhado por bytes"
|
msgstr "O pino de dados 0 deve ser alinhado por bytes"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Pedaço de dados deve seguir o pedaço de cortes"
|
msgstr "Pedaço de dados deve seguir o pedaço de cortes"
|
||||||
@ -1623,7 +1628,6 @@ msgstr ""
|
|||||||
"A frequência do PWM não pode ser gravada quando variable_frequency for False "
|
"A frequência do PWM não pode ser gravada quando variable_frequency for False "
|
||||||
"na construção."
|
"na construção."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3809,6 +3813,10 @@ msgstr "houve um erro de sintaxe no descritor uctypes"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "Limite deve estar no alcance de 0-65536"
|
msgstr "Limite deve estar no alcance de 0-65536"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() leva uma sequência com 9"
|
msgstr "time.struct_time() leva uma sequência com 9"
|
||||||
@ -4097,6 +4105,10 @@ msgstr "zi deve ser de um tipo float"
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr "zi deve estar na forma (n_section, 2)"
|
msgstr "zi deve estar na forma (n_section, 2)"
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "%d endereços dos pinos e %d pinos rgb indicam uma altura do %d, não %d"
|
||||||
|
|
||||||
#~ msgid "Unknown failure"
|
#~ msgid "Unknown failure"
|
||||||
#~ msgstr "Falha desconhecida"
|
#~ msgstr "Falha desconhecida"
|
||||||
|
|
||||||
|
35
locale/sv.po
35
locale/sv.po
@ -6,7 +6,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||||
"PO-Revision-Date: 2021-01-17 12:55+0000\n"
|
"PO-Revision-Date: 2021-01-25 19:32+0000\n"
|
||||||
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"Language: sv\n"
|
"Language: sv\n"
|
||||||
@ -52,7 +52,7 @@ msgstr " Fil \"%q\", rad %d"
|
|||||||
|
|
||||||
#: py/builtinhelp.c
|
#: py/builtinhelp.c
|
||||||
msgid " is of type %q\n"
|
msgid " is of type %q\n"
|
||||||
msgstr ""
|
msgstr " är av typen %q\n"
|
||||||
|
|
||||||
#: main.c
|
#: main.c
|
||||||
msgid " output:\n"
|
msgid " output:\n"
|
||||||
@ -65,8 +65,9 @@ msgstr "%%c kräver int eller char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
msgstr "%d adresspinnar och %d RGB-pinnar indikerar en höjd av %d, inte %d"
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -525,7 +526,6 @@ msgstr "Buffertlängd måste vara en multipel av 512"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "Bufferten måste vara en multipel av 512 byte"
|
msgstr "Bufferten måste vara en multipel av 512 byte"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Bufferten måste ha minst längd 1"
|
msgstr "Bufferten måste ha minst längd 1"
|
||||||
@ -540,6 +540,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "Buffert är %d bytes för kort"
|
msgstr "Buffert är %d bytes för kort"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -816,6 +817,10 @@ msgstr "DAC används redan"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "Datapinne 0 måste vara bytejusterad"
|
msgstr "Datapinne 0 måste vara bytejusterad"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Datasegmentet måste följa fmt-segmentet"
|
msgstr "Datasegmentet måste följa fmt-segmentet"
|
||||||
@ -872,7 +877,7 @@ msgstr "Fel i regex"
|
|||||||
|
|
||||||
#: shared-bindings/socketpool/Socket.c
|
#: shared-bindings/socketpool/Socket.c
|
||||||
msgid "Error: Failure to bind"
|
msgid "Error: Failure to bind"
|
||||||
msgstr ""
|
msgstr "Fel: Bind misslyckades"
|
||||||
|
|
||||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||||
@ -1268,7 +1273,7 @@ msgstr "Ogiltig storlek"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||||
msgid "Invalid socket for TLS"
|
msgid "Invalid socket for TLS"
|
||||||
msgstr ""
|
msgstr "Ogiltig socket för TLS"
|
||||||
|
|
||||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||||
msgid "Invalid state"
|
msgid "Invalid state"
|
||||||
@ -1276,7 +1281,7 @@ msgstr "Ogiltigt tillstånd"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||||
msgid "Invalid use of TLS Socket"
|
msgid "Invalid use of TLS Socket"
|
||||||
msgstr ""
|
msgstr "Ogiltig användning av TLS Socket"
|
||||||
|
|
||||||
#: shared-bindings/audiomixer/Mixer.c
|
#: shared-bindings/audiomixer/Mixer.c
|
||||||
msgid "Invalid voice"
|
msgid "Invalid voice"
|
||||||
@ -1296,7 +1301,7 @@ msgstr "Ogiltig word-/bitlängd"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||||
msgid "Issue setting SO_REUSEADDR"
|
msgid "Issue setting SO_REUSEADDR"
|
||||||
msgstr ""
|
msgstr "Misslyckades att sätta SO_REUSEADDR"
|
||||||
|
|
||||||
#: shared-bindings/aesio/aes.c
|
#: shared-bindings/aesio/aes.c
|
||||||
msgid "Key must be 16, 24, or 32 bytes long"
|
msgid "Key must be 16, 24, or 32 bytes long"
|
||||||
@ -1610,7 +1615,6 @@ msgstr ""
|
|||||||
"PWM-frekvensen är inte skrivbar när variable_frequency är falsk vid "
|
"PWM-frekvensen är inte skrivbar när variable_frequency är falsk vid "
|
||||||
"skapandet."
|
"skapandet."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -3375,7 +3379,7 @@ msgstr "antal punkter måste vara minst 2"
|
|||||||
|
|
||||||
#: py/builtinhelp.c
|
#: py/builtinhelp.c
|
||||||
msgid "object "
|
msgid "object "
|
||||||
msgstr ""
|
msgstr "objekt "
|
||||||
|
|
||||||
#: py/obj.c
|
#: py/obj.c
|
||||||
msgid "object '%q' is not a tuple or list"
|
msgid "object '%q' is not a tuple or list"
|
||||||
@ -3774,6 +3778,10 @@ msgstr "syntaxfel i uctypes deskriptor"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "tröskelvärdet måste ligga i intervallet 0-65536"
|
msgstr "tröskelvärdet måste ligga i intervallet 0-65536"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() kräver en 9-sekvens"
|
msgstr "time.struct_time() kräver en 9-sekvens"
|
||||||
@ -3996,7 +4004,7 @@ msgstr "width måste vara större än noll"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/wifi/Radio.c
|
#: ports/esp32s2/common-hal/wifi/Radio.c
|
||||||
msgid "wifi is not enabled"
|
msgid "wifi is not enabled"
|
||||||
msgstr ""
|
msgstr "wifi är inte aktiverat"
|
||||||
|
|
||||||
#: shared-bindings/_bleio/Adapter.c
|
#: shared-bindings/_bleio/Adapter.c
|
||||||
msgid "window must be <= interval"
|
msgid "window must be <= interval"
|
||||||
@ -4062,6 +4070,9 @@ msgstr "zi måste vara av typ float"
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr "zi måste vara i formen (n_section, 2)"
|
msgstr "zi måste vara i formen (n_section, 2)"
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr "%d adresspinnar och %d RGB-pinnar indikerar en höjd av %d, inte %d"
|
||||||
|
|
||||||
#~ msgid "Unknown failure"
|
#~ msgid "Unknown failure"
|
||||||
#~ msgstr "Okänt fel"
|
#~ msgstr "Okänt fel"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: circuitpython-cn\n"
|
"Project-Id-Version: circuitpython-cn\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||||
"PO-Revision-Date: 2021-01-21 22:25+0000\n"
|
"PO-Revision-Date: 2021-01-25 19:32+0000\n"
|
||||||
"Last-Translator: hexthat <hexthat@gmail.com>\n"
|
"Last-Translator: hexthat <hexthat@gmail.com>\n"
|
||||||
"Language-Team: Chinese Hanyu Pinyin\n"
|
"Language-Team: Chinese Hanyu Pinyin\n"
|
||||||
"Language: zh_Latn_pinyin\n"
|
"Language: zh_Latn_pinyin\n"
|
||||||
@ -53,7 +53,7 @@ msgstr " Wénjiàn \"%q\", dì %d xíng"
|
|||||||
|
|
||||||
#: py/builtinhelp.c
|
#: py/builtinhelp.c
|
||||||
msgid " is of type %q\n"
|
msgid " is of type %q\n"
|
||||||
msgstr ""
|
msgstr " shì %q lèi xíng\n"
|
||||||
|
|
||||||
#: main.c
|
#: main.c
|
||||||
msgid " output:\n"
|
msgid " output:\n"
|
||||||
@ -66,9 +66,9 @@ msgstr "%%c xūyào zhěngshù huò char"
|
|||||||
|
|
||||||
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
msgid ""
|
||||||
|
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%d dìzhǐ yǐn jiǎo hé %d rgb yǐn jiǎo jiāng gāodù biǎoshì wèi %d, ér bùshì %d"
|
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||||
msgid "%q failure: %d"
|
msgid "%q failure: %d"
|
||||||
@ -527,7 +527,6 @@ msgstr "Huǎn chōng qū cháng dù bì xū wéi 512 de bèi shù"
|
|||||||
msgid "Buffer must be a multiple of 512 bytes"
|
msgid "Buffer must be a multiple of 512 bytes"
|
||||||
msgstr "Huǎn chōng qū bì xū shì 512 zì jié de bèi shù"
|
msgstr "Huǎn chōng qū bì xū shì 512 zì jié de bèi shù"
|
||||||
|
|
||||||
#: shared-bindings/adafruit_bus_device/I2CDevice.c
|
|
||||||
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
#: shared-bindings/bitbangio/I2C.c shared-bindings/busio/I2C.c
|
||||||
msgid "Buffer must be at least length 1"
|
msgid "Buffer must be at least length 1"
|
||||||
msgstr "Huǎnchōng qū bìxū zhìshǎo chángdù 1"
|
msgstr "Huǎnchōng qū bìxū zhìshǎo chángdù 1"
|
||||||
@ -542,6 +541,7 @@ msgid "Buffer too short by %d bytes"
|
|||||||
msgstr "Huǎn chōng qū tài duǎn , àn %d zì jié"
|
msgstr "Huǎn chōng qū tài duǎn , àn %d zì jié"
|
||||||
|
|
||||||
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
#: ports/atmel-samd/common-hal/displayio/ParallelBus.c
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
#: ports/nrf/common-hal/displayio/ParallelBus.c
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Bus pin %d is already in use"
|
msgid "Bus pin %d is already in use"
|
||||||
@ -815,6 +815,10 @@ msgstr "Fā yuán huì yǐjīng shǐyòng"
|
|||||||
msgid "Data 0 pin must be byte aligned"
|
msgid "Data 0 pin must be byte aligned"
|
||||||
msgstr "Shùjù 0 de yǐn jiǎo bìxū shì zì jié duìqí"
|
msgstr "Shùjù 0 de yǐn jiǎo bìxū shì zì jié duìqí"
|
||||||
|
|
||||||
|
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
||||||
|
msgid "Data 0 pin must be byte aligned."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-module/audiocore/WaveFile.c
|
#: shared-module/audiocore/WaveFile.c
|
||||||
msgid "Data chunk must follow fmt chunk"
|
msgid "Data chunk must follow fmt chunk"
|
||||||
msgstr "Shùjù kuài bìxū zūnxún fmt qū kuài"
|
msgstr "Shùjù kuài bìxū zūnxún fmt qū kuài"
|
||||||
@ -871,7 +875,7 @@ msgstr "Zhèngzé biǎodá shì cuòwù"
|
|||||||
|
|
||||||
#: shared-bindings/socketpool/Socket.c
|
#: shared-bindings/socketpool/Socket.c
|
||||||
msgid "Error: Failure to bind"
|
msgid "Error: Failure to bind"
|
||||||
msgstr ""
|
msgstr "cuò wù: bǎng dìng shī bài"
|
||||||
|
|
||||||
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
#: py/enum.c shared-bindings/_bleio/__init__.c shared-bindings/aesio/aes.c
|
||||||
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
#: shared-bindings/busio/SPI.c shared-bindings/microcontroller/Pin.c
|
||||||
@ -1267,7 +1271,7 @@ msgstr "dà xiǎo wú xiào"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||||
msgid "Invalid socket for TLS"
|
msgid "Invalid socket for TLS"
|
||||||
msgstr ""
|
msgstr "TLS de chā zuò wú xiào"
|
||||||
|
|
||||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||||
msgid "Invalid state"
|
msgid "Invalid state"
|
||||||
@ -1275,7 +1279,7 @@ msgstr "wú xiào zhuàng tài"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||||
msgid "Invalid use of TLS Socket"
|
msgid "Invalid use of TLS Socket"
|
||||||
msgstr ""
|
msgstr "TLS tào jiē zì de wú xiào shǐ yòng"
|
||||||
|
|
||||||
#: shared-bindings/audiomixer/Mixer.c
|
#: shared-bindings/audiomixer/Mixer.c
|
||||||
msgid "Invalid voice"
|
msgid "Invalid voice"
|
||||||
@ -1295,7 +1299,7 @@ msgstr "Wúxiào de zì/wèi chángdù"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
#: ports/esp32s2/common-hal/socketpool/Socket.c
|
||||||
msgid "Issue setting SO_REUSEADDR"
|
msgid "Issue setting SO_REUSEADDR"
|
||||||
msgstr ""
|
msgstr "wèn tí shè zhì SO_REUSEADDR"
|
||||||
|
|
||||||
#: shared-bindings/aesio/aes.c
|
#: shared-bindings/aesio/aes.c
|
||||||
msgid "Key must be 16, 24, or 32 bytes long"
|
msgid "Key must be 16, 24, or 32 bytes long"
|
||||||
@ -1607,7 +1611,6 @@ msgid ""
|
|||||||
"PWM frequency not writable when variable_frequency is False on construction."
|
"PWM frequency not writable when variable_frequency is False on construction."
|
||||||
msgstr "Dāng biànliàng_pínlǜ shì False zài jiànzhú shí PWM pínlǜ bùkě xiě."
|
msgstr "Dāng biànliàng_pínlǜ shì False zài jiànzhú shí PWM pínlǜ bùkě xiě."
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/displayio/ParallelBus.c
|
|
||||||
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
#: ports/mimxrt10xx/common-hal/displayio/ParallelBus.c
|
||||||
#: ports/stm/common-hal/displayio/ParallelBus.c
|
#: ports/stm/common-hal/displayio/ParallelBus.c
|
||||||
msgid "ParallelBus not yet supported"
|
msgid "ParallelBus not yet supported"
|
||||||
@ -2356,7 +2359,7 @@ msgstr "huǎnchōng qū bìxū shì zì jié lèi duìxiàng"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "buffer size must be a multiple of element size"
|
msgid "buffer size must be a multiple of element size"
|
||||||
msgstr ""
|
msgstr "huǎn chōng qū dà xiǎo bì xū shì yuán sù dà xiǎo de bèi shù"
|
||||||
|
|
||||||
#: shared-module/struct/__init__.c
|
#: shared-module/struct/__init__.c
|
||||||
msgid "buffer size must match format"
|
msgid "buffer size must match format"
|
||||||
@ -2526,6 +2529,7 @@ msgstr "wúfǎ cóng shǒudòng zìduàn guīgé qiēhuàn dào zìdòng zìduà
|
|||||||
#: extmod/ulab/code/ndarray_operators.c
|
#: extmod/ulab/code/ndarray_operators.c
|
||||||
msgid "cannot cast output with casting rule"
|
msgid "cannot cast output with casting rule"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"wú fǎ shǐ yòng qiáng zhì zhuǎn huàn guī zé qiáng zhì zhuǎn huàn shū chū"
|
||||||
|
|
||||||
#: py/objtype.c
|
#: py/objtype.c
|
||||||
msgid "cannot create '%q' instances"
|
msgid "cannot create '%q' instances"
|
||||||
@ -2565,7 +2569,7 @@ msgstr "quānzi zhǐ néng zài yī wèi jiāzhǎng zhōng zhùcè"
|
|||||||
|
|
||||||
#: shared-bindings/msgpack/ExtType.c
|
#: shared-bindings/msgpack/ExtType.c
|
||||||
msgid "code outside range 0~127"
|
msgid "code outside range 0~127"
|
||||||
msgstr ""
|
msgstr "dài mǎ chāo chū fàn wéi 0~127"
|
||||||
|
|
||||||
#: shared-bindings/displayio/Palette.c
|
#: shared-bindings/displayio/Palette.c
|
||||||
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
msgid "color buffer must be 3 bytes (RGB) or 4 bytes (RGB + pad byte)"
|
||||||
@ -2632,7 +2636,7 @@ msgstr "wúfǎ quèdìng SD kǎ bǎnběn"
|
|||||||
|
|
||||||
#: extmod/ulab/code/numerical/numerical.c
|
#: extmod/ulab/code/numerical/numerical.c
|
||||||
msgid "cross is defined for 1D arrays of length 3"
|
msgid "cross is defined for 1D arrays of length 3"
|
||||||
msgstr ""
|
msgstr "duì yú cháng dù wéi 3 de 1D shù zǔ dìng yì cross"
|
||||||
|
|
||||||
#: extmod/ulab/code/approx/approx.c
|
#: extmod/ulab/code/approx/approx.c
|
||||||
msgid "data must be iterable"
|
msgid "data must be iterable"
|
||||||
@ -2644,7 +2648,7 @@ msgstr "shùjù chángdù bìxū xiāngděng"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "data type not understood"
|
msgid "data type not understood"
|
||||||
msgstr ""
|
msgstr "wèi lǐ jiě de shù jù lèi xíng"
|
||||||
|
|
||||||
#: py/parsenum.c
|
#: py/parsenum.c
|
||||||
msgid "decimal numbers not supported"
|
msgid "decimal numbers not supported"
|
||||||
@ -2656,7 +2660,7 @@ msgstr "mòrèn 'except' bìxū shì zuìhòu yīgè"
|
|||||||
|
|
||||||
#: shared-bindings/msgpack/__init__.c
|
#: shared-bindings/msgpack/__init__.c
|
||||||
msgid "default is not a function"
|
msgid "default is not a function"
|
||||||
msgstr ""
|
msgstr "mò rèn zhí bú shì hán shù"
|
||||||
|
|
||||||
#: shared-bindings/audiobusio/PDMIn.c
|
#: shared-bindings/audiobusio/PDMIn.c
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -2683,7 +2687,7 @@ msgstr "bùtóng de cānshù bìxū shì ndarray"
|
|||||||
|
|
||||||
#: extmod/ulab/code/numerical/numerical.c
|
#: extmod/ulab/code/numerical/numerical.c
|
||||||
msgid "differentiation order out of range"
|
msgid "differentiation order out of range"
|
||||||
msgstr ""
|
msgstr "chā yì shùn xù fàn wéi"
|
||||||
|
|
||||||
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
|
#: py/modmath.c py/objfloat.c py/objint_longlong.c py/objint_mpz.c py/runtime.c
|
||||||
#: shared-bindings/math/__init__.c
|
#: shared-bindings/math/__init__.c
|
||||||
@ -2716,7 +2720,7 @@ msgstr "jiéwěi_x yīnggāi shì yīgè zhěngshù"
|
|||||||
|
|
||||||
#: shared-bindings/alarm/time/TimeAlarm.c
|
#: shared-bindings/alarm/time/TimeAlarm.c
|
||||||
msgid "epoch_time not supported on this board"
|
msgid "epoch_time not supported on this board"
|
||||||
msgstr ""
|
msgstr "epoch_time bǎn bù zhī chí cǐ bǎn běn"
|
||||||
|
|
||||||
#: ports/nrf/common-hal/busio/UART.c
|
#: ports/nrf/common-hal/busio/UART.c
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -2761,7 +2765,7 @@ msgstr "qídài guānjiàn: Zìdiǎn de jiàzhí"
|
|||||||
|
|
||||||
#: shared-bindings/msgpack/__init__.c
|
#: shared-bindings/msgpack/__init__.c
|
||||||
msgid "ext_hook is not a function"
|
msgid "ext_hook is not a function"
|
||||||
msgstr ""
|
msgstr "ext_hook bú shì hán shù"
|
||||||
|
|
||||||
#: py/argcheck.c
|
#: py/argcheck.c
|
||||||
msgid "extra keyword arguments given"
|
msgid "extra keyword arguments given"
|
||||||
@ -2810,7 +2814,7 @@ msgstr "dì yīgè cānshù bìxū shì yī gè hánshù"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "first argument must be a tuple of ndarrays"
|
msgid "first argument must be a tuple of ndarrays"
|
||||||
msgstr ""
|
msgstr "dì yī gè cān shù bì xū shì yí gè yuán zǔ ndarrays"
|
||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "first argument must be an iterable"
|
msgid "first argument must be an iterable"
|
||||||
@ -2867,7 +2871,7 @@ msgstr "hánshù zài jiàngé mòwěi jùyǒu xiāngtóng de fúhào"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "function is defined for ndarrays only"
|
msgid "function is defined for ndarrays only"
|
||||||
msgstr ""
|
msgstr "hán shù jǐn wéi ndarrays dìng yì"
|
||||||
|
|
||||||
#: py/argcheck.c
|
#: py/argcheck.c
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -2963,11 +2967,11 @@ msgstr "nèi lián jíhé bìxū shì yīgè hánshù"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "input and output shapes are not compatible"
|
msgid "input and output shapes are not compatible"
|
||||||
msgstr ""
|
msgstr "shū rù hé shū chū xíng zhuàng bù jiān róng"
|
||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "input argument must be an integer, a tuple, or a list"
|
msgid "input argument must be an integer, a tuple, or a list"
|
||||||
msgstr ""
|
msgstr "shū rù cān shù bì xū shì zhěng shù, yuán zǔ huò liè biǎo"
|
||||||
|
|
||||||
#: extmod/ulab/code/fft/fft.c
|
#: extmod/ulab/code/fft/fft.c
|
||||||
msgid "input array length must be power of 2"
|
msgid "input array length must be power of 2"
|
||||||
@ -2975,7 +2979,7 @@ msgstr "shūrù shùzǔ de chángdù bìxū shì 2 de mì"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "input arrays are not compatible"
|
msgid "input arrays are not compatible"
|
||||||
msgstr ""
|
msgstr "shū rù shù zǔ bù jiān róng"
|
||||||
|
|
||||||
#: extmod/ulab/code/poly/poly.c
|
#: extmod/ulab/code/poly/poly.c
|
||||||
msgid "input data must be an iterable"
|
msgid "input data must be an iterable"
|
||||||
@ -2991,19 +2995,19 @@ msgstr "shūrù jǔzhèn shì qíyì de"
|
|||||||
|
|
||||||
#: extmod/ulab/code/user/user.c
|
#: extmod/ulab/code/user/user.c
|
||||||
msgid "input must be a dense ndarray"
|
msgid "input must be a dense ndarray"
|
||||||
msgstr ""
|
msgstr "shū rù bì xū shì mì jí de ndarray"
|
||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "input must be a tensor of rank 2"
|
msgid "input must be a tensor of rank 2"
|
||||||
msgstr ""
|
msgstr "shū rù bì xū shì děng jí 2 de zhāng liàng"
|
||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/user/user.c
|
#: extmod/ulab/code/ulab_create.c extmod/ulab/code/user/user.c
|
||||||
msgid "input must be an ndarray"
|
msgid "input must be an ndarray"
|
||||||
msgstr ""
|
msgstr "shū rù bì xū shì ndarray"
|
||||||
|
|
||||||
#: extmod/ulab/code/filter/filter.c
|
#: extmod/ulab/code/filter/filter.c
|
||||||
msgid "input must be one-dimensional"
|
msgid "input must be one-dimensional"
|
||||||
msgstr ""
|
msgstr "shū rù bì xū shì yì wéi de"
|
||||||
|
|
||||||
#: extmod/ulab/code/linalg/linalg.c
|
#: extmod/ulab/code/linalg/linalg.c
|
||||||
msgid "input must be square matrix"
|
msgid "input must be square matrix"
|
||||||
@ -3019,7 +3023,7 @@ msgstr "shūrù xiàngliàng de chángdù bìxū xiāngděng"
|
|||||||
|
|
||||||
#: extmod/ulab/code/poly/poly.c
|
#: extmod/ulab/code/poly/poly.c
|
||||||
msgid "inputs are not iterable"
|
msgid "inputs are not iterable"
|
||||||
msgstr ""
|
msgstr "shū rù bù kě yí dòng"
|
||||||
|
|
||||||
#: py/parsenum.c
|
#: py/parsenum.c
|
||||||
msgid "int() arg 2 must be >= 2 and <= 36"
|
msgid "int() arg 2 must be >= 2 and <= 36"
|
||||||
@ -3093,7 +3097,7 @@ msgstr "wúxiào de hàomǎ yǔfǎ"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||||
msgid "io must be rtc io"
|
msgid "io must be rtc io"
|
||||||
msgstr ""
|
msgstr "IO bì xū shì RTC IO"
|
||||||
|
|
||||||
#: py/objtype.c
|
#: py/objtype.c
|
||||||
msgid "issubclass() arg 1 must be a class"
|
msgid "issubclass() arg 1 must be a class"
|
||||||
@ -3192,11 +3196,11 @@ msgstr "Dāng gùdìng chángdù wèi %s shí, zuìdà chángdù bìxū wèi 0-%
|
|||||||
|
|
||||||
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
#: shared-bindings/_bleio/Characteristic.c shared-bindings/_bleio/Descriptor.c
|
||||||
msgid "max_length must be >= 0"
|
msgid "max_length must be >= 0"
|
||||||
msgstr ""
|
msgstr "zuì dà cháng dù bì xū >= 0"
|
||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "maximum number of dimensions is 4"
|
msgid "maximum number of dimensions is 4"
|
||||||
msgstr ""
|
msgstr "zuì dà chǐ cùn shù wéi 4"
|
||||||
|
|
||||||
#: py/runtime.c
|
#: py/runtime.c
|
||||||
msgid "maximum recursion depth exceeded"
|
msgid "maximum recursion depth exceeded"
|
||||||
@ -3212,7 +3216,7 @@ msgstr "maxiter yìng wéi > 0"
|
|||||||
|
|
||||||
#: extmod/ulab/code/numerical/numerical.c
|
#: extmod/ulab/code/numerical/numerical.c
|
||||||
msgid "median argument must be an ndarray"
|
msgid "median argument must be an ndarray"
|
||||||
msgstr ""
|
msgstr "zhōng wèi shù cān shù bì xū shì ndarray"
|
||||||
|
|
||||||
#: py/runtime.c
|
#: py/runtime.c
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -3298,7 +3302,7 @@ msgstr "zhǎo bù dào fēi běndì de bǎng dìng"
|
|||||||
|
|
||||||
#: shared-module/msgpack/__init__.c
|
#: shared-module/msgpack/__init__.c
|
||||||
msgid "no default packer"
|
msgid "no default packer"
|
||||||
msgstr ""
|
msgstr "wú mò rèn bāo zhuāng jī"
|
||||||
|
|
||||||
#: py/builtinimport.c
|
#: py/builtinimport.c
|
||||||
msgid "no module named '%q'"
|
msgid "no module named '%q'"
|
||||||
@ -3339,15 +3343,15 @@ msgstr "guānjiàn zì cānshù zhīhòu de fēi guānjiàn zì cānshù"
|
|||||||
|
|
||||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||||
msgid "non-zero timeout must be > 0.01"
|
msgid "non-zero timeout must be > 0.01"
|
||||||
msgstr ""
|
msgstr "fēi líng chāo shí bì xū > 0.01"
|
||||||
|
|
||||||
#: shared-bindings/_bleio/Adapter.c
|
#: shared-bindings/_bleio/Adapter.c
|
||||||
msgid "non-zero timeout must be >= interval"
|
msgid "non-zero timeout must be >= interval"
|
||||||
msgstr ""
|
msgstr "fēi líng chāo shí bì xū wéi >= jiàn gé"
|
||||||
|
|
||||||
#: extmod/ulab/code/linalg/linalg.c
|
#: extmod/ulab/code/linalg/linalg.c
|
||||||
msgid "norm is defined for 1D and 2D arrays"
|
msgid "norm is defined for 1D and 2D arrays"
|
||||||
msgstr ""
|
msgstr "wéi 1D hé 2D shù zǔ dìng yì guī fàn"
|
||||||
|
|
||||||
#: shared-bindings/_bleio/UUID.c
|
#: shared-bindings/_bleio/UUID.c
|
||||||
msgid "not a 128-bit UUID"
|
msgid "not a 128-bit UUID"
|
||||||
@ -3367,7 +3371,7 @@ msgstr "diǎnshù bìxū zhìshǎo wèi 2"
|
|||||||
|
|
||||||
#: py/builtinhelp.c
|
#: py/builtinhelp.c
|
||||||
msgid "object "
|
msgid "object "
|
||||||
msgstr ""
|
msgstr "duì xiàng "
|
||||||
|
|
||||||
#: py/obj.c
|
#: py/obj.c
|
||||||
msgid "object '%q' is not a tuple or list"
|
msgid "object '%q' is not a tuple or list"
|
||||||
@ -3419,15 +3423,15 @@ msgstr "jīshù zìfú chuàn"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "offset is too large"
|
msgid "offset is too large"
|
||||||
msgstr ""
|
msgstr "piān yí tài dà"
|
||||||
|
|
||||||
#: shared-bindings/dualbank/__init__.c
|
#: shared-bindings/dualbank/__init__.c
|
||||||
msgid "offset must be >= 0"
|
msgid "offset must be >= 0"
|
||||||
msgstr ""
|
msgstr "piān yí liàng bì xū >= 0"
|
||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "offset must be non-negative and no greater than buffer length"
|
msgid "offset must be non-negative and no greater than buffer length"
|
||||||
msgstr ""
|
msgstr "piān yí liàng bì xū wéi fēi fù shù qiě bù dà yú huǎn chōng qū cháng dù"
|
||||||
|
|
||||||
#: py/objstr.c py/objstrunicode.c
|
#: py/objstr.c py/objstrunicode.c
|
||||||
msgid "offset out of bounds"
|
msgid "offset out of bounds"
|
||||||
@ -3453,7 +3457,7 @@ msgstr "cāozuò shǔ bùnéng yīqǐ guǎngbò"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "operation is implemented for 1D Boolean arrays only"
|
msgid "operation is implemented for 1D Boolean arrays only"
|
||||||
msgstr ""
|
msgstr "jǐn duì 1D bù ěr shù zǔ shí xiàn cāo zuò"
|
||||||
|
|
||||||
#: extmod/ulab/code/numerical/numerical.c
|
#: extmod/ulab/code/numerical/numerical.c
|
||||||
msgid "operation is not implemented on ndarrays"
|
msgid "operation is not implemented on ndarrays"
|
||||||
@ -3593,7 +3597,7 @@ msgstr "qǐngqiú chángdù %d dàn duìxiàng chángdù %d"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ndarray_operators.c
|
#: extmod/ulab/code/ndarray_operators.c
|
||||||
msgid "results cannot be cast to specified type"
|
msgid "results cannot be cast to specified type"
|
||||||
msgstr ""
|
msgstr "wú fǎ jiāng jié guǒ qiáng zhì zhuǎn huàn dào zhǐ dìng lèi xíng"
|
||||||
|
|
||||||
#: py/compile.c
|
#: py/compile.c
|
||||||
msgid "return annotation must be an identifier"
|
msgid "return annotation must be an identifier"
|
||||||
@ -3615,7 +3619,7 @@ msgstr "rgb_pins[%d] yǔ shízhōng bùzài tóng yīgè duānkǒu shàng"
|
|||||||
|
|
||||||
#: extmod/ulab/code/numerical/numerical.c
|
#: extmod/ulab/code/numerical/numerical.c
|
||||||
msgid "roll argument must be an ndarray"
|
msgid "roll argument must be an ndarray"
|
||||||
msgstr ""
|
msgstr "gǔn dòng cān shù bì xū shì ndarray"
|
||||||
|
|
||||||
#: py/objstr.c
|
#: py/objstr.c
|
||||||
msgid "rsplit(None,n)"
|
msgid "rsplit(None,n)"
|
||||||
@ -3643,11 +3647,11 @@ msgstr "bù zhīchí jiǎoběn biānyì"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "shape must be a tuple"
|
msgid "shape must be a tuple"
|
||||||
msgstr ""
|
msgstr "xíng zhuàng bì xū shì yí gè yuán zǔ"
|
||||||
|
|
||||||
#: shared-module/msgpack/__init__.c
|
#: shared-module/msgpack/__init__.c
|
||||||
msgid "short read"
|
msgid "short read"
|
||||||
msgstr ""
|
msgstr "duǎn dú"
|
||||||
|
|
||||||
#: py/objstr.c
|
#: py/objstr.c
|
||||||
msgid "sign not allowed in string format specifier"
|
msgid "sign not allowed in string format specifier"
|
||||||
@ -3765,6 +3769,10 @@ msgstr "uctypes miáoshù fú zhōng de yǔfǎ cuòwù"
|
|||||||
msgid "threshold must be in the range 0-65536"
|
msgid "threshold must be in the range 0-65536"
|
||||||
msgstr "yùzhí bìxū zài fànwéi 0-65536"
|
msgstr "yùzhí bìxū zài fànwéi 0-65536"
|
||||||
|
|
||||||
|
#: shared-bindings/rgbmatrix/RGBMatrix.c
|
||||||
|
msgid "tile must be greater than zero"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: shared-bindings/time/__init__.c
|
#: shared-bindings/time/__init__.c
|
||||||
msgid "time.struct_time() takes a 9-sequence"
|
msgid "time.struct_time() takes a 9-sequence"
|
||||||
msgstr "time.struct_time() xūyào 9 xùliè"
|
msgstr "time.struct_time() xūyào 9 xùliè"
|
||||||
@ -3780,7 +3788,7 @@ msgstr "Chāo shí shíjiān bìxū wèi 0.0 Dào 100.0 Miǎo"
|
|||||||
|
|
||||||
#: ports/nrf/common-hal/_bleio/Adapter.c
|
#: ports/nrf/common-hal/_bleio/Adapter.c
|
||||||
msgid "timeout must be < 655.35 secs"
|
msgid "timeout must be < 655.35 secs"
|
||||||
msgstr ""
|
msgstr "chāo shí bì xū < 655.35 miǎo"
|
||||||
|
|
||||||
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
#: shared-bindings/_bleio/CharacteristicBuffer.c
|
||||||
msgid "timeout must be >= 0.0"
|
msgid "timeout must be >= 0.0"
|
||||||
@ -3800,7 +3808,7 @@ msgstr "time_t shíjiān chuō chāochū píngtái fànwéi"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "tobytes can be invoked for dense arrays only"
|
msgid "tobytes can be invoked for dense arrays only"
|
||||||
msgstr ""
|
msgstr "tobytes zhǐ néng duì mì jí shù zǔ diào yòng"
|
||||||
|
|
||||||
#: shared-module/struct/__init__.c
|
#: shared-module/struct/__init__.c
|
||||||
msgid "too many arguments provided with the given format"
|
msgid "too many arguments provided with the given format"
|
||||||
@ -3808,7 +3816,7 @@ msgstr "tígōng jǐ dìng géshì de cānshù tài duō"
|
|||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "too many dimensions"
|
msgid "too many dimensions"
|
||||||
msgstr ""
|
msgstr "chǐ cùn tài duō"
|
||||||
|
|
||||||
#: extmod/ulab/code/ndarray.c
|
#: extmod/ulab/code/ndarray.c
|
||||||
msgid "too many indices"
|
msgid "too many indices"
|
||||||
@ -3821,7 +3829,7 @@ msgstr "dǎkāi tài duō zhí (yùqí %d)"
|
|||||||
|
|
||||||
#: extmod/ulab/code/approx/approx.c
|
#: extmod/ulab/code/approx/approx.c
|
||||||
msgid "trapz is defined for 1D arrays"
|
msgid "trapz is defined for 1D arrays"
|
||||||
msgstr ""
|
msgstr "wéi 1D shù zǔ dìng yì xiàn jǐng"
|
||||||
|
|
||||||
#: extmod/ulab/code/approx/approx.c
|
#: extmod/ulab/code/approx/approx.c
|
||||||
msgid "trapz is defined for 1D arrays of equal length"
|
msgid "trapz is defined for 1D arrays of equal length"
|
||||||
@ -3829,7 +3837,7 @@ msgstr "Trapz shì wèi děng zhǎng de 1D shùzǔ dìngyì de"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||||
msgid "trigger level must be 0 or 1"
|
msgid "trigger level must be 0 or 1"
|
||||||
msgstr ""
|
msgstr "chù fā jí bié bì xū wéi 0 huò 1"
|
||||||
|
|
||||||
#: py/obj.c
|
#: py/obj.c
|
||||||
msgid "tuple/list has wrong length"
|
msgid "tuple/list has wrong length"
|
||||||
@ -3971,7 +3979,7 @@ msgstr "xiàngliàng bìxū jùyǒu xiāngtóng de chángdù"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
#: ports/esp32s2/common-hal/alarm/pin/__init__.c
|
||||||
msgid "wakeup conflict"
|
msgid "wakeup conflict"
|
||||||
msgstr ""
|
msgstr "huàn xǐng chōng tū"
|
||||||
|
|
||||||
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
#: ports/esp32s2/common-hal/watchdog/WatchDogTimer.c
|
||||||
msgid "watchdog not initialized"
|
msgid "watchdog not initialized"
|
||||||
@ -3987,7 +3995,7 @@ msgstr "kuāndù bìxū dàyú líng"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/wifi/Radio.c
|
#: ports/esp32s2/common-hal/wifi/Radio.c
|
||||||
msgid "wifi is not enabled"
|
msgid "wifi is not enabled"
|
||||||
msgstr ""
|
msgstr "wèi qǐ yòng WIFI"
|
||||||
|
|
||||||
#: shared-bindings/_bleio/Adapter.c
|
#: shared-bindings/_bleio/Adapter.c
|
||||||
msgid "window must be <= interval"
|
msgid "window must be <= interval"
|
||||||
@ -3995,11 +4003,11 @@ msgstr "Chuāngkǒu bìxū shì <= jiàngé"
|
|||||||
|
|
||||||
#: extmod/ulab/code/numerical/numerical.c
|
#: extmod/ulab/code/numerical/numerical.c
|
||||||
msgid "wrong axis index"
|
msgid "wrong axis index"
|
||||||
msgstr ""
|
msgstr "cuò wù de zhóu suǒ yǐn"
|
||||||
|
|
||||||
#: extmod/ulab/code/ulab_create.c
|
#: extmod/ulab/code/ulab_create.c
|
||||||
msgid "wrong axis specified"
|
msgid "wrong axis specified"
|
||||||
msgstr ""
|
msgstr "zhǐ dìng de zhóu cuò wù"
|
||||||
|
|
||||||
#: extmod/ulab/code/vector/vectorise.c
|
#: extmod/ulab/code/vector/vectorise.c
|
||||||
msgid "wrong input type"
|
msgid "wrong input type"
|
||||||
@ -4027,7 +4035,7 @@ msgstr "x zhí chāochū biānjiè"
|
|||||||
|
|
||||||
#: ports/esp32s2/common-hal/audiobusio/__init__.c
|
#: ports/esp32s2/common-hal/audiobusio/__init__.c
|
||||||
msgid "xTaskCreate failed"
|
msgid "xTaskCreate failed"
|
||||||
msgstr ""
|
msgstr "xTaskCreate shī bài"
|
||||||
|
|
||||||
#: shared-bindings/displayio/Shape.c
|
#: shared-bindings/displayio/Shape.c
|
||||||
msgid "y should be an int"
|
msgid "y should be an int"
|
||||||
@ -4053,6 +4061,11 @@ msgstr "zi bìxū wèi fú diǎn xíng"
|
|||||||
msgid "zi must be of shape (n_section, 2)"
|
msgid "zi must be of shape (n_section, 2)"
|
||||||
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
|
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
|
||||||
|
|
||||||
|
#~ msgid "%d address pins and %d rgb pins indicate a height of %d, not %d"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "%d dìzhǐ yǐn jiǎo hé %d rgb yǐn jiǎo jiāng gāodù biǎoshì wèi %d, ér bùshì "
|
||||||
|
#~ "%d"
|
||||||
|
|
||||||
#~ msgid "Unknown failure"
|
#~ msgid "Unknown failure"
|
||||||
#~ msgstr "Wèizhī gùzhàng"
|
#~ msgstr "Wèizhī gùzhàng"
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@ CIRCUITPY_GAMEPAD = 1
|
|||||||
CIRCUITPY_BUSDEVICE = 1
|
CIRCUITPY_BUSDEVICE = 1
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# 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_HID
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
||||||
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ADXL34x
|
#FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ADXL34x
|
||||||
|
@ -16,6 +16,7 @@ CIRCUITPY_COUNTIO = 0
|
|||||||
CIRCUITPY_FREQUENCYIO = 0
|
CIRCUITPY_FREQUENCYIO = 0
|
||||||
CIRCUITPY_I2CPERIPHERAL = 0
|
CIRCUITPY_I2CPERIPHERAL = 0
|
||||||
CIRCUITPY_VECTORIO = 0
|
CIRCUITPY_VECTORIO = 0
|
||||||
|
CIRCUITPY_BUSDEVICE = 0
|
||||||
MICROPY_PY_ASYNC_AWAIT = 0
|
MICROPY_PY_ASYNC_AWAIT = 0
|
||||||
|
|
||||||
SUPEROPT_GC = 0
|
SUPEROPT_GC = 0
|
||||||
|
@ -22,7 +22,6 @@ SUPEROPT_GC = 0
|
|||||||
CFLAGS_INLINE_LIMIT = 55
|
CFLAGS_INLINE_LIMIT = 55
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_HID
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
||||||
|
@ -26,7 +26,6 @@ CFLAGS_INLINE_LIMIT = 40
|
|||||||
|
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Crickit
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Crickit
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
||||||
|
@ -43,5 +43,3 @@
|
|||||||
// USB is always used internally so skip the pin objects for it.
|
// USB is always used internally so skip the pin objects for it.
|
||||||
#define IGNORE_PIN_PA24 1
|
#define IGNORE_PIN_PA24 1
|
||||||
#define IGNORE_PIN_PA25 1
|
#define IGNORE_PIN_PA25 1
|
||||||
|
|
||||||
#define MICROPY_PY_URE 0
|
|
||||||
|
@ -18,6 +18,7 @@ CIRCUITPY_FREQUENCYIO = 0
|
|||||||
CIRCUITPY_I2CPERIPHERAL = 0
|
CIRCUITPY_I2CPERIPHERAL = 0
|
||||||
CIRCUITPY_MSGPACK = 0
|
CIRCUITPY_MSGPACK = 0
|
||||||
CIRCUITPY_PIXELBUF = 0
|
CIRCUITPY_PIXELBUF = 0
|
||||||
|
CIRCUITPY_RE = 0
|
||||||
CIRCUITPY_ROTARYIO = 0
|
CIRCUITPY_ROTARYIO = 0
|
||||||
CIRCUITPY_RTC = 0
|
CIRCUITPY_RTC = 0
|
||||||
# So not all of displayio, sorry!
|
# So not all of displayio, sorry!
|
||||||
@ -27,7 +28,6 @@ SUPEROPT_GC = 0
|
|||||||
CFLAGS_INLINE_LIMIT = 55
|
CFLAGS_INLINE_LIMIT = 55
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||||
|
@ -21,7 +21,6 @@ CFLAGS_INLINE_LIMIT = 50
|
|||||||
CIRCUITPY_MSGPACK = 0
|
CIRCUITPY_MSGPACK = 0
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Crickit
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Crickit
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Motor
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Motor
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||||
|
@ -28,5 +28,4 @@ CFLAGS_INLINE_LIMIT = 35
|
|||||||
SUPEROPT_GC = 0
|
SUPEROPT_GC = 0
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM69
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM69
|
||||||
|
@ -29,5 +29,4 @@ CFLAGS_INLINE_LIMIT = 35
|
|||||||
SUPEROPT_GC = 0
|
SUPEROPT_GC = 0
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM9x
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_RFM9x
|
||||||
|
@ -27,7 +27,6 @@ CFLAGS_INLINE_LIMIT = 55
|
|||||||
SUPEROPT_GC = 0
|
SUPEROPT_GC = 0
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_LIS3DH
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||||
|
|
||||||
|
@ -10,3 +10,5 @@ QSPI_FLASH_FILESYSTEM = 1
|
|||||||
EXTERNAL_FLASH_DEVICE_COUNT = 3
|
EXTERNAL_FLASH_DEVICE_COUNT = 3
|
||||||
EXTERNAL_FLASH_DEVICES = "S25FL116K, S25FL216K, GD25Q16C"
|
EXTERNAL_FLASH_DEVICES = "S25FL116K, S25FL216K, GD25Q16C"
|
||||||
LONGINT_IMPL = MPZ
|
LONGINT_IMPL = MPZ
|
||||||
|
|
||||||
|
CIRCUITPY__EVE = 1
|
||||||
|
@ -21,7 +21,6 @@ CIRCUITPY_GAMEPAD = 0
|
|||||||
CIRCUITPY_RGBMATRIX = 0
|
CIRCUITPY_RGBMATRIX = 0
|
||||||
CIRCUITPY_PS2IO = 0
|
CIRCUITPY_PS2IO = 0
|
||||||
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
||||||
|
@ -21,7 +21,6 @@ CIRCUITPY_GAMEPAD = 0
|
|||||||
CIRCUITPY_RGBMATRIX = 0
|
CIRCUITPY_RGBMATRIX = 0
|
||||||
CIRCUITPY_PS2IO = 0
|
CIRCUITPY_PS2IO = 0
|
||||||
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Register
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
||||||
|
@ -13,5 +13,4 @@ LONGINT_IMPL = MPZ
|
|||||||
CIRCUITPY_AUDIOBUSIO = 0
|
CIRCUITPY_AUDIOBUSIO = 0
|
||||||
CIRCUITPY_USTACK = 1
|
CIRCUITPY_USTACK = 1
|
||||||
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||||
|
@ -14,6 +14,7 @@ LONGINT_IMPL = NONE
|
|||||||
CIRCUITPY_AUDIOBUSIO = 0
|
CIRCUITPY_AUDIOBUSIO = 0
|
||||||
CIRCUITPY_FREQUENCYIO = 0
|
CIRCUITPY_FREQUENCYIO = 0
|
||||||
CIRCUITPY_GAMEPAD = 0
|
CIRCUITPY_GAMEPAD = 0
|
||||||
|
CIRCUITPY_BUSDEVICE = 0
|
||||||
|
|
||||||
SUPEROPT_GC = 0
|
SUPEROPT_GC = 0
|
||||||
|
|
||||||
|
38
ports/atmel-samd/boards/silicognition-m4-shim/board.c
Normal file
38
ports/atmel-samd/boards/silicognition-m4-shim/board.c
Normal 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 "supervisor/board.h"
|
||||||
|
#include "mpconfigboard.h"
|
||||||
|
|
||||||
|
void board_init(void) {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool board_requests_safe_mode(void) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void reset_board(void) {
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
#define MICROPY_HW_BOARD_NAME "Silicognition LLC M4-Shim"
|
||||||
|
#define MICROPY_HW_MCU_NAME "samd51j19"
|
||||||
|
|
||||||
|
#define CIRCUITPY_MCU_FAMILY samd51
|
||||||
|
|
||||||
|
// Rev E
|
||||||
|
|
||||||
|
#define MICROPY_HW_LED_STATUS (&pin_PA23)
|
||||||
|
#define MICROPY_HW_NEOPIXEL (&pin_PB03)
|
||||||
|
|
||||||
|
// 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_PB03 | PORT_PB10 | PORT_PB11)
|
||||||
|
#define MICROPY_PORT_C (0)
|
||||||
|
#define MICROPY_PORT_D (0)
|
||||||
|
|
||||||
|
#define BOARD_HAS_CRYSTAL 1
|
||||||
|
|
||||||
|
#define DEFAULT_I2C_BUS_SCL (&pin_PA13)
|
||||||
|
#define DEFAULT_I2C_BUS_SDA (&pin_PA12)
|
||||||
|
|
||||||
|
#define DEFAULT_SPI_BUS_SCK (&pin_PA17)
|
||||||
|
#define DEFAULT_SPI_BUS_MOSI (&pin_PB23)
|
||||||
|
#define DEFAULT_SPI_BUS_MISO (&pin_PB22)
|
||||||
|
|
||||||
|
#define DEFAULT_UART_BUS_RX (&pin_PB17)
|
||||||
|
#define DEFAULT_UART_BUS_TX (&pin_PB16)
|
||||||
|
|
||||||
|
// USB is always used internally so skip the pin objects for it.
|
||||||
|
#define IGNORE_PIN_PA24 1
|
||||||
|
#define IGNORE_PIN_PA25 1
|
@ -0,0 +1,14 @@
|
|||||||
|
USB_VID = 0x1209
|
||||||
|
USB_PID = 0xF500
|
||||||
|
USB_PRODUCT = "M4-Shim"
|
||||||
|
USB_MANUFACTURER = "Silicognition LLC"
|
||||||
|
|
||||||
|
CHIP_VARIANT = SAMD51J19A
|
||||||
|
CHIP_FAMILY = samd51
|
||||||
|
|
||||||
|
QSPI_FLASH_FILESYSTEM = 1
|
||||||
|
EXTERNAL_FLASH_DEVICE_COUNT = 1
|
||||||
|
EXTERNAL_FLASH_DEVICES = GD25Q16C
|
||||||
|
LONGINT_IMPL = MPZ
|
||||||
|
|
||||||
|
CIRCUITPY_VECTORIO = 1
|
54
ports/atmel-samd/boards/silicognition-m4-shim/pins.c
Normal file
54
ports/atmel-samd/boards/silicognition-m4-shim/pins.c
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
#include "shared-bindings/board/__init__.h"
|
||||||
|
|
||||||
|
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA02) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_PA02) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PA05) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_PA05) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PB08) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_PB08) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PB09) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_PB09) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA04) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_PA04) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PA06) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D19), MP_ROM_PTR(&pin_PA06) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA17) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D25), MP_ROM_PTR(&pin_PA17) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB23) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D24), MP_ROM_PTR(&pin_PB23) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PB22) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D23), MP_ROM_PTR(&pin_PB22) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PB17) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB17) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PB16) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB16) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA12) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA13) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA14) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PA16) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA18) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA19) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA20) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA21) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA22) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA23) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PB03) },
|
||||||
|
|
||||||
|
{ 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);
|
@ -14,6 +14,7 @@ LONGINT_IMPL = MPZ
|
|||||||
CIRCUITPY_AUDIOIO = 0
|
CIRCUITPY_AUDIOIO = 0
|
||||||
CIRCUITPY_AUDIOBUSIO = 0
|
CIRCUITPY_AUDIOBUSIO = 0
|
||||||
CIRCUITPY_VECTORIO = 0
|
CIRCUITPY_VECTORIO = 0
|
||||||
|
CIRCUITPY_BUSDEVICE = 0
|
||||||
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ CIRCUITPY_RTC = 0
|
|||||||
CIRCUITPY_TOUCHIO = 0
|
CIRCUITPY_TOUCHIO = 0
|
||||||
CIRCUITPY_USB_HID = 0
|
CIRCUITPY_USB_HID = 0
|
||||||
CIRCUITPY_USB_MIDI = 0
|
CIRCUITPY_USB_MIDI = 0
|
||||||
|
CIRCUITPY_BUSDEVICE = 0
|
||||||
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/circuitpython-stage/ugame10
|
FROZEN_MPY_DIRS += $(TOP)/frozen/circuitpython-stage/ugame10
|
||||||
|
|
||||||
|
@ -24,4 +24,3 @@ CIRCUITPY_TOUCHIO=0
|
|||||||
CIRCUITPY_BUSDEVICE=1
|
CIRCUITPY_BUSDEVICE=1
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
|
@ -27,5 +27,4 @@ CIRCUITPY_COUNTIO=0
|
|||||||
CIRCUITPY_BUSDEVICE=1
|
CIRCUITPY_BUSDEVICE=1
|
||||||
|
|
||||||
# Include these Python libraries in firmware.
|
# Include these Python libraries in firmware.
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
|
|
||||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_SD
|
||||||
|
@ -45,11 +45,7 @@
|
|||||||
#define MICROPY_PY_BUILTINS_COMPLEX (0)
|
#define MICROPY_PY_BUILTINS_COMPLEX (0)
|
||||||
#define MICROPY_PY_BUILTINS_NOTIMPLEMENTED (0)
|
#define MICROPY_PY_BUILTINS_NOTIMPLEMENTED (0)
|
||||||
#define MICROPY_PY_FUNCTION_ATTRS (0)
|
#define MICROPY_PY_FUNCTION_ATTRS (0)
|
||||||
// MICROPY_PY_UJSON depends on MICROPY_PY_IO
|
|
||||||
#define MICROPY_PY_IO (0)
|
|
||||||
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (0)
|
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (0)
|
||||||
#define MICROPY_PY_UBINASCII (0)
|
|
||||||
#define MICROPY_PY_UJSON (0)
|
|
||||||
#define MICROPY_PY_COLLECTIONS_ORDEREDDICT (0)
|
#define MICROPY_PY_COLLECTIONS_ORDEREDDICT (0)
|
||||||
#define MICROPY_PY_UERRNO_LIST \
|
#define MICROPY_PY_UERRNO_LIST \
|
||||||
X(EPERM) \
|
X(EPERM) \
|
||||||
@ -84,9 +80,6 @@
|
|||||||
#define SPI_FLASH_MAX_BAUDRATE 24000000
|
#define SPI_FLASH_MAX_BAUDRATE 24000000
|
||||||
#define MICROPY_PY_BUILTINS_NOTIMPLEMENTED (1)
|
#define MICROPY_PY_BUILTINS_NOTIMPLEMENTED (1)
|
||||||
#define MICROPY_PY_FUNCTION_ATTRS (1)
|
#define MICROPY_PY_FUNCTION_ATTRS (1)
|
||||||
// MICROPY_PY_UJSON depends on MICROPY_PY_IO
|
|
||||||
#define MICROPY_PY_IO (1)
|
|
||||||
#define MICROPY_PY_UJSON (1)
|
|
||||||
// MICROPY_PY_UERRNO_LIST - Use the default
|
// MICROPY_PY_UERRNO_LIST - Use the default
|
||||||
|
|
||||||
#endif // SAM_D5X_E5X
|
#endif // SAM_D5X_E5X
|
||||||
|
@ -20,26 +20,16 @@ endif
|
|||||||
|
|
||||||
# Put samd21-only choices here.
|
# Put samd21-only choices here.
|
||||||
ifeq ($(CHIP_FAMILY),samd21)
|
ifeq ($(CHIP_FAMILY),samd21)
|
||||||
# frequencyio not yet verified as working on SAMD21, though make it possible to override.
|
|
||||||
ifndef CIRCUITPY_AUDIOMIXER
|
|
||||||
CIRCUITPY_AUDIOMIXER = 0
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef CIRCUITPY_AUDIOMP3
|
# The ?='s allow overriding in mpconfigboard.mk.
|
||||||
CIRCUITPY_AUDIOMP3 = 0
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef CIRCUITPY_BUILTINS_POW3
|
CIRCUITPY_AUDIOMIXER ?= 0
|
||||||
CIRCUITPY_BUILTINS_POW3 = 0
|
CIRCUITPY_BINASCII ?= 0
|
||||||
endif
|
CIRCUITPY_AUDIOMP3 ?= 0
|
||||||
|
CIRCUITPY_BUILTINS_POW3 ?= 0
|
||||||
ifndef CIRCUITPY_FREQUENCYIO
|
CIRCUITPY_FREQUENCYIO ?= 0
|
||||||
CIRCUITPY_FREQUENCYIO = 0
|
CIRCUITPY_JSON ?= 0
|
||||||
endif
|
CIRCUITPY_TOUCHIO_USE_NATIVE ?= 1
|
||||||
|
|
||||||
ifndef CIRCUITPY_TOUCHIO_USE_NATIVE
|
|
||||||
CIRCUITPY_TOUCHIO_USE_NATIVE = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
# No room for HCI _bleio on SAMD21.
|
# No room for HCI _bleio on SAMD21.
|
||||||
CIRCUITPY_BLEIO_HCI = 0
|
CIRCUITPY_BLEIO_HCI = 0
|
||||||
@ -71,27 +61,13 @@ ifeq ($(CHIP_FAMILY),samd51)
|
|||||||
# No native touchio on SAMD51.
|
# No native touchio on SAMD51.
|
||||||
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
|
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
|
||||||
|
|
||||||
# The ifndef's allow overriding in mpconfigboard.mk.
|
# The ?='s allow overriding in mpconfigboard.mk.
|
||||||
|
|
||||||
ifndef CIRCUITPY_NETWORK
|
CIRCUITPY_NETWORK ?= 0
|
||||||
CIRCUITPY_NETWORK = 0
|
CIRCUITPY_PS2IO ?= 1
|
||||||
endif
|
CIRCUITPY_SAMD ?= 1
|
||||||
|
CIRCUITPY_RGBMATRIX ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
ifndef CIRCUITPY_PS2IO
|
CIRCUITPY_FRAMEBUFFERIO ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
CIRCUITPY_PS2IO = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef CIRCUITPY_SAMD
|
|
||||||
CIRCUITPY_SAMD = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef CIRCUITPY_RGBMATRIX
|
|
||||||
CIRCUITPY_RGBMATRIX = $(CIRCUITPY_FULL_BUILD)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifndef CIRCUITPY_FRAMEBUFFERIO
|
|
||||||
CIRCUITPY_FRAMEBUFFERIO = $(CIRCUITPY_FULL_BUILD)
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif # samd51
|
endif # samd51
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ Bootloader information:
|
|||||||
|
|
||||||
* You have to accept the End User License Agreement to be able to download and use the Spresense bootloader binary.
|
* You have to accept the End User License Agreement to be able to download and use the Spresense bootloader binary.
|
||||||
|
|
||||||
Download the spresense binaries zip archive from: [Spresense firmware v2-0-000](https://developer.sony.com/file/download/download-spresense-firmware-v2-0-000)
|
Download the spresense binaries zip archive from: [Spresense firmware v2-0-002](https://developer.sony.com/file/download/download-spresense-firmware-v2-0-002)
|
||||||
|
|
||||||
Extract spresense binaries in your PC to ports/spresense/spresense-exported-sdk/firmware/
|
Extract spresense binaries in your PC to ports/spresense/spresense-exported-sdk/firmware/
|
||||||
|
|
||||||
|
@ -165,6 +165,7 @@ CONFIG_USBDEV=y
|
|||||||
CONFIG_USBDEV_DMA=y
|
CONFIG_USBDEV_DMA=y
|
||||||
CONFIG_USBDEV_DUALSPEED=y
|
CONFIG_USBDEV_DUALSPEED=y
|
||||||
CONFIG_USEC_PER_TICK=1000
|
CONFIG_USEC_PER_TICK=1000
|
||||||
|
CONFIG_USERMAIN_STACKSIZE=8192
|
||||||
CONFIG_USER_ENTRYPOINT="spresense_main"
|
CONFIG_USER_ENTRYPOINT="spresense_main"
|
||||||
CONFIG_VIDEO_ISX012=y
|
CONFIG_VIDEO_ISX012=y
|
||||||
CONFIG_VIDEO_STREAM=y
|
CONFIG_VIDEO_STREAM=y
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 752c4cd56dd0a270a559c28272ceb61ddcb7806c
|
Subproject commit 2ec2a1538362696118dc3fdf56f33dacaf8f4067
|
@ -30,10 +30,10 @@
|
|||||||
|
|
||||||
/* Prototypes for Remote API */
|
/* Prototypes for Remote API */
|
||||||
|
|
||||||
int FM_RawWrite(uint32_t offset, const void *buf, uint32_t size);
|
int fw_fm_rawwrite(uint32_t offset, const void *buf, uint32_t size);
|
||||||
int FM_RawVerifyWrite(uint32_t offset, const void *buf, uint32_t size);
|
int fw_fm_rawverifywrite(uint32_t offset, const void *buf, uint32_t size);
|
||||||
int FM_RawRead(uint32_t offset, void *buf, uint32_t size);
|
int fw_fm_rawread(uint32_t offset, void *buf, uint32_t size);
|
||||||
int FM_RawEraseSector(uint32_t sector);
|
int fw_fm_rawerasesector(uint32_t sector);
|
||||||
|
|
||||||
#define CXD56_SPIFLASHSIZE (16 * 1024 * 1024)
|
#define CXD56_SPIFLASHSIZE (16 * 1024 * 1024)
|
||||||
|
|
||||||
@ -64,8 +64,8 @@ void port_internal_flash_flush(void) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
FM_RawEraseSector(flash_sector);
|
fw_fm_rawerasesector(flash_sector);
|
||||||
FM_RawWrite(flash_sector << SECTOR_SHIFT, flash_cache, SECTOR_SIZE);
|
fw_fm_rawwrite(flash_sector << SECTOR_SHIFT, flash_cache, SECTOR_SIZE);
|
||||||
|
|
||||||
flash_sector = NO_SECTOR;
|
flash_sector = NO_SECTOR;
|
||||||
}
|
}
|
||||||
@ -73,7 +73,7 @@ void port_internal_flash_flush(void) {
|
|||||||
mp_uint_t supervisor_flash_read_blocks(uint8_t *dest, uint32_t block, uint32_t num_blocks) {
|
mp_uint_t supervisor_flash_read_blocks(uint8_t *dest, uint32_t block, uint32_t num_blocks) {
|
||||||
supervisor_flash_flush();
|
supervisor_flash_flush();
|
||||||
|
|
||||||
if (FM_RawRead(block << PAGE_SHIFT, dest, num_blocks << PAGE_SHIFT) < 0) {
|
if (fw_fm_rawread(block << PAGE_SHIFT, dest, num_blocks << PAGE_SHIFT) < 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ mp_uint_t supervisor_flash_write_blocks(const uint8_t *src, uint32_t lba, uint32
|
|||||||
if (sector != flash_sector) {
|
if (sector != flash_sector) {
|
||||||
supervisor_flash_flush();
|
supervisor_flash_flush();
|
||||||
|
|
||||||
if (FM_RawRead(sector << SECTOR_SHIFT, flash_cache, SECTOR_SIZE) < 0) {
|
if (fw_fm_rawread(sector << SECTOR_SHIFT, flash_cache, SECTOR_SIZE) < 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
52
ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/board.c
Normal file
52
ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/board.c
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the MicroPython project, http://micropython.org/
|
||||||
|
*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "supervisor/board.h"
|
||||||
|
#include "mpconfigboard.h"
|
||||||
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
|
void board_init(void) {
|
||||||
|
// USB
|
||||||
|
common_hal_never_reset_pin(&pin_GPIO19);
|
||||||
|
common_hal_never_reset_pin(&pin_GPIO20);
|
||||||
|
|
||||||
|
// Debug UART
|
||||||
|
#ifdef DEBUG
|
||||||
|
common_hal_never_reset_pin(&pin_GPIO43);
|
||||||
|
common_hal_never_reset_pin(&pin_GPIO44);
|
||||||
|
#endif /* DEBUG */
|
||||||
|
}
|
||||||
|
|
||||||
|
bool board_requests_safe_mode(void) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void reset_board(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void board_deinit(void) {
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* 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 "LILYGO TTGO T8 ESP32-S2 w/Display"
|
||||||
|
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||||
|
|
||||||
|
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||||
|
|
||||||
|
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||||
|
|
||||||
|
#define AUTORESET_DELAY_MS 500
|
@ -0,0 +1,18 @@
|
|||||||
|
USB_VID = 0x303a
|
||||||
|
USB_PID = 0x8007
|
||||||
|
USB_PRODUCT = "TTGO T8 ESP32-S2"
|
||||||
|
USB_MANUFACTURER = "LILYGO"
|
||||||
|
USB_DEVICES = "CDC,MSC,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
|
||||||
|
|
||||||
|
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||||
|
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||||
|
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||||
|
|
||||||
|
CIRCUITPY_MODULE = wroom
|
55
ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/pins.c
Normal file
55
ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/pins.c
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
#include "shared-bindings/board/__init__.h"
|
||||||
|
|
||||||
|
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
|
||||||
|
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_GPIO17) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_GPIO18) },
|
||||||
|
|
||||||
|
// SD Card
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_SD_MISO), MP_ROM_PTR(&pin_GPIO13) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_SD_MOSI), MP_ROM_PTR(&pin_GPIO11) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_SD_CLK), MP_ROM_PTR(&pin_GPIO12) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_GPIO10) },
|
||||||
|
|
||||||
|
// 1.14 inch LCD ST7789
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_LCD_MISO), MP_ROM_PTR(&pin_GPIO4) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_LCD_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_LCD_CLK), MP_ROM_PTR(&pin_GPIO36) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO34) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO38) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_LCD_BCKL), MP_ROM_PTR(&pin_GPIO33) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO37) },
|
||||||
|
|
||||||
|
// Peripheral Power control
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_PE_POWER), MP_ROM_PTR(&pin_GPIO14) },
|
||||||
|
};
|
||||||
|
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
31
ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/sdkconfig
Normal file
31
ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/sdkconfig
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# SPI RAM config
|
||||||
|
#
|
||||||
|
CONFIG_SPIRAM_TYPE_ESPPSRAM64=y
|
||||||
|
CONFIG_SPIRAM_SIZE=8388608
|
||||||
|
|
||||||
|
#
|
||||||
|
# PSRAM clock and cs IO for ESP32S2
|
||||||
|
#
|
||||||
|
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||||
|
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||||
|
# end of PSRAM clock and cs IO for ESP32S2
|
||||||
|
|
||||||
|
CONFIG_SPIRAM_SPIWP_SD3_PIN=28
|
||||||
|
CONFIG_SPIRAM_SPEED_40M=y
|
||||||
|
CONFIG_SPIRAM=y
|
||||||
|
CONFIG_SPIRAM_BOOT_INIT=y
|
||||||
|
CONFIG_SPIRAM_USE_MALLOC=y
|
||||||
|
CONFIG_SPIRAM_MEMTEST=y
|
||||||
|
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
|
||||||
|
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
|
||||||
|
# end of SPI RAM config
|
||||||
|
|
||||||
|
#
|
||||||
|
# LWIP
|
||||||
|
#
|
||||||
|
CONFIG_LWIP_LOCAL_HOSTNAME="TTGO-T8-ESP32-S2"
|
||||||
|
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
|
||||||
|
# end of LWIP
|
@ -33,35 +33,196 @@
|
|||||||
#include "shared-bindings/digitalio/DigitalInOut.h"
|
#include "shared-bindings/digitalio/DigitalInOut.h"
|
||||||
#include "shared-bindings/microcontroller/__init__.h"
|
#include "shared-bindings/microcontroller/__init__.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Current pin limitations for ESP32-S2 ParallelBus:
|
||||||
|
* - data0 pin must be byte aligned
|
||||||
|
*/
|
||||||
|
|
||||||
void common_hal_displayio_parallelbus_construct(displayio_parallelbus_obj_t* self,
|
void common_hal_displayio_parallelbus_construct(displayio_parallelbus_obj_t* self,
|
||||||
const mcu_pin_obj_t* data0, const mcu_pin_obj_t* command, const mcu_pin_obj_t* chip_select,
|
const mcu_pin_obj_t* data0, const mcu_pin_obj_t* command, const mcu_pin_obj_t* chip_select,
|
||||||
const mcu_pin_obj_t* write, const mcu_pin_obj_t* read, const mcu_pin_obj_t* reset) {
|
const mcu_pin_obj_t* write, const mcu_pin_obj_t* read, const mcu_pin_obj_t* reset) {
|
||||||
|
|
||||||
mp_raise_NotImplementedError(translate("ParallelBus not yet supported"));
|
uint8_t data_pin = data0->number;
|
||||||
|
if (data_pin % 8 != 0) {
|
||||||
|
mp_raise_ValueError(translate("Data 0 pin must be byte aligned."));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (uint8_t i = 0; i < 8; i++) {
|
||||||
|
if (!pin_number_is_free(data_pin + i)) {
|
||||||
|
mp_raise_ValueError_varg(translate("Bus pin %d is already in use"), i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gpio_dev_t *g = &GPIO; // this is the GPIO registers, see "extern gpio_dev_t GPIO" from file:gpio_struct.h
|
||||||
|
|
||||||
|
// Setup the pins as "Simple GPIO outputs" see section 19.3.3 of the ESP32-S2 Reference Manual
|
||||||
|
// Enable pins with "enable_w1ts"
|
||||||
|
|
||||||
|
for (uint8_t i = 0; i < 8; i++) {
|
||||||
|
g->enable_w1ts = (0x1 << (data_pin + i));
|
||||||
|
g->func_out_sel_cfg[data_pin + i].val= 256; /* setup output pin for simple GPIO Output, (0x100 = 256) */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* From my understanding, there is a limitation of the ESP32-S2 that does not allow single-byte writes
|
||||||
|
* into the GPIO registers. See section 10.3.3 regarding "non-aligned writes" into the registers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
if (data_pin < 31) {
|
||||||
|
self->bus = (uint32_t*) &g->out; //pointer to GPIO output register (for pins 0-31)
|
||||||
|
} else {
|
||||||
|
self->bus = (uint32_t*) &g->out1.val; //pointer to GPIO output register (for pins >= 32)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* SNIP - common setup of command, chip select, write and read pins, same as from SAMD and NRF ports */
|
||||||
|
self->command.base.type = &digitalio_digitalinout_type;
|
||||||
|
common_hal_digitalio_digitalinout_construct(&self->command, command);
|
||||||
|
common_hal_digitalio_digitalinout_switch_to_output(&self->command, true, DRIVE_MODE_PUSH_PULL);
|
||||||
|
|
||||||
|
self->chip_select.base.type = &digitalio_digitalinout_type;
|
||||||
|
common_hal_digitalio_digitalinout_construct(&self->chip_select, chip_select);
|
||||||
|
common_hal_digitalio_digitalinout_switch_to_output(&self->chip_select, true, DRIVE_MODE_PUSH_PULL);
|
||||||
|
|
||||||
|
self->write.base.type = &digitalio_digitalinout_type;
|
||||||
|
common_hal_digitalio_digitalinout_construct(&self->write, write);
|
||||||
|
common_hal_digitalio_digitalinout_switch_to_output(&self->write, true, DRIVE_MODE_PUSH_PULL);
|
||||||
|
|
||||||
|
self->read.base.type = &digitalio_digitalinout_type;
|
||||||
|
common_hal_digitalio_digitalinout_construct(&self->read, read);
|
||||||
|
common_hal_digitalio_digitalinout_switch_to_output(&self->read, true, DRIVE_MODE_PUSH_PULL);
|
||||||
|
|
||||||
|
self->data0_pin = data_pin;
|
||||||
|
|
||||||
|
if (write->number < 32) {
|
||||||
|
self->write_clear_register = (uint32_t*) &g->out_w1tc;
|
||||||
|
self->write_set_register = (uint32_t*) &g->out_w1ts;
|
||||||
|
} else {
|
||||||
|
self->write_clear_register = (uint32_t*) &g->out1_w1tc.val;
|
||||||
|
self->write_set_register = (uint32_t*) &g->out1_w1ts.val;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check to see if the data and write pins are on the same register:
|
||||||
|
if ( ( ((self->data0_pin < 32) && (write->number < 32)) ) ||
|
||||||
|
( ((self->data0_pin > 31) && (write->number > 31)) ) ) {
|
||||||
|
self->data_write_same_register = true; // data pins and write pin are on the same register
|
||||||
|
} else {
|
||||||
|
self->data_write_same_register = false; // data pins and write pins are on different registers
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
self->write_mask = 1 << (write->number % 32); /* the write pin triggers the LCD to latch the data */
|
||||||
|
|
||||||
|
/* SNIP - common setup of the reset pin, same as from SAMD and NRF ports */
|
||||||
|
self->reset.base.type = &mp_type_NoneType;
|
||||||
|
if (reset != NULL) {
|
||||||
|
self->reset.base.type = &digitalio_digitalinout_type;
|
||||||
|
common_hal_digitalio_digitalinout_construct(&self->reset, reset);
|
||||||
|
common_hal_digitalio_digitalinout_switch_to_output(&self->reset, true, DRIVE_MODE_PUSH_PULL);
|
||||||
|
never_reset_pin_number(reset->number);
|
||||||
|
common_hal_displayio_parallelbus_reset(self);
|
||||||
|
}
|
||||||
|
|
||||||
|
never_reset_pin_number(command->number);
|
||||||
|
never_reset_pin_number(chip_select->number);
|
||||||
|
never_reset_pin_number(write->number);
|
||||||
|
never_reset_pin_number(read->number);
|
||||||
|
for (uint8_t i = 0; i < 8; i++) {
|
||||||
|
never_reset_pin_number(data_pin + i);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void common_hal_displayio_parallelbus_deinit(displayio_parallelbus_obj_t* self) {
|
void common_hal_displayio_parallelbus_deinit(displayio_parallelbus_obj_t* self) {
|
||||||
|
/* SNIP - same as from SAMD and NRF ports */
|
||||||
|
for (uint8_t i = 0; i < 8; i++) {
|
||||||
|
reset_pin_number(self->data0_pin + i);
|
||||||
|
}
|
||||||
|
|
||||||
|
reset_pin_number(self->command.pin->number);
|
||||||
|
reset_pin_number(self->chip_select.pin->number);
|
||||||
|
reset_pin_number(self->write.pin->number);
|
||||||
|
reset_pin_number(self->read.pin->number);
|
||||||
|
reset_pin_number(self->reset.pin->number);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool common_hal_displayio_parallelbus_reset(mp_obj_t obj) {
|
bool common_hal_displayio_parallelbus_reset(mp_obj_t obj) {
|
||||||
return false;
|
/* SNIP - same as from SAMD and NRF ports */
|
||||||
|
displayio_parallelbus_obj_t* self = MP_OBJ_TO_PTR(obj);
|
||||||
|
if (self->reset.base.type == &mp_type_NoneType) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
common_hal_digitalio_digitalinout_set_value(&self->reset, false);
|
||||||
|
common_hal_mcu_delay_us(4);
|
||||||
|
common_hal_digitalio_digitalinout_set_value(&self->reset, true);
|
||||||
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool common_hal_displayio_parallelbus_bus_free(mp_obj_t obj) {
|
bool common_hal_displayio_parallelbus_bus_free(mp_obj_t obj) {
|
||||||
return false;
|
/* SNIP - same as from SAMD and NRF ports */
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool common_hal_displayio_parallelbus_begin_transaction(mp_obj_t obj) {
|
bool common_hal_displayio_parallelbus_begin_transaction(mp_obj_t obj) {
|
||||||
|
/* SNIP - same as from SAMD and NRF ports */
|
||||||
return false;
|
displayio_parallelbus_obj_t* self = MP_OBJ_TO_PTR(obj);
|
||||||
|
common_hal_digitalio_digitalinout_set_value(&self->chip_select, false);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void common_hal_displayio_parallelbus_send(mp_obj_t obj, display_byte_type_t byte_type,
|
void common_hal_displayio_parallelbus_send(mp_obj_t obj, display_byte_type_t byte_type,
|
||||||
display_chip_select_behavior_t chip_select, const uint8_t *data, uint32_t data_length) {
|
display_chip_select_behavior_t chip_select, const uint8_t *data, uint32_t data_length) {
|
||||||
|
displayio_parallelbus_obj_t* self = MP_OBJ_TO_PTR(obj);
|
||||||
|
common_hal_digitalio_digitalinout_set_value(&self->command, byte_type == DISPLAY_DATA);
|
||||||
|
|
||||||
|
uint32_t* clear_write = self->write_clear_register;
|
||||||
|
uint32_t* set_write = self->write_set_register;
|
||||||
|
|
||||||
|
const uint32_t mask = self->write_mask;
|
||||||
|
|
||||||
|
/* Setup structures for data writing. The ESP32-S2 port differs from the SAMD and NRF ports
|
||||||
|
* because I have not found a way to write a single byte into the ESP32-S2 registers.
|
||||||
|
* For the ESP32-S2, I create a 32-bit data_buffer that is used to transfer the data bytes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
*clear_write = mask; // Clear the write pin to prepare the registers before storing the
|
||||||
|
// register value into data_buffer
|
||||||
|
|
||||||
|
const uint32_t data_buffer = *self->bus; // store the initial output register values into the data output buffer
|
||||||
|
uint8_t* data_address = ((uint8_t*) &data_buffer) + (self->data0_pin / 8); /* address inside data_buffer where
|
||||||
|
* each data byte will be written to the data pin registers
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
if ( self->data_write_same_register ) { // data and write pins are on the same register
|
||||||
|
for (uint32_t i = 0; i < data_length; i++) {
|
||||||
|
|
||||||
|
/* Note: If the write pin and data pins are controlled by the same GPIO register, we can eliminate
|
||||||
|
* the "clear_write" step below, since the write pin is cleared when the data_buffer is written
|
||||||
|
* to the bus.
|
||||||
|
*/
|
||||||
|
|
||||||
|
*(data_address) = data[i]; // stuff the data byte into the data_buffer at the correct offset byte location
|
||||||
|
*self->bus = data_buffer; // write the data to the output register
|
||||||
|
*set_write = mask; // set the write pin
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else { // data and write pins are on different registers
|
||||||
|
for (uint32_t i = 0; i < data_length; i++) {
|
||||||
|
*clear_write = mask; // clear the write pin (See comment above, this may not be necessary).
|
||||||
|
*(data_address) = data[i]; // stuff the data byte into the data_buffer at the correct offset byte location
|
||||||
|
*self->bus = data_buffer; // write the data to the output register
|
||||||
|
*set_write = mask; // set the write pin
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void common_hal_displayio_parallelbus_end_transaction(mp_obj_t obj) {
|
void common_hal_displayio_parallelbus_end_transaction(mp_obj_t obj) {
|
||||||
|
/* SNIP - same as from SAMD and NRF ports */
|
||||||
|
displayio_parallelbus_obj_t* self = MP_OBJ_TO_PTR(obj);
|
||||||
|
common_hal_digitalio_digitalinout_set_value(&self->chip_select, true);
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,17 @@
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mp_obj_base_t base;
|
mp_obj_base_t base;
|
||||||
|
uint32_t* bus; // pointer where 8 bits of data are written to the display
|
||||||
|
digitalio_digitalinout_obj_t command;
|
||||||
|
digitalio_digitalinout_obj_t chip_select;
|
||||||
|
digitalio_digitalinout_obj_t reset;
|
||||||
|
digitalio_digitalinout_obj_t write;
|
||||||
|
digitalio_digitalinout_obj_t read;
|
||||||
|
uint8_t data0_pin; // pin number for the lowest number data pin. Must be 8-bit aligned
|
||||||
|
bool data_write_same_register; // if data and write pins are in the sare
|
||||||
|
uint32_t* write_set_register; // pointer to the write group for setting the write bit to latch the data on the LCD
|
||||||
|
uint32_t* write_clear_register; // pointer to the write group for clearing the write bit to latch the data on the LCD
|
||||||
|
uint32_t write_mask; // bit mask for the single bit for the write pin register
|
||||||
} displayio_parallelbus_obj_t;
|
} displayio_parallelbus_obj_t;
|
||||||
|
|
||||||
#endif // MICROPY_INCLUDED_ESP32S2_COMMON_HAL_DISPLAYIO_PARALLELBUS_H
|
#endif // MICROPY_INCLUDED_ESP32S2_COMMON_HAL_DISPLAYIO_PARALLELBUS_H
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
|
|
||||||
#define MICROPY_NLR_THUMB (0)
|
#define MICROPY_NLR_THUMB (0)
|
||||||
|
|
||||||
#define MICROPY_PY_UJSON (1)
|
|
||||||
#define MICROPY_USE_INTERNAL_PRINTF (0)
|
#define MICROPY_USE_INTERNAL_PRINTF (0)
|
||||||
#define MICROPY_PY_SYS_PLATFORM "Espressif ESP32-S2"
|
#define MICROPY_PY_SYS_PLATFORM "Espressif ESP32-S2"
|
||||||
|
|
||||||
|
@ -31,8 +31,6 @@
|
|||||||
#define CIRCUITPY_INTERNAL_NVM_SIZE (0)
|
#define CIRCUITPY_INTERNAL_NVM_SIZE (0)
|
||||||
#define MICROPY_NLR_THUMB (0)
|
#define MICROPY_NLR_THUMB (0)
|
||||||
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)
|
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)
|
||||||
#define MICROPY_PY_UBINASCII (1)
|
|
||||||
#define MICROPY_PY_UJSON (1)
|
|
||||||
|
|
||||||
#include "py/circuitpy_mpconfig.h"
|
#include "py/circuitpy_mpconfig.h"
|
||||||
|
|
||||||
|
@ -41,8 +41,6 @@ extern uint8_t _ld_default_stack_size;
|
|||||||
#define CIRCUITPY_DEFAULT_STACK_SIZE ((uint32_t) &_ld_default_stack_size)
|
#define CIRCUITPY_DEFAULT_STACK_SIZE ((uint32_t) &_ld_default_stack_size)
|
||||||
#define MICROPY_PY_BUILTINS_NOTIMPLEMENTED (0)
|
#define MICROPY_PY_BUILTINS_NOTIMPLEMENTED (0)
|
||||||
#define MICROPY_PY_FUNCTION_ATTRS (0)
|
#define MICROPY_PY_FUNCTION_ATTRS (0)
|
||||||
#define MICROPY_PY_IO (1)
|
|
||||||
#define MICROPY_PY_UJSON (1)
|
|
||||||
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)
|
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ CIRCUITPY_RTC = 1
|
|||||||
CIRCUITPY_SDCARDIO = 0
|
CIRCUITPY_SDCARDIO = 0
|
||||||
CIRCUITPY_TOUCHIO = 0
|
CIRCUITPY_TOUCHIO = 0
|
||||||
CIRCUITPY_ULAB = 0
|
CIRCUITPY_ULAB = 0
|
||||||
|
CIRCUITPY_BUSDEVICE = 0
|
||||||
MICROPY_PY_ASYNC_AWAIT = 0
|
MICROPY_PY_ASYNC_AWAIT = 0
|
||||||
|
|
||||||
SUPEROPT_GC = 0
|
SUPEROPT_GC = 0
|
||||||
|
@ -13,11 +13,13 @@ INTERNAL_FLASH_FILESYSTEM = 1
|
|||||||
|
|
||||||
CIRCUITPY_AESIO = 1
|
CIRCUITPY_AESIO = 1
|
||||||
CIRCUITPY_AUDIOMP3 = 0
|
CIRCUITPY_AUDIOMP3 = 0
|
||||||
|
CIRCUITPY_BUSDEVICE = 0
|
||||||
CIRCUITPY_BUSIO = 1
|
CIRCUITPY_BUSIO = 1
|
||||||
CIRCUITPY_DISPLAYIO = 0
|
CIRCUITPY_DISPLAYIO = 0
|
||||||
|
CIRCUITPY_ERRNO = 0
|
||||||
CIRCUITPY_FRAMEBUFFERIO = 0
|
CIRCUITPY_FRAMEBUFFERIO = 0
|
||||||
CIRCUITPY_MSGPACK = 0
|
|
||||||
CIRCUITPY_GAMEPAD = 0
|
CIRCUITPY_GAMEPAD = 0
|
||||||
|
CIRCUITPY_MSGPACK = 0
|
||||||
CIRCUITPY_NEOPIXEL_WRITE = 0
|
CIRCUITPY_NEOPIXEL_WRITE = 0
|
||||||
CIRCUITPY_NVM = 0
|
CIRCUITPY_NVM = 0
|
||||||
CIRCUITPY_PIXELBUF = 0
|
CIRCUITPY_PIXELBUF = 0
|
||||||
@ -28,7 +30,6 @@ CIRCUITPY_SDCARDIO = 0
|
|||||||
CIRCUITPY_TOUCHIO = 0
|
CIRCUITPY_TOUCHIO = 0
|
||||||
CIRCUITPY_ULAB = 0
|
CIRCUITPY_ULAB = 0
|
||||||
CIRCUITPY_WATCHDOG = 1
|
CIRCUITPY_WATCHDOG = 1
|
||||||
CIRCUITPY_BUSDEVICE = 0
|
|
||||||
|
|
||||||
# Enable micropython.native
|
# Enable micropython.native
|
||||||
#CIRCUITPY_ENABLE_MPY_NATIVE = 1
|
#CIRCUITPY_ENABLE_MPY_NATIVE = 1
|
||||||
|
@ -35,11 +35,8 @@
|
|||||||
#include "peripherals/nrf/nvm.h" // for FLASH_PAGE_SIZE
|
#include "peripherals/nrf/nvm.h" // for FLASH_PAGE_SIZE
|
||||||
|
|
||||||
#define MICROPY_PY_FUNCTION_ATTRS (1)
|
#define MICROPY_PY_FUNCTION_ATTRS (1)
|
||||||
#define MICROPY_PY_IO (1)
|
|
||||||
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)
|
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)
|
||||||
#define MICROPY_PY_SYS_STDIO_BUFFER (1)
|
#define MICROPY_PY_SYS_STDIO_BUFFER (1)
|
||||||
#define MICROPY_PY_UBINASCII (1)
|
|
||||||
#define MICROPY_PY_UJSON (1)
|
|
||||||
|
|
||||||
// 24kiB stack
|
// 24kiB stack
|
||||||
#define CIRCUITPY_DEFAULT_STACK_SIZE (24*1024)
|
#define CIRCUITPY_DEFAULT_STACK_SIZE (24*1024)
|
||||||
|
@ -7,3 +7,5 @@ CHIP_VARIANT = RP2040
|
|||||||
CHIP_FAMILY = rp2
|
CHIP_FAMILY = rp2
|
||||||
|
|
||||||
INTERNAL_FLASH_FILESYSTEM = 1
|
INTERNAL_FLASH_FILESYSTEM = 1
|
||||||
|
|
||||||
|
CIRCUITPY__EVE = 1
|
||||||
|
@ -16,6 +16,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
|||||||
{ MP_ROM_QSTR(MP_QSTR_GP12), MP_ROM_PTR(&pin_GPIO12) },
|
{ MP_ROM_QSTR(MP_QSTR_GP12), MP_ROM_PTR(&pin_GPIO12) },
|
||||||
{ MP_ROM_QSTR(MP_QSTR_GP13), MP_ROM_PTR(&pin_GPIO13) },
|
{ MP_ROM_QSTR(MP_QSTR_GP13), MP_ROM_PTR(&pin_GPIO13) },
|
||||||
{ MP_ROM_QSTR(MP_QSTR_GP14), MP_ROM_PTR(&pin_GPIO14) },
|
{ MP_ROM_QSTR(MP_QSTR_GP14), MP_ROM_PTR(&pin_GPIO14) },
|
||||||
|
{ MP_ROM_QSTR(MP_QSTR_GP15), MP_ROM_PTR(&pin_GPIO15) },
|
||||||
{ MP_ROM_QSTR(MP_QSTR_GP16), MP_ROM_PTR(&pin_GPIO16) },
|
{ MP_ROM_QSTR(MP_QSTR_GP16), MP_ROM_PTR(&pin_GPIO16) },
|
||||||
{ MP_ROM_QSTR(MP_QSTR_GP17), MP_ROM_PTR(&pin_GPIO17) },
|
{ MP_ROM_QSTR(MP_QSTR_GP17), MP_ROM_PTR(&pin_GPIO17) },
|
||||||
{ MP_ROM_QSTR(MP_QSTR_GP18), MP_ROM_PTR(&pin_GPIO18) },
|
{ MP_ROM_QSTR(MP_QSTR_GP18), MP_ROM_PTR(&pin_GPIO18) },
|
||||||
|
@ -54,6 +54,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
|
|||||||
uint32_t baudrate, uint8_t bits, busio_uart_parity_t parity, uint8_t stop,
|
uint32_t baudrate, uint8_t bits, busio_uart_parity_t parity, uint8_t stop,
|
||||||
mp_float_t timeout, uint16_t receiver_buffer_size, byte* receiver_buffer,
|
mp_float_t timeout, uint16_t receiver_buffer_size, byte* receiver_buffer,
|
||||||
bool sigint_enabled) {
|
bool sigint_enabled) {
|
||||||
|
mp_raise_NotImplementedError(translate("UART not yet supported"));
|
||||||
|
|
||||||
// Sercom* sercom = NULL;
|
// Sercom* sercom = NULL;
|
||||||
// uint8_t sercom_index = 255; // Unset index
|
// uint8_t sercom_index = 255; // Unset index
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include "py/runtime.h"
|
#include "py/runtime.h"
|
||||||
|
|
||||||
|
#include "common-hal/microcontroller/__init__.h"
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
#include "supervisor/shared/rgb_led_status.h"
|
#include "supervisor/shared/rgb_led_status.h"
|
||||||
@ -46,7 +47,7 @@ bool speaker_enable_in_use;
|
|||||||
STATIC uint32_t never_reset_pins;
|
STATIC uint32_t never_reset_pins;
|
||||||
|
|
||||||
void reset_all_pins(void) {
|
void reset_all_pins(void) {
|
||||||
for (size_t i = 0; i < 30; i++) {
|
for (size_t i = 0; i < TOTAL_GPIO_COUNT; i++) {
|
||||||
if ((never_reset_pins & (1 << i)) != 0) {
|
if ((never_reset_pins & (1 << i)) != 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -55,7 +56,7 @@ void reset_all_pins(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void never_reset_pin_number(uint8_t pin_number) {
|
void never_reset_pin_number(uint8_t pin_number) {
|
||||||
if (pin_number >= 32) {
|
if (pin_number >= TOTAL_GPIO_COUNT) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,12 +64,7 @@ void never_reset_pin_number(uint8_t pin_number) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void reset_pin_number(uint8_t pin_number) {
|
void reset_pin_number(uint8_t pin_number) {
|
||||||
if (pin_number >= 32
|
if (pin_number >= TOTAL_GPIO_COUNT) {
|
||||||
#if TUD_OPT_RP2040_USB_DEVICE_ENUMERATION_FIX
|
|
||||||
// Pin 15 is used for Errata so we don't mess with it.
|
|
||||||
|| pin_number == 15
|
|
||||||
#endif
|
|
||||||
) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,15 +135,10 @@ void claim_pin(const mcu_pin_obj_t* pin) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool pin_number_is_free(uint8_t pin_number) {
|
bool pin_number_is_free(uint8_t pin_number) {
|
||||||
if (pin_number >= 30) {
|
if (pin_number >= TOTAL_GPIO_COUNT) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#if TUD_OPT_RP2040_USB_DEVICE_ENUMERATION_FIX
|
|
||||||
// Pin 15 is used for Errata so we don't mess with it.
|
|
||||||
if (pin_number == 15) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
uint32_t pad_state = padsbank0_hw->io[pin_number];
|
uint32_t pad_state = padsbank0_hw->io[pin_number];
|
||||||
return (pad_state & PADS_BANK0_GPIO0_IE_BITS) == 0 &&
|
return (pad_state & PADS_BANK0_GPIO0_IE_BITS) == 0 &&
|
||||||
(pad_state & PADS_BANK0_GPIO0_OD_BITS) != 0;
|
(pad_state & PADS_BANK0_GPIO0_OD_BITS) != 0;
|
||||||
|
@ -112,6 +112,17 @@ const nvm_bytearray_obj_t common_hal_mcu_nvm_obj = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CIRCUITPY_WATCHDOG
|
||||||
|
// The singleton watchdog.WatchDogTimer object.
|
||||||
|
watchdog_watchdogtimer_obj_t common_hal_mcu_watchdogtimer_obj = {
|
||||||
|
.base = {
|
||||||
|
.type = &watchdog_watchdogtimer_type,
|
||||||
|
},
|
||||||
|
.timeout = 0.0f,
|
||||||
|
.mode = WATCHDOGMODE_NONE,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
// This maps MCU pin names to pin objects.
|
// This maps MCU pin names to pin objects.
|
||||||
const mp_rom_map_elem_t mcu_pin_global_dict_table[TOTAL_GPIO_COUNT] = {
|
const mp_rom_map_elem_t mcu_pin_global_dict_table[TOTAL_GPIO_COUNT] = {
|
||||||
{ MP_ROM_QSTR(MP_QSTR_GPIO0), MP_ROM_PTR(&pin_GPIO0) },
|
{ MP_ROM_QSTR(MP_QSTR_GPIO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||||
|
1
ports/raspberrypi/common-hal/watchdog/WatchDogMode.c
Normal file
1
ports/raspberrypi/common-hal/watchdog/WatchDogMode.c
Normal file
@ -0,0 +1 @@
|
|||||||
|
// No watchdog module functions.
|
83
ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
Normal file
83
ports/raspberrypi/common-hal/watchdog/WatchDogTimer.c
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the MicroPython project, http://micropython.org/
|
||||||
|
*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 microDev
|
||||||
|
*
|
||||||
|
* 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 "common-hal/watchdog/WatchDogTimer.h"
|
||||||
|
|
||||||
|
#include "shared-bindings/watchdog/__init__.h"
|
||||||
|
#include "shared-bindings/microcontroller/__init__.h"
|
||||||
|
|
||||||
|
#include "src/rp2_common/hardware_watchdog/include/hardware/watchdog.h"
|
||||||
|
|
||||||
|
void common_hal_watchdog_feed(watchdog_watchdogtimer_obj_t *self) {
|
||||||
|
watchdog_update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void common_hal_watchdog_deinit(watchdog_watchdogtimer_obj_t *self) {
|
||||||
|
if (self->mode == WATCHDOGMODE_RESET) {
|
||||||
|
mp_raise_RuntimeError(translate("WatchDogTimer cannot be deinitialized once mode is set to RESET"));
|
||||||
|
} else {
|
||||||
|
self->mode = WATCHDOGMODE_NONE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
void watchdog_reset(void) {
|
||||||
|
common_hal_watchdog_deinit(&common_hal_mcu_watchdogtimer_obj);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
mp_float_t common_hal_watchdog_get_timeout(watchdog_watchdogtimer_obj_t *self) {
|
||||||
|
return self->timeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
void common_hal_watchdog_set_timeout(watchdog_watchdogtimer_obj_t *self, mp_float_t new_timeout) {
|
||||||
|
// max timeout is 8.388607 sec
|
||||||
|
// this is rounded down to 8.388 sec
|
||||||
|
uint64_t timeout = new_timeout * 1000;
|
||||||
|
if (timeout > 8388) {
|
||||||
|
mp_raise_ValueError(translate("timeout duration exceeded the maximum supported value"));
|
||||||
|
}
|
||||||
|
if ((uint16_t)self->timeout != timeout) {
|
||||||
|
watchdog_enable(timeout, false);
|
||||||
|
self->timeout = new_timeout;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
watchdog_watchdogmode_t common_hal_watchdog_get_mode(watchdog_watchdogtimer_obj_t *self) {
|
||||||
|
return self->mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void common_hal_watchdog_set_mode(watchdog_watchdogtimer_obj_t *self, watchdog_watchdogmode_t new_mode) {
|
||||||
|
if (self->mode != new_mode) {
|
||||||
|
if (new_mode == WATCHDOGMODE_RAISE) {
|
||||||
|
mp_raise_NotImplementedError(translate("RAISE mode is not implemented"));
|
||||||
|
} else if (new_mode == WATCHDOGMODE_NONE) {
|
||||||
|
common_hal_watchdog_deinit(self);
|
||||||
|
}
|
||||||
|
self->mode = new_mode;
|
||||||
|
}
|
||||||
|
}
|
43
ports/raspberrypi/common-hal/watchdog/WatchDogTimer.h
Normal file
43
ports/raspberrypi/common-hal/watchdog/WatchDogTimer.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the MicroPython project, http://micropython.org/
|
||||||
|
*
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 microDev
|
||||||
|
*
|
||||||
|
* 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_RASPBERRYPI_COMMON_HAL_WATCHDOG_WATCHDOGTIMER_H
|
||||||
|
#define MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_WATCHDOG_WATCHDOGTIMER_H
|
||||||
|
|
||||||
|
#include "py/obj.h"
|
||||||
|
#include "shared-bindings/watchdog/WatchDogMode.h"
|
||||||
|
#include "shared-bindings/watchdog/WatchDogTimer.h"
|
||||||
|
|
||||||
|
struct _watchdog_watchdogtimer_obj_t {
|
||||||
|
mp_obj_base_t base;
|
||||||
|
mp_float_t timeout;
|
||||||
|
watchdog_watchdogmode_t mode;
|
||||||
|
};
|
||||||
|
|
||||||
|
// This needs to be called in order to disable the watchdog
|
||||||
|
// void watchdog_reset(void);
|
||||||
|
|
||||||
|
#endif // MICROPY_INCLUDED_RASPBERRYPI_COMMON_HAL_WATCHDOG_WATCHDOGTIMER_H
|
1
ports/raspberrypi/common-hal/watchdog/__init__.c
Normal file
1
ports/raspberrypi/common-hal/watchdog/__init__.c
Normal file
@ -0,0 +1 @@
|
|||||||
|
// No watchdog module functions.
|
@ -27,7 +27,7 @@
|
|||||||
#ifndef __INCLUDED_MPCONFIGPORT_H
|
#ifndef __INCLUDED_MPCONFIGPORT_H
|
||||||
#define __INCLUDED_MPCONFIGPORT_H
|
#define __INCLUDED_MPCONFIGPORT_H
|
||||||
|
|
||||||
#define MICROPY_PY_UJSON (1)
|
#define MICROPY_PY_SYS_PLATFORM "RP2040"
|
||||||
|
|
||||||
#define CIRCUITPY_INTERNAL_NVM_SIZE 0
|
#define CIRCUITPY_INTERNAL_NVM_SIZE 0
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ CIRCUITPY_NVM = 0
|
|||||||
CIRCUITPY_PULSEIO = 0 # Use PIO interally
|
CIRCUITPY_PULSEIO = 0 # Use PIO interally
|
||||||
CIRCUITPY_ROTARYIO = 0 # Use PIO interally
|
CIRCUITPY_ROTARYIO = 0 # Use PIO interally
|
||||||
CIRCUITPY_RTC = 0
|
CIRCUITPY_RTC = 0
|
||||||
|
CIRCUITPY_WATCHDOG = 1
|
||||||
|
|
||||||
# Things that are unsupported by the hardware.
|
# Things that are unsupported by the hardware.
|
||||||
CIRCUITPY_AUDIOIO = 0
|
CIRCUITPY_AUDIOIO = 0
|
||||||
|
@ -20,5 +20,6 @@ LD_FILE = boards/STM32F401xd_fs.ld
|
|||||||
# lto for this port, and if other stuff hasn't been added in the
|
# lto for this port, and if other stuff hasn't been added in the
|
||||||
# meantime
|
# meantime
|
||||||
CIRCUITPY_ULAB = 0
|
CIRCUITPY_ULAB = 0
|
||||||
|
CIRCUITPY_BUSDEVICE = 0
|
||||||
|
|
||||||
SUPEROPT_GC = 0
|
SUPEROPT_GC = 0
|
||||||
|
@ -31,9 +31,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#define MICROPY_PY_FUNCTION_ATTRS (1)
|
#define MICROPY_PY_FUNCTION_ATTRS (1)
|
||||||
#define MICROPY_PY_IO (1)
|
|
||||||
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)
|
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)
|
||||||
#define MICROPY_PY_UJSON (1)
|
|
||||||
|
|
||||||
extern uint8_t _ld_default_stack_size;
|
extern uint8_t _ld_default_stack_size;
|
||||||
|
|
||||||
|
@ -195,21 +195,12 @@ typedef long mp_off_t;
|
|||||||
#define MICROPY_PY_BUILTINS_STR_CENTER (CIRCUITPY_FULL_BUILD)
|
#define MICROPY_PY_BUILTINS_STR_CENTER (CIRCUITPY_FULL_BUILD)
|
||||||
#define MICROPY_PY_BUILTINS_STR_PARTITION (CIRCUITPY_FULL_BUILD)
|
#define MICROPY_PY_BUILTINS_STR_PARTITION (CIRCUITPY_FULL_BUILD)
|
||||||
#define MICROPY_PY_BUILTINS_STR_SPLITLINES (CIRCUITPY_FULL_BUILD)
|
#define MICROPY_PY_BUILTINS_STR_SPLITLINES (CIRCUITPY_FULL_BUILD)
|
||||||
#define MICROPY_PY_UERRNO (CIRCUITPY_FULL_BUILD)
|
|
||||||
#ifndef MICROPY_PY_COLLECTIONS_ORDEREDDICT
|
#ifndef MICROPY_PY_COLLECTIONS_ORDEREDDICT
|
||||||
#define MICROPY_PY_COLLECTIONS_ORDEREDDICT (CIRCUITPY_FULL_BUILD)
|
#define MICROPY_PY_COLLECTIONS_ORDEREDDICT (CIRCUITPY_FULL_BUILD)
|
||||||
#endif
|
#endif
|
||||||
#ifndef MICROPY_PY_UBINASCII
|
#define MICROPY_PY_URE_MATCH_GROUPS (CIRCUITPY_RE)
|
||||||
#define MICROPY_PY_UBINASCII (CIRCUITPY_FULL_BUILD)
|
#define MICROPY_PY_URE_MATCH_SPAN_START_END (CIRCUITPY_RE)
|
||||||
#endif
|
#define MICROPY_PY_URE_SUB (CIRCUITPY_RE)
|
||||||
// Opposite setting is deliberate.
|
|
||||||
#define MICROPY_PY_UERRNO_ERRORCODE (!CIRCUITPY_FULL_BUILD)
|
|
||||||
#ifndef MICROPY_PY_URE
|
|
||||||
#define MICROPY_PY_URE (CIRCUITPY_FULL_BUILD)
|
|
||||||
#endif
|
|
||||||
#define MICROPY_PY_URE_MATCH_GROUPS (CIRCUITPY_FULL_BUILD)
|
|
||||||
#define MICROPY_PY_URE_MATCH_SPAN_START_END (CIRCUITPY_FULL_BUILD)
|
|
||||||
#define MICROPY_PY_URE_SUB (CIRCUITPY_FULL_BUILD)
|
|
||||||
|
|
||||||
// LONGINT_IMPL_xxx are defined in the Makefile.
|
// LONGINT_IMPL_xxx are defined in the Makefile.
|
||||||
//
|
//
|
||||||
@ -301,6 +292,13 @@ extern const struct _mp_obj_module_t audiopwmio_module;
|
|||||||
#define AUDIOPWMIO_MODULE
|
#define AUDIOPWMIO_MODULE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CIRCUITPY_BINASCII
|
||||||
|
#define MICROPY_PY_UBINASCII CIRCUITPY_BINASCII
|
||||||
|
#define BINASCII_MODULE { MP_ROM_QSTR(MP_QSTR_binascii), MP_ROM_PTR(&mp_module_ubinascii) },
|
||||||
|
#else
|
||||||
|
#define BINASCII_MODULE
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CIRCUITPY_BITBANGIO
|
#if CIRCUITPY_BITBANGIO
|
||||||
#define BITBANGIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_bitbangio), (mp_obj_t)&bitbangio_module },
|
#define BITBANGIO_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_bitbangio), (mp_obj_t)&bitbangio_module },
|
||||||
extern const struct _mp_obj_module_t bitbangio_module;
|
extern const struct _mp_obj_module_t bitbangio_module;
|
||||||
@ -399,6 +397,16 @@ extern const struct _mp_obj_module_t terminalio_module;
|
|||||||
#define TERMINALIO_MODULE
|
#define TERMINALIO_MODULE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CIRCUITPY_ERRNO
|
||||||
|
#define MICROPY_PY_UERRNO (1)
|
||||||
|
// Uses about 80 bytes.
|
||||||
|
#define MICROPY_PY_UERRNO_ERRORCODE (1)
|
||||||
|
#define ERRNO_MODULE { MP_ROM_QSTR(MP_QSTR_errno), MP_ROM_PTR(&mp_module_uerrno) },
|
||||||
|
#else
|
||||||
|
#define ERRNO_MODULE
|
||||||
|
#
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CIRCUITPY_ESPIDF
|
#if CIRCUITPY_ESPIDF
|
||||||
extern const struct _mp_obj_module_t espidf_module;
|
extern const struct _mp_obj_module_t espidf_module;
|
||||||
#define ESPIDF_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_espidf),(mp_obj_t)&espidf_module },
|
#define ESPIDF_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_espidf),(mp_obj_t)&espidf_module },
|
||||||
@ -470,6 +478,18 @@ extern const struct _mp_obj_module_t ipaddress_module;
|
|||||||
#define IPADDRESS_MODULE
|
#define IPADDRESS_MODULE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CIRCUITPY_JSON
|
||||||
|
#define MICROPY_PY_UJSON (1)
|
||||||
|
#define MICROPY_PY_IO (1)
|
||||||
|
#define JSON_MODULE { MP_ROM_QSTR(MP_QSTR_json), MP_ROM_PTR(&mp_module_ujson) },
|
||||||
|
#else
|
||||||
|
#ifndef MICROPY_PY_IO
|
||||||
|
// We don't need MICROPY_PY_IO unless someone else wants it.
|
||||||
|
#define MICROPY_PY_IO (0)
|
||||||
|
#endif
|
||||||
|
#define JSON_MODULE
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CIRCUITPY_MATH
|
#if CIRCUITPY_MATH
|
||||||
extern const struct _mp_obj_module_t math_module;
|
extern const struct _mp_obj_module_t math_module;
|
||||||
#define MATH_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_math), (mp_obj_t)&math_module },
|
#define MATH_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_math), (mp_obj_t)&math_module },
|
||||||
@ -588,6 +608,13 @@ extern const struct _mp_obj_module_t random_module;
|
|||||||
#define RANDOM_MODULE
|
#define RANDOM_MODULE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if CIRCUITPY_RE
|
||||||
|
#define MICROPY_PY_URE (1)
|
||||||
|
#define RE_MODULE { MP_ROM_QSTR(MP_QSTR_re), MP_ROM_PTR(&mp_module_ure) },
|
||||||
|
#else
|
||||||
|
#define RE_MODULE
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CIRCUITPY_RGBMATRIX
|
#if CIRCUITPY_RGBMATRIX
|
||||||
extern const struct _mp_obj_module_t rgbmatrix_module;
|
extern const struct _mp_obj_module_t rgbmatrix_module;
|
||||||
#define RGBMATRIX_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_rgbmatrix),(mp_obj_t)&rgbmatrix_module },
|
#define RGBMATRIX_MODULE { MP_OBJ_NEW_QSTR(MP_QSTR_rgbmatrix),(mp_obj_t)&rgbmatrix_module },
|
||||||
@ -730,25 +757,6 @@ extern const struct _mp_obj_module_t ustack_module;
|
|||||||
#define USTACK_MODULE
|
#define USTACK_MODULE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// These modules are not yet in shared-bindings, but we prefer the non-uxxx names.
|
|
||||||
#if MICROPY_PY_UBINASCII
|
|
||||||
#define BINASCII_MODULE { MP_ROM_QSTR(MP_QSTR_binascii), MP_ROM_PTR(&mp_module_ubinascii) },
|
|
||||||
#else
|
|
||||||
#define BINASCII_MODULE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if MICROPY_PY_UERRNO
|
|
||||||
#define ERRNO_MODULE { MP_ROM_QSTR(MP_QSTR_errno), MP_ROM_PTR(&mp_module_uerrno) },
|
|
||||||
#else
|
|
||||||
#define ERRNO_MODULE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if MICROPY_PY_UJSON
|
|
||||||
#define JSON_MODULE { MP_ROM_QSTR(MP_QSTR_json), MP_ROM_PTR(&mp_module_ujson) },
|
|
||||||
#else
|
|
||||||
#define JSON_MODULE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CIRCUITPY_ULAB) && CIRCUITPY_ULAB
|
#if defined(CIRCUITPY_ULAB) && CIRCUITPY_ULAB
|
||||||
// ulab requires reverse special methods
|
// ulab requires reverse special methods
|
||||||
#if defined(MICROPY_PY_REVERSE_SPECIAL_METHODS) && !MICROPY_PY_REVERSE_SPECIAL_METHODS
|
#if defined(MICROPY_PY_REVERSE_SPECIAL_METHODS) && !MICROPY_PY_REVERSE_SPECIAL_METHODS
|
||||||
@ -760,12 +768,6 @@ extern const struct _mp_obj_module_t ustack_module;
|
|||||||
#define ULAB_MODULE
|
#define ULAB_MODULE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if MICROPY_PY_URE
|
|
||||||
#define RE_MODULE { MP_ROM_QSTR(MP_QSTR_re), MP_ROM_PTR(&mp_module_ure) },
|
|
||||||
#else
|
|
||||||
#define RE_MODULE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// This is not a top-level module; it's microcontroller.watchdog.
|
// This is not a top-level module; it's microcontroller.watchdog.
|
||||||
#if CIRCUITPY_WATCHDOG
|
#if CIRCUITPY_WATCHDOG
|
||||||
extern const struct _mp_obj_module_t watchdog_module;
|
extern const struct _mp_obj_module_t watchdog_module;
|
||||||
|
@ -86,6 +86,9 @@ endif
|
|||||||
endif
|
endif
|
||||||
CFLAGS += -DCIRCUITPY_AUDIOMP3=$(CIRCUITPY_AUDIOMP3)
|
CFLAGS += -DCIRCUITPY_AUDIOMP3=$(CIRCUITPY_AUDIOMP3)
|
||||||
|
|
||||||
|
CIRCUITPY_BINASCII ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
|
CFLAGS += -DCIRCUITPY_BINASCII=$(CIRCUITPY_BINASCII)
|
||||||
|
|
||||||
CIRCUITPY_BITBANGIO ?= $(CIRCUITPY_FULL_BUILD)
|
CIRCUITPY_BITBANGIO ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
CFLAGS += -DCIRCUITPY_BITBANGIO=$(CIRCUITPY_BITBANGIO)
|
CFLAGS += -DCIRCUITPY_BITBANGIO=$(CIRCUITPY_BITBANGIO)
|
||||||
|
|
||||||
@ -100,7 +103,7 @@ CFLAGS += -DCIRCUITPY_BLEIO=$(CIRCUITPY_BLEIO)
|
|||||||
CIRCUITPY_BOARD ?= 1
|
CIRCUITPY_BOARD ?= 1
|
||||||
CFLAGS += -DCIRCUITPY_BOARD=$(CIRCUITPY_BOARD)
|
CFLAGS += -DCIRCUITPY_BOARD=$(CIRCUITPY_BOARD)
|
||||||
|
|
||||||
CIRCUITPY_BUSDEVICE = 0
|
CIRCUITPY_BUSDEVICE ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
CFLAGS += -DCIRCUITPY_BUSDEVICE=$(CIRCUITPY_BUSDEVICE)
|
CFLAGS += -DCIRCUITPY_BUSDEVICE=$(CIRCUITPY_BUSDEVICE)
|
||||||
|
|
||||||
CIRCUITPY_BUILTINS_POW3 ?= $(CIRCUITPY_FULL_BUILD)
|
CIRCUITPY_BUILTINS_POW3 ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
@ -124,6 +127,9 @@ CFLAGS += -DCIRCUITPY_COUNTIO=$(CIRCUITPY_COUNTIO)
|
|||||||
CIRCUITPY_DISPLAYIO ?= $(CIRCUITPY_FULL_BUILD)
|
CIRCUITPY_DISPLAYIO ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
CFLAGS += -DCIRCUITPY_DISPLAYIO=$(CIRCUITPY_DISPLAYIO)
|
CFLAGS += -DCIRCUITPY_DISPLAYIO=$(CIRCUITPY_DISPLAYIO)
|
||||||
|
|
||||||
|
CIRCUITPY_ERRNO ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
|
CFLAGS += -DCIRCUITPY_ERRNO=$(CIRCUITPY_ERRNO)
|
||||||
|
|
||||||
# CIRCUITPY_ESPIDF is handled in the esp32s2 tree.
|
# CIRCUITPY_ESPIDF is handled in the esp32s2 tree.
|
||||||
# Only for ESP32S chips.
|
# Only for ESP32S chips.
|
||||||
# Assume not a ESP build.
|
# Assume not a ESP build.
|
||||||
@ -158,6 +164,9 @@ CFLAGS += -DCIRCUITPY_I2CPERIPHERAL=$(CIRCUITPY_I2CPERIPHERAL)
|
|||||||
CIRCUITPY_IPADDRESS ?= $(CIRCUITPY_WIFI)
|
CIRCUITPY_IPADDRESS ?= $(CIRCUITPY_WIFI)
|
||||||
CFLAGS += -DCIRCUITPY_IPADDRESS=$(CIRCUITPY_IPADDRESS)
|
CFLAGS += -DCIRCUITPY_IPADDRESS=$(CIRCUITPY_IPADDRESS)
|
||||||
|
|
||||||
|
CIRCUITPY_JSON ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
|
CFLAGS += -DCIRCUITPY_JSON=$(CIRCUITPY_JSON)
|
||||||
|
|
||||||
CIRCUITPY_MATH ?= 1
|
CIRCUITPY_MATH ?= 1
|
||||||
CFLAGS += -DCIRCUITPY_MATH=$(CIRCUITPY_MATH)
|
CFLAGS += -DCIRCUITPY_MATH=$(CIRCUITPY_MATH)
|
||||||
|
|
||||||
@ -204,6 +213,9 @@ CFLAGS += -DCIRCUITPY_PWMIO=$(CIRCUITPY_PWMIO)
|
|||||||
CIRCUITPY_RANDOM ?= 1
|
CIRCUITPY_RANDOM ?= 1
|
||||||
CFLAGS += -DCIRCUITPY_RANDOM=$(CIRCUITPY_RANDOM)
|
CFLAGS += -DCIRCUITPY_RANDOM=$(CIRCUITPY_RANDOM)
|
||||||
|
|
||||||
|
CIRCUITPY_RE ?= $(CIRCUITPY_FULL_BUILD)
|
||||||
|
CFLAGS += -DCIRCUITPY_RE=$(CIRCUITPY_RE)
|
||||||
|
|
||||||
# CIRCUITPY_RP2PIO is handled in the raspberrypi tree.
|
# CIRCUITPY_RP2PIO is handled in the raspberrypi tree.
|
||||||
# Only for rp2 chips.
|
# Only for rp2 chips.
|
||||||
# Assume not a rp2 build.
|
# Assume not a rp2 build.
|
||||||
|
@ -604,22 +604,6 @@ STATIC mp_obj_t _jump(mp_obj_t self, mp_obj_t a0) {
|
|||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(jump_obj, _jump);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(jump_obj, _jump);
|
||||||
|
|
||||||
//| def LineWidth(self, width: int) -> None:
|
|
||||||
//| """Set the width of rasterized lines
|
|
||||||
//|
|
|
||||||
//| :param int width: line width in :math:`1/16` pixel. Range 0-4095. The initial value is 16
|
|
||||||
//|
|
|
||||||
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
|
||||||
//| ...
|
|
||||||
//|
|
|
||||||
|
|
||||||
STATIC mp_obj_t _linewidth(mp_obj_t self, mp_obj_t a0) {
|
|
||||||
uint32_t width = mp_obj_get_int_truncated(a0);
|
|
||||||
common_hal__eve_LineWidth(EVEHAL(self), width);
|
|
||||||
return mp_const_none;
|
|
||||||
}
|
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(linewidth_obj, _linewidth);
|
|
||||||
|
|
||||||
//| def Macro(self, m: int) -> None:
|
//| def Macro(self, m: int) -> None:
|
||||||
//| """Execute a single command from a macro register
|
//| """Execute a single command from a macro register
|
||||||
//|
|
//|
|
||||||
@ -662,22 +646,6 @@ STATIC mp_obj_t _palettesource(mp_obj_t self, mp_obj_t a0) {
|
|||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(palettesource_obj, _palettesource);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(palettesource_obj, _palettesource);
|
||||||
|
|
||||||
//| def PointSize(self, size: int) -> None:
|
|
||||||
//| """Set the radius of rasterized points
|
|
||||||
//|
|
|
||||||
//| :param int size: point radius in :math:`1/16` pixel. Range 0-8191. The initial value is 16
|
|
||||||
//|
|
|
||||||
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
|
||||||
//| ...
|
|
||||||
//|
|
|
||||||
|
|
||||||
STATIC mp_obj_t _pointsize(mp_obj_t self, mp_obj_t a0) {
|
|
||||||
uint32_t size = mp_obj_get_int_truncated(a0);
|
|
||||||
common_hal__eve_PointSize(EVEHAL(self), size);
|
|
||||||
return mp_const_none;
|
|
||||||
}
|
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(pointsize_obj, _pointsize);
|
|
||||||
|
|
||||||
//| def RestoreContext(self) -> None:
|
//| def RestoreContext(self) -> None:
|
||||||
//| """Restore the current graphics context from the context stack"""
|
//| """Restore the current graphics context from the context stack"""
|
||||||
//| ...
|
//| ...
|
||||||
@ -836,48 +804,6 @@ STATIC mp_obj_t _tag(mp_obj_t self, mp_obj_t a0) {
|
|||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(tag_obj, _tag);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(tag_obj, _tag);
|
||||||
|
|
||||||
//| def VertexTranslateX(self, x: int) -> None:
|
|
||||||
//| """Set the vertex transformation's x translation component
|
|
||||||
//|
|
|
||||||
//| :param int x: signed x-coordinate in :math:`1/16` pixel. Range 0-131071. The initial value is 0
|
|
||||||
//|
|
|
||||||
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
|
||||||
//| ...
|
|
||||||
//|
|
|
||||||
|
|
||||||
STATIC mp_obj_t _vertextranslatex(mp_obj_t self, mp_obj_t a0) {
|
|
||||||
uint32_t x = mp_obj_get_int_truncated(a0);
|
|
||||||
common_hal__eve_VertexTranslateX(EVEHAL(self), x);
|
|
||||||
return mp_const_none;
|
|
||||||
}
|
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(vertextranslatex_obj, _vertextranslatex);
|
|
||||||
|
|
||||||
//| def VertexTranslateY(self, y: int) -> None:
|
|
||||||
//| """Set the vertex transformation's y translation component
|
|
||||||
//|
|
|
||||||
//| :param int y: signed y-coordinate in :math:`1/16` pixel. Range 0-131071. The initial value is 0
|
|
||||||
//|
|
|
||||||
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
|
||||||
//| ...
|
|
||||||
//|
|
|
||||||
|
|
||||||
|
|
||||||
STATIC mp_obj_t _vertextranslatey(mp_obj_t self, mp_obj_t a0) {
|
|
||||||
uint32_t y = mp_obj_get_int_truncated(a0);
|
|
||||||
common_hal__eve_VertexTranslateY(EVEHAL(self), y);
|
|
||||||
return mp_const_none;
|
|
||||||
}
|
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(vertextranslatey_obj, _vertextranslatey);
|
|
||||||
|
|
||||||
//| def VertexFormat(self, frac: int) -> None:
|
|
||||||
//| """Set the precision of vertex2f coordinates
|
|
||||||
//|
|
|
||||||
//| :param int frac: Number of fractional bits in X,Y coordinates, 0-4. Range 0-7. The initial value is 4
|
|
||||||
//|
|
|
||||||
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
|
||||||
//| ...
|
|
||||||
//|
|
|
||||||
|
|
||||||
STATIC mp_obj_t _vertexformat(mp_obj_t self, mp_obj_t a0) {
|
STATIC mp_obj_t _vertexformat(mp_obj_t self, mp_obj_t a0) {
|
||||||
uint32_t frac = mp_obj_get_int_truncated(a0);
|
uint32_t frac = mp_obj_get_int_truncated(a0);
|
||||||
common_hal__eve_VertexFormat(EVEHAL(self), frac);
|
common_hal__eve_VertexFormat(EVEHAL(self), frac);
|
||||||
@ -975,6 +901,82 @@ STATIC mp_obj_t _vertex2f(mp_obj_t self, mp_obj_t a0, mp_obj_t a1) {
|
|||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(vertex2f_obj, _vertex2f);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_3(vertex2f_obj, _vertex2f);
|
||||||
|
|
||||||
|
//| def LineWidth(self, width: float) -> None:
|
||||||
|
//| """Set the width of rasterized lines
|
||||||
|
//|
|
||||||
|
//| :param float width: line width in pixels. Range 0-511. The initial value is 1
|
||||||
|
//|
|
||||||
|
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
||||||
|
//| ...
|
||||||
|
//|
|
||||||
|
|
||||||
|
STATIC mp_obj_t _linewidth(mp_obj_t self, mp_obj_t a0) {
|
||||||
|
mp_float_t width = mp_obj_get_float(a0);
|
||||||
|
common_hal__eve_LineWidth(EVEHAL(self), width);
|
||||||
|
return mp_const_none;
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(linewidth_obj, _linewidth);
|
||||||
|
|
||||||
|
//| def PointSize(self, size: float) -> None:
|
||||||
|
//| """Set the diameter of rasterized points
|
||||||
|
//|
|
||||||
|
//| :param float size: point diameter in pixels. Range 0-1023. The initial value is 1
|
||||||
|
//|
|
||||||
|
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
||||||
|
//| ...
|
||||||
|
//|
|
||||||
|
|
||||||
|
STATIC mp_obj_t _pointsize(mp_obj_t self, mp_obj_t a0) {
|
||||||
|
mp_float_t size = mp_obj_get_float(a0);
|
||||||
|
common_hal__eve_PointSize(EVEHAL(self), size);
|
||||||
|
return mp_const_none;
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(pointsize_obj, _pointsize);
|
||||||
|
|
||||||
|
//| def VertexTranslateX(self, x: float) -> None:
|
||||||
|
//| """Set the vertex transformation's x translation component
|
||||||
|
//|
|
||||||
|
//| :param float x: signed x-coordinate in pixels. Range ±4095. The initial value is 0
|
||||||
|
//|
|
||||||
|
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
||||||
|
//| ...
|
||||||
|
//|
|
||||||
|
|
||||||
|
STATIC mp_obj_t _vertextranslatex(mp_obj_t self, mp_obj_t a0) {
|
||||||
|
mp_float_t x = mp_obj_get_float(a0);
|
||||||
|
common_hal__eve_VertexTranslateX(EVEHAL(self), x);
|
||||||
|
return mp_const_none;
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(vertextranslatex_obj, _vertextranslatex);
|
||||||
|
|
||||||
|
//| def VertexTranslateY(self, y: float) -> None:
|
||||||
|
//| """Set the vertex transformation's y translation component
|
||||||
|
//|
|
||||||
|
//| :param float y: signed y-coordinate in pixels. Range ±4095. The initial value is 0
|
||||||
|
//|
|
||||||
|
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
||||||
|
//| ...
|
||||||
|
//|
|
||||||
|
|
||||||
|
|
||||||
|
STATIC mp_obj_t _vertextranslatey(mp_obj_t self, mp_obj_t a0) {
|
||||||
|
mp_float_t y = mp_obj_get_float(a0);
|
||||||
|
common_hal__eve_VertexTranslateY(EVEHAL(self), y);
|
||||||
|
return mp_const_none;
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(vertextranslatey_obj, _vertextranslatey);
|
||||||
|
|
||||||
|
//| def VertexFormat(self, frac: int) -> None:
|
||||||
|
//| """Set the precision of vertex2f coordinates
|
||||||
|
//|
|
||||||
|
//| :param int frac: Number of fractional bits in X,Y coordinates, 0-4. Range 0-7. The initial value is 4
|
||||||
|
//|
|
||||||
|
//| This value is part of the graphics context and is saved and restored by :meth:`SaveContext` and :meth:`RestoreContext`."""
|
||||||
|
//| ...
|
||||||
|
//|
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
// Append an object x to the FIFO
|
// Append an object x to the FIFO
|
||||||
#define ADD_X(self, x) \
|
#define ADD_X(self, x) \
|
||||||
common_hal__eve_add(EVEHAL(self), sizeof(x), &(x));
|
common_hal__eve_add(EVEHAL(self), sizeof(x), &(x));
|
||||||
|
@ -61,11 +61,11 @@ void common_hal__eve_ColorRGB(common_hal__eve_t *eve, uint32_t red, uint32_t gre
|
|||||||
void common_hal__eve_Display(common_hal__eve_t *eve);
|
void common_hal__eve_Display(common_hal__eve_t *eve);
|
||||||
void common_hal__eve_End(common_hal__eve_t *eve);
|
void common_hal__eve_End(common_hal__eve_t *eve);
|
||||||
void common_hal__eve_Jump(common_hal__eve_t *eve, uint32_t dest);
|
void common_hal__eve_Jump(common_hal__eve_t *eve, uint32_t dest);
|
||||||
void common_hal__eve_LineWidth(common_hal__eve_t *eve, uint32_t width);
|
void common_hal__eve_LineWidth(common_hal__eve_t *eve, mp_float_t width);
|
||||||
void common_hal__eve_Macro(common_hal__eve_t *eve, uint32_t m);
|
void common_hal__eve_Macro(common_hal__eve_t *eve, uint32_t m);
|
||||||
void common_hal__eve_Nop(common_hal__eve_t *eve);
|
void common_hal__eve_Nop(common_hal__eve_t *eve);
|
||||||
void common_hal__eve_PaletteSource(common_hal__eve_t *eve, uint32_t addr);
|
void common_hal__eve_PaletteSource(common_hal__eve_t *eve, uint32_t addr);
|
||||||
void common_hal__eve_PointSize(common_hal__eve_t *eve, uint32_t size);
|
void common_hal__eve_PointSize(common_hal__eve_t *eve, mp_float_t size);
|
||||||
void common_hal__eve_RestoreContext(common_hal__eve_t *eve);
|
void common_hal__eve_RestoreContext(common_hal__eve_t *eve);
|
||||||
void common_hal__eve_Return(common_hal__eve_t *eve);
|
void common_hal__eve_Return(common_hal__eve_t *eve);
|
||||||
void common_hal__eve_SaveContext(common_hal__eve_t *eve);
|
void common_hal__eve_SaveContext(common_hal__eve_t *eve);
|
||||||
@ -76,8 +76,8 @@ void common_hal__eve_StencilMask(common_hal__eve_t *eve, uint32_t mask);
|
|||||||
void common_hal__eve_StencilOp(common_hal__eve_t *eve, uint32_t sfail, uint32_t spass);
|
void common_hal__eve_StencilOp(common_hal__eve_t *eve, uint32_t sfail, uint32_t spass);
|
||||||
void common_hal__eve_TagMask(common_hal__eve_t *eve, uint32_t mask);
|
void common_hal__eve_TagMask(common_hal__eve_t *eve, uint32_t mask);
|
||||||
void common_hal__eve_Tag(common_hal__eve_t *eve, uint32_t s);
|
void common_hal__eve_Tag(common_hal__eve_t *eve, uint32_t s);
|
||||||
void common_hal__eve_VertexTranslateX(common_hal__eve_t *eve, uint32_t x);
|
void common_hal__eve_VertexTranslateX(common_hal__eve_t *eve, mp_float_t x);
|
||||||
void common_hal__eve_VertexTranslateY(common_hal__eve_t *eve, uint32_t y);
|
void common_hal__eve_VertexTranslateY(common_hal__eve_t *eve, mp_float_t y);
|
||||||
void common_hal__eve_VertexFormat(common_hal__eve_t *eve, uint32_t frac);
|
void common_hal__eve_VertexFormat(common_hal__eve_t *eve, uint32_t frac);
|
||||||
void common_hal__eve_Vertex2ii(common_hal__eve_t *eve, uint32_t x, uint32_t y, uint32_t handle, uint32_t cell);
|
void common_hal__eve_Vertex2ii(common_hal__eve_t *eve, uint32_t x, uint32_t y, uint32_t handle, uint32_t cell);
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_make_new(const mp_obj_type_t *type
|
|||||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||||
|
|
||||||
busio_i2c_obj_t* i2c = args[ARG_i2c].u_obj;
|
mp_obj_t* i2c = args[ARG_i2c].u_obj;
|
||||||
|
|
||||||
common_hal_adafruit_bus_device_i2cdevice_construct(MP_OBJ_TO_PTR(self), i2c, args[ARG_device_address].u_int);
|
common_hal_adafruit_bus_device_i2cdevice_construct(MP_OBJ_TO_PTR(self), i2c, args[ARG_device_address].u_int);
|
||||||
if (args[ARG_probe].u_bool == true) {
|
if (args[ARG_probe].u_bool == true) {
|
||||||
@ -107,7 +107,7 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_obj___exit__(size_t n_args, const
|
|||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(adafruit_bus_device_i2cdevice___exit___obj, 4, 4, adafruit_bus_device_i2cdevice_obj___exit__);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(adafruit_bus_device_i2cdevice___exit___obj, 4, 4, adafruit_bus_device_i2cdevice_obj___exit__);
|
||||||
|
|
||||||
//| def readinto(self, buf: WriteableBuffer, *, start: int = 0, end: int = 0) -> None:
|
//| def readinto(self, buf: WriteableBuffer, *, start: int = 0, end: Optional[int] = None) -> None:
|
||||||
//| """Read into ``buf`` from the device. The number of bytes read will be the
|
//| """Read into ``buf`` from the device. The number of bytes read will be the
|
||||||
//| length of ``buf``.
|
//| length of ``buf``.
|
||||||
//| If ``start`` or ``end`` is provided, then the buffer will be sliced
|
//| If ``start`` or ``end`` is provided, then the buffer will be sliced
|
||||||
@ -118,22 +118,6 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(adafruit_bus_device_i2cdevice___exit_
|
|||||||
//| :param int end: Index to write up to but not include; if None, use ``len(buf)``"""
|
//| :param int end: Index to write up to but not include; if None, use ``len(buf)``"""
|
||||||
//| ...
|
//| ...
|
||||||
//|
|
//|
|
||||||
STATIC void readinto(adafruit_bus_device_i2cdevice_obj_t *self, mp_obj_t buffer, int32_t start, mp_int_t end) {
|
|
||||||
mp_buffer_info_t bufinfo;
|
|
||||||
mp_get_buffer_raise(buffer, &bufinfo, MP_BUFFER_WRITE);
|
|
||||||
|
|
||||||
size_t length = bufinfo.len;
|
|
||||||
normalize_buffer_bounds(&start, end, &length);
|
|
||||||
if (length == 0) {
|
|
||||||
mp_raise_ValueError(translate("Buffer must be at least length 1"));
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t status = common_hal_adafruit_bus_device_i2cdevice_readinto(MP_OBJ_TO_PTR(self), ((uint8_t*)bufinfo.buf) + start, length);
|
|
||||||
if (status != 0) {
|
|
||||||
mp_raise_OSError(status);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC mp_obj_t adafruit_bus_device_i2cdevice_readinto(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
STATIC mp_obj_t adafruit_bus_device_i2cdevice_readinto(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||||
enum { ARG_buffer, ARG_start, ARG_end };
|
enum { ARG_buffer, ARG_start, ARG_end };
|
||||||
static const mp_arg_t allowed_args[] = {
|
static const mp_arg_t allowed_args[] = {
|
||||||
@ -147,12 +131,22 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_readinto(size_t n_args, const mp_o
|
|||||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||||
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||||
|
|
||||||
readinto(self, args[ARG_buffer].u_obj, args[ARG_start].u_int, args[ARG_end].u_int);
|
mp_obj_t dest[8];
|
||||||
|
mp_load_method(self->i2c, MP_QSTR_readfrom_into, dest);
|
||||||
|
dest[2] = mp_obj_new_int_from_ull(self->device_address);
|
||||||
|
dest[3] = args[ARG_buffer].u_obj;
|
||||||
|
//dest[4] = mp_obj_new_str("start", 5);
|
||||||
|
dest[4] = MP_OBJ_NEW_QSTR(MP_QSTR_start);
|
||||||
|
dest[5] = mp_obj_new_int(args[ARG_start].u_int);
|
||||||
|
dest[6] = MP_OBJ_NEW_QSTR(MP_QSTR_end);
|
||||||
|
dest[7] = mp_obj_new_int(args[ARG_end].u_int);
|
||||||
|
mp_call_method_n_kw(2, 2, dest);
|
||||||
|
|
||||||
return mp_const_none;
|
return mp_const_none;
|
||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(adafruit_bus_device_i2cdevice_readinto_obj, 2, adafruit_bus_device_i2cdevice_readinto);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(adafruit_bus_device_i2cdevice_readinto_obj, 2, adafruit_bus_device_i2cdevice_readinto);
|
||||||
|
|
||||||
//| def write(self, buf: ReadableBuffer, *, start: int = 0, end: int = 0) -> None:
|
//| def write(self, buf: ReadableBuffer, *, start: int = 0, end: Optional[int] = None) -> None:
|
||||||
//| """Write the bytes from ``buffer`` to the device, then transmit a stop bit.
|
//| """Write the bytes from ``buffer`` to the device, then transmit a stop bit.
|
||||||
//| If ``start`` or ``end`` is provided, then the buffer will be sliced
|
//| If ``start`` or ``end`` is provided, then the buffer will be sliced
|
||||||
//| as if ``buffer[start:end]``. This will not cause an allocation like
|
//| as if ``buffer[start:end]``. This will not cause an allocation like
|
||||||
@ -163,22 +157,6 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(adafruit_bus_device_i2cdevice_readinto_obj, 2,
|
|||||||
//| """
|
//| """
|
||||||
//| ...
|
//| ...
|
||||||
//|
|
//|
|
||||||
STATIC void write(adafruit_bus_device_i2cdevice_obj_t *self, mp_obj_t buffer, int32_t start, mp_int_t end, bool transmit_stop_bit) {
|
|
||||||
mp_buffer_info_t bufinfo;
|
|
||||||
mp_get_buffer_raise(buffer, &bufinfo, MP_BUFFER_READ);
|
|
||||||
|
|
||||||
size_t length = bufinfo.len;
|
|
||||||
normalize_buffer_bounds(&start, end, &length);
|
|
||||||
if (length == 0) {
|
|
||||||
mp_raise_ValueError(translate("Buffer must be at least length 1"));
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t status = common_hal_adafruit_bus_device_i2cdevice_write(MP_OBJ_TO_PTR(self), ((uint8_t*)bufinfo.buf) + start, length, transmit_stop_bit);
|
|
||||||
if (status != 0) {
|
|
||||||
mp_raise_OSError(status);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
STATIC mp_obj_t adafruit_bus_device_i2cdevice_write(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
STATIC mp_obj_t adafruit_bus_device_i2cdevice_write(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||||
enum { ARG_buffer, ARG_start, ARG_end };
|
enum { ARG_buffer, ARG_start, ARG_end };
|
||||||
static const mp_arg_t allowed_args[] = {
|
static const mp_arg_t allowed_args[] = {
|
||||||
@ -191,13 +169,22 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_write(size_t n_args, const mp_obj_
|
|||||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||||
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||||
|
|
||||||
write(self, args[ARG_buffer].u_obj, args[ARG_start].u_int, args[ARG_end].u_int, true);
|
mp_obj_t dest[8];
|
||||||
|
mp_load_method(self->i2c, MP_QSTR_writeto, dest);
|
||||||
|
dest[2] = mp_obj_new_int_from_ull(self->device_address);
|
||||||
|
dest[3] = args[ARG_buffer].u_obj;
|
||||||
|
dest[4] = MP_OBJ_NEW_QSTR(MP_QSTR_start);
|
||||||
|
dest[5] = mp_obj_new_int(args[ARG_start].u_int);
|
||||||
|
dest[6] = MP_OBJ_NEW_QSTR(MP_QSTR_end);
|
||||||
|
dest[7] = mp_obj_new_int(args[ARG_end].u_int);
|
||||||
|
mp_call_method_n_kw(2, 2, dest);
|
||||||
|
|
||||||
return mp_const_none;
|
return mp_const_none;
|
||||||
}
|
}
|
||||||
MP_DEFINE_CONST_FUN_OBJ_KW(adafruit_bus_device_i2cdevice_write_obj, 2, adafruit_bus_device_i2cdevice_write);
|
MP_DEFINE_CONST_FUN_OBJ_KW(adafruit_bus_device_i2cdevice_write_obj, 2, adafruit_bus_device_i2cdevice_write);
|
||||||
|
|
||||||
|
|
||||||
//| def write_then_readinto(self, out_buffer: WriteableBuffer, in_buffer: ReadableBuffer, *, out_start: int = 0, out_end: int = 0, in_start: int = 0, in_end: int = 0) -> None:
|
//| def write_then_readinto(self, out_buffer: WriteableBuffer, in_buffer: ReadableBuffer, *, out_start: int = 0, out_end: Optional[int] = None, in_start: int = 0, in_end: Optional[int] = None) -> None:
|
||||||
//| """Write the bytes from ``out_buffer`` to the device, then immediately
|
//| """Write the bytes from ``out_buffer`` to the device, then immediately
|
||||||
//| reads into ``in_buffer`` from the device. The number of bytes read
|
//| reads into ``in_buffer`` from the device. The number of bytes read
|
||||||
//| will be the length of ``in_buffer``.
|
//| will be the length of ``in_buffer``.
|
||||||
@ -233,9 +220,21 @@ STATIC mp_obj_t adafruit_bus_device_i2cdevice_write_then_readinto(size_t n_args,
|
|||||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||||
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||||
|
|
||||||
write(self, args[ARG_out_buffer].u_obj, args[ARG_out_start].u_int, args[ARG_out_end].u_int, false);
|
mp_obj_t dest[13];
|
||||||
|
mp_load_method(self->i2c, MP_QSTR_writeto_then_readfrom, dest);
|
||||||
|
dest[2] = mp_obj_new_int_from_ull(self->device_address);
|
||||||
|
dest[3] = args[ARG_out_buffer].u_obj;
|
||||||
|
dest[4] = args[ARG_in_buffer].u_obj;
|
||||||
|
dest[5] = MP_OBJ_NEW_QSTR(MP_QSTR_out_start);
|
||||||
|
dest[6] = mp_obj_new_int(args[ARG_out_start].u_int);
|
||||||
|
dest[7] = MP_OBJ_NEW_QSTR(MP_QSTR_out_end);
|
||||||
|
dest[8] = mp_obj_new_int(args[ARG_out_end].u_int);
|
||||||
|
dest[9] = MP_OBJ_NEW_QSTR(MP_QSTR_in_start);
|
||||||
|
dest[10] = mp_obj_new_int(args[ARG_in_start].u_int);
|
||||||
|
dest[11] = MP_OBJ_NEW_QSTR(MP_QSTR_in_end);
|
||||||
|
dest[12] = mp_obj_new_int(args[ARG_in_end].u_int);
|
||||||
|
|
||||||
readinto(self, args[ARG_in_buffer].u_obj, args[ARG_in_start].u_int, args[ARG_in_end].u_int);
|
mp_call_method_n_kw(3, 4, dest);
|
||||||
|
|
||||||
return mp_const_none;
|
return mp_const_none;
|
||||||
}
|
}
|
||||||
|
@ -43,9 +43,7 @@
|
|||||||
extern const mp_obj_type_t adafruit_bus_device_i2cdevice_type;
|
extern const mp_obj_type_t adafruit_bus_device_i2cdevice_type;
|
||||||
|
|
||||||
// Initializes the hardware peripheral.
|
// Initializes the hardware peripheral.
|
||||||
extern void common_hal_adafruit_bus_device_i2cdevice_construct(adafruit_bus_device_i2cdevice_obj_t *self, busio_i2c_obj_t *i2c, uint8_t device_address);
|
extern void common_hal_adafruit_bus_device_i2cdevice_construct(adafruit_bus_device_i2cdevice_obj_t *self, mp_obj_t *i2c, uint8_t device_address);
|
||||||
extern uint8_t common_hal_adafruit_bus_device_i2cdevice_readinto(adafruit_bus_device_i2cdevice_obj_t *self, mp_obj_t buffer, size_t length);
|
|
||||||
extern uint8_t common_hal_adafruit_bus_device_i2cdevice_write(adafruit_bus_device_i2cdevice_obj_t *self, mp_obj_t buffer, size_t length, bool transmit_stop_bit);
|
|
||||||
extern void common_hal_adafruit_bus_device_i2cdevice_lock(adafruit_bus_device_i2cdevice_obj_t *self);
|
extern void common_hal_adafruit_bus_device_i2cdevice_lock(adafruit_bus_device_i2cdevice_obj_t *self);
|
||||||
extern void common_hal_adafruit_bus_device_i2cdevice_unlock(adafruit_bus_device_i2cdevice_obj_t *self);
|
extern void common_hal_adafruit_bus_device_i2cdevice_unlock(adafruit_bus_device_i2cdevice_obj_t *self);
|
||||||
extern void common_hal_adafruit_bus_device_i2cdevice_probe_for_device(adafruit_bus_device_i2cdevice_obj_t *self);
|
extern void common_hal_adafruit_bus_device_i2cdevice_probe_for_device(adafruit_bus_device_i2cdevice_obj_t *self);
|
||||||
|
@ -132,11 +132,11 @@ STATIC void preflight_pins_or_throw(uint8_t clock_pin, uint8_t *rgb_pins, uint8_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//| def __init__(self, *, width: int, bit_depth: int, rgb_pins: Sequence[digitalio.DigitalInOut], addr_pins: Sequence[digitalio.DigitalInOut], clock_pin: digitalio.DigitalInOut, latch_pin: digitalio.DigitalInOut, output_enable_pin: digitalio.DigitalInOut, doublebuffer: bool = True, framebuffer: Optional[WriteableBuffer] = None, height: int = 0) -> None:
|
//| def __init__(self, *, width: int, bit_depth: int, rgb_pins: Sequence[digitalio.DigitalInOut], addr_pins: Sequence[digitalio.DigitalInOut], clock_pin: digitalio.DigitalInOut, latch_pin: digitalio.DigitalInOut, output_enable_pin: digitalio.DigitalInOut, doublebuffer: bool = True, framebuffer: Optional[WriteableBuffer] = None, height: int = 0, tile: int = 1, serpentine: bool = True) -> None:
|
||||||
//| """Create a RGBMatrix object with the given attributes. The height of
|
//| """Create a RGBMatrix object with the given attributes. The height of
|
||||||
//| the display is determined by the number of rgb and address pins:
|
//| the display is determined by the number of rgb and address pins and the number of tiles:
|
||||||
//| len(rgb_pins) // 3 * 2 ** len(address_pins). With 6 RGB pins and 4
|
//| ``len(rgb_pins) // 3 * 2 ** len(address_pins) * abs(tile)``. With 6 RGB pins, 4
|
||||||
//| address lines, the display will be 32 pixels tall. If the optional height
|
//| address lines, and a single matrix, the display will be 32 pixels tall. If the optional height
|
||||||
//| parameter is specified and is not 0, it is checked against the calculated
|
//| parameter is specified and is not 0, it is checked against the calculated
|
||||||
//| height.
|
//| height.
|
||||||
//|
|
//|
|
||||||
@ -172,7 +172,7 @@ STATIC void preflight_pins_or_throw(uint8_t clock_pin, uint8_t *rgb_pins, uint8_
|
|||||||
|
|
||||||
STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||||
enum { ARG_width, ARG_bit_depth, ARG_rgb_list, ARG_addr_list,
|
enum { ARG_width, ARG_bit_depth, ARG_rgb_list, ARG_addr_list,
|
||||||
ARG_clock_pin, ARG_latch_pin, ARG_output_enable_pin, ARG_doublebuffer, ARG_framebuffer, ARG_height };
|
ARG_clock_pin, ARG_latch_pin, ARG_output_enable_pin, ARG_doublebuffer, ARG_framebuffer, ARG_height, ARG_tile, ARG_serpentine };
|
||||||
static const mp_arg_t allowed_args[] = {
|
static const mp_arg_t allowed_args[] = {
|
||||||
{ MP_QSTR_width, MP_ARG_INT | MP_ARG_REQUIRED | MP_ARG_KW_ONLY },
|
{ MP_QSTR_width, MP_ARG_INT | MP_ARG_REQUIRED | MP_ARG_KW_ONLY },
|
||||||
{ MP_QSTR_bit_depth, MP_ARG_INT | MP_ARG_REQUIRED | MP_ARG_KW_ONLY },
|
{ MP_QSTR_bit_depth, MP_ARG_INT | MP_ARG_REQUIRED | MP_ARG_KW_ONLY },
|
||||||
@ -184,6 +184,8 @@ STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n
|
|||||||
{ MP_QSTR_doublebuffer, MP_ARG_BOOL | MP_ARG_KW_ONLY, { .u_bool = true } },
|
{ MP_QSTR_doublebuffer, MP_ARG_BOOL | MP_ARG_KW_ONLY, { .u_bool = true } },
|
||||||
{ MP_QSTR_framebuffer, MP_ARG_OBJ | MP_ARG_KW_ONLY, { .u_obj = mp_const_none } },
|
{ MP_QSTR_framebuffer, MP_ARG_OBJ | MP_ARG_KW_ONLY, { .u_obj = mp_const_none } },
|
||||||
{ MP_QSTR_height, MP_ARG_INT | MP_ARG_KW_ONLY, { .u_int = 0 } },
|
{ MP_QSTR_height, MP_ARG_INT | MP_ARG_KW_ONLY, { .u_int = 0 } },
|
||||||
|
{ MP_QSTR_tile, MP_ARG_INT | MP_ARG_KW_ONLY, { .u_int = 1 } },
|
||||||
|
{ MP_QSTR_serpentine, MP_ARG_BOOL | MP_ARG_KW_ONLY, { .u_bool = true } },
|
||||||
};
|
};
|
||||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||||
@ -210,12 +212,18 @@ STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n
|
|||||||
mp_raise_ValueError_varg(translate("Must use a multiple of 6 rgb pins, not %d"), rgb_count);
|
mp_raise_ValueError_varg(translate("Must use a multiple of 6 rgb pins, not %d"), rgb_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(@jepler) Use fewer than all rows of pixels if height < computed_height
|
int tile = args[ARG_tile].u_int;
|
||||||
|
|
||||||
|
if (tile <= 0) {
|
||||||
|
mp_raise_ValueError_varg(
|
||||||
|
translate("tile must be greater than zero"));
|
||||||
|
}
|
||||||
|
|
||||||
|
int computed_height = (rgb_count / 3) * (1 << (addr_count)) * tile;
|
||||||
if (args[ARG_height].u_int != 0) {
|
if (args[ARG_height].u_int != 0) {
|
||||||
int computed_height = (rgb_count / 3) << (addr_count);
|
|
||||||
if (computed_height != args[ARG_height].u_int) {
|
if (computed_height != args[ARG_height].u_int) {
|
||||||
mp_raise_ValueError_varg(
|
mp_raise_ValueError_varg(
|
||||||
translate("%d address pins and %d rgb pins indicate a height of %d, not %d"), addr_count, rgb_count, computed_height, args[ARG_height].u_int);
|
translate("%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"), addr_count, rgb_count, tile, computed_height, args[ARG_height].u_int);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -228,7 +236,7 @@ STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n
|
|||||||
mp_obj_t framebuffer = args[ARG_framebuffer].u_obj;
|
mp_obj_t framebuffer = args[ARG_framebuffer].u_obj;
|
||||||
if (framebuffer == mp_const_none) {
|
if (framebuffer == mp_const_none) {
|
||||||
int width = args[ARG_width].u_int;
|
int width = args[ARG_width].u_int;
|
||||||
int bufsize = 2 * width * rgb_count / 3 * (1 << addr_count);
|
int bufsize = 2 * width * computed_height;
|
||||||
framebuffer = mp_obj_new_bytearray_of_zeros(bufsize);
|
framebuffer = mp_obj_new_bytearray_of_zeros(bufsize);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -239,7 +247,7 @@ STATIC mp_obj_t rgbmatrix_rgbmatrix_make_new(const mp_obj_type_t *type, size_t n
|
|||||||
addr_count, addr_pins,
|
addr_count, addr_pins,
|
||||||
clock_pin, latch_pin, output_enable_pin,
|
clock_pin, latch_pin, output_enable_pin,
|
||||||
args[ARG_doublebuffer].u_bool,
|
args[ARG_doublebuffer].u_bool,
|
||||||
framebuffer, NULL);
|
framebuffer, tile, args[ARG_serpentine].u_bool, NULL);
|
||||||
|
|
||||||
claim_and_never_reset_pins(args[ARG_rgb_list].u_obj);
|
claim_and_never_reset_pins(args[ARG_rgb_list].u_obj);
|
||||||
claim_and_never_reset_pins(args[ARG_addr_list].u_obj);
|
claim_and_never_reset_pins(args[ARG_addr_list].u_obj);
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
extern const mp_obj_type_t rgbmatrix_RGBMatrix_type;
|
extern const mp_obj_type_t rgbmatrix_RGBMatrix_type;
|
||||||
|
|
||||||
void common_hal_rgbmatrix_rgbmatrix_construct(rgbmatrix_rgbmatrix_obj_t* self, int width, int bit_depth, uint8_t rgb_count, uint8_t* rgb_pins, uint8_t addr_count, uint8_t* addr_pins, uint8_t clock_pin, uint8_t latch_pin, uint8_t oe_pin, bool doublebuffer, mp_obj_t framebuffer, void* timer);
|
void common_hal_rgbmatrix_rgbmatrix_construct(rgbmatrix_rgbmatrix_obj_t* self, int width, int bit_depth, uint8_t rgb_count, uint8_t* rgb_pins, uint8_t addr_count, uint8_t* addr_pins, uint8_t clock_pin, uint8_t latch_pin, uint8_t oe_pin, bool doublebuffer, mp_obj_t framebuffer, int8_t tile, bool serpentine, void* timer);
|
||||||
void common_hal_rgbmatrix_rgbmatrix_deinit(rgbmatrix_rgbmatrix_obj_t*);
|
void common_hal_rgbmatrix_rgbmatrix_deinit(rgbmatrix_rgbmatrix_obj_t*);
|
||||||
void rgbmatrix_rgbmatrix_collect_ptrs(rgbmatrix_rgbmatrix_obj_t*);
|
void rgbmatrix_rgbmatrix_collect_ptrs(rgbmatrix_rgbmatrix_obj_t*);
|
||||||
void common_hal_rgbmatrix_rgbmatrix_reconstruct(rgbmatrix_rgbmatrix_obj_t* self, mp_obj_t framebuffer);
|
void common_hal_rgbmatrix_rgbmatrix_reconstruct(rgbmatrix_rgbmatrix_obj_t* self, mp_obj_t framebuffer);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
.. _module-support-matrix:
|
.. _module-support-matrix:
|
||||||
|
|
||||||
Support Matrix
|
Module Support Matrix - Which Modules Are Available on Which Boards
|
||||||
===============
|
===================================================================
|
||||||
|
|
||||||
The following table lists the available built-in modules for each CircuitPython
|
The following table lists the available built-in modules for each CircuitPython
|
||||||
capable board.
|
capable board.
|
||||||
|
@ -226,8 +226,9 @@ void common_hal__eve_Jump(common_hal__eve_t *eve, uint32_t dest) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void common_hal__eve_LineWidth(common_hal__eve_t *eve, uint32_t width) {
|
void common_hal__eve_LineWidth(common_hal__eve_t *eve, mp_float_t width) {
|
||||||
C4(eve, ((14 << 24) | ((width & 4095))));
|
int16_t iw = (int)(8 * width);
|
||||||
|
C4(eve, ((14 << 24) | ((iw & 4095))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -246,8 +247,9 @@ void common_hal__eve_PaletteSource(common_hal__eve_t *eve, uint32_t addr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void common_hal__eve_PointSize(common_hal__eve_t *eve, uint32_t size) {
|
void common_hal__eve_PointSize(common_hal__eve_t *eve, mp_float_t size) {
|
||||||
C4(eve, ((13 << 24) | ((size & 8191))));
|
int16_t is = (int)(8 * size);
|
||||||
|
C4(eve, ((13 << 24) | ((is & 8191))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -301,13 +303,15 @@ void common_hal__eve_Tag(common_hal__eve_t *eve, uint32_t s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void common_hal__eve_VertexTranslateX(common_hal__eve_t *eve, uint32_t x) {
|
void common_hal__eve_VertexTranslateX(common_hal__eve_t *eve, mp_float_t x) {
|
||||||
C4(eve, ((43 << 24) | (((x) & 131071))));
|
int16_t ix = (int)(16 * x);
|
||||||
|
C4(eve, ((43 << 24) | (ix & 131071)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void common_hal__eve_VertexTranslateY(common_hal__eve_t *eve, uint32_t y) {
|
void common_hal__eve_VertexTranslateY(common_hal__eve_t *eve, mp_float_t y) {
|
||||||
C4(eve, ((44 << 24) | (((y) & 131071))));
|
int16_t iy = (int)(16 * y);
|
||||||
|
C4(eve, ((44 << 24) | (iy & 131071)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -31,48 +31,60 @@
|
|||||||
#include "py/runtime.h"
|
#include "py/runtime.h"
|
||||||
#include "lib/utils/interrupt_char.h"
|
#include "lib/utils/interrupt_char.h"
|
||||||
|
|
||||||
void common_hal_adafruit_bus_device_i2cdevice_construct(adafruit_bus_device_i2cdevice_obj_t *self, busio_i2c_obj_t *i2c, uint8_t device_address) {
|
void common_hal_adafruit_bus_device_i2cdevice_construct(adafruit_bus_device_i2cdevice_obj_t *self, mp_obj_t *i2c, uint8_t device_address) {
|
||||||
self->i2c = i2c;
|
self->i2c = i2c;
|
||||||
self->device_address = device_address;
|
self->device_address = device_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
void common_hal_adafruit_bus_device_i2cdevice_lock(adafruit_bus_device_i2cdevice_obj_t *self) {
|
void common_hal_adafruit_bus_device_i2cdevice_lock(adafruit_bus_device_i2cdevice_obj_t *self) {
|
||||||
bool success = common_hal_busio_i2c_try_lock(self->i2c);
|
mp_obj_t dest[2];
|
||||||
|
mp_load_method(self->i2c, MP_QSTR_try_lock, dest);
|
||||||
|
|
||||||
while (!success) {
|
mp_obj_t success = mp_call_method_n_kw(0, 0, dest);
|
||||||
|
|
||||||
|
while (!mp_obj_is_true(success)) {
|
||||||
RUN_BACKGROUND_TASKS;
|
RUN_BACKGROUND_TASKS;
|
||||||
if (mp_hal_is_interrupted()) {
|
if (mp_hal_is_interrupted()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
success = common_hal_busio_i2c_try_lock(self->i2c);
|
success = mp_call_method_n_kw(0, 0, dest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void common_hal_adafruit_bus_device_i2cdevice_unlock(adafruit_bus_device_i2cdevice_obj_t *self) {
|
void common_hal_adafruit_bus_device_i2cdevice_unlock(adafruit_bus_device_i2cdevice_obj_t *self) {
|
||||||
common_hal_busio_i2c_unlock(self->i2c);
|
mp_obj_t dest[2];
|
||||||
}
|
mp_load_method(self->i2c, MP_QSTR_unlock, dest);
|
||||||
|
mp_call_method_n_kw(0, 0, dest);
|
||||||
uint8_t common_hal_adafruit_bus_device_i2cdevice_readinto(adafruit_bus_device_i2cdevice_obj_t *self, mp_obj_t buffer, size_t length) {
|
|
||||||
return common_hal_busio_i2c_read(self->i2c, self->device_address, buffer, length);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t common_hal_adafruit_bus_device_i2cdevice_write(adafruit_bus_device_i2cdevice_obj_t *self, mp_obj_t buffer, size_t length, bool transmit_stop_bit) {
|
|
||||||
return common_hal_busio_i2c_write(self->i2c, self->device_address, buffer, length, transmit_stop_bit);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void common_hal_adafruit_bus_device_i2cdevice_probe_for_device(adafruit_bus_device_i2cdevice_obj_t *self) {
|
void common_hal_adafruit_bus_device_i2cdevice_probe_for_device(adafruit_bus_device_i2cdevice_obj_t *self) {
|
||||||
common_hal_adafruit_bus_device_i2cdevice_lock(self);
|
common_hal_adafruit_bus_device_i2cdevice_lock(self);
|
||||||
|
|
||||||
mp_buffer_info_t bufinfo;
|
mp_buffer_info_t write_bufinfo;
|
||||||
mp_obj_t buffer = mp_obj_new_bytearray_of_zeros(1);
|
mp_obj_t write_buffer = mp_obj_new_bytearray_of_zeros(0);
|
||||||
|
mp_get_buffer_raise(write_buffer, &write_bufinfo, MP_BUFFER_READ);
|
||||||
|
|
||||||
mp_get_buffer_raise(buffer, &bufinfo, MP_BUFFER_WRITE);
|
mp_obj_t dest[4];
|
||||||
|
|
||||||
uint8_t status = common_hal_adafruit_bus_device_i2cdevice_readinto(self, (uint8_t*)bufinfo.buf, 1);
|
/* catch exceptions that may be thrown while probing for the device */
|
||||||
if (status != 0) {
|
nlr_buf_t nlr;
|
||||||
|
if (nlr_push(&nlr) == 0) {
|
||||||
|
mp_load_method(self->i2c, MP_QSTR_writeto, dest);
|
||||||
|
dest[2] = mp_obj_new_int_from_ull(self->device_address);
|
||||||
|
dest[3] = write_buffer;
|
||||||
|
mp_call_method_n_kw(2, 0, dest);
|
||||||
|
nlr_pop();
|
||||||
|
} else {
|
||||||
common_hal_adafruit_bus_device_i2cdevice_unlock(self);
|
common_hal_adafruit_bus_device_i2cdevice_unlock(self);
|
||||||
mp_raise_ValueError_varg(translate("No I2C device at address: %x"), self->device_address);
|
|
||||||
|
if (mp_obj_is_subclass_fast(MP_OBJ_FROM_PTR(((mp_obj_base_t*)nlr.ret_val)->type), MP_OBJ_FROM_PTR(&mp_type_OSError))) {
|
||||||
|
mp_raise_ValueError_varg(translate("No I2C device at address: %x"), self->device_address);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* In case we receive an unrelated exception pass it up */
|
||||||
|
nlr_raise(MP_OBJ_FROM_PTR(nlr.ret_val));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
common_hal_adafruit_bus_device_i2cdevice_unlock(self);
|
common_hal_adafruit_bus_device_i2cdevice_unlock(self);
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
mp_obj_base_t base;
|
mp_obj_base_t base;
|
||||||
busio_i2c_obj_t *i2c;
|
mp_obj_t *i2c;
|
||||||
uint8_t device_address;
|
uint8_t device_address;
|
||||||
} adafruit_bus_device_i2cdevice_obj_t;
|
} adafruit_bus_device_i2cdevice_obj_t;
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user