Merge branch 'main' into uzlib-module
This commit is contained in:
commit
8ed7b114cd
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@ -72,10 +72,10 @@ jobs:
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --emit native
|
||||
working-directory: tests
|
||||
- name: mpy Tests
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --mpy-cross-flags='-mcache-lookup-bc' --via-mpy -d basics float micropython
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --via-mpy -d basics float micropython
|
||||
working-directory: tests
|
||||
- name: Native mpy Tests
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --mpy-cross-flags='-mcache-lookup-bc' --via-mpy --emit native -d basics float micropython
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --via-mpy --emit native -d basics float micropython
|
||||
working-directory: tests
|
||||
- name: Build native modules
|
||||
run: |
|
||||
|
8
.github/workflows/ports_windows.yml
vendored
8
.github/workflows/ports_windows.yml
vendored
@ -5,12 +5,14 @@ on:
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/workflows/*.yml'
|
||||
- 'tools/**'
|
||||
- 'py/**'
|
||||
- 'extmod/**'
|
||||
- 'lib/**'
|
||||
- 'mpy-cross/**'
|
||||
- 'ports/unix/**'
|
||||
- 'ports/windows/**'
|
||||
- 'py/**'
|
||||
- 'requirements*.txt'
|
||||
- 'tools/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
@ -64,7 +66,7 @@ jobs:
|
||||
pip install wheel
|
||||
# requirements_dev.txt doesn't install on windows. (with msys2 python)
|
||||
# instead, pick a subset for what we want to do
|
||||
pip install cascadetoml jinja2 typer intelhex
|
||||
pip install cascadetoml jinja2 typer click intelhex
|
||||
# check that installed packages work....?
|
||||
which python; python --version; python -c "import cascadetoml"
|
||||
which python3; python3 --version; python3 -c "import cascadetoml"
|
||||
|
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -145,8 +145,8 @@
|
||||
url = https://github.com/adafruit/Adafruit_CircuitPython_RFM69.git
|
||||
[submodule "ports/espressif/esp-idf"]
|
||||
path = ports/espressif/esp-idf
|
||||
url = https://github.com/adafruit/esp-idf.git
|
||||
branch = circuitpython-v4.4
|
||||
url = https://github.com/espressif/esp-idf.git
|
||||
branch = release/v4.4
|
||||
[submodule "ports/espressif/certificates/nina-fw"]
|
||||
path = ports/espressif/certificates/nina-fw
|
||||
url = https://github.com/adafruit/nina-fw.git
|
||||
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2021 Damien P. George
|
||||
Copyright (c) 2013-2022 Damien P. George
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -36,3 +36,9 @@ Functions
|
||||
Encode binary data in base64 format, as in `RFC 3548
|
||||
<https://tools.ietf.org/html/rfc3548.html>`_. Returns the encoded data
|
||||
followed by a newline character, as a bytes object.
|
||||
|
||||
.. function:: crc32(data, value=0, /)
|
||||
|
||||
Compute CRC-32, the 32-bit checksum of the bytes in *data* starting with an
|
||||
initial CRC of *value*. The default initial CRC is 0. The algorithm is
|
||||
consistent with the ZIP file checksum.
|
||||
|
@ -21,11 +21,11 @@ For example::
|
||||
import framebuf
|
||||
|
||||
# FrameBuffer needs 2 bytes for every RGB565 pixel
|
||||
fbuf = framebuf.FrameBuffer(bytearray(10 * 100 * 2), 10, 100, framebuf.RGB565)
|
||||
fbuf = framebuf.FrameBuffer(bytearray(100 * 10 * 2), 100, 10, framebuf.RGB565)
|
||||
|
||||
fbuf.fill(0)
|
||||
fbuf.text('MicroPython!', 0, 0, 0xffff)
|
||||
fbuf.hline(0, 10, 96, 0xffff)
|
||||
fbuf.hline(0, 9, 96, 0xffff)
|
||||
|
||||
Constructors
|
||||
------------
|
||||
|
@ -80,6 +80,14 @@ Constants
|
||||
|
||||
A mutable list of directories to search for imported modules.
|
||||
|
||||
.. admonition:: Difference to CPython
|
||||
:class: attention
|
||||
|
||||
On MicroPython, an entry with the value ``".frozen"`` will indicate that import
|
||||
should search :term:`frozen modules <frozen module>` at that point in the search.
|
||||
If no frozen module is found then search will *not* look for a directory called
|
||||
``.frozen``, instead it will continue with the next entry in ``sys.path``.
|
||||
|
||||
.. data:: platform
|
||||
|
||||
The platform that CircuitPython is running on. For OS/RTOS ports, this is
|
||||
|
@ -10,11 +10,13 @@ set(MICROPY_SOURCE_EXTMOD
|
||||
${MICROPY_EXTMOD_DIR}/machine_i2c.c
|
||||
${MICROPY_EXTMOD_DIR}/machine_mem.c
|
||||
${MICROPY_EXTMOD_DIR}/machine_pulse.c
|
||||
${MICROPY_EXTMOD_DIR}/machine_pwm.c
|
||||
${MICROPY_EXTMOD_DIR}/machine_signal.c
|
||||
${MICROPY_EXTMOD_DIR}/machine_spi.c
|
||||
${MICROPY_EXTMOD_DIR}/modbluetooth.c
|
||||
${MICROPY_EXTMOD_DIR}/modbtree.c
|
||||
${MICROPY_EXTMOD_DIR}/modframebuf.c
|
||||
${MICROPY_EXTMOD_DIR}/modnetwork.c
|
||||
${MICROPY_EXTMOD_DIR}/modonewire.c
|
||||
${MICROPY_EXTMOD_DIR}/moduasyncio.c
|
||||
${MICROPY_EXTMOD_DIR}/modubinascii.c
|
||||
@ -23,9 +25,11 @@ set(MICROPY_SOURCE_EXTMOD
|
||||
${MICROPY_EXTMOD_DIR}/moduhashlib.c
|
||||
${MICROPY_EXTMOD_DIR}/moduheapq.c
|
||||
${MICROPY_EXTMOD_DIR}/modujson.c
|
||||
${MICROPY_EXTMOD_DIR}/moduplatform.c
|
||||
${MICROPY_EXTMOD_DIR}/modurandom.c
|
||||
${MICROPY_EXTMOD_DIR}/modure.c
|
||||
${MICROPY_EXTMOD_DIR}/moduselect.c
|
||||
${MICROPY_EXTMOD_DIR}/modusocket.c
|
||||
${MICROPY_EXTMOD_DIR}/modussl_axtls.c
|
||||
${MICROPY_EXTMOD_DIR}/modussl_mbedtls.c
|
||||
${MICROPY_EXTMOD_DIR}/modutimeq.c
|
||||
|
@ -9,6 +9,8 @@
|
||||
#include "py/obj.h"
|
||||
#include "py/mphal.h"
|
||||
|
||||
#if MICROPY_PY_ONEWIRE
|
||||
|
||||
/******************************************************************************/
|
||||
// Low-level 1-Wire routines
|
||||
|
||||
@ -139,3 +141,5 @@ const mp_obj_module_t mp_module_onewire = {
|
||||
.base = { &mp_type_module },
|
||||
.globals = (mp_obj_dict_t *)&onewire_module_globals,
|
||||
};
|
||||
|
||||
#endif // MICROPY_PY_ONEWIRE
|
||||
|
@ -29,6 +29,10 @@
|
||||
#include "py/pairheap.h"
|
||||
#include "py/mphal.h"
|
||||
|
||||
#if CIRCUITPY && !(defined(__unix__) || defined(__APPLE__))
|
||||
#include "shared-bindings/supervisor/__init__.h"
|
||||
#endif
|
||||
|
||||
#if MICROPY_PY_UASYNCIO
|
||||
|
||||
// Used when task cannot be guaranteed to be non-NULL.
|
||||
@ -59,10 +63,12 @@ STATIC const mp_obj_type_t task_queue_type;
|
||||
STATIC const mp_obj_type_t task_type;
|
||||
|
||||
STATIC mp_obj_t task_queue_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args);
|
||||
STATIC mp_obj_t task_getiter(mp_obj_t self_in, mp_obj_iter_buf_t *iter_buf);
|
||||
|
||||
/******************************************************************************/
|
||||
// Ticks for task ordering in pairing heap
|
||||
|
||||
#if !CIRCUITPY || (defined(__unix__) || defined(__APPLE__))
|
||||
STATIC mp_obj_t ticks(void) {
|
||||
return MP_OBJ_NEW_SMALL_INT(mp_hal_ticks_ms() & (MICROPY_PY_UTIME_TICKS_PERIOD - 1));
|
||||
}
|
||||
@ -74,6 +80,20 @@ STATIC mp_int_t ticks_diff(mp_obj_t t1_in, mp_obj_t t0_in) {
|
||||
- MICROPY_PY_UTIME_TICKS_PERIOD / 2;
|
||||
return diff;
|
||||
}
|
||||
#else
|
||||
#define _TICKS_PERIOD (1lu << 29)
|
||||
#define _TICKS_MAX (_TICKS_PERIOD - 1)
|
||||
#define _TICKS_HALFPERIOD (_TICKS_PERIOD >> 1)
|
||||
|
||||
#define ticks() supervisor_ticks_ms()
|
||||
|
||||
STATIC mp_int_t ticks_diff(mp_obj_t t1_in, mp_obj_t t0_in) {
|
||||
mp_uint_t t0 = MP_OBJ_SMALL_INT_VALUE(t0_in);
|
||||
mp_uint_t t1 = MP_OBJ_SMALL_INT_VALUE(t1_in);
|
||||
mp_int_t diff = ((t1 - t0 + _TICKS_HALFPERIOD) & _TICKS_MAX) - _TICKS_HALFPERIOD;
|
||||
return diff;
|
||||
}
|
||||
#endif
|
||||
|
||||
STATIC int task_lt(mp_pairheap_t *n1, mp_pairheap_t *n2) {
|
||||
mp_obj_task_t *t1 = (mp_obj_task_t *)n1;
|
||||
@ -225,6 +245,11 @@ STATIC mp_obj_t task_cancel(mp_obj_t self_in) {
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(task_cancel_obj, task_cancel);
|
||||
|
||||
STATIC mp_obj_t task_await(mp_obj_t self_in) {
|
||||
return task_getiter(self_in, NULL);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(task_await_obj, task_await);
|
||||
|
||||
STATIC void task_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
|
||||
mp_obj_task_t *self = MP_OBJ_TO_PTR(self_in);
|
||||
if (dest[0] == MP_OBJ_NULL) {
|
||||
@ -243,6 +268,9 @@ STATIC void task_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
|
||||
dest[1] = self_in;
|
||||
} else if (attr == MP_QSTR_ph_key) {
|
||||
dest[0] = self->ph_key;
|
||||
} else if (attr == MP_QSTR___await__) {
|
||||
dest[0] = MP_OBJ_FROM_PTR(&task_await_obj);
|
||||
dest[1] = self_in;
|
||||
}
|
||||
} else if (dest[1] != MP_OBJ_NULL) {
|
||||
// Store
|
||||
@ -301,7 +329,11 @@ STATIC const mp_obj_type_t task_type = {
|
||||
// C-level uasyncio module
|
||||
|
||||
STATIC const mp_rom_map_elem_t mp_module_uasyncio_globals_table[] = {
|
||||
#if CIRCUITPY
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__asyncio) },
|
||||
#else
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__uasyncio) },
|
||||
#endif
|
||||
{ MP_ROM_QSTR(MP_QSTR_TaskQueue), MP_ROM_PTR(&task_queue_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Task), MP_ROM_PTR(&task_type) },
|
||||
};
|
||||
@ -312,4 +344,6 @@ const mp_obj_module_t mp_module_uasyncio = {
|
||||
.globals = (mp_obj_dict_t *)&mp_module_uasyncio_globals,
|
||||
};
|
||||
|
||||
MP_REGISTER_MODULE(MP_QSTR__asyncio, mp_module_uasyncio, MICROPY_PY_UASYNCIO);
|
||||
|
||||
#endif // MICROPY_PY_UASYNCIO
|
||||
|
146
extmod/moduplatform.c
Normal file
146
extmod/moduplatform.c
Normal file
@ -0,0 +1,146 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2013-2021 Ibrahim Abdelkader <iabdalkader@openmv.io>
|
||||
*
|
||||
* 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 "py/objtuple.h"
|
||||
#include "py/objstr.h"
|
||||
#include "py/mphal.h"
|
||||
#include "genhdr/mpversion.h"
|
||||
|
||||
#if MICROPY_PY_UPLATFORM
|
||||
|
||||
// platform - Access to underlying platform's identifying data
|
||||
|
||||
// TODO: Add more architectures, compilers and libraries.
|
||||
// See: https://sourceforge.net/p/predef/wiki/Home/
|
||||
|
||||
#if defined(__ARM_ARCH)
|
||||
#define PLATFORM_ARCH "arm"
|
||||
#elif defined(__x86_64__) || defined(_WIN64)
|
||||
#define PLATFORM_ARCH "x86_64"
|
||||
#elif defined(__i386__) || defined(_M_IX86)
|
||||
#define PLATFORM_ARCH "x86"
|
||||
#elif defined(__xtensa__) || defined(_M_IX86)
|
||||
#define PLATFORM_ARCH "xtensa"
|
||||
#else
|
||||
#define PLATFORM_ARCH ""
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define PLATFORM_COMPILER \
|
||||
"GCC " \
|
||||
MP_STRINGIFY(__GNUC__) "." \
|
||||
MP_STRINGIFY(__GNUC_MINOR__) "." \
|
||||
MP_STRINGIFY(__GNUC_PATCHLEVEL__)
|
||||
#elif defined(__ARMCC_VERSION)
|
||||
#define PLATFORM_COMPILER \
|
||||
"ARMCC " \
|
||||
MP_STRINGIFY((__ARMCC_VERSION / 1000000)) "." \
|
||||
MP_STRINGIFY((__ARMCC_VERSION / 10000 % 100)) "." \
|
||||
MP_STRINGIFY((__ARMCC_VERSION % 10000))
|
||||
#elif defined(_MSC_VER)
|
||||
#if defined(_WIN64)
|
||||
#define COMPILER_BITS "64 bit"
|
||||
#elif defined(_M_IX86)
|
||||
#define COMPILER_BITS "32 bit"
|
||||
#else
|
||||
#define COMPILER_BITS ""
|
||||
#endif
|
||||
#define PLATFORM_COMPILER \
|
||||
"MSC v." MP_STRINGIFY(_MSC_VER) " " COMPILER_BITS
|
||||
#else
|
||||
#define PLATFORM_COMPILER ""
|
||||
#endif
|
||||
|
||||
#if defined(__GLIBC__)
|
||||
#define PLATFORM_LIBC_LIB "glibc"
|
||||
#define PLATFORM_LIBC_VER \
|
||||
MP_STRINGIFY(__GLIBC__) "." \
|
||||
MP_STRINGIFY(__GLIBC_MINOR__)
|
||||
#elif defined(__NEWLIB__)
|
||||
#define PLATFORM_LIBC_LIB "newlib"
|
||||
#define PLATFORM_LIBC_VER _NEWLIB_VERSION
|
||||
#else
|
||||
#define PLATFORM_LIBC_LIB ""
|
||||
#define PLATFORM_LIBC_VER ""
|
||||
#endif
|
||||
|
||||
#if defined(__linux)
|
||||
#define PLATFORM_SYSTEM "Linux"
|
||||
#elif defined(__unix__)
|
||||
#define PLATFORM_SYSTEM "Unix"
|
||||
#elif defined(__CYGWIN__)
|
||||
#define PLATFORM_SYSTEM "Cygwin"
|
||||
#elif defined(_WIN32)
|
||||
#define PLATFORM_SYSTEM "Windows"
|
||||
#else
|
||||
#define PLATFORM_SYSTEM "MicroPython"
|
||||
#endif
|
||||
|
||||
#ifndef MICROPY_PLATFORM_VERSION
|
||||
#define MICROPY_PLATFORM_VERSION ""
|
||||
#endif
|
||||
|
||||
STATIC const MP_DEFINE_STR_OBJ(info_platform_obj, PLATFORM_SYSTEM "-" MICROPY_VERSION_STRING "-" \
|
||||
PLATFORM_ARCH "-" MICROPY_PLATFORM_VERSION "-with-" PLATFORM_LIBC_LIB "" PLATFORM_LIBC_VER);
|
||||
STATIC const MP_DEFINE_STR_OBJ(info_python_compiler_obj, PLATFORM_COMPILER);
|
||||
STATIC const MP_DEFINE_STR_OBJ(info_libc_lib_obj, PLATFORM_LIBC_LIB);
|
||||
STATIC const MP_DEFINE_STR_OBJ(info_libc_ver_obj, PLATFORM_LIBC_VER);
|
||||
STATIC const mp_rom_obj_tuple_t info_libc_tuple_obj = {
|
||||
{&mp_type_tuple}, 2, {MP_ROM_PTR(&info_libc_lib_obj), MP_ROM_PTR(&info_libc_ver_obj)}
|
||||
};
|
||||
|
||||
STATIC mp_obj_t platform_platform(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
return MP_OBJ_FROM_PTR(&info_platform_obj);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(platform_platform_obj, 0, platform_platform);
|
||||
|
||||
STATIC mp_obj_t platform_python_compiler(void) {
|
||||
return MP_OBJ_FROM_PTR(&info_python_compiler_obj);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(platform_python_compiler_obj, platform_python_compiler);
|
||||
|
||||
STATIC mp_obj_t platform_libc_ver(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
return MP_OBJ_FROM_PTR(&info_libc_tuple_obj);
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(platform_libc_ver_obj, 0, platform_libc_ver);
|
||||
|
||||
STATIC const mp_rom_map_elem_t modplatform_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_uplatform) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_platform), MP_ROM_PTR(&platform_platform_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_python_compiler), MP_ROM_PTR(&platform_python_compiler_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_libc_ver), MP_ROM_PTR(&platform_libc_ver_obj) },
|
||||
};
|
||||
|
||||
STATIC MP_DEFINE_CONST_DICT(modplatform_globals, modplatform_globals_table);
|
||||
|
||||
const mp_obj_module_t mp_module_uplatform = {
|
||||
.base = { &mp_type_module },
|
||||
.globals = (mp_obj_dict_t *)&modplatform_globals,
|
||||
};
|
||||
|
||||
#endif // MICROPY_PY_UPLATFORM
|
@ -477,11 +477,16 @@ MP_REGISTER_MODULE(MP_QSTR_re, mp_module_ure, MICROPY_PY_URE);
|
||||
// only if module is enabled by config setting.
|
||||
|
||||
#define re1_5_fatal(x) assert(!x)
|
||||
|
||||
#include "lib/re1.5/compilecode.c"
|
||||
#if MICROPY_PY_URE_DEBUG
|
||||
#include "lib/re1.5/dumpcode.c"
|
||||
#endif
|
||||
#include "lib/re1.5/recursiveloop.c"
|
||||
#include "lib/re1.5/charclass.c"
|
||||
|
||||
#if MICROPY_PY_URE_DEBUG
|
||||
// Make sure the output print statements go to the same output as other Python output.
|
||||
#define printf(...) mp_printf(&mp_plat_print, __VA_ARGS__)
|
||||
#include "lib/re1.5/dumpcode.c"
|
||||
#undef printf
|
||||
#endif
|
||||
|
||||
#endif // MICROPY_PY_URE
|
||||
|
@ -36,7 +36,7 @@ class SingletonGenerator:
|
||||
self.state = None
|
||||
self.exc = StopIteration()
|
||||
|
||||
def __iter__(self):
|
||||
def __await__(self):
|
||||
return self
|
||||
|
||||
def __next__(self):
|
||||
|
@ -66,7 +66,7 @@ async def gather(*aws, return_exceptions=False):
|
||||
# # cancel all waiting tasks
|
||||
# raise er
|
||||
ts[i] = await ts[i]
|
||||
except Exception as er:
|
||||
except (core.CancelledError, Exception) as er:
|
||||
if return_exceptions:
|
||||
ts[i] = er
|
||||
else:
|
||||
|
@ -130,7 +130,7 @@ class Task:
|
||||
self.ph_next = None # Paring heap
|
||||
self.ph_rightmost_parent = None # Paring heap
|
||||
|
||||
def __iter__(self):
|
||||
def __await__(self):
|
||||
if not self.state:
|
||||
# Task finished, signal that is has been await'ed on.
|
||||
self.state = False
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 0c7c6b88f3ec1b1d11d2f7d8b185e28ac657c06d
|
||||
Subproject commit 5d01882c41dbc4115bc94f0b61c093d5a6b812b6
|
@ -17,6 +17,8 @@
|
||||
|
||||
#ifdef _WIN32
|
||||
#define fsync _commit
|
||||
#else
|
||||
#include <poll.h>
|
||||
#endif
|
||||
|
||||
typedef struct _mp_obj_vfs_posix_file_t {
|
||||
@ -180,6 +182,32 @@ STATIC mp_uint_t vfs_posix_file_ioctl(mp_obj_t o_in, mp_uint_t request, uintptr_
|
||||
return 0;
|
||||
case MP_STREAM_GET_FILENO:
|
||||
return o->fd;
|
||||
#if MICROPY_PY_USELECT
|
||||
case MP_STREAM_POLL: {
|
||||
#ifdef _WIN32
|
||||
mp_raise_NotImplementedError(MP_ERROR_TEXT("poll on file not available on win32"));
|
||||
#else
|
||||
mp_uint_t ret = 0;
|
||||
uint8_t pollevents = 0;
|
||||
if (arg & MP_STREAM_POLL_RD) {
|
||||
pollevents |= POLLIN;
|
||||
}
|
||||
if (arg & MP_STREAM_POLL_WR) {
|
||||
pollevents |= POLLOUT;
|
||||
}
|
||||
struct pollfd pfd = { .fd = o->fd, .events = pollevents };
|
||||
if (poll(&pfd, 1, 0) > 0) {
|
||||
if (pfd.revents & POLLIN) {
|
||||
ret |= MP_STREAM_POLL_RD;
|
||||
}
|
||||
if (pfd.revents & POLLOUT) {
|
||||
ret |= MP_STREAM_POLL_WR;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
default:
|
||||
*errcode = EINVAL;
|
||||
return MP_STREAM_ERROR;
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 43b2b5261845839bb31cf2507755b1f1efa73a48
|
||||
Subproject commit a8abc3aa8dece6c4d0152b001dfca7d2c279f899
|
@ -1 +1 @@
|
||||
Subproject commit 9d78269db987df8657baea554c725a6b6be3f62c
|
||||
Subproject commit 9771c9369c7e251f514eb26abcfcea1e891e6f27
|
@ -1 +1 @@
|
||||
Subproject commit 3b09b82123a50bef6b18cf90c2734ae7581da4a3
|
||||
Subproject commit 73896a3b71c525a3ee4cefa7e35ce3b3a93786ef
|
62
locale/ID.po
62
locale/ID.po
@ -27,10 +27,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Kode berhenti oleh auto-reload.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -594,10 +592,6 @@ msgstr "Kedua pin harus mendukung hardware interrut"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "Kecerahan harus di antara 0-1.0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Brightness harus di antara 0 dan 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -698,6 +692,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Tidak dapat mengatur CCCD pada Karakteristik lokal"
|
||||
@ -1450,7 +1445,8 @@ msgstr "Pin untuk channel kanan tidak valid"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1626,6 +1622,7 @@ msgstr "Nama terlalu panjang"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "Tidak ada CCCD untuk Karakteristik ini"
|
||||
@ -2193,7 +2190,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2445,6 +2441,10 @@ msgstr "Tidak dapat memulai parser"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "Tidak dapat membaca data palet warna"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Tidak dapat menulis ke nvm."
|
||||
@ -2482,6 +2482,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "Kesalahan gatt tidak dikenal: 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "Alasan yang tidak diketahui."
|
||||
@ -2923,6 +2924,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2985,10 +2990,6 @@ msgstr ""
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "tidak dapat melakukan relative import"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3663,6 +3664,14 @@ msgstr ""
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3679,7 +3688,7 @@ msgstr ""
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4061,6 +4070,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4099,6 +4112,7 @@ msgstr ""
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4106,10 +4120,13 @@ msgstr ""
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4121,6 +4138,10 @@ msgstr ""
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4692,6 +4713,19 @@ msgstr "zi harus berjenis float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "Zi harus berbentuk (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Kode berhenti oleh auto-reload.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "Brightness harus di antara 0 dan 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "tidak dapat melakukan relative import"
|
||||
|
||||
#~ msgid "Unsupported pull value."
|
||||
#~ msgstr "Nilai tarikan yang tidak didukung."
|
||||
|
||||
|
@ -25,7 +25,7 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
@ -584,10 +584,6 @@ msgstr ""
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -688,6 +684,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1429,7 +1426,8 @@ msgstr ""
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1605,6 +1603,7 @@ msgstr ""
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2158,7 +2157,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2410,6 +2408,10 @@ msgstr ""
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr ""
|
||||
@ -2447,6 +2449,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2886,6 +2889,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2948,10 +2955,6 @@ msgstr ""
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3626,6 +3629,14 @@ msgstr ""
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3642,7 +3653,7 @@ msgstr ""
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4023,6 +4034,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4061,6 +4076,7 @@ msgstr ""
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4068,10 +4084,13 @@ msgstr ""
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4083,6 +4102,10 @@ msgstr ""
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
|
56
locale/cs.po
56
locale/cs.po
@ -27,10 +27,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Program byl zastaven automatickým načtením.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -593,10 +591,6 @@ msgstr ""
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -697,6 +691,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1438,7 +1433,8 @@ msgstr ""
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1614,6 +1610,7 @@ msgstr ""
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2169,7 +2166,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2421,6 +2417,10 @@ msgstr ""
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr ""
|
||||
@ -2458,6 +2458,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2897,6 +2898,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2959,10 +2964,6 @@ msgstr ""
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3637,6 +3638,14 @@ msgstr ""
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3653,7 +3662,7 @@ msgstr ""
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4034,6 +4043,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4072,6 +4085,7 @@ msgstr ""
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4079,10 +4093,13 @@ msgstr ""
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4094,6 +4111,10 @@ msgstr ""
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4665,6 +4686,13 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Program byl zastaven automatickým načtením.\n"
|
||||
|
||||
#~ msgid "%q list must be a list"
|
||||
#~ msgstr "Seznam %q musí být seznam"
|
||||
|
||||
|
685
locale/de_DE.po
685
locale/de_DE.po
File diff suppressed because it is too large
Load Diff
47
locale/el.po
47
locale/el.po
@ -25,7 +25,7 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
@ -584,10 +584,6 @@ msgstr ""
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -688,6 +684,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1429,7 +1426,8 @@ msgstr ""
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1605,6 +1603,7 @@ msgstr ""
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2158,7 +2157,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2410,6 +2408,10 @@ msgstr ""
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr ""
|
||||
@ -2447,6 +2449,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2886,6 +2889,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2948,10 +2955,6 @@ msgstr ""
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3626,6 +3629,14 @@ msgstr ""
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3642,7 +3653,7 @@ msgstr ""
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4023,6 +4034,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4061,6 +4076,7 @@ msgstr ""
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4068,10 +4084,13 @@ msgstr ""
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4083,6 +4102,10 @@ msgstr ""
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
|
@ -28,10 +28,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -595,10 +593,6 @@ msgstr "Both pins must support hardware interrupts"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "Brightness must be 0-1.0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Brightness must be between 0 and 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -699,6 +693,7 @@ msgstr "Can only alarm on one low pin while others alarm high from deep sleep."
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr "Can only alarm on two low pins from deep sleep."
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Can't set CCCD on local Characteristic"
|
||||
@ -1444,7 +1439,8 @@ msgstr "Invalid pin for right channel"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1620,6 +1616,7 @@ msgstr "Name too long"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "No CCCD for this Characteristic"
|
||||
@ -2182,7 +2179,6 @@ msgstr "Side set pin count must be between 1 and 5"
|
||||
msgid "Size not supported"
|
||||
msgstr "Size not supported"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "Sleep Memory not available"
|
||||
@ -2441,6 +2437,10 @@ msgstr "Unable to init parser"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "Unable to read colour palette data"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Unable to write to nvm."
|
||||
@ -2478,6 +2478,7 @@ msgstr "Unknown failure %d"
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "Unknown gatt error: 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "Unknown reason."
|
||||
@ -2920,6 +2921,10 @@ msgstr "can't load from '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "can't load with '%q' index"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr "can't send non-None value to a just-started generator"
|
||||
@ -2984,10 +2989,6 @@ msgstr "can't create instance"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "can't import name %q"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "can't perform relative import"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr "cannot unambiguously get sizeof scalar"
|
||||
@ -3663,6 +3664,14 @@ msgstr "long int not supported in this build"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr "loopback + silent mode not supported by peripheral"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "malformed f-string"
|
||||
@ -3679,7 +3688,7 @@ msgstr "math domain error"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr "matrix is not positive definite"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4060,6 +4069,10 @@ msgstr "pixel value requires too many bits"
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr "polygon can only be registered in one parent"
|
||||
@ -4098,6 +4111,7 @@ msgstr "pow() with 3 arguments requires integers"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4105,10 +4119,13 @@ msgstr "pow() with 3 arguments requires integers"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4120,6 +4137,10 @@ msgstr "pow() with 3 arguments requires integers"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4693,6 +4714,19 @@ msgstr "zi must be of float type"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi must be of shape (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "Brightness must be between 0 and 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "can't perform relative import"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "No I2C device at address: %x"
|
||||
#~ msgstr "No I2C device at address: %x"
|
||||
|
62
locale/es.po
62
locale/es.po
@ -29,10 +29,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"El código fue detenido por el auto-reiniciado.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -599,10 +597,6 @@ msgstr "Ambos pines deben soportar interrupciones por hardware"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "El brillo debe ser 0-1.0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "El brillo debe estar entro 0 y 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -706,6 +700,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr "Solo puede alerta en dos low pines viniendo de deep sleep."
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "No se puede configurar CCCD en la característica local"
|
||||
@ -1462,7 +1457,8 @@ msgstr "Pin inválido para canal derecho"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1642,6 +1638,7 @@ msgstr "Nombre muy largo"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "No hay CCCD para esta característica"
|
||||
@ -2210,7 +2207,6 @@ msgstr "El conteo de pines de Side set debe estar entre 1 y 5"
|
||||
msgid "Size not supported"
|
||||
msgstr "Sin capacidades para el tamaño"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "Memoria de sueño no disponible"
|
||||
@ -2472,6 +2468,10 @@ msgstr "Incapaz de inicializar el parser"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "No se pudo leer los datos de la paleta de colores"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Imposible escribir en nvm."
|
||||
@ -2509,6 +2509,7 @@ msgstr "Fallo desconocido %d"
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "Error de gatt desconocido: 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "Razón desconocida."
|
||||
@ -2955,6 +2956,10 @@ msgstr "no se puede cargar desde '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "no se puede cargar con el índice '%q'"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -3022,10 +3027,6 @@ msgstr "no se puede crear instancia"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "no se puede importar name '%q'"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "no se puedo realizar importación relativa"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr "no se puede sin ambiguedades traer el sizeof del escalar"
|
||||
@ -3705,6 +3706,14 @@ msgstr "long int no soportado en esta compilación"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr "Loopback + modo silencioso no están soportados por periférico"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "cadena-f mal formada"
|
||||
@ -3721,7 +3730,7 @@ msgstr "error de dominio matemático"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr "matrix no es definida positiva"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4106,6 +4115,10 @@ msgstr "valor del pixel require demasiado bits"
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader debe ser displayio.Palette o displayio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr "el polígono solo se puede registrar en uno de los padres"
|
||||
@ -4144,6 +4157,7 @@ msgstr "pow() con 3 argumentos requiere enteros"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4151,10 +4165,13 @@ msgstr "pow() con 3 argumentos requiere enteros"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4166,6 +4183,10 @@ msgstr "pow() con 3 argumentos requiere enteros"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4740,6 +4761,19 @@ msgstr "zi debe ser de tipo flotante"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi debe ser una forma (n_section,2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "El código fue detenido por el auto-reiniciado.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "El brillo debe estar entro 0 y 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "no se puedo realizar importación relativa"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "No I2C device at address: %x"
|
||||
#~ msgstr "No hay dispositivo I2C en la dirección: %x"
|
||||
|
@ -26,7 +26,7 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
@ -591,10 +591,6 @@ msgstr "Ang parehong mga pin ay dapat na sumusuporta sa hardware interrupts"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Ang liwanag ay dapat sa gitna ng 0 o 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -696,6 +692,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1444,7 +1441,8 @@ msgstr "Mali ang pin para sa kanang channel"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1620,6 +1618,7 @@ msgstr ""
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2178,7 +2177,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2430,6 +2428,10 @@ msgstr "Hindi ma-init ang parser"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Hindi ma i-sulat sa NVM."
|
||||
@ -2468,6 +2470,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2911,6 +2914,10 @@ msgstr "hidi ma i-load galing sa '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "hindi ma i-load gamit ng '%q' na index"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr "hindi mapadala ang non-None value sa isang kaka umpisang generator"
|
||||
@ -2977,10 +2984,6 @@ msgstr "hindi magawa ang instance"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "hindi ma-import ang name %q"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "hindi maaring isagawa ang relative import"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3665,6 +3668,14 @@ msgstr "long int hindi sinusuportahan sa build na ito"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3681,7 +3692,7 @@ msgstr "may pagkakamali sa math domain"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4064,6 +4075,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader ay dapat displayio.Palette o displayio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4102,6 +4117,7 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4109,10 +4125,13 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4124,6 +4143,10 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4701,6 +4724,12 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "Ang liwanag ay dapat sa gitna ng 0 o 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "hindi maaring isagawa ang relative import"
|
||||
|
||||
#~ msgid "Unsupported pull value."
|
||||
#~ msgstr "Hindi suportado ang pull value."
|
||||
|
||||
|
62
locale/fr.po
62
locale/fr.po
@ -28,10 +28,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Exécution du code arrêté par l'auto-rechargement.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -601,10 +599,6 @@ msgstr "Les deux broches doivent supporter les interruptions matérielles"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "La luminosité doit être de 0 à 1.0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "La luminosité doit être entre 0 et 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -709,6 +703,7 @@ msgstr ""
|
||||
"L'alarme peut seulement être sur deux broches basses depuis le someil "
|
||||
"profond."
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Impossible de définir CCCD sur une caractéristique locale"
|
||||
@ -1475,7 +1470,8 @@ msgstr "Broche invalide pour le canal droit"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1653,6 +1649,7 @@ msgstr "Nom trop long"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "Pas de CCCD pour cette caractéristique"
|
||||
@ -2222,7 +2219,6 @@ msgstr "Nombre de broches Side configurées doit être entre 1 et 5"
|
||||
msgid "Size not supported"
|
||||
msgstr "Taille n'est pas supportée"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "La mémoire de sommeil n'est pas disponible"
|
||||
@ -2488,6 +2484,10 @@ msgstr "Impossible d'initialiser le parser"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "Impossible de lire les données de la palette de couleurs"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Écriture impossible vers nvm."
|
||||
@ -2525,6 +2525,7 @@ msgstr "Échec inconnu %d"
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "Erreur gatt inconnue : 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "Raison inconnue."
|
||||
@ -2979,6 +2980,10 @@ msgstr "impossible de charger depuis '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "impossible de charger avec l'indice '%q'"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -3047,10 +3052,6 @@ msgstr "ne peut pas créer une instance"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "ne peut pas importer le nom %q"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "ne peut pas réaliser un import relatif"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr "ne peut récupérer sans ambigüité le sizeof d'un scalaire"
|
||||
@ -3735,6 +3736,14 @@ msgstr "entiers longs non supportés dans cette build"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr "loopback + silent mode non pris en charge par le périphérique"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "f-string mal formé"
|
||||
@ -3751,7 +3760,7 @@ msgstr "erreur de domaine math"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr "la matrice n'est pas définie positive"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4137,6 +4146,10 @@ msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
"pixel_shader doit être un objet displayio.Palette ou displayio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr "le polygone ne peut être enregistré que dans un parent"
|
||||
@ -4175,6 +4188,7 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4182,10 +4196,13 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4197,6 +4214,10 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4771,6 +4792,19 @@ msgstr "zi doit être de type float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi doit être de forme (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Exécution du code arrêté par l'auto-rechargement.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "La luminosité doit être entre 0 et 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "ne peut pas réaliser un import relatif"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "No I2C device at address: %x"
|
||||
#~ msgstr "Pas de dispositif I2C à l'adresse : %x"
|
||||
|
47
locale/hi.po
47
locale/hi.po
@ -25,7 +25,7 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
@ -584,10 +584,6 @@ msgstr ""
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -688,6 +684,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1429,7 +1426,8 @@ msgstr ""
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1605,6 +1603,7 @@ msgstr ""
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2158,7 +2157,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2410,6 +2408,10 @@ msgstr ""
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr ""
|
||||
@ -2447,6 +2449,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2886,6 +2889,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2948,10 +2955,6 @@ msgstr ""
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3626,6 +3629,14 @@ msgstr ""
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3642,7 +3653,7 @@ msgstr ""
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4023,6 +4034,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4061,6 +4076,7 @@ msgstr ""
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4068,10 +4084,13 @@ msgstr ""
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4083,6 +4102,10 @@ msgstr ""
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
|
@ -28,10 +28,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Codice fermato dall'auto-ricarica.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -599,10 +597,6 @@ msgstr "Entrambi i pin devono supportare gli interrupt hardware"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "La luminosità deve essere tra 0-1.0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "La luminosità deve essere compresa tra 0 e 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -703,6 +697,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1453,7 +1448,8 @@ msgstr "Pin non valido per il canale destro"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1631,6 +1627,7 @@ msgstr ""
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2197,7 +2194,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2449,6 +2445,10 @@ msgstr "Inizilizzazione del parser non possibile"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Imposibile scrivere su nvm."
|
||||
@ -2487,6 +2487,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2931,6 +2932,10 @@ msgstr "impossibile caricare da '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "impossibile caricare con indice '%q'"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2993,10 +2998,6 @@ msgstr "impossibile creare un istanza"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "impossibile imporate il nome %q"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "impossibile effettuare l'importazione relativa"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3683,6 +3684,14 @@ msgstr "long int non supportata in questa build"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3699,7 +3708,7 @@ msgstr "errore di dominio matematico"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4086,6 +4095,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader deve essere displayio.Palette o displayio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4124,6 +4137,7 @@ msgstr "pow() con 3 argomenti richiede interi"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4131,10 +4145,13 @@ msgstr "pow() con 3 argomenti richiede interi"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4146,6 +4163,10 @@ msgstr "pow() con 3 argomenti richiede interi"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4723,6 +4744,19 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Codice fermato dall'auto-ricarica.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "La luminosità deve essere compresa tra 0 e 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "impossibile effettuare l'importazione relativa"
|
||||
|
||||
#~ msgid "Unsupported pull value."
|
||||
#~ msgstr "Valore di pull non supportato."
|
||||
|
||||
|
53
locale/ja.po
53
locale/ja.po
@ -27,7 +27,7 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
@ -591,10 +591,6 @@ msgstr "両方のピンにハードウェア割り込み対応が必要"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "brightnessは0から1.0まででなければなりません"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Brightnessは0から255の間でなければなりません"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -697,6 +693,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "ローカルのCharacteristicにはCCCDを設定できません"
|
||||
@ -1440,7 +1437,8 @@ msgstr "右チャネルのピンが不正"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1616,6 +1614,7 @@ msgstr "名前が長すぎます"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2172,7 +2171,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr "サイズは対応していません"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2425,6 +2423,10 @@ msgstr "パーザを初期化できません"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "カラーパレットデータを読み込めません"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "nvmに書き込みできません"
|
||||
@ -2462,6 +2464,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "不明なGATTエラー: 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "理由不明"
|
||||
@ -2901,6 +2904,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2963,10 +2970,6 @@ msgstr "インスタンスを作れません"
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "相対インポートはできません"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3646,6 +3649,14 @@ msgstr "このビルドはlong intに非対応"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "不正な形式のf-string"
|
||||
@ -3662,7 +3673,7 @@ msgstr "定義域エラー"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr "正定値行列ではありません"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4045,6 +4056,10 @@ msgstr ""
|
||||
"pixel_shaderはdisplayio.Paletteかdisplayio.ColorConverterのどちらかでなければ"
|
||||
"なりません"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4083,6 +4098,7 @@ msgstr "pow()の第3引数には整数が必要"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4090,10 +4106,13 @@ msgstr "pow()の第3引数には整数が必要"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4105,6 +4124,10 @@ msgstr "pow()の第3引数には整数が必要"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4677,6 +4700,12 @@ msgstr "ziはfloat値でなければなりません"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "Brightnessは0から255の間でなければなりません"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "相対インポートはできません"
|
||||
|
||||
#~ msgid "Unsupported pull value."
|
||||
#~ msgstr "非対応のpull値"
|
||||
|
||||
|
50
locale/ko.po
50
locale/ko.po
@ -26,7 +26,7 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
@ -587,10 +587,6 @@ msgstr ""
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "밝기는 0에서 255 사이 여야합니다"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -691,6 +687,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1432,7 +1429,8 @@ msgstr "오른쪽 채널 핀이 잘못되었습니다"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1608,6 +1606,7 @@ msgstr ""
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2161,7 +2160,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2414,6 +2412,10 @@ msgstr "파서를 초기화(init) 할 수 없습니다"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr ""
|
||||
@ -2451,6 +2453,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2890,6 +2893,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2952,10 +2959,6 @@ msgstr ""
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3630,6 +3633,14 @@ msgstr ""
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3646,7 +3657,7 @@ msgstr ""
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4027,6 +4038,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4065,6 +4080,7 @@ msgstr ""
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4072,10 +4088,13 @@ msgstr ""
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4087,6 +4106,10 @@ msgstr ""
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4658,6 +4681,9 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "밝기는 0에서 255 사이 여야합니다"
|
||||
|
||||
#~ msgid "integer required"
|
||||
#~ msgstr "정수가 필요합니다"
|
||||
|
||||
|
53
locale/nl.po
53
locale/nl.po
@ -25,7 +25,7 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
@ -589,10 +589,6 @@ msgstr "Beide pinnen moeten hardware interrupts ondersteunen"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "Helderheid moet tussen de 0 en 1.0 liggen"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Helderheid moet tussen de 0 en 255 liggen"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -693,6 +689,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Kan CCCD niet toewijzen aan lokaal Characteristic"
|
||||
@ -1441,7 +1438,8 @@ msgstr "Ongeldige pin voor rechter kanaal"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1617,6 +1615,7 @@ msgstr "Naam te lang"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "Geen CCCD voor deze Characteristic"
|
||||
@ -2184,7 +2183,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr "Afmeting niet ondersteund"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2436,6 +2434,10 @@ msgstr "Niet in staat om de parser te initialiseren"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "Niet in staat kleurenpalet data te lezen"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Niet in staat om naar nvm te schrijven."
|
||||
@ -2473,6 +2475,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "Onbekende gatt fout: 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "Onbekende reden."
|
||||
@ -2919,6 +2922,10 @@ msgstr "kan niet laden van '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "kan niet met '%q' index laden"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr "kan geen niet-'None' waarde naar een net gestartte generator sturen"
|
||||
@ -2981,10 +2988,6 @@ msgstr "kan geen instantie creëren"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "kan naam %q niet importeren"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "kan geen relatieve import uitvoeren"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3666,6 +3669,14 @@ msgstr "long int wordt niet ondersteund in deze build"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr "loopback + silent mode wordt niet ondersteund door randapparaat"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "onjuist gevormde f-string"
|
||||
@ -3682,7 +3693,7 @@ msgstr "fout in het wiskundig domein (math domain error)"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr "matrix is niet positief-definiet"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4063,6 +4074,10 @@ msgstr "pixel waarde vereist te veel bits"
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader moet displayio.Palette of displayio.ColorConverter zijn"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4102,6 +4117,7 @@ msgstr "pow() met 3 argumenten vereist integers"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4109,10 +4125,13 @@ msgstr "pow() met 3 argumenten vereist integers"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4124,6 +4143,10 @@ msgstr "pow() met 3 argumenten vereist integers"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4697,6 +4720,12 @@ msgstr "zi moet van type float zijn"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi moet vorm (n_section, 2) hebben"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "Helderheid moet tussen de 0 en 255 liggen"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "kan geen relatieve import uitvoeren"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "No I2C device at address: %x"
|
||||
#~ msgstr "Geen I2C-apparaat op adres: %x"
|
||||
|
53
locale/pl.po
53
locale/pl.po
@ -27,7 +27,7 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
@ -591,10 +591,6 @@ msgstr "Obie nóżki muszą wspierać przerwania sprzętowe"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "Jasność musi wynosić 0-1,0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Jasność musi być pomiędzy 0 a 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -695,6 +691,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1440,7 +1437,8 @@ msgstr "Zła nóżka dla prawego kanału"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1616,6 +1614,7 @@ msgstr "Za długa nazwa"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2169,7 +2168,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2421,6 +2419,10 @@ msgstr "Błąd ustawienia parsera"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "Nie można odczytać danych palety"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Błąd zapisu do NVM."
|
||||
@ -2458,6 +2460,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2897,6 +2900,10 @@ msgstr "nie można ładować z '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "nie można ładować z indeksem '%q'"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr "świeżo stworzony generator może tylko przyjąć None"
|
||||
@ -2959,10 +2966,6 @@ msgstr "nie można stworzyć instancji"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "nie można zaimportować nazwy %q"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "nie można wykonać relatywnego importu"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3638,6 +3641,14 @@ msgstr "long int jest nieobsługiwany"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "źle sformatowany f-string"
|
||||
@ -3654,7 +3665,7 @@ msgstr "błąd domeny"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4036,6 +4047,10 @@ msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
"pixel_shader musi być typu displayio.Palette lub dispalyio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4074,6 +4089,7 @@ msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4081,10 +4097,13 @@ msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4096,6 +4115,10 @@ msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4668,6 +4691,12 @@ msgstr ""
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "Jasność musi być pomiędzy 0 a 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "nie można wykonać relatywnego importu"
|
||||
|
||||
#~ msgid "Unsupported pull value."
|
||||
#~ msgstr "Zła wartość podciągnięcia."
|
||||
|
||||
|
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-02-15 18:42+0000\n"
|
||||
"PO-Revision-Date: 2022-03-21 22:57+0000\n"
|
||||
"Last-Translator: Wellington Terumi Uemura <wellingtonuemura@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: pt_BR\n"
|
||||
@ -14,7 +14,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -27,10 +27,10 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"O código parou através do auto-reload.\n"
|
||||
"O código parou pela recarga automática. Recarregando em breve.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -604,10 +604,6 @@ msgstr "Ambos os pinos devem suportar interrupções de hardware"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "O brilho deve ser 0-1,0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "O brilho deve estar entre 0 e 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -711,6 +707,7 @@ msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
"O alarme só é possível nos dois pinos com sinal baixo a partir do deep sleep."
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Não é possível definir o CCCD com a característica local"
|
||||
@ -1466,7 +1463,8 @@ msgstr "Pino inválido para canal direito"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1642,6 +1640,7 @@ msgstr "Nome muito longo"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr "Ágil fora da memória"
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "Não há nenhum CCCD para esta característica"
|
||||
@ -2215,7 +2214,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr "O tamanho não é suportado"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "Sleep memory não está disponível"
|
||||
@ -2481,6 +2479,10 @@ msgstr "Não foi possível iniciar o analisador"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "Não foi possível ler os dados da paleta de cores"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr "Não é possível iniciar a consulta mDNS"
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Não é possível gravar no nvm."
|
||||
@ -2501,12 +2503,12 @@ msgstr "Erro não tratado do ESP TLS %d %d %x %d"
|
||||
#: ports/espressif/common-hal/_bleio/__init__.c
|
||||
#, c-format
|
||||
msgid "Unknown BLE error at %s:%d: %d"
|
||||
msgstr ""
|
||||
msgstr "Houve um erro BLE desconhecido em %s:%d: %d"
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/__init__.c
|
||||
#, c-format
|
||||
msgid "Unknown BLE error: %d"
|
||||
msgstr ""
|
||||
msgstr "Houve um erro BLE desconhecido: %d"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#, c-format
|
||||
@ -2518,6 +2520,7 @@ msgstr "Falha desconhecida %d"
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "Erro gatt desconhecido: 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "Motivo desconhecido."
|
||||
@ -2970,6 +2973,10 @@ msgstr "não é possível carregar a partir de '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "não é possível carregar com o índice '%q'"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr "não é possível realizar a importação relativa"
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -3036,10 +3043,6 @@ msgstr "não é possível criar instância"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "não pode importar nome %q"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "não pode executar a importação relativa"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr "Não é possível obter de forma inequívoca a escala do sizeof"
|
||||
@ -3723,6 +3726,14 @@ msgstr "o long int não é suportado nesta compilação"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr "o loopback + o modo silencioso não é suportado pelo periférico"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr "O mDNS já foi inicializado"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr "O mDNS só funciona com WiFi integrado"
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "f-string malformado"
|
||||
@ -3739,7 +3750,7 @@ msgstr "erro de domínio matemático"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr "a matriz não é definitiva positiva"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr "max_connections deve estar entre 0 e 10"
|
||||
|
||||
@ -4127,6 +4138,10 @@ msgstr "o valor do pixel requer bits demais"
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "o pixel_shader deve ser displayio.Palette ou displayio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr "a sondagem no arquivo não está disponível no win32"
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr "o polígono só pode ser registrado em um pai"
|
||||
@ -4165,6 +4180,7 @@ msgstr "o pow() com 3 argumentos requer números inteiros"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4172,10 +4188,13 @@ msgstr "o pow() com 3 argumentos requer números inteiros"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4187,6 +4206,10 @@ msgstr "o pow() com 3 argumentos requer números inteiros"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4760,6 +4783,19 @@ msgstr "zi deve ser de um tipo float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi deve estar na forma (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "O código parou através do auto-reload.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "O brilho deve estar entre 0 e 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "não pode executar a importação relativa"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "No I2C device at address: %x"
|
||||
#~ msgstr "Nenhum dispositivo I2C no endereço: %x"
|
||||
|
59
locale/ru.po
59
locale/ru.po
@ -29,10 +29,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Программа остановлена автоматической перезагрузкой.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -600,10 +598,6 @@ msgstr "Оба пина должны поддерживать аппаратны
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "Яркость должна быть в диапазоне от 0 до 1.0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Яркость должна быть в диапазоне от 0 до 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -708,6 +702,7 @@ msgstr ""
|
||||
"Сигнал из глубокого сна может подаваться только на двух пинах по низкому "
|
||||
"уровню."
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Невозможно установить CCCD на локальную Characteristic"
|
||||
@ -1467,7 +1462,8 @@ msgstr "Недопустимый пин для правого канала"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1644,6 +1640,7 @@ msgstr "Имя слишком длинное"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "Нет CCCD для этой Characteristic"
|
||||
@ -2207,7 +2204,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2461,6 +2457,10 @@ msgstr ""
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr ""
|
||||
@ -2498,6 +2498,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2937,6 +2938,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2999,10 +3004,6 @@ msgstr ""
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3677,6 +3678,14 @@ msgstr ""
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3693,7 +3702,7 @@ msgstr ""
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4074,6 +4083,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4112,6 +4125,7 @@ msgstr ""
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4119,10 +4133,13 @@ msgstr ""
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4134,6 +4151,10 @@ msgstr ""
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4705,6 +4726,16 @@ msgstr "zi должно быть типа float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi должен иметь форму (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Программа остановлена автоматической перезагрузкой.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "Яркость должна быть в диапазоне от 0 до 255"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "No I2C device at address: %x"
|
||||
#~ msgstr "Нет устройства I2C по адресу: %x"
|
||||
|
70
locale/sv.po
70
locale/sv.po
@ -6,7 +6,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2022-02-15 03:38+0000\n"
|
||||
"PO-Revision-Date: 2022-03-23 08:58+0000\n"
|
||||
"Last-Translator: Jonny Bergdahl <jonny@bergdahl.it>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: sv\n"
|
||||
@ -14,7 +14,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.11-dev\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
@ -27,10 +27,10 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Koden stoppades av auto-omladdning.\n"
|
||||
"Koden stoppades av automatisk laddning. Omladdning sker strax.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -594,10 +594,6 @@ msgstr "Båda pinnarna måste stödja maskinvaruavbrott"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "Ljusstyrkan måste vara mellan 0 och 1,0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "Ljusstyrka måste vara mellan 0 och 255"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -699,6 +695,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr "Kan bara larma från djup sömn på två låga pinnar."
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Kan inte ställa in CCCD på lokal karaktäristik"
|
||||
@ -1448,7 +1445,8 @@ msgstr "Ogiltig pinne för höger kanal"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1625,6 +1623,7 @@ msgstr "Name är för långt"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr "Nimble har inget minne kvar"
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "Ingen CCCD för denna karaktäristik"
|
||||
@ -2190,7 +2189,6 @@ msgstr "Sido-setets antal pinnar måste vara mellan 1 och 5"
|
||||
msgid "Size not supported"
|
||||
msgstr "Storleken stöds inte"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "Sömnminne inte tillgängligt"
|
||||
@ -2452,6 +2450,10 @@ msgstr "Kan inte initiera tolken"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "Det går inte att läsa färgpalettdata"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr "Det gick inte att starta mDNS-frågan"
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Det gick inte att skriva till nvm."
|
||||
@ -2472,12 +2474,12 @@ msgstr "Ej hanterat ESP TLS-fel %d %d %x %d"
|
||||
#: ports/espressif/common-hal/_bleio/__init__.c
|
||||
#, c-format
|
||||
msgid "Unknown BLE error at %s:%d: %d"
|
||||
msgstr ""
|
||||
msgstr "Okänt BLE-fel vid %s:%d: %d"
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/__init__.c
|
||||
#, c-format
|
||||
msgid "Unknown BLE error: %d"
|
||||
msgstr ""
|
||||
msgstr "Okänt BLE-fel: %d"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#, c-format
|
||||
@ -2489,6 +2491,7 @@ msgstr "Okänt fel %d"
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "Okänt gatt-fel: 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "Okänd anledning."
|
||||
@ -2938,6 +2941,10 @@ msgstr "kan inte ladda från '%q'"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "kan inte ladda med '%q' index"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr "kan inte utföra relativ import"
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr "kan inte skicka icke-None värde till nystartad generator"
|
||||
@ -3002,10 +3009,6 @@ msgstr "kan inte skapa instans"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "kan inte importera namn %q"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "kan inte utföra relativ import"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr "Kan inte entydigt få sizeof scalar"
|
||||
@ -3686,6 +3689,14 @@ msgstr "long int stöds inte i denna build"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr "loopback + tyst läge stöds inte av kringutrustning"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr "mDNS har redan initierats"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr "mDNS fungerar bara med inbyggt WiFi"
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "f-sträng har felaktigt format"
|
||||
@ -3702,7 +3713,7 @@ msgstr "matematikdomänfel"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr "matrisen är inte positiv bestämd"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr "max_connections måste vara mellan 0 och 10"
|
||||
|
||||
@ -4084,6 +4095,10 @@ msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
"pixel_shader måste vara displayio.Palette eller displayio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr "filbevakning är inte tillgänglig på win32"
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr "polygon kan endast registreras i en förälder"
|
||||
@ -4122,6 +4137,7 @@ msgstr "pow() med 3 argument kräver heltal"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4129,10 +4145,13 @@ msgstr "pow() med 3 argument kräver heltal"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4144,6 +4163,10 @@ msgstr "pow() med 3 argument kräver heltal"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4717,6 +4740,19 @@ msgstr "zi måste vara av typ float"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi måste vara i formen (n_section, 2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Koden stoppades av auto-omladdning.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "Ljusstyrka måste vara mellan 0 och 255"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "kan inte utföra relativ import"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "No I2C device at address: %x"
|
||||
#~ msgstr "Ingen I2C-enhet på adress: %x"
|
||||
|
56
locale/tr.po
56
locale/tr.po
@ -28,10 +28,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Program otomatik yeniden yükleme tarafından sonlandırıldı.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -599,10 +597,6 @@ msgstr ""
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -703,6 +697,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr ""
|
||||
@ -1444,7 +1439,8 @@ msgstr ""
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1620,6 +1616,7 @@ msgstr ""
|
||||
msgid "Nimble out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr ""
|
||||
@ -2176,7 +2173,6 @@ msgstr ""
|
||||
msgid "Size not supported"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
@ -2428,6 +2424,10 @@ msgstr ""
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr ""
|
||||
@ -2465,6 +2465,7 @@ msgstr ""
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr ""
|
||||
@ -2904,6 +2905,10 @@ msgstr ""
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr ""
|
||||
@ -2966,10 +2971,6 @@ msgstr ""
|
||||
msgid "cannot import name %q"
|
||||
msgstr ""
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr ""
|
||||
@ -3644,6 +3645,14 @@ msgstr ""
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr ""
|
||||
@ -3660,7 +3669,7 @@ msgstr ""
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4041,6 +4050,10 @@ msgstr ""
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr ""
|
||||
@ -4079,6 +4092,7 @@ msgstr ""
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4086,10 +4100,13 @@ msgstr ""
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4101,6 +4118,10 @@ msgstr ""
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4671,3 +4692,10 @@ msgstr ""
|
||||
#: extmod/ulab/code/scipy/signal/signal.c
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "Program otomatik yeniden yükleme tarafından sonlandırıldı.\n"
|
||||
|
@ -28,10 +28,8 @@ msgstr ""
|
||||
#: main.c
|
||||
msgid ""
|
||||
"\n"
|
||||
"Code stopped by auto-reload.\n"
|
||||
"Code stopped by auto-reload. Reloading soon.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"dàimǎ de yùnxíng yīnwéi zìdòng chóngxīn jiāzǎi ér tíngzhǐ.\n"
|
||||
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid ""
|
||||
@ -601,10 +599,6 @@ msgstr "liǎnggè yǐnjiǎo dōu bìxū zhīchí yìngjiàn zhōngduàn"
|
||||
msgid "Brightness must be 0-1.0"
|
||||
msgstr "Liàngdù bìxū wèi 0-1.0"
|
||||
|
||||
#: shared-bindings/supervisor/__init__.c
|
||||
msgid "Brightness must be between 0 and 255"
|
||||
msgstr "liàngdù bìxū jièyú 0 dào 255 zhījiān"
|
||||
|
||||
#: shared-bindings/displayio/Display.c
|
||||
#: shared-bindings/framebufferio/FramebufferDisplay.c
|
||||
msgid "Brightness not adjustable"
|
||||
@ -710,6 +704,7 @@ msgstr ""
|
||||
msgid "Can only alarm on two low pins from deep sleep."
|
||||
msgstr "zhǐ néng cóng shēn dù shuì mián zhōng bào jǐng liǎng gè dī yǐn jiǎo."
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "Can't set CCCD on local Characteristic"
|
||||
msgstr "Wúfǎ jiāng CCCD shèzhì wéi běndì tèzhēng"
|
||||
@ -1462,7 +1457,8 @@ msgstr "Yòuxián tōngdào yǐn jiǎo wúxiào"
|
||||
#: ports/espressif/common-hal/canio/CAN.c
|
||||
#: ports/espressif/common-hal/i2cperipheral/I2CPeripheral.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/mimxrt10xx/common-hal/busio/SPI.c
|
||||
#: ports/mimxrt10xx/common-hal/usb_host/Port.c ports/nrf/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/I2C.c
|
||||
#: ports/raspberrypi/common-hal/busio/SPI.c
|
||||
#: ports/raspberrypi/common-hal/busio/UART.c shared-bindings/busio/SPI.c
|
||||
@ -1639,6 +1635,7 @@ msgstr "Míngchēng tài zhǎng"
|
||||
msgid "Nimble out of memory"
|
||||
msgstr "líng huó de bǎi tuō jì yì"
|
||||
|
||||
#: ports/espressif/common-hal/_bleio/Characteristic.c
|
||||
#: ports/nrf/common-hal/_bleio/Characteristic.c
|
||||
msgid "No CCCD for this Characteristic"
|
||||
msgstr "Zhège tèzhēng méiyǒu CCCD"
|
||||
@ -2203,7 +2200,6 @@ msgstr "cè miàn shè zhì yǐn jiǎo shù bì xū jiè yú 1 hé 5 zhī jiān"
|
||||
msgid "Size not supported"
|
||||
msgstr "bù zhī chí dà xiǎo"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/SleepMemory.c
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "shuì mián jì yì bù kě yòng"
|
||||
@ -2464,6 +2460,10 @@ msgstr "Wúfǎ chūshǐhuà jiěxī qì"
|
||||
msgid "Unable to read color palette data"
|
||||
msgstr "Wúfǎ dúqǔ tiáosèbǎn shùjù"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "Unable to start mDNS query"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/nvm/ByteArray.c
|
||||
msgid "Unable to write to nvm."
|
||||
msgstr "Wúfǎ xiě rù nvm."
|
||||
@ -2501,6 +2501,7 @@ msgstr "wèi zhī gù zhàng %d"
|
||||
msgid "Unknown gatt error: 0x%04x"
|
||||
msgstr "Wèizhī de gatt cuòwù: 0x%04x"
|
||||
|
||||
#: ports/atmel-samd/common-hal/alarm/pin/PinAlarm.c
|
||||
#: supervisor/shared/safe_mode.c
|
||||
msgid "Unknown reason."
|
||||
msgstr "Yuányīn bùmíng."
|
||||
@ -2950,6 +2951,10 @@ msgstr "wúfǎ cóng '%q' jiāzài"
|
||||
msgid "can't load with '%q' index"
|
||||
msgstr "wúfǎ yòng '%q' ' suǒyǐn jiāzài"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "can't perform relative import"
|
||||
msgstr ""
|
||||
|
||||
#: py/objgenerator.c
|
||||
msgid "can't send non-None value to a just-started generator"
|
||||
msgstr "wúfǎ xiàng gānggāng qǐdòng de shēngchéng qì fāsòng fēi zhí"
|
||||
@ -3013,10 +3018,6 @@ msgstr "wúfǎ chuàngjiàn shílì"
|
||||
msgid "cannot import name %q"
|
||||
msgstr "wúfǎ dǎorù míngchēng %q"
|
||||
|
||||
#: py/builtinimport.c
|
||||
msgid "cannot perform relative import"
|
||||
msgstr "wúfǎ zhíxíng xiāngguān dǎorù"
|
||||
|
||||
#: extmod/moductypes.c
|
||||
msgid "cannot unambiguously get sizeof scalar"
|
||||
msgstr "bù néng háo bù hán hu de dé dào dà xiǎo de lín"
|
||||
@ -3697,6 +3698,14 @@ msgstr "cǐ bǎnběn bù zhīchí zhǎng zhěngshù"
|
||||
msgid "loopback + silent mode not supported by peripheral"
|
||||
msgstr "Wài shè bù zhī chí huán huí + jìng yīn mó shì"
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS already initialized"
|
||||
msgstr ""
|
||||
|
||||
#: ports/espressif/common-hal/mdns/Server.c
|
||||
msgid "mDNS only works with built-in WiFi"
|
||||
msgstr ""
|
||||
|
||||
#: py/parse.c
|
||||
msgid "malformed f-string"
|
||||
msgstr "jīxíng de f-string"
|
||||
@ -3713,7 +3722,7 @@ msgstr "shùxué yù cuòwù"
|
||||
msgid "matrix is not positive definite"
|
||||
msgstr "jǔzhèn bùshì zhèngdìng de"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
#: ports/espressif/common-hal/wifi/Radio.c
|
||||
msgid "max_connections must be between 0 and 10"
|
||||
msgstr ""
|
||||
|
||||
@ -4094,6 +4103,10 @@ msgstr "xiàngsù zhí xūyào tài duō wèi"
|
||||
msgid "pixel_shader must be displayio.Palette or displayio.ColorConverter"
|
||||
msgstr "pixel_shader bìxū shì displayio.Palette huò displayio.ColorConverter"
|
||||
|
||||
#: extmod/vfs_posix_file.c
|
||||
msgid "poll on file not available on win32"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
msgid "polygon can only be registered in one parent"
|
||||
msgstr "duōbiānxíng zhī néng zài yīgè fù jí zhōng zhùcè"
|
||||
@ -4132,6 +4145,7 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
|
||||
#: ports/espressif/boards/adafruit_metro_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/adafruit_qtpy_esp32s3_nopsram/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s-2m/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp32-c3s/mpconfigboard.h
|
||||
#: ports/espressif/boards/ai_thinker_esp_12k_nodemcu/mpconfigboard.h
|
||||
#: ports/espressif/boards/artisense_rd00/mpconfigboard.h
|
||||
@ -4139,10 +4153,13 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
|
||||
#: ports/espressif/boards/crumpspace_crumps2/mpconfigboard.h
|
||||
#: ports/espressif/boards/electroniccats_bastwifi/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32c3_devkitm_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s2_devkitc_1_n4r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_box/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r2/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_esp32s3_devkitm_1_n8/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_hmi_devkit_1/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1.3/mpconfigboard.h
|
||||
#: ports/espressif/boards/espressif_kaluga_1/mpconfigboard.h
|
||||
@ -4154,6 +4171,10 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
|
||||
#: ports/espressif/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/espressif/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/espressif/boards/hexky_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/hiibot_iots2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_esp32_s2_wroom/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2/mpconfigboard.h
|
||||
#: ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_mini/mpconfigboard.h
|
||||
#: ports/espressif/boards/lolin_s2_pico/mpconfigboard.h
|
||||
@ -4730,6 +4751,19 @@ msgstr "zi bìxū wèi fú diǎn xíng"
|
||||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr "zi bìxū jùyǒu xíngzhuàng (n_section,2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
#~ "Code stopped by auto-reload.\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
#~ "dàimǎ de yùnxíng yīnwéi zìdòng chóngxīn jiāzǎi ér tíngzhǐ.\n"
|
||||
|
||||
#~ msgid "Brightness must be between 0 and 255"
|
||||
#~ msgstr "liàngdù bìxū jièyú 0 dào 255 zhījiān"
|
||||
|
||||
#~ msgid "cannot perform relative import"
|
||||
#~ msgstr "wúfǎ zhíxíng xiāngguān dǎorù"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "No I2C device at address: %x"
|
||||
#~ msgstr "dì zhǐ wú I2C shè bèi: %x"
|
||||
|
56
main.c
56
main.c
@ -52,7 +52,7 @@
|
||||
#include "supervisor/memory.h"
|
||||
#include "supervisor/port.h"
|
||||
#include "supervisor/serial.h"
|
||||
#include "supervisor/shared/autoreload.h"
|
||||
#include "supervisor/shared/reload.h"
|
||||
#include "supervisor/shared/safe_mode.h"
|
||||
#include "supervisor/shared/stack.h"
|
||||
#include "supervisor/shared/status_leds.h"
|
||||
@ -124,7 +124,6 @@ static void reset_devices(void) {
|
||||
}
|
||||
|
||||
STATIC void start_mp(supervisor_allocation *heap, bool first_run) {
|
||||
autoreload_stop();
|
||||
supervisor_workflow_reset();
|
||||
|
||||
// Stack limit should be less than real stack size, so we have a chance
|
||||
@ -162,9 +161,9 @@ STATIC void start_mp(supervisor_allocation *heap, bool first_run) {
|
||||
mp_obj_list_init((mp_obj_list_t *)mp_sys_path, 0);
|
||||
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR_)); // current dir (or base dir of the script)
|
||||
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_));
|
||||
// Frozen modules are in their own pseudo-dir, e.g., ".frozen".
|
||||
// Prioritize .frozen over /lib.
|
||||
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_FROZEN_FAKE_DIR_QSTR));
|
||||
#if MICROPY_MODULE_FROZEN
|
||||
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__dot_frozen));
|
||||
#endif
|
||||
mp_obj_list_append(mp_sys_path, MP_OBJ_NEW_QSTR(MP_QSTR__slash_lib));
|
||||
|
||||
mp_obj_list_init((mp_obj_list_t *)mp_sys_argv, 0);
|
||||
@ -329,14 +328,20 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re
|
||||
result.exception = MP_OBJ_NULL;
|
||||
result.exception_line = 0;
|
||||
|
||||
bool skip_repl;
|
||||
bool skip_repl = false;
|
||||
bool skip_wait = false;
|
||||
bool found_main = false;
|
||||
uint8_t next_code_options = 0;
|
||||
// Collects stickiness bits that apply in the current situation.
|
||||
uint8_t next_code_stickiness_situation = SUPERVISOR_NEXT_CODE_OPT_NEWLY_SET;
|
||||
|
||||
// Do the filesystem flush check before reload in case another write comes
|
||||
// in while we're doing the flush.
|
||||
if (safe_mode == NO_SAFE_MODE) {
|
||||
stack_resize();
|
||||
filesystem_flush();
|
||||
}
|
||||
if (safe_mode == NO_SAFE_MODE && !autoreload_pending()) {
|
||||
static const char *const supported_filenames[] = STRING_LIST(
|
||||
"code.txt", "code.py", "main.py", "main.txt");
|
||||
#if CIRCUITPY_FULL_BUILD
|
||||
@ -345,8 +350,6 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re
|
||||
"main.txt.py", "main.py.txt", "main.txt.txt","main.py.py");
|
||||
#endif
|
||||
|
||||
stack_resize();
|
||||
filesystem_flush();
|
||||
supervisor_allocation *heap = allocate_remaining_memory();
|
||||
|
||||
// Prepare the VM state. Includes an alarm check/reset for sleep.
|
||||
@ -389,13 +392,14 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re
|
||||
|
||||
// Print done before resetting everything so that we get the message over
|
||||
// BLE before it is reset and we have a delay before reconnect.
|
||||
if (reload_requested && result.return_code == PYEXEC_EXCEPTION) {
|
||||
serial_write_compressed(translate("\nCode stopped by auto-reload.\n"));
|
||||
if ((result.return_code & PYEXEC_RELOAD) && supervisor_get_run_reason() == RUN_REASON_AUTO_RELOAD) {
|
||||
serial_write_compressed(translate("\nCode stopped by auto-reload. Reloading soon.\n"));
|
||||
} else {
|
||||
serial_write_compressed(translate("\nCode done running.\n"));
|
||||
}
|
||||
|
||||
// Finished executing python code. Cleanup includes a board reset.
|
||||
|
||||
// Finished executing python code. Cleanup includes filesystem flush and a board reset.
|
||||
cleanup_after_vm(heap, result.exception);
|
||||
|
||||
// If a new next code file was set, that is a reason to keep it (obviously). Stuff this into
|
||||
@ -407,8 +411,14 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re
|
||||
next_code_options |= SUPERVISOR_NEXT_CODE_OPT_NEWLY_SET;
|
||||
}
|
||||
|
||||
if (reload_requested) {
|
||||
if (result.return_code & PYEXEC_RELOAD) {
|
||||
next_code_stickiness_situation |= SUPERVISOR_NEXT_CODE_OPT_STICKY_ON_RELOAD;
|
||||
// Reload immediately unless the reload is due to autoreload. In that
|
||||
// case, we wait below to see if any other writes occur.
|
||||
if (supervisor_get_run_reason() != RUN_REASON_AUTO_RELOAD) {
|
||||
skip_repl = true;
|
||||
skip_wait = true;
|
||||
}
|
||||
} else if (result.return_code == 0) {
|
||||
next_code_stickiness_situation |= SUPERVISOR_NEXT_CODE_OPT_STICKY_ON_SUCCESS;
|
||||
if (next_code_options & SUPERVISOR_NEXT_CODE_OPT_RELOAD_ON_SUCCESS) {
|
||||
@ -426,7 +436,7 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re
|
||||
}
|
||||
}
|
||||
if (result.return_code & PYEXEC_FORCED_EXIT) {
|
||||
skip_repl = reload_requested;
|
||||
skip_repl = false;
|
||||
skip_wait = true;
|
||||
}
|
||||
}
|
||||
@ -466,22 +476,27 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re
|
||||
size_t total_time = blink_time + LED_SLEEP_TIME_MS;
|
||||
#endif
|
||||
|
||||
// This loop is waits after code completes. It waits for fake sleeps to
|
||||
// finish, user input or autoreloads.
|
||||
#if CIRCUITPY_ALARM
|
||||
bool fake_sleeping = false;
|
||||
#endif
|
||||
while (!skip_wait) {
|
||||
RUN_BACKGROUND_TASKS;
|
||||
|
||||
// If a reload was requested by the supervisor or autoreload, return
|
||||
if (reload_requested) {
|
||||
// If a reload was requested by the supervisor or autoreload, return.
|
||||
if (autoreload_ready()) {
|
||||
next_code_stickiness_situation |= SUPERVISOR_NEXT_CODE_OPT_STICKY_ON_RELOAD;
|
||||
// Should the STICKY_ON_SUCCESS and STICKY_ON_ERROR bits be cleared in
|
||||
// next_code_stickiness_situation? I can see arguments either way, but I'm deciding
|
||||
// "no" for now, mainly because it's a bit less code. At this point, we have both a
|
||||
// success or error and a reload, so let's have both of the respective options take
|
||||
// effect (in OR combination).
|
||||
reload_requested = false;
|
||||
skip_repl = true;
|
||||
// We're kicking off the autoreload process so reset now. If any
|
||||
// other reloads trigger after this, then we'll want another wait
|
||||
// period.
|
||||
autoreload_reset();
|
||||
break;
|
||||
}
|
||||
|
||||
@ -508,7 +523,7 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re
|
||||
#endif
|
||||
|
||||
// If messages haven't been printed yet, print them
|
||||
if (!printed_press_any_key && serial_connected()) {
|
||||
if (!printed_press_any_key && serial_connected() && !autoreload_pending()) {
|
||||
if (!serial_connected_at_start) {
|
||||
print_code_py_status_message(safe_mode);
|
||||
}
|
||||
@ -627,13 +642,14 @@ STATIC bool run_code_py(safe_mode_t safe_mode, bool first_run, bool *simulate_re
|
||||
}
|
||||
}
|
||||
|
||||
// Done waiting, start the board back up.
|
||||
|
||||
// free code allocation if unused
|
||||
if ((next_code_options & next_code_stickiness_situation) == 0) {
|
||||
free_memory(next_code_allocation);
|
||||
next_code_allocation = NULL;
|
||||
}
|
||||
|
||||
// Done waiting, start the board back up.
|
||||
#if CIRCUITPY_STATUS_LED
|
||||
if (led_active) {
|
||||
new_status_color(BLACK);
|
||||
@ -757,7 +773,7 @@ STATIC int run_repl(bool first_run) {
|
||||
usb_setup_with_vm();
|
||||
#endif
|
||||
|
||||
autoreload_suspend(AUTORELOAD_LOCK_REPL);
|
||||
autoreload_suspend(AUTORELOAD_SUSPEND_REPL);
|
||||
|
||||
// Set the status LED to the REPL color before running the REPL. For
|
||||
// NeoPixels and DotStars this will be sticky but for PWM or single LED it
|
||||
@ -787,7 +803,7 @@ STATIC int run_repl(bool first_run) {
|
||||
status_led_deinit();
|
||||
#endif
|
||||
|
||||
autoreload_resume(AUTORELOAD_LOCK_REPL);
|
||||
autoreload_resume(AUTORELOAD_SUSPEND_REPL);
|
||||
return exit_code;
|
||||
}
|
||||
|
||||
|
@ -23,10 +23,7 @@ by the target MicroPython runtime (eg onto a pyboard's filesystem), and then
|
||||
imported like any other Python module using `import foo`.
|
||||
|
||||
Different target runtimes may require a different format of the compiled
|
||||
bytecode, and such options can be passed to the cross compiler. For example,
|
||||
the unix port of MicroPython requires the following:
|
||||
|
||||
$ ./mpy-cross -mcache-lookup-bc foo.py
|
||||
bytecode, and such options can be passed to the cross compiler.
|
||||
|
||||
If the Python code contains `@native` or `@viper` annotations, then you must
|
||||
specify `-march` to match the target architecture.
|
||||
|
@ -87,7 +87,6 @@ STATIC int usage(char **argv) {
|
||||
"Target specific options:\n"
|
||||
"-msmall-int-bits=number : set the maximum bits used to encode a small-int\n"
|
||||
"-mno-unicode : don't support unicode in compiled strings\n"
|
||||
"-mcache-lookup-bc : cache map lookups in the bytecode\n"
|
||||
"-march=<arch> : set architecture for native emitter; x86, x64, armv6, armv7m, armv7em, armv7emsp, armv7emdp, xtensa, xtensawin\n"
|
||||
"\n"
|
||||
"Implementation specific options:\n", argv[0]
|
||||
@ -172,8 +171,6 @@ MP_NOINLINE int main_(int argc, char **argv) {
|
||||
#ifdef _WIN32
|
||||
set_fmode_binary();
|
||||
#endif
|
||||
mp_obj_list_init(mp_sys_path, 0);
|
||||
mp_obj_list_init(mp_sys_argv, 0);
|
||||
|
||||
#if MICROPY_EMIT_NATIVE
|
||||
// Set default emitter options
|
||||
@ -184,7 +181,6 @@ MP_NOINLINE int main_(int argc, char **argv) {
|
||||
|
||||
// set default compiler configuration
|
||||
mp_dynamic_compiler.small_int_bits = 31;
|
||||
mp_dynamic_compiler.opt_cache_map_lookup_in_bytecode = 0;
|
||||
mp_dynamic_compiler.py_builtins_str_unicode = 1;
|
||||
#if defined(__i386__)
|
||||
mp_dynamic_compiler.native_arch = MP_NATIVE_ARCH_X86;
|
||||
@ -243,10 +239,6 @@ MP_NOINLINE int main_(int argc, char **argv) {
|
||||
return usage(argv);
|
||||
}
|
||||
// TODO check that small_int_bits is within range of host's capabilities
|
||||
} else if (strcmp(argv[a], "-mno-cache-lookup-bc") == 0) {
|
||||
mp_dynamic_compiler.opt_cache_map_lookup_in_bytecode = 0;
|
||||
} else if (strcmp(argv[a], "-mcache-lookup-bc") == 0) {
|
||||
mp_dynamic_compiler.opt_cache_map_lookup_in_bytecode = 1;
|
||||
} else if (strcmp(argv[a], "-mno-unicode") == 0) {
|
||||
mp_dynamic_compiler.py_builtins_str_unicode = 0;
|
||||
} else if (strcmp(argv[a], "-municode") == 0) {
|
||||
|
@ -36,8 +36,6 @@
|
||||
#define MICROPY_COMP_TRIPLE_TUPLE_ASSIGN (1)
|
||||
#define MICROPY_COMP_RETURN_IF_EXPR (1)
|
||||
|
||||
#define MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE (0)
|
||||
|
||||
#define MICROPY_READER_POSIX (1)
|
||||
#define MICROPY_ENABLE_RUNTIME (0)
|
||||
#define MICROPY_ENABLE_GC (1)
|
||||
|
@ -197,7 +197,11 @@ CFLAGS += \
|
||||
-DSAM_D5X_E5X -DSAME51
|
||||
endif
|
||||
|
||||
|
||||
# GCC 11 adds stringop bounds checks that trigger when writing a memory region
|
||||
# we know is ok. It's not clear how to give the compiler the info it needs so
|
||||
# disable the checks for now.
|
||||
# See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
|
||||
CFLAGS += -Wno-stringop-overread -Wno-stringop-overflow
|
||||
|
||||
LDFLAGS = $(CFLAGS) -nostartfiles -Wl,-nostdlib -Wl,-T,$(GENERATED_LD_FILE) -Wl,-Map=$@.map -Wl,-cref -Wl,-gc-sections -specs=nano.specs
|
||||
LDFLAGS += -flto=$(shell $(NPROC))
|
||||
|
@ -9,7 +9,6 @@
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PB03)
|
||||
|
||||
// BC needed?
|
||||
// #define AUTORESET_DELAY_MS 500
|
||||
|
||||
// If you change this, then make sure to update the linker scripts as well to
|
||||
// make sure you don't overwrite code
|
||||
|
@ -9,3 +9,6 @@ CHIP_FAMILY = samd21
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
CIRCUITPY_RAINBOWIO = 0
|
||||
|
@ -5,8 +5,6 @@
|
||||
|
||||
#define MICROPY_HW_LED_STATUS (&pin_PB13)
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define BOARD_HAS_CRYSTAL 1
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_PB03)
|
||||
|
@ -10,4 +10,5 @@ QSPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICES = GD25Q16C
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY__EVE = 1
|
||||
CIRCUITPY_CANIO = 1
|
||||
|
@ -10,14 +10,15 @@ QSPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICES = "S25FL116K, S25FL216K, GD25Q16C"
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
CIRCUITPY_AESIO = 0
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
CIRCUITPY_PARALLELDISPLAY = 0
|
||||
CIRCUITPY_SDCARDIO = 0
|
||||
CIRCUITPY_SHARPDISPLAY = 0
|
||||
CIRCUITPY_TRACEBACK = 0
|
||||
CIRCUITPY_ZLIB=0
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_PortalBase
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_Requests
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_ESP32SPI
|
||||
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel
|
||||
|
||||
CIRCUITPY_SHARPDISPLAY=0
|
||||
CIRCUITPY_SDCARDIO=0
|
||||
CIRCUITPY_BLEIO_HCI=0
|
||||
CIRCUITPY_BLEIO=0
|
||||
CIRCUITPY_ZLIB=0
|
||||
|
@ -36,3 +36,4 @@
|
||||
#define IGNORE_PIN_PB11 1
|
||||
|
||||
#define SAMD5x_E5x_BOD33_LEVEL (100)
|
||||
#define CIRCUITPY_REPL_LOGO 0
|
||||
|
@ -6,8 +6,6 @@
|
||||
#define MICROPY_HW_LED_STATUS (&pin_PA16)
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PA21)
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define CIRCUITPY_INTERNAL_NVM_SIZE 8192
|
||||
|
||||
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
|
||||
|
@ -9,8 +9,6 @@
|
||||
#define EXTERNAL_FLASH_QSPI_SINGLE
|
||||
#define EXTERNAL_FLASH_NO_JEDEC
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define CIRCUITPY_INTERNAL_NVM_SIZE 8192
|
||||
|
||||
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
|
||||
|
@ -9,8 +9,6 @@
|
||||
#define EXTERNAL_FLASH_QSPI_SINGLE
|
||||
#define EXTERNAL_FLASH_NO_JEDEC
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define CIRCUITPY_INTERNAL_NVM_SIZE 8192
|
||||
|
||||
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
|
||||
|
@ -5,8 +5,6 @@
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PA21)
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define CIRCUITPY_INTERNAL_NVM_SIZE 8192
|
||||
|
||||
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
|
||||
|
@ -51,7 +51,7 @@ uint8_t display_init_sequence[] = {
|
||||
0xc1, 0x01, 0x10, // Power control SAP[2:0];BT[3:0]
|
||||
0xc5, 0x02, 0x3e, 0x28, // VCM control
|
||||
0xc7, 0x01, 0x86, // VCM control2
|
||||
0x36, 0x01, 0x38, // Memory Access Control
|
||||
0x36, 0x01, 0xe8, // Memory Access Control
|
||||
0x37, 0x01, 0x00, // Vertical scroll zero
|
||||
0x3a, 0x01, 0x55, // COLMOD: Pixel Format Set
|
||||
0xb1, 0x02, 0x00, 0x18, // Frame Rate Control (In Normal Mode/Full Colors)
|
||||
@ -88,7 +88,7 @@ void board_init(void) {
|
||||
240, // Height
|
||||
0, // column start
|
||||
0, // row start
|
||||
180, // rotation
|
||||
0, // rotation
|
||||
16, // Color depth
|
||||
false, // Grayscale
|
||||
false, // pixels in a byte share a row. Only valid for depths < 8
|
||||
@ -129,6 +129,8 @@ void board_init(void) {
|
||||
common_hal_digitalio_digitalinout_never_reset(&CTR_3V3);
|
||||
common_hal_digitalio_digitalinout_never_reset(&USB_HOST_ENABLE);
|
||||
|
||||
// reset pin after fake deep sleep
|
||||
reset_pin_number(pin_PA18.number);
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
@ -139,4 +141,12 @@ void reset_board(void) {
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
common_hal_displayio_release_displays();
|
||||
common_hal_digitalio_digitalinout_deinit(&CTR_5V);
|
||||
common_hal_digitalio_digitalinout_deinit(&CTR_3V3);
|
||||
common_hal_digitalio_digitalinout_deinit(&USB_HOST_ENABLE);
|
||||
|
||||
// Turn off RTL8720DN before the deep sleep.
|
||||
// Pin state is kept during BACKUP sleep.
|
||||
gpio_set_pin_direction(pin_PA18.number, GPIO_DIRECTION_OUT);
|
||||
}
|
||||
|
@ -29,7 +29,6 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA07) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA05) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA17) },
|
||||
|
||||
// UART pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB08) },
|
||||
@ -44,9 +43,14 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) },
|
||||
|
||||
// LED pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA17) }, // status
|
||||
{ MP_ROM_QSTR(MP_QSTR_BLUE_LED), MP_ROM_PTR(&pin_PA17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_INVERTED), MP_ROM_PTR(&pin_PA17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_YELLOW_LED_INVERTED), MP_ROM_PTR(&pin_PA17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX_LED_INVERTED), MP_ROM_PTR(&pin_PA18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BLUE_LED1_INVERTED), MP_ROM_PTR(&pin_PA18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX_LED_INVERTED), MP_ROM_PTR(&pin_PA19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BLUE_LED2_INVERTED), MP_ROM_PTR(&pin_PA19) },
|
||||
|
||||
// Comm objects
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
|
@ -1,7 +1,8 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_board_id), MP_ROM_PTR(&board_module_id_obj) },
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
|
||||
// Analog pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA02) },
|
||||
@ -28,11 +29,32 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA07) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA05) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA17) },
|
||||
|
||||
// LED pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA17) }, // status
|
||||
{ MP_ROM_QSTR(MP_QSTR_BLUE_LED), MP_ROM_PTR(&pin_PA17) },
|
||||
// UART pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB08) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB09) },
|
||||
|
||||
// SPI pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA07) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA05) },
|
||||
|
||||
// I2C pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_INVERTED), MP_ROM_PTR(&pin_PA17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_YELLOW_LED_INVERTED), MP_ROM_PTR(&pin_PA17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX_LED_INVERTED), MP_ROM_PTR(&pin_PA18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BLUE_LED1_INVERTED), MP_ROM_PTR(&pin_PA18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX_LED_INVERTED), MP_ROM_PTR(&pin_PA19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BLUE_LED2_INVERTED), MP_ROM_PTR(&pin_PA19) },
|
||||
|
||||
// Comm objects
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
|
||||
|
@ -11,4 +11,6 @@ LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
# There are many pin definitions on this board; it doesn't quite fit on very large translations.
|
||||
CIRCUITPY_ONEWIREIO = 0
|
||||
CIRCUITPY_RAINBOWIO = 0
|
||||
CIRCUITPY_USB_MIDI = 0
|
||||
|
@ -1,6 +1,7 @@
|
||||
LD_FILE = boards/samd51x20-bootloader-external-flash.ld
|
||||
USB_VID = 0x1b4f
|
||||
USB_PID = 0x0020 # Used by uf2 bootloader
|
||||
# Used by uf2 bootloader
|
||||
USB_PID = 0x0020
|
||||
USB_PRODUCT = "SparkFun MicroMod SAMD51 Processor"
|
||||
USB_MANUFACTURER = "SparkFun Electronics"
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
LD_FILE = boards/samd51x20-bootloader-external-flash.ld
|
||||
USB_VID = 0x1b4f
|
||||
USB_PID = 0x0016 # Used by uf2 bootloader
|
||||
# Used by uf2 bootloader
|
||||
USB_PID = 0x0016
|
||||
USB_PRODUCT = "SparkFun SAMD51 Thing+"
|
||||
USB_MANUFACTURER = "SparkFun Electronics"
|
||||
|
||||
|
@ -6,8 +6,6 @@
|
||||
#define MICROPY_HW_LED_STATUS (&pin_PA23)
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PB03)
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define BOARD_HAS_CRYSTAL 1
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_PA17)
|
||||
|
@ -32,20 +32,24 @@
|
||||
#include "shared-bindings/nvm/ByteArray.h"
|
||||
|
||||
void alarm_sleep_memory_reset(void) {
|
||||
|
||||
}
|
||||
|
||||
uint32_t common_hal_alarm_sleep_memory_get_length(alarm_sleep_memory_obj_t *self) {
|
||||
mp_raise_NotImplementedError(translate("Sleep Memory not available"));
|
||||
return 0;
|
||||
return BKUPRAM_SIZE;
|
||||
}
|
||||
|
||||
bool common_hal_alarm_sleep_memory_set_bytes(alarm_sleep_memory_obj_t *self, uint32_t start_index, const uint8_t *values, uint32_t len) {
|
||||
mp_raise_NotImplementedError(translate("Sleep Memory not available"));
|
||||
return false;
|
||||
if (start_index + len > BKUPRAM_SIZE) {
|
||||
return false;
|
||||
}
|
||||
memcpy((uint8_t *)(BKUPRAM_ADDR + start_index), values, len);
|
||||
return true;
|
||||
}
|
||||
|
||||
void common_hal_alarm_sleep_memory_get_bytes(alarm_sleep_memory_obj_t *self, uint32_t start_index, uint8_t *values, uint32_t len) {
|
||||
mp_raise_NotImplementedError(translate("Sleep Memory not available"));
|
||||
if (start_index + len > BKUPRAM_SIZE) {
|
||||
return;
|
||||
}
|
||||
memcpy(values, (uint8_t *)(BKUPRAM_ADDR + start_index), len);
|
||||
return;
|
||||
}
|
||||
|
@ -31,8 +31,6 @@
|
||||
|
||||
typedef struct {
|
||||
mp_obj_base_t base;
|
||||
uint8_t *start_address;
|
||||
uint8_t len;
|
||||
} alarm_sleep_memory_obj_t;
|
||||
|
||||
extern void alarm_sleep_memory_reset(void);
|
||||
|
@ -39,62 +39,50 @@
|
||||
#include "supervisor/port.h"
|
||||
#include "supervisor/workflow.h"
|
||||
|
||||
STATIC uint32_t TAMPID = 0;
|
||||
|
||||
// Singleton instance of SleepMemory.
|
||||
const alarm_sleep_memory_obj_t alarm_sleep_memory_obj = {
|
||||
.base = {
|
||||
.type = &alarm_sleep_memory_type,
|
||||
},
|
||||
};
|
||||
// TODO: make a custom enum to avoid weird values like PM_SLEEPCFG_SLEEPMODE_BACKUP_Val?
|
||||
STATIC volatile uint32_t _target;
|
||||
STATIC bool fake_sleep;
|
||||
STATIC bool pin_wake;
|
||||
|
||||
void alarm_reset(void) {
|
||||
// Reset the alarm flag
|
||||
SAMD_ALARM_FLAG = 0x00;
|
||||
alarm_pin_pinalarm_reset();
|
||||
alarm_time_timealarm_reset();
|
||||
}
|
||||
|
||||
samd_sleep_source_t alarm_get_wakeup_cause(void) {
|
||||
// If in light/fake sleep, check modules
|
||||
if (alarm_pin_pinalarm_woke_this_cycle()) {
|
||||
return SAMD_WAKEUP_GPIO;
|
||||
}
|
||||
if (alarm_time_timealarm_woke_this_cycle()) {
|
||||
return SAMD_WAKEUP_RTC;
|
||||
}
|
||||
if (!fake_sleep && RSTC->RCAUSE.bit.BACKUP) {
|
||||
// This is checked during rtc_init to cache TAMPID if necessary
|
||||
if (pin_wake || RTC->MODE0.TAMPID.reg) {
|
||||
pin_wake = true;
|
||||
return SAMD_WAKEUP_GPIO;
|
||||
}
|
||||
return SAMD_WAKEUP_RTC;
|
||||
}
|
||||
return SAMD_WAKEUP_UNDEF;
|
||||
void alarm_get_wakeup_cause(void) {
|
||||
// Called from rtc_init, just before SWRST of RTC. It is called
|
||||
// at an early stage of main(), to save TAMPID from SWRST. Later,
|
||||
// common_hal_alarm_create_wake_alarm is called to make a wakeup
|
||||
// alarm from the deep sleep.
|
||||
|
||||
TAMPID = RTC->MODE0.TAMPID.reg;
|
||||
}
|
||||
|
||||
bool common_hal_alarm_woken_from_sleep(void) {
|
||||
return alarm_get_wakeup_cause() != SAMD_WAKEUP_UNDEF;
|
||||
return alarm_pin_pinalarm_woke_this_cycle() || alarm_time_timealarm_woke_this_cycle();
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_alarm_create_wake_alarm(void) {
|
||||
// If woken from deep sleep, create a copy alarm similar to what would have
|
||||
// been passed in originally. Otherwise, just return none
|
||||
samd_sleep_source_t cause = alarm_get_wakeup_cause();
|
||||
switch (cause) {
|
||||
case SAMD_WAKEUP_RTC: {
|
||||
return alarm_time_timealarm_create_wakeup_alarm();
|
||||
}
|
||||
case SAMD_WAKEUP_GPIO: {
|
||||
return alarm_pin_pinalarm_create_wakeup_alarm();
|
||||
}
|
||||
case SAMD_WAKEUP_UNDEF:
|
||||
default:
|
||||
// Not a deep sleep reset.
|
||||
break;
|
||||
// Called from main.c on the first start up, just before alarm_reset.
|
||||
// Return a copy of wakeup alarm from deep sleep / fake deep sleep.
|
||||
// In case of fake sleep, status should be left in TimeAlarm/PinAlarm.
|
||||
bool true_deep = RSTC->RCAUSE.bit.BACKUP;
|
||||
|
||||
if (alarm_pin_pinalarm_woke_this_cycle()) {
|
||||
TAMPID = RTC->MODE0.TAMPID.reg;
|
||||
RTC->MODE0.TAMPID.reg = TAMPID; // clear register
|
||||
return alarm_pin_pinalarm_create_wakeup_alarm(TAMPID);
|
||||
}
|
||||
if (alarm_time_timealarm_woke_this_cycle() || (true_deep && TAMPID == 0)) {
|
||||
return alarm_time_timealarm_create_wakeup_alarm();
|
||||
}
|
||||
if (true_deep) {
|
||||
return alarm_pin_pinalarm_create_wakeup_alarm(TAMPID);
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
@ -103,36 +91,31 @@ mp_obj_t common_hal_alarm_create_wake_alarm(void) {
|
||||
STATIC void _setup_sleep_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms) {
|
||||
alarm_pin_pinalarm_set_alarms(deep_sleep, n_alarms, alarms);
|
||||
alarm_time_timealarm_set_alarms(deep_sleep, n_alarms, alarms);
|
||||
fake_sleep = false;
|
||||
}
|
||||
|
||||
mp_obj_t common_hal_alarm_light_sleep_until_alarms(size_t n_alarms, const mp_obj_t *alarms) {
|
||||
_setup_sleep_alarms(false, n_alarms, alarms);
|
||||
mp_obj_t wake_alarm = mp_const_none;
|
||||
|
||||
// This works but achieves same power consumption as time.sleep()
|
||||
PM->SLEEPCFG.reg = PM_SLEEPCFG_SLEEPMODE_STANDBY;
|
||||
while (PM->SLEEPCFG.bit.SLEEPMODE != PM_SLEEPCFG_SLEEPMODE_STANDBY_Val) {
|
||||
}
|
||||
// STDBYCFG is left to be 0 to retain SYSRAM. Note that, even if
|
||||
// RAMCFG_OFF is set here, SYSRAM seems to be retained, probably
|
||||
// because RTC and/or USB keeps sleepwalking.
|
||||
|
||||
while (!mp_hal_is_interrupted()) {
|
||||
RUN_BACKGROUND_TASKS;
|
||||
// Detect if interrupt was alarm or ctrl-C interrupt.
|
||||
if (common_hal_alarm_woken_from_sleep()) {
|
||||
samd_sleep_source_t cause = alarm_get_wakeup_cause();
|
||||
switch (cause) {
|
||||
case SAMD_WAKEUP_RTC: {
|
||||
wake_alarm = alarm_time_timealarm_find_triggered_alarm(n_alarms,alarms);
|
||||
break;
|
||||
}
|
||||
case SAMD_WAKEUP_GPIO: {
|
||||
wake_alarm = alarm_pin_pinalarm_find_triggered_alarm(n_alarms,alarms);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
// Should not reach this, if all light sleep types are covered correctly
|
||||
break;
|
||||
}
|
||||
shared_alarm_save_wake_alarm(wake_alarm);
|
||||
if (alarm_time_timealarm_woke_this_cycle()) {
|
||||
wake_alarm = alarm_time_timealarm_find_triggered_alarm(n_alarms,alarms);
|
||||
break;
|
||||
}
|
||||
if (alarm_pin_pinalarm_woke_this_cycle()) {
|
||||
wake_alarm = alarm_pin_pinalarm_find_triggered_alarm(n_alarms,alarms);
|
||||
break;
|
||||
}
|
||||
// ATTEMPT ------------------------------
|
||||
// This works but achieves same power consumption as time.sleep()
|
||||
|
||||
// Clear the FPU interrupt because it can prevent us from sleeping.
|
||||
if (__get_FPSCR() & ~(0x9f)) {
|
||||
@ -140,27 +123,22 @@ mp_obj_t common_hal_alarm_light_sleep_until_alarms(size_t n_alarms, const mp_obj
|
||||
(void)__get_FPSCR();
|
||||
}
|
||||
|
||||
// Disable RTC interrupts
|
||||
NVIC_DisableIRQ(RTC_IRQn);
|
||||
// Set standby power domain stuff
|
||||
PM->STDBYCFG.reg = PM_STDBYCFG_RAMCFG_OFF;
|
||||
// Set-up Sleep Mode
|
||||
PM->SLEEPCFG.reg = PM_SLEEPCFG_SLEEPMODE_STANDBY;
|
||||
while (PM->SLEEPCFG.bit.SLEEPMODE != PM_SLEEPCFG_SLEEPMODE_STANDBY_Val) {
|
||||
;
|
||||
}
|
||||
|
||||
common_hal_mcu_disable_interrupts();
|
||||
__DSB(); // Data Synchronization Barrier
|
||||
__WFI(); // Wait For Interrupt
|
||||
// Enable RTC interrupts
|
||||
NVIC_EnableIRQ(RTC_IRQn);
|
||||
// END ATTEMPT ------------------------------
|
||||
common_hal_mcu_enable_interrupts();
|
||||
}
|
||||
// Restore SLEEPCFG or port_idle_until_interrupt sleeps in STANDBY mode.
|
||||
PM->SLEEPCFG.reg = PM_SLEEPCFG_SLEEPMODE_IDLE2;
|
||||
while (PM->SLEEPCFG.bit.SLEEPMODE != PM_SLEEPCFG_SLEEPMODE_IDLE2_Val) {
|
||||
}
|
||||
alarm_pin_pinalarm_deinit_alarms(n_alarms, alarms); // after care for alarm_pin_pinalarm_set_alarms
|
||||
alarm_reset();
|
||||
|
||||
if (mp_hal_is_interrupted()) {
|
||||
return mp_const_none; // Shouldn't be given to python code because exception handling should kick in.
|
||||
}
|
||||
|
||||
alarm_reset();
|
||||
return wake_alarm;
|
||||
}
|
||||
|
||||
@ -171,11 +149,12 @@ void common_hal_alarm_set_deep_sleep_alarms(size_t n_alarms, const mp_obj_t *ala
|
||||
void NORETURN common_hal_alarm_enter_deep_sleep(void) {
|
||||
alarm_pin_pinalarm_prepare_for_deep_sleep();
|
||||
alarm_time_timealarm_prepare_for_deep_sleep();
|
||||
_target = RTC->MODE0.COMP[1].reg;
|
||||
port_disable_tick(); // TODO: Required for SAMD?
|
||||
// port_disable_tick(); // TODO: Required for SAMD?
|
||||
|
||||
// cache alarm flag since backup registers about to be reset
|
||||
uint32_t _SAMD_ALARM_FLAG = SAMD_ALARM_FLAG;
|
||||
// cache alarm flag and etc since RTC about to be reset
|
||||
uint32_t _flag = SAMD_ALARM_FLAG; // RTC->MODE0.BKUP[0].reg
|
||||
uint32_t _target = RTC->MODE0.COMP[1].reg;
|
||||
uint32_t _tampctrl = RTC->MODE0.TAMPCTRL.reg;
|
||||
|
||||
// Clear the FPU interrupt because it can prevent us from sleeping.
|
||||
if (__get_FPSCR() & ~(0x9f)) {
|
||||
@ -183,57 +162,36 @@ void NORETURN common_hal_alarm_enter_deep_sleep(void) {
|
||||
(void)__get_FPSCR();
|
||||
}
|
||||
|
||||
NVIC_DisableIRQ(RTC_IRQn);
|
||||
common_hal_mcu_disable_interrupts();
|
||||
// Must disable the RTC before writing to EVCTRL and TMPCTRL
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 0; // Disable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
;
|
||||
}
|
||||
RTC->MODE0.CTRLA.bit.SWRST = 1; // Software reset the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.SWRST) { // Wait for synchronization
|
||||
;
|
||||
}
|
||||
RTC->MODE0.CTRLA.reg = RTC_MODE0_CTRLA_PRESCALER_DIV1024 | // Set prescaler to 1024
|
||||
RTC_MODE0_CTRLA_MODE_COUNT32; // Set RTC to mode 0, 32-bit timer
|
||||
|
||||
SAMD_ALARM_FLAG = _flag;
|
||||
// Check if we're setting TimeAlarm
|
||||
if (_SAMD_ALARM_FLAG & SAMD_ALARM_FLAG_TIME) {
|
||||
RTC->MODE0.COMP[1].reg = (_target / 1024) * 32;
|
||||
if (SAMD_ALARM_FLAG_TIME_CHK) {
|
||||
RTC->MODE0.COMP[1].reg = _target;
|
||||
while (RTC->MODE0.SYNCBUSY.reg) {
|
||||
;
|
||||
}
|
||||
}
|
||||
// Check if we're setting PinAlarm
|
||||
if (_SAMD_ALARM_FLAG & SAMD_ALARM_FLAG_PIN) {
|
||||
RTC->MODE0.TAMPCTRL.bit.DEBNC2 = 1; // Edge triggered when INn is stable for 4 CLK_RTC_DEB periods
|
||||
RTC->MODE0.TAMPCTRL.bit.TAMLVL2 = 1; // rising edge
|
||||
// PA02 = IN2
|
||||
RTC->MODE0.TAMPCTRL.bit.IN2ACT = 1; // WAKE on IN2 (doesn't save timestamp)
|
||||
}
|
||||
// Enable interrupts
|
||||
NVIC_SetPriority(RTC_IRQn, 0);
|
||||
NVIC_EnableIRQ(RTC_IRQn);
|
||||
if (_SAMD_ALARM_FLAG & SAMD_ALARM_FLAG_TIME) {
|
||||
// Set interrupts for COMPARE1
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP1;
|
||||
}
|
||||
if (_SAMD_ALARM_FLAG & SAMD_ALARM_FLAG_PIN) {
|
||||
// Set interrupts for TAMPER pins
|
||||
// Check if we're setting PinAlarm
|
||||
if (SAMD_ALARM_FLAG_PIN_CHK) {
|
||||
RTC->MODE0.TAMPCTRL.reg = _tampctrl;
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_TAMPER;
|
||||
}
|
||||
// Enable interrupts
|
||||
common_hal_mcu_enable_interrupts();
|
||||
|
||||
// Set-up Deep Sleep Mode & RAM retention
|
||||
PM->BKUPCFG.reg = PM_BKUPCFG_BRAMCFG(0x2); // No RAM retention 0x2 partial:0x1
|
||||
while (PM->BKUPCFG.bit.BRAMCFG != 0x2) { // Wait for synchronization
|
||||
;
|
||||
}
|
||||
// Set-up Deep Sleep Mode with backup RAM retention
|
||||
PM->SLEEPCFG.reg = PM_SLEEPCFG_SLEEPMODE_BACKUP;
|
||||
while (PM->SLEEPCFG.bit.SLEEPMODE != PM_SLEEPCFG_SLEEPMODE_BACKUP_Val) {
|
||||
;
|
||||
}
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 1; // Enable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
;
|
||||
}
|
||||
|
||||
__DSB(); // Data Synchronization Barrier
|
||||
@ -245,16 +203,9 @@ void NORETURN common_hal_alarm_enter_deep_sleep(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void common_hal_alarm_pretending_deep_sleep(void) {
|
||||
// TODO:
|
||||
// If tamper detect interrupts cannot be used to wake from the Idle tier of sleep,
|
||||
// This section will need to re-initialize the pins to allow the PORT peripheral
|
||||
// to generate external interrupts again. See STM32 for reference.
|
||||
|
||||
if (!fake_sleep) {
|
||||
fake_sleep = true;
|
||||
}
|
||||
}
|
||||
// Default common_hal_alarm_pretending_deep_sleep is defined in
|
||||
// shared-bindings, which is used here. Note that "pretending" does
|
||||
// not work on REPL; it only works for main.py (or code.py, ...).
|
||||
|
||||
void common_hal_alarm_gc_collect(void) {
|
||||
gc_collect_ptr(shared_alarm_get_wake_alarm());
|
||||
|
@ -37,6 +37,14 @@ extern const alarm_sleep_memory_obj_t alarm_sleep_memory_obj;
|
||||
#define SAMD_ALARM_FLAG (RTC->MODE0.BKUP[0].reg)
|
||||
#define SAMD_ALARM_FLAG_TIME (_U_(0x1) << 0)
|
||||
#define SAMD_ALARM_FLAG_PIN (_U_(0x1) << 1)
|
||||
|
||||
#define SAMD_ALARM_FLAG_TIME_SET (SAMD_ALARM_FLAG |= SAMD_ALARM_FLAG_TIME)
|
||||
#define SAMD_ALARM_FLAG_TIME_CLR (SAMD_ALARM_FLAG &= ~SAMD_ALARM_FLAG_TIME)
|
||||
#define SAMD_ALARM_FLAG_TIME_CHK (SAMD_ALARM_FLAG & SAMD_ALARM_FLAG_TIME)
|
||||
|
||||
#define SAMD_ALARM_FLAG_PIN_SET (SAMD_ALARM_FLAG |= SAMD_ALARM_FLAG_PIN)
|
||||
#define SAMD_ALARM_FLAG_PIN_CLR (SAMD_ALARM_FLAG &= ~SAMD_ALARM_FLAG_PIN)
|
||||
#define SAMD_ALARM_FLAG_PIN_CHK (SAMD_ALARM_FLAG & SAMD_ALARM_FLAG_PIN)
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
@ -46,7 +54,7 @@ typedef enum {
|
||||
} samd_sleep_source_t;
|
||||
|
||||
extern void alarm_set_wakeup_reason(samd_sleep_source_t reason);
|
||||
samd_sleep_source_t alarm_get_wakeup_cause(void);
|
||||
void alarm_get_wakeup_cause(void);
|
||||
extern void alarm_reset(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_ALARM__INIT__H
|
||||
|
@ -38,70 +38,61 @@
|
||||
|
||||
// This variable stores whether a PinAlarm woke in light sleep or fake deep sleep
|
||||
// It CANNOT detect if the program woke from deep sleep.
|
||||
STATIC volatile bool woke_up;
|
||||
// TODO: replace pinalarm_on with SAMD_ALARM_FLAG bit flags
|
||||
STATIC volatile bool pinalarm_on;
|
||||
STATIC volatile bool woke_up = false;
|
||||
STATIC alarm_pin_pinalarm_obj_t *trig_alarm = NULL;
|
||||
|
||||
// TODO: Create tables here reserving IRQ instances, and for the IRQ
|
||||
// callback to store what pin triggered the interrupt
|
||||
// STATIC bool reserved_alarms[SOME_VAL];
|
||||
// STATIC uint16_t triggered_pins[SOME_VAL];
|
||||
// Tamper Pins for deep sleep: IN0:PB00; IN1:PB02; IN2:PA02; IN3:PC00; IN4:PC01;
|
||||
// wakeup from deep sleep seems to be triggered when these pins go from Hi/Lo to Hi-Z state.
|
||||
typedef struct {
|
||||
int n;
|
||||
const mcu_pin_obj_t *pin;
|
||||
} samd_tamper_pin_t;
|
||||
|
||||
void pin_alarm_callback(uint8_t num) { // parameters can be changed
|
||||
// TODO: This is responsible for resetting the IRQ (so it doesn't
|
||||
// go off constantly, and recording what pin was responsible for
|
||||
// the trigger. This will only work for light sleep/fake deep
|
||||
// sleep, in conjunction with the find_triggered_alarm function
|
||||
static samd_tamper_pin_t TAMPER_PINS[] = {
|
||||
#if defined(PIN_PB00) && !defined(IGNORE_PIN_PB00)
|
||||
{ 0, &pin_PB00 },
|
||||
#endif
|
||||
#if defined(PIN_PB02) && !defined(IGNORE_PIN_PB02)
|
||||
{ 1, &pin_PB02 },
|
||||
#endif
|
||||
#if defined(PIN_PA02) && !defined(IGNORE_PIN_PA02)
|
||||
{ 2, &pin_PA02 },
|
||||
#endif
|
||||
#if defined(PIN_PC00) && !defined(IGNORE_PIN_PC00)
|
||||
{ 3, &pin_PC00 },
|
||||
#endif
|
||||
#if defined(PIN_PC01) && !defined(IGNORE_PIN_PC01)
|
||||
{ 4, &pin_PC01 },
|
||||
#endif
|
||||
{ -1, NULL }
|
||||
};
|
||||
|
||||
if (pinalarm_on) {
|
||||
// clear flag and interrupt setting
|
||||
void pin_alarm_callback(uint8_t num) {
|
||||
// called back with EIC/RTC interrupt
|
||||
if (!SAMD_ALARM_FLAG_PIN_CHK) {
|
||||
return;
|
||||
}
|
||||
woke_up = true;
|
||||
// SAMD_ALARM_FLAG_PIN_CLR;
|
||||
if (RTC->MODE0.INTFLAG.reg & RTC_MODE0_INTFLAG_TAMPER) { // fake deep sleep
|
||||
RTC->MODE0.INTENCLR.reg = RTC_MODE0_INTENCLR_TAMPER;
|
||||
pinalarm_on = false;
|
||||
// QUESTION: How to reference the correct EIC?
|
||||
// set_eic_handler(self->channel, EIC_HANDLER_NO_INTERRUPT);
|
||||
// turn_off_eic_channel(self->channel);
|
||||
// reset_pin_number(self->pin);
|
||||
woke_up = true;
|
||||
trig_alarm = NULL;
|
||||
} else { // light sleep
|
||||
// Turn off sensing for the channel, or level detection will
|
||||
// be tirggered again.
|
||||
// If we clear EIC->INTENCLR flag here, cleaning up in deint
|
||||
// may fail because MCLK to EIC is stopped earlier by
|
||||
// turn_off_eic_channel.
|
||||
configure_eic_channel(num, EIC_CONFIG_SENSE0_NONE_Val);
|
||||
trig_alarm = get_eic_channel_data(num);
|
||||
}
|
||||
}
|
||||
|
||||
void common_hal_alarm_pin_pinalarm_construct(alarm_pin_pinalarm_obj_t *self, const mcu_pin_obj_t *pin, bool value, bool edge, bool pull) {
|
||||
// Tamper Pins: IN0:PB00; IN1:PB02; IN2:PA02; IN3:PC00; IN4:PC01; OUT:PB01
|
||||
// TODO: Catch edge or level mode if not supported
|
||||
if (!pin->has_extint) {
|
||||
mp_raise_RuntimeError(translate("No hardware support on pin"));
|
||||
}
|
||||
if (eic_get_enable()) {
|
||||
if (!eic_channel_free(pin->extint_channel)) {
|
||||
mp_raise_RuntimeError(translate("A hardware interrupt channel is already in use"));
|
||||
}
|
||||
} else {
|
||||
turn_on_external_interrupt_controller();
|
||||
}
|
||||
|
||||
// TODO: determine if pin has an interrupt channel available
|
||||
// TODO: set pin pull settings, input/output, etc
|
||||
// QUESTION: can PORT/EVSYS interrupts (lightsleep) coexist with RTC->TAMPER (deepsleep) settings?
|
||||
// Actual initialization of the interrupt should be delayed until set_alarm
|
||||
|
||||
self->channel = pin->extint_channel;
|
||||
self->pin = pin;
|
||||
self->value = value;
|
||||
self->edge = edge;
|
||||
self->pull = pull;
|
||||
|
||||
gpio_set_pin_function(pin->number, GPIO_PIN_FUNCTION_A);
|
||||
if (self->pull) {
|
||||
if (self->value) {
|
||||
// detect rising edge means pull down
|
||||
gpio_set_pin_pull_mode(pin->number, GPIO_PULL_DOWN);
|
||||
} else {
|
||||
// detect falling edge means pull up
|
||||
gpio_set_pin_pull_mode(pin->number, GPIO_PULL_UP);
|
||||
}
|
||||
}
|
||||
set_eic_channel_data(self->channel, (void *)self);
|
||||
|
||||
claim_pin(self->pin);
|
||||
}
|
||||
|
||||
const mcu_pin_obj_t *common_hal_alarm_pin_pinalarm_get_pin(alarm_pin_pinalarm_obj_t *self) {
|
||||
@ -113,7 +104,7 @@ bool common_hal_alarm_pin_pinalarm_get_value(alarm_pin_pinalarm_obj_t *self) {
|
||||
}
|
||||
|
||||
bool common_hal_alarm_pin_pinalarm_get_edge(alarm_pin_pinalarm_obj_t *self) {
|
||||
return true;
|
||||
return self->edge;
|
||||
}
|
||||
|
||||
bool common_hal_alarm_pin_pinalarm_get_pull(alarm_pin_pinalarm_obj_t *self) {
|
||||
@ -121,9 +112,6 @@ bool common_hal_alarm_pin_pinalarm_get_pull(alarm_pin_pinalarm_obj_t *self) {
|
||||
}
|
||||
|
||||
bool alarm_pin_pinalarm_woke_this_cycle(void) {
|
||||
if (pinalarm_on && RTC->MODE0.INTFLAG.bit.TAMPER) {
|
||||
woke_up = true;
|
||||
}
|
||||
return woke_up;
|
||||
}
|
||||
|
||||
@ -133,145 +121,211 @@ mp_obj_t alarm_pin_pinalarm_find_triggered_alarm(size_t n_alarms, const mp_obj_t
|
||||
continue;
|
||||
}
|
||||
alarm_pin_pinalarm_obj_t *alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
(void)alarm;
|
||||
|
||||
|
||||
// TODO: Determine whether any pins have been marked as
|
||||
// triggering the alarm (using the static vars at
|
||||
// start of file) and if so return that alarm.
|
||||
if (alarm == trig_alarm) {
|
||||
return alarms[i];
|
||||
}
|
||||
}
|
||||
// Return nothing if no matching alarms are found.
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t alarm_pin_pinalarm_create_wakeup_alarm(void) {
|
||||
alarm_pin_pinalarm_obj_t *alarm = m_new_obj(alarm_pin_pinalarm_obj_t);
|
||||
alarm->base.type = &alarm_pin_pinalarm_type;
|
||||
// TODO: Extract information about what pin woke the device.
|
||||
// Because this interrupt occurs in deep sleep, the callback
|
||||
// cannot be used to store this information. It must be extracted
|
||||
// from the registers, if possible. It may be impossible to
|
||||
// obtain, in which case return a dummy value.
|
||||
return alarm;
|
||||
mp_obj_t alarm_pin_pinalarm_create_wakeup_alarm(uint32_t TAMPID) {
|
||||
// Create tamper alarm that caused wakeup from deep sleep
|
||||
|
||||
for (samd_tamper_pin_t *t = TAMPER_PINS; t->n >= 0; t++) {
|
||||
if (TAMPID & (1 << t->n)) {
|
||||
alarm_pin_pinalarm_obj_t *alarm = m_new_obj(alarm_pin_pinalarm_obj_t);
|
||||
alarm->base.type = &alarm_pin_pinalarm_type;
|
||||
alarm->pin = t->pin;
|
||||
return alarm;
|
||||
}
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
void alarm_pin_pinalarm_reset(void) {
|
||||
// TODO: this is responsible for resetting ALL pinalarms. Make
|
||||
// sure to clear any reserved tables, deinit both PORT and TAMPER
|
||||
// settings, etc. If flags are set to indicate this module is in
|
||||
// use, reset them.
|
||||
pinalarm_on = false;
|
||||
SAMD_ALARM_FLAG_PIN_CLR;
|
||||
woke_up = false;
|
||||
SAMD_ALARM_FLAG &= ~SAMD_ALARM_FLAG_PIN; // clear flag
|
||||
// Disable TAMPER interrupt
|
||||
RTC->MODE0.INTENCLR.reg = RTC_MODE0_INTENCLR_TAMPER;
|
||||
// Disable TAMPER control
|
||||
common_hal_mcu_disable_interrupts();
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 0; // Disable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
;
|
||||
if (RTC->MODE0.TAMPCTRL.reg != 0) {
|
||||
common_hal_mcu_disable_interrupts();
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 0; // Disable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
}
|
||||
RTC->MODE0.TAMPCTRL.reg = 0; // reset everything
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 1; // Enable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
}
|
||||
common_hal_mcu_enable_interrupts();
|
||||
}
|
||||
RTC->MODE0.TAMPCTRL.reg = 0; // reset everything
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 1; // Enable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
;
|
||||
}
|
||||
|
||||
#define PINALARM_NOERR 0
|
||||
#define PINALARM_ERR_NOT_FREE -1
|
||||
#define PINALARM_ERR_NOEXTINT -2
|
||||
#define PINALARM_ERR_NOCHANNEL -3
|
||||
#define PINALARM_ERR_NOTTAMPER -4
|
||||
|
||||
// Because PinAlarm does not have deinit, pins are furnished just
|
||||
// before the light sleep here, and deinited after wake-up.
|
||||
static void pinalarm_set_alarms_light(size_t n_alarms, const mp_obj_t *alarms) {
|
||||
int err = PINALARM_NOERR;
|
||||
size_t i;
|
||||
const mcu_pin_obj_t *pin;
|
||||
|
||||
for (i = 0; i < n_alarms; i++) {
|
||||
if (!mp_obj_is_type(alarms[i], &alarm_pin_pinalarm_type)) {
|
||||
continue;
|
||||
}
|
||||
alarm_pin_pinalarm_obj_t *alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
pin = alarm->pin;
|
||||
|
||||
if (!pin_number_is_free(pin->number)) {
|
||||
err = PINALARM_ERR_NOT_FREE;
|
||||
break;
|
||||
}
|
||||
if (!pin->has_extint) {
|
||||
err = PINALARM_ERR_NOEXTINT;
|
||||
break;
|
||||
}
|
||||
if (eic_get_enable()) {
|
||||
if (!eic_channel_free(pin->extint_channel)) {
|
||||
err = PINALARM_ERR_NOCHANNEL;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
turn_on_external_interrupt_controller();
|
||||
// It is automatically turned-off in turn_off_eic_channel.
|
||||
}
|
||||
|
||||
SAMD_ALARM_FLAG_PIN_SET;
|
||||
gpio_set_pin_function(pin->number, GPIO_PIN_FUNCTION_A);
|
||||
uint32_t sense;
|
||||
if (alarm->value) {
|
||||
sense = alarm->edge ? EIC_CONFIG_SENSE0_RISE_Val : EIC_CONFIG_SENSE0_HIGH_Val;
|
||||
if (alarm->pull) {
|
||||
// detect rising edge means pull down
|
||||
gpio_set_pin_pull_mode(pin->number, GPIO_PULL_DOWN);
|
||||
}
|
||||
} else {
|
||||
sense = alarm->edge ? EIC_CONFIG_SENSE0_FALL_Val : EIC_CONFIG_SENSE0_LOW_Val;
|
||||
if (alarm->pull) {
|
||||
// detect falling edge means pull up
|
||||
gpio_set_pin_pull_mode(pin->number, GPIO_PULL_UP);
|
||||
}
|
||||
}
|
||||
|
||||
set_eic_channel_data(pin->extint_channel, (void *)alarm);
|
||||
claim_pin(pin);
|
||||
set_eic_handler(pin->extint_channel, EIC_HANDLER_ALARM);
|
||||
turn_on_eic_channel(pin->extint_channel, sense);
|
||||
}
|
||||
|
||||
if (err == PINALARM_NOERR) {
|
||||
return;
|
||||
}
|
||||
|
||||
SAMD_ALARM_FLAG_PIN_CLR;
|
||||
alarm_pin_pinalarm_deinit_alarms(i, alarms);
|
||||
|
||||
switch (err) {
|
||||
case PINALARM_ERR_NOT_FREE:
|
||||
assert_pin_free(pin);
|
||||
// raise ValueError here
|
||||
MP_FALLTHROUGH
|
||||
case PINALARM_ERR_NOEXTINT:
|
||||
mp_raise_RuntimeError(translate("No hardware support on pin"));
|
||||
case PINALARM_ERR_NOCHANNEL:
|
||||
mp_raise_RuntimeError(translate("A hardware interrupt channel is already in use"));
|
||||
default:
|
||||
mp_raise_RuntimeError(translate("Unknown reason."));
|
||||
}
|
||||
}
|
||||
|
||||
static void pinalarm_set_alarms_deep(size_t n_alarms, const mp_obj_t *alarms) {
|
||||
// In case of deep sleep, pin_number_is_free is not checked.
|
||||
// Errata says that falling edge should be detected for the tamper pins.
|
||||
samd_tamper_pin_t *t;
|
||||
uint32_t tampctrl = 0;
|
||||
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
if (!mp_obj_is_type(alarms[i], &alarm_pin_pinalarm_type)) {
|
||||
continue;
|
||||
}
|
||||
alarm_pin_pinalarm_obj_t *alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
const mcu_pin_obj_t *pin = alarm->pin;
|
||||
|
||||
for (t = TAMPER_PINS; t->n >= 0; t++) {
|
||||
if (pin == t->pin) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (t->n < 0) {
|
||||
mp_raise_ValueError(translate("Pin cannot wake from Deep Sleep"));
|
||||
}
|
||||
|
||||
// It is strange, but to my experiment, interrupt during sleep
|
||||
// is triggered on transition from Hi/Lo to Hi-Z state, and
|
||||
// not on switching from Hi/Lo to Lo/Hi state, regardless of
|
||||
// TAMLVL value. If tested on non-sleep condition, TAMPID
|
||||
// reacts either on falling or rising edge, according to
|
||||
// TAMLVL value as doumented.
|
||||
tampctrl |= (((1UL << t->n) << 24) | // DEBNCn
|
||||
((alarm->value << t->n) << 16) | // TAMLVLn
|
||||
(1UL << t->n * 2)); // INnACT
|
||||
|
||||
// Tamper pins under the control of RTC are kept in Hi-Z
|
||||
// state, and pull mode is not effective.
|
||||
#if 0
|
||||
if (alarm->pull) {
|
||||
if (alarm->value) {
|
||||
gpio_set_pin_pull_mode(pin->number, GPIO_PULL_DOWN);
|
||||
} else {
|
||||
gpio_set_pin_pull_mode(pin->number, GPIO_PULL_UP);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
if (tampctrl == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
SAMD_ALARM_FLAG_PIN_SET;
|
||||
RTC->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_TAMPER;
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_TAMPER;
|
||||
common_hal_mcu_disable_interrupts();
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 0; // Disable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
}
|
||||
RTC->MODE0.TAMPCTRL.reg = tampctrl;
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 1; // Enable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
}
|
||||
common_hal_mcu_enable_interrupts();
|
||||
}
|
||||
|
||||
void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms) {
|
||||
// The outer layer of this loop simply checks if there are any pin
|
||||
// alarms in the parameter array
|
||||
void alarm_pin_pinalarm_deinit_alarms(size_t n_alarms, const mp_obj_t *alarms) {
|
||||
for (size_t i = 0; i < n_alarms; i++) {
|
||||
if (mp_obj_is_type(alarms[i], &alarm_pin_pinalarm_type)) {
|
||||
alarm_pin_pinalarm_obj_t *alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
gpio_set_pin_function(alarm->pin->number, GPIO_PIN_FUNCTION_A);
|
||||
if (alarm->pull) {
|
||||
if (alarm->value) {
|
||||
// detect rising edge means pull down
|
||||
gpio_set_pin_pull_mode(alarm->pin->number, GPIO_PULL_DOWN);
|
||||
} else {
|
||||
// detect falling edge means pull up
|
||||
gpio_set_pin_pull_mode(alarm->pin->number, GPIO_PULL_UP);
|
||||
}
|
||||
}
|
||||
if (deep_sleep) {
|
||||
// Tamper Pins: IN0:PB00; IN1:PB02; IN2:PA02; IN3:PC00; IN4:PC01; OUT:PB01
|
||||
// Only these pins can do TAMPER
|
||||
if (
|
||||
#ifdef PIN_PB00
|
||||
alarm->pin != &pin_PB00
|
||||
#else
|
||||
true
|
||||
#endif
|
||||
#ifdef PIN_PB02
|
||||
&& alarm->pin != &pin_PB02
|
||||
#endif
|
||||
&& alarm->pin != &pin_PA02) {
|
||||
mp_raise_ValueError(translate("Pin cannot wake from Deep Sleep"));
|
||||
}
|
||||
pinalarm_on = true;
|
||||
SAMD_ALARM_FLAG |= SAMD_ALARM_FLAG_PIN;
|
||||
|
||||
// Set tamper interrupt so deep sleep knows that's the intent
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_TAMPER;
|
||||
common_hal_mcu_disable_interrupts();
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 0; // Disable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
;
|
||||
}
|
||||
// TODO: map requested pin to limited selection of TAMPER pins
|
||||
// PA02 is n=2: IN2, LVL2, etc...
|
||||
RTC->MODE0.TAMPCTRL.bit.DEBNC2 = 1; // Edge triggered when INn is stable for 4 CLK_RTC_DEB periods
|
||||
RTC->MODE0.TAMPCTRL.bit.TAMLVL2 = alarm->value; // rising or falling edge
|
||||
RTC->MODE0.TAMPCTRL.bit.IN2ACT = 1; // WAKE on IN2 (doesn't save timestamp)
|
||||
common_hal_mcu_enable_interrupts();
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_TAMPER;
|
||||
RTC->MODE0.CTRLA.bit.ENABLE = 1; // Enable the RTC
|
||||
while (RTC->MODE0.SYNCBUSY.bit.ENABLE) { // Wait for synchronization
|
||||
;
|
||||
}
|
||||
// TODO: Set up deep sleep alarms.
|
||||
// For deep sleep alarms, first check if the
|
||||
// alarm pin value is valid for RTC->TAMPER. Ensure
|
||||
// that the PULL and VALUE values are possible to
|
||||
// implement with TAMPER, and throw value errors if
|
||||
// not.
|
||||
// A VM reset will occur before deep sleep
|
||||
// starts, so either init these settings now and
|
||||
// protect them with a `never_reset` function, or
|
||||
// store them all in static variables and only
|
||||
// actually implement the settings in
|
||||
// `alarm_pin_pinalarm_prepare_for_deep_sleep`
|
||||
// below.
|
||||
} // use else-if here if RTC-TAMPER can wake from IDLE
|
||||
else {
|
||||
// Light sleep so turn on EIC channel
|
||||
set_eic_handler(alarm->channel, EIC_HANDLER_ALARM);
|
||||
turn_on_eic_channel(alarm->channel, EIC_CONFIG_SENSE0_RISE_Val);
|
||||
}
|
||||
|
||||
// TODO: Set up light sleep / fake deep sleep alarms.
|
||||
// PORT/EVSYS should have more valid pin combinations
|
||||
// than the TAMPER system. Check if there is a valid
|
||||
// PORT/EVSYS combination, set it up, and reserve it with
|
||||
// the tables at the start of this file so it can't be
|
||||
// reused. Also set up IRQ callbacks and any other
|
||||
// busywork.
|
||||
|
||||
// TODO: Might want to reserve or otherwise interact with
|
||||
// peripherals/sam_d5x/external_interrupts.c or events.c here
|
||||
|
||||
// TODO: Even if an alarm is being set for deep sleep, it
|
||||
// still needs to be able to wake from fake deep sleep,
|
||||
// which is actually just like a light sleep. If the
|
||||
// RTC Tamper IRQs are capable of waking from IDLE mode,
|
||||
// this isn't a big deal, and there can be a strict
|
||||
// if-else statement here. Otherwise, it will need to
|
||||
// either set PORT and TAMPER IRQs simultaniously, or if that
|
||||
// isn't possible, make a new function that can shunt fake deep
|
||||
// sleep setup to common_hal_alarm_pretending_deep_sleep
|
||||
if (!mp_obj_is_type(alarms[i], &alarm_pin_pinalarm_type)) {
|
||||
continue;
|
||||
}
|
||||
alarm_pin_pinalarm_obj_t *alarm = MP_OBJ_TO_PTR(alarms[i]);
|
||||
const mcu_pin_obj_t *pin = alarm->pin;
|
||||
|
||||
set_eic_handler(pin->extint_channel, EIC_HANDLER_NO_INTERRUPT);
|
||||
// Set sense = 0 or INTFLAG may be set on reset_pin_number.
|
||||
configure_eic_channel(pin->extint_channel, EIC_CONFIG_SENSE0_NONE_Val);
|
||||
turn_off_eic_channel(pin->extint_channel);
|
||||
reset_pin_number(pin->number);
|
||||
}
|
||||
}
|
||||
|
||||
void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms) {
|
||||
trig_alarm = NULL;
|
||||
if (deep_sleep) {
|
||||
pinalarm_set_alarms_deep(n_alarms, alarms);
|
||||
} else {
|
||||
pinalarm_set_alarms_light(n_alarms, alarms);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,15 +34,16 @@ typedef struct {
|
||||
mp_obj_base_t base;
|
||||
const mcu_pin_obj_t *pin;
|
||||
bool value;
|
||||
bool edge;
|
||||
bool pull;
|
||||
uint8_t channel;
|
||||
} alarm_pin_pinalarm_obj_t;
|
||||
|
||||
mp_obj_t alarm_pin_pinalarm_find_triggered_alarm(size_t n_alarms, const mp_obj_t *alarms);
|
||||
mp_obj_t alarm_pin_pinalarm_create_wakeup_alarm(void);
|
||||
mp_obj_t alarm_pin_pinalarm_create_wakeup_alarm(uint32_t TAMPID);
|
||||
|
||||
void pin_alarm_callback(uint8_t num);
|
||||
void alarm_pin_pinalarm_reset(void);
|
||||
void alarm_pin_pinalarm_deinit_alarms(size_t n_alarms, const mp_obj_t *alarms);
|
||||
void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms);
|
||||
void alarm_pin_pinalarm_prepare_for_deep_sleep(void);
|
||||
bool alarm_pin_pinalarm_woke_this_cycle(void);
|
||||
|
@ -26,26 +26,20 @@
|
||||
|
||||
#include "py/runtime.h"
|
||||
#include "hpl/pm/hpl_pm_base.h"
|
||||
// #include <stdio.h>
|
||||
|
||||
#include "shared-bindings/alarm/time/TimeAlarm.h"
|
||||
#include "shared-bindings/time/__init__.h"
|
||||
#include "common-hal/alarm/__init__.h"
|
||||
#include "supervisor/port.h"
|
||||
|
||||
STATIC volatile bool woke_up;
|
||||
STATIC uint32_t deep_sleep_ticks;
|
||||
// TODO: replace timealarm_on with SAMD_ALARM_FLAG bit flags
|
||||
STATIC volatile bool timealarm_on;
|
||||
STATIC volatile bool woke_up = false;
|
||||
STATIC mp_float_t wakeup_time;
|
||||
|
||||
void common_hal_alarm_time_timealarm_construct(alarm_time_timealarm_obj_t *self, mp_float_t monotonic_time) {
|
||||
// TODO: throw a ValueError if the input time exceeds the maximum
|
||||
// value of the Compare register. This must be calculated from the
|
||||
// setup values in port.c. Should be ~3 days. Give it some margin.
|
||||
//
|
||||
// UPDATE: for deep sleep at least, it's far more than 3 days since
|
||||
// prescalar is set to 1024. (2^32)/32 seconds so >1500 days?
|
||||
|
||||
// TODO: when issueing light/seep sleep, throw a ValueError if the
|
||||
// time exceeds the maximum value. For light sleep, max =
|
||||
// 2**32 / 16384 = 3 days. For deep sleep, max = 2**32 / 32
|
||||
// = 1550 days.
|
||||
self->monotonic_time = monotonic_time;
|
||||
}
|
||||
|
||||
@ -74,29 +68,30 @@ mp_obj_t alarm_time_timealarm_create_wakeup_alarm(void) {
|
||||
}
|
||||
|
||||
void time_alarm_callback(void) {
|
||||
if (timealarm_on) {
|
||||
RTC->MODE0.INTENCLR.reg = RTC_MODE0_INTENCLR_CMP1; // clear flags
|
||||
if (SAMD_ALARM_FLAG_TIME_CHK) {
|
||||
RTC->MODE0.INTENCLR.reg = RTC_MODE0_INTENCLR_CMP1;
|
||||
// SAMD_ALARM_FLAG_TIME_CLR;
|
||||
woke_up = true;
|
||||
timealarm_on = false;
|
||||
}
|
||||
}
|
||||
|
||||
bool alarm_time_timealarm_woke_this_cycle(void) {
|
||||
if (timealarm_on && (((uint32_t)port_get_raw_ticks(NULL) << 4) > RTC->MODE0.COMP[1].reg)) {
|
||||
woke_up = true;
|
||||
if (SAMD_ALARM_FLAG_TIME_CHK) {
|
||||
mp_float_t now_secs = uint64_to_float(common_hal_time_monotonic_ms()) / 1000.0f;
|
||||
if (now_secs > wakeup_time) {
|
||||
woke_up = true;
|
||||
}
|
||||
}
|
||||
return woke_up;
|
||||
}
|
||||
|
||||
void alarm_time_timealarm_reset(void) {
|
||||
timealarm_on = false;
|
||||
SAMD_ALARM_FLAG_TIME_CLR;
|
||||
woke_up = false;
|
||||
SAMD_ALARM_FLAG &= ~SAMD_ALARM_FLAG_TIME; // clear flag
|
||||
RTC->MODE0.INTENCLR.reg = RTC_MODE0_INTENCLR_CMP1;
|
||||
}
|
||||
|
||||
void alarm_time_timealarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_obj_t *alarms) {
|
||||
// Turn on debug control
|
||||
// RTC->MODE0.DBGCTRL.bit.DBGRUN = 1;
|
||||
// Search through alarms for TimeAlarm instances, and check that there's only one
|
||||
bool timealarm_set = false;
|
||||
alarm_time_timealarm_obj_t *timealarm = MP_OBJ_NULL;
|
||||
@ -114,55 +109,36 @@ void alarm_time_timealarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_
|
||||
return;
|
||||
}
|
||||
|
||||
// Compute how long to actually sleep, considering the time now.
|
||||
mp_float_t now_secs = uint64_to_float(common_hal_time_monotonic_ms()) / 1000.0f;
|
||||
uint32_t wakeup_in_secs = MAX(0.0f, timealarm->monotonic_time - now_secs);
|
||||
uint32_t wakeup_in_ticks = wakeup_in_secs * 1024;
|
||||
// In the true deep sleep case, counter is set again based on
|
||||
// wakeup_time in alarm_time_timealarm_prepare_for_deep_sleep.
|
||||
wakeup_time = timealarm->monotonic_time;
|
||||
|
||||
// In the deep sleep case, we can't start the timer until the USB delay has finished
|
||||
// (otherwise it will go off while USB enumerates, and we'll risk entering deep sleep
|
||||
// without any way to wake up again)
|
||||
if (deep_sleep) {
|
||||
deep_sleep_ticks = wakeup_in_ticks;
|
||||
} else {
|
||||
deep_sleep_ticks = 0;
|
||||
}
|
||||
timealarm_on = true;
|
||||
// Set COMP1 for fake sleep. This will be read and reset for real deep sleep anyways.
|
||||
// RTC->MODE0.COMP[1].reg = wakeup_in_ticks;
|
||||
RTC->MODE0.COMP[1].reg = ((uint32_t)port_get_raw_ticks(NULL) + wakeup_in_ticks) << 4;
|
||||
// Compute how long to actually sleep, considering the time now.
|
||||
// At least 1 count = 1/16384 sec is necessary.
|
||||
mp_float_t now_secs = uint64_to_float(common_hal_time_monotonic_ms()) / 1000.0f;
|
||||
uint32_t wakeup_in_counts = MAX(1, (uint32_t)((wakeup_time - now_secs) * 16384));
|
||||
|
||||
|
||||
SAMD_ALARM_FLAG_TIME_SET;
|
||||
RTC->MODE0.COMP[1].reg = RTC->MODE0.COUNT.reg + wakeup_in_counts;
|
||||
while ((RTC->MODE0.SYNCBUSY.reg & (RTC_MODE0_SYNCBUSY_COMP1)) != 0) {
|
||||
}
|
||||
RTC->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP1;
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP1;
|
||||
SAMD_ALARM_FLAG |= SAMD_ALARM_FLAG_TIME; // set TimeAlarm flag
|
||||
|
||||
// This is set for fake sleep. Max fake sleep time is ~72 hours
|
||||
// True deep sleep isn't limited by this
|
||||
// port_interrupt_after_ticks(wakeup_in_ticks);
|
||||
// printf("second t %lu, cmp0 %lu, cmp1 %lu\n", (uint32_t)port_get_raw_ticks(NULL),RTC->MODE0.COMP[0].reg,RTC->MODE0.COMP[1].reg);
|
||||
// TODO: set up RTC->COMP[1] and create a callback pointing to
|
||||
// time_alarm_callback. See atmel-samd/supervisor/port.c -> _port_interrupt_after_ticks()
|
||||
// for how to set this up. I don't know how you do the callback, though. You MUST use
|
||||
// COMP[1], since port.c uses COMP[0] already and needs to set that for
|
||||
// things like the USB enumeration delay.
|
||||
|
||||
// If true deep sleep is called, it will either ignore or overwrite the above setup depending on
|
||||
// whether it is shorter or longer than the USB delay
|
||||
// printf("set deep alarm finished\n");
|
||||
|
||||
}
|
||||
|
||||
void alarm_time_timealarm_prepare_for_deep_sleep(void) {
|
||||
if (deep_sleep_ticks) {
|
||||
// TODO: set up RTC->COMP[1] again, since it needs to start AFTER the USB enumeration delay.
|
||||
// Just do the exact same setup as alarm_time_timealarm_set_alarms(). Note, this
|
||||
// is used for both fake and real deep sleep, so it still needs the callback.
|
||||
// See STM32 for reference.
|
||||
// set up RTC->COMP[1] again, since it needs to start AFTER the USB enumeration delay.
|
||||
// Just do the exact same setup as alarm_time_timealarm_set_alarms(). Note, this
|
||||
// is used for both fake and real deep sleep, so it still needs the callback.
|
||||
// See STM32 for reference.
|
||||
//
|
||||
// In deep sleep mode, prescaler is set to 1024, so that 1 count = 1/32 s.
|
||||
// At least 1 count is necessary.
|
||||
|
||||
RTC->MODE0.COMP[1].reg = deep_sleep_ticks;
|
||||
while ((RTC->MODE0.SYNCBUSY.reg & (RTC_MODE0_SYNCBUSY_COMP1)) != 0) {
|
||||
}
|
||||
deep_sleep_ticks = 0;
|
||||
mp_float_t now_secs = uint64_to_float(common_hal_time_monotonic_ms()) / 1000.0f;
|
||||
uint32_t wakeup_in_counts = MAX(1, (uint32_t)((wakeup_time - now_secs) * 32));
|
||||
RTC->MODE0.COMP[1].reg = wakeup_in_counts;
|
||||
while ((RTC->MODE0.SYNCBUSY.reg & (RTC_MODE0_SYNCBUSY_COMP1)) != 0) {
|
||||
}
|
||||
}
|
||||
|
@ -69,9 +69,13 @@ void common_hal_paralleldisplay_parallelbus_construct(paralleldisplay_parallelbu
|
||||
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->read.base.type = &mp_type_NoneType;
|
||||
if (read != NULL) {
|
||||
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);
|
||||
never_reset_pin_number(read->number);
|
||||
}
|
||||
|
||||
self->data0_pin = data_pin;
|
||||
self->write_group = &PORT->Group[write->number / 32];
|
||||
@ -89,7 +93,6 @@ void common_hal_paralleldisplay_parallelbus_construct(paralleldisplay_parallelbu
|
||||
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);
|
||||
}
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include "py/smallint.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
#include "shared-bindings/time/__init__.h"
|
||||
#include "supervisor/shared/autoreload.h"
|
||||
|
||||
#include "hal/include/hal_atomic.h"
|
||||
#include "hal/include/hal_delay.h"
|
||||
|
@ -129,8 +129,9 @@
|
||||
#include "common-hal/_pew/PewPew.h"
|
||||
#endif
|
||||
static volatile bool sleep_ok = true;
|
||||
|
||||
#ifdef SAMD21
|
||||
static uint8_t _tick_event_channel = 0;
|
||||
uint8_t _tick_event_channel;
|
||||
|
||||
// Sleeping requires a register write that can stall interrupt handling. Turning
|
||||
// off sleeps allows for more accurate interrupt timing. (Python still thinks
|
||||
@ -142,7 +143,13 @@ void rtc_start_pulse(void) {
|
||||
void rtc_end_pulse(void) {
|
||||
sleep_ok = true;
|
||||
}
|
||||
#endif
|
||||
#endif // SAMD21
|
||||
|
||||
static void reset_ticks(void) {
|
||||
#ifdef SAMD21
|
||||
_tick_event_channel = EVSYS_SYNCH_NUM;
|
||||
#endif
|
||||
}
|
||||
|
||||
extern volatile bool mp_msc_enabled;
|
||||
|
||||
@ -426,9 +433,7 @@ void reset_port(void) {
|
||||
#endif
|
||||
|
||||
reset_event_system();
|
||||
#ifdef SAMD21
|
||||
_tick_event_channel = EVSYS_SYNCH_NUM;
|
||||
#endif
|
||||
reset_ticks();
|
||||
|
||||
reset_all_pins();
|
||||
|
||||
@ -498,7 +503,7 @@ uint32_t port_get_saved_word(void) {
|
||||
static volatile uint64_t overflowed_ticks = 0;
|
||||
|
||||
static uint32_t _get_count(uint64_t *overflow_count) {
|
||||
while(1) {
|
||||
while (1) {
|
||||
// Disable interrupts so we can grab the count and the overflow atomically.
|
||||
common_hal_mcu_disable_interrupts();
|
||||
|
||||
@ -521,7 +526,7 @@ static uint32_t _get_count(uint64_t *overflow_count) {
|
||||
return count;
|
||||
}
|
||||
|
||||
// Try again if overflow hasn't been processed yet.
|
||||
// Try again if overflow hasn't been processed yet.
|
||||
}
|
||||
}
|
||||
|
||||
@ -620,7 +625,7 @@ void port_enable_tick(void) {
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER2;
|
||||
#endif
|
||||
#ifdef SAMD21
|
||||
// SAMD21 ticks won't survive port_reset(). This *should* be ok since it'll
|
||||
// SAMD21 ticks won't survive reset_port(). This *should* be ok since it'll
|
||||
// be triggered by ticks and no Python will be running.
|
||||
if (_tick_event_channel >= EVSYS_SYNCH_NUM) {
|
||||
turn_on_event_system();
|
||||
@ -653,6 +658,7 @@ void port_disable_tick(void) {
|
||||
uint8_t value = 1 << _tick_event_channel;
|
||||
EVSYS->INTENCLR.reg = EVSYS_INTENSET_EVD(value);
|
||||
}
|
||||
_tick_event_channel = EVSYS_SYNCH_NUM;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -63,24 +63,25 @@ void init_usb_hardware(void) {
|
||||
|
||||
#ifdef SAMD21
|
||||
void USB_Handler(void) {
|
||||
usb_irq_handler();
|
||||
usb_irq_handler(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef SAM_D5X_E5X
|
||||
// These are different subsets of USB interrupts, *NOT* different USB peripherals.
|
||||
void USB_0_Handler(void) {
|
||||
usb_irq_handler();
|
||||
usb_irq_handler(0);
|
||||
}
|
||||
|
||||
void USB_1_Handler(void) {
|
||||
usb_irq_handler();
|
||||
usb_irq_handler(0);
|
||||
}
|
||||
|
||||
void USB_2_Handler(void) {
|
||||
usb_irq_handler();
|
||||
usb_irq_handler(0);
|
||||
}
|
||||
|
||||
void USB_3_Handler(void) {
|
||||
usb_irq_handler();
|
||||
usb_irq_handler(0);
|
||||
}
|
||||
#endif
|
||||
|
@ -60,7 +60,7 @@
|
||||
#define MICROPY_PORT_ROOT_POINTERS \
|
||||
CIRCUITPY_COMMON_ROOT_POINTERS
|
||||
|
||||
#define DEBUG_UART_TX (&pin_GPIO14)
|
||||
#define DEBUG_UART_RX (&pin_GPIO15)
|
||||
#define CIRCUITPY_DEBUG_UART_TX (&pin_GPIO14)
|
||||
#define CIRCUITPY_DEBUG_UART_RX (&pin_GPIO15)
|
||||
|
||||
#endif // __INCLUDED_MPCONFIGPORT_H
|
||||
|
@ -35,7 +35,7 @@
|
||||
uint32_t SystemCoreClock = 700 * 1000 * 1000;
|
||||
|
||||
void USB_IRQHandler(void) {
|
||||
usb_irq_handler();
|
||||
usb_irq_handler(0);
|
||||
}
|
||||
|
||||
void init_usb_hardware(void) {
|
||||
|
@ -6,7 +6,7 @@ set(ENV{IDF_PATH} ${CMAKE_SOURCE_DIR}/esp-idf)
|
||||
|
||||
# The component list here determines what options we get in menuconfig and what the ninja file
|
||||
# can build.
|
||||
set(COMPONENTS esptool_py soc driver log main esp-tls mbedtls esp_event esp_adc_cal esp_netif esp_wifi lwip wpa_supplicant freertos bt)
|
||||
set(COMPONENTS esptool_py soc driver log main esp-tls mbedtls mdns esp_event esp_adc_cal esp_netif esp_wifi lwip wpa_supplicant freertos bt)
|
||||
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(circuitpython)
|
||||
|
@ -262,6 +262,11 @@ SRC_C += \
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(IDF_TARGET),esp32c3)
|
||||
SRC_C += \
|
||||
supervisor/usb_serial_jtag.c
|
||||
endif
|
||||
|
||||
$(BUILD)/i2s_lcd_esp32s2_driver.o: CFLAGS += -Wno-sign-compare
|
||||
|
||||
ifneq ($(CIRCUITPY_USB),0)
|
||||
@ -360,7 +365,7 @@ $(HEADER_BUILD)/qstr.split: | $(BUILD)/esp-idf/config/sdkconfig.h
|
||||
BINARY_WIFI_BLOBS = libcoexist.a libcore.a libespnow.a libmesh.a libnet80211.a libpp.a libsmartconfig.a libwapi.a
|
||||
BINARY_BLOBS = esp-idf/components/esp_phy/lib/$(IDF_TARGET)/libphy.a $(addprefix esp-idf/components/esp_wifi/lib/$(IDF_TARGET)/, $(BINARY_WIFI_BLOBS))
|
||||
|
||||
ESP_IDF_COMPONENTS_LINK = $(IDF_TARGET_ARCH) app_update bootloader_support driver efuse esp_adc_cal esp_common esp_event esp_hw_support esp_ipc esp_netif esp_pm esp_phy esp_ringbuf esp_rom esp_system esp_timer esp-tls esp_wifi freertos hal heap log lwip mbedtls newlib nvs_flash pthread soc spi_flash vfs wpa_supplicant
|
||||
ESP_IDF_COMPONENTS_LINK = $(IDF_TARGET_ARCH) app_update bootloader_support driver efuse esp_adc_cal esp_common esp_event esp_hw_support esp_ipc esp_netif esp_pm esp_phy esp_ringbuf esp_rom esp_system esp_timer esp-tls esp_wifi freertos hal heap log lwip mbedtls mdns newlib nvs_flash pthread soc spi_flash vfs wpa_supplicant
|
||||
ifneq ($(CIRCUITPY_BLEIO),0)
|
||||
ESP_IDF_COMPONENTS_LINK += bt
|
||||
BINARY_BLOBS += esp-idf/components/esp_phy/lib/$(IDF_TARGET)/libbtbb.a \
|
||||
|
@ -41,13 +41,13 @@ displayio_fourwire_obj_t board_display_obj;
|
||||
#define DELAY 0x80
|
||||
|
||||
uint8_t display_init_sequence[] = {
|
||||
0x01, 0 | DELAY, 150, // SWRESET
|
||||
0x11, 0 | DELAY, 255, // SLPOUT
|
||||
0x01, 0 | DELAY, 120, // SWRESET
|
||||
0x11, 0 | DELAY, 5, // SLPOUT
|
||||
0x36, 1, 0b10100000, // _MADCTL for rotation 0
|
||||
0x3a, 1, 0x55, // COLMOD - 16bit color
|
||||
0x21, 0 | DELAY, 10, // _INVON
|
||||
0x13, 0 | DELAY, 10, // _NORON
|
||||
0x29, 0 | DELAY, 255, // _DISPON
|
||||
0x21, 0, // _INVON
|
||||
0x13, 0, // _NORON
|
||||
0x29, 0 | DELAY, 5, // _DISPON
|
||||
};
|
||||
|
||||
void board_init(void) {
|
||||
@ -59,7 +59,7 @@ void board_init(void) {
|
||||
&pin_GPIO39, // TFT_DC Command or data
|
||||
&pin_GPIO40, // TFT_CS Chip select
|
||||
&pin_GPIO41, // TFT_RESET Reset
|
||||
5000000, // Baudrate
|
||||
40000000, // Baudrate
|
||||
0, // Polarity
|
||||
0); // Phase
|
||||
|
||||
|
@ -32,12 +32,6 @@
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO21)
|
||||
#define MICROPY_HW_NEOPIXEL_COUNT (6)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO33)
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO34)
|
||||
|
||||
|
@ -21,14 +21,16 @@ STATIC const mp_rom_obj_tuple_t camera_data_tuple = {
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_SCK), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_BACKLIGHT), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_CS), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TFT_RESET), MP_ROM_PTR(&pin_GPIO41) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_CARD_CS), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CARD_POWER), MP_ROM_PTR(&pin_GPIO1) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IRQ), MP_ROM_PTR(&pin_GPIO3) },
|
||||
|
||||
|
@ -41,8 +41,16 @@ bool board_requests_safe_mode(void) {
|
||||
|
||||
void reset_board(void) {
|
||||
// Turn on I2C power by default.
|
||||
|
||||
// set pin to input to find 'rest state'
|
||||
gpio_set_direction(7, GPIO_MODE_DEF_INPUT);
|
||||
// wait 1 millis for pull to activate
|
||||
mp_hal_delay_ms(1);
|
||||
// read rest state (off)
|
||||
bool restlevel = gpio_get_level(7);
|
||||
gpio_set_direction(7, GPIO_MODE_DEF_OUTPUT);
|
||||
gpio_set_level(7, false);
|
||||
// flip it!
|
||||
gpio_set_level(7, !restlevel);
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
|
@ -32,12 +32,6 @@
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO33)
|
||||
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO21)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO4)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO3)
|
||||
|
||||
|
@ -16,7 +16,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_POWER_INVERTED), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_POWER), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
@ -32,12 +32,6 @@
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO33)
|
||||
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO34)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO41)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO42)
|
||||
|
||||
|
@ -32,12 +32,6 @@
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO33)
|
||||
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO21)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO4)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO3)
|
||||
|
||||
|
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* 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"
|
||||
#include "components/driver/include/driver/gpio.h"
|
||||
#include "components/hal/include/hal/gpio_hal.h"
|
||||
#include "common-hal/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
reset_board();
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
// Turn on I2C power by default.
|
||||
|
||||
gpio_set_direction(7, GPIO_MODE_DEF_OUTPUT);
|
||||
gpio_set_level(7, true);
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2019 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// Micropython setup
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit Feather ESP32S3 No PSRAM"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S3"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO33)
|
||||
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO21)
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO4)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO3)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO36)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO35)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO37)
|
||||
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO38)
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO39)
|
||||
|
||||
#define DOUBLE_TAP_PIN (&pin_GPIO34)
|
@ -0,0 +1,17 @@
|
||||
USB_VID = 0x239A
|
||||
USB_PID = 0x8114
|
||||
USB_PRODUCT = "Adafruit Feather ESP32S3 No PSRAM"
|
||||
USB_MANUFACTURER = "Adafruit"
|
||||
|
||||
IDF_TARGET = esp32s3
|
||||
|
||||
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=qio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=8MB
|
@ -0,0 +1,73 @@
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BOOT0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_POWER), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_L), MP_ROM_PTR(&pin_GPIO13) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL_POWER), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO33) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_STEMMA_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_module_globals_table);
|
@ -0,0 +1,7 @@
|
||||
CONFIG_ESP32S3_SPIRAM_SUPPORT=n
|
||||
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="espressif-esp32s3"
|
||||
# end of LWIP
|
@ -33,12 +33,6 @@
|
||||
#define MICROPY_HW_APA102_SCK (&pin_GPIO15)
|
||||
#define MICROPY_HW_APA102_COUNT (5)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO33)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO34)
|
||||
|
||||
|
@ -34,12 +34,6 @@
|
||||
#define CIRCUITPY_STATUS_LED_POWER_INVERTED (1)
|
||||
#define MICROPY_HW_NEOPIXEL_COUNT (4)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO34)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO33)
|
||||
|
||||
|
@ -31,12 +31,6 @@
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO45)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define DEFAULT_I2C_BUS_SCL (&pin_GPIO34)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO33)
|
||||
|
||||
|
49
ports/espressif/boards/adafruit_qtpy_esp32c3/board.c
Normal file
49
ports/espressif/boards/adafruit_qtpy_esp32c3/board.c
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 microDev
|
||||
* Copyright (c) 2021 skieast/Bruce Segal
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
#include "supervisor/board.h"
|
||||
|
||||
#include "components/driver/include/driver/gpio.h"
|
||||
#include "soc/usb_serial_jtag_struct.h"
|
||||
|
||||
void board_init(void) {
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
50
ports/espressif/boards/adafruit_qtpy_esp32c3/mpconfigboard.h
Normal file
50
ports/espressif/boards/adafruit_qtpy_esp32c3/mpconfigboard.h
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 microDev
|
||||
* Copyright (c) 2021 skieast/Bruce Segal
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
// Board setup
|
||||
#define MICROPY_HW_BOARD_NAME "Adafruit QT Py ESP32C3"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32-C3FN4"
|
||||
|
||||
// Status LED
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO2)
|
||||
|
||||
#define CIRCUITPY_BOARD_I2C (1)
|
||||
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO6, .sda = &pin_GPIO5}}
|
||||
|
||||
#define CIRCUITPY_BOARD_SPI (1)
|
||||
#define CIRCUITPY_BOARD_SPI_PIN {{.clock = &pin_GPIO10, .mosi = &pin_GPIO7, .miso = &pin_GPIO8}}
|
||||
|
||||
#define CIRCUITPY_BOARD_UART (1)
|
||||
#define CIRCUITPY_BOARD_UART_PIN {{.tx = &pin_GPIO21, .rx = &pin_GPIO20}}
|
||||
|
||||
// For entering safe mode
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO9)
|
||||
|
||||
// Explanation of how a user got into safe mode
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define CIRCUITPY_ESP_USB_SERIAL_JTAG (1)
|
@ -0,0 +1,10 @@
|
||||
CIRCUITPY_CREATOR_ID = 0x0000239A
|
||||
CIRCUITPY_CREATION_ID = 0x00010001
|
||||
|
||||
IDF_TARGET = esp32c3
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
85
ports/espressif/boards/adafruit_qtpy_esp32c3/pins.c
Normal file
85
ports/espressif/boards/adafruit_qtpy_esp32c3/pins.c
Normal file
@ -0,0 +1,85 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 microDev
|
||||
* Copyright (c) 2021 skieast/Bruce Segal
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
CIRCUITPY_BOARD_BUS_SINGLETON(stemma_i2c, i2c, 1)
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
|
||||
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_BOOT0), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_GPIO9) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO4) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO3) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_GPIO1) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_GPIO0) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_GPIO5) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_GPIO6) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_GPIO20) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D35), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D36), MP_ROM_PTR(&pin_GPIO10) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D37), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO2) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_STEMMA_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_module_globals_table);
|
62
ports/espressif/boards/adafruit_qtpy_esp32c3/sdkconfig
Normal file
62
ports/espressif/boards/adafruit_qtpy_esp32c3/sdkconfig
Normal file
@ -0,0 +1,62 @@
|
||||
# Automatically generated file. DO NOT EDIT.
|
||||
# Espressif IoT Development Framework (ESP-IDF) Project Configuration
|
||||
#
|
||||
# Bootloader config
|
||||
#
|
||||
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
|
||||
# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
|
||||
CONFIG_BOOTLOADER_LOG_LEVEL=0
|
||||
# end of Bootloader config
|
||||
|
||||
#
|
||||
# Serial flasher config
|
||||
#
|
||||
# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set
|
||||
# end of Serial flasher config
|
||||
|
||||
#
|
||||
# Partition Table
|
||||
#
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="esp-idf-config/partitions-4MB-no-uf2.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="esp-idf-config/partitions-4MB-no-uf2.csv"
|
||||
# end of Partition Table
|
||||
|
||||
#
|
||||
# Compiler options
|
||||
#
|
||||
# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set
|
||||
# end of Compiler options
|
||||
|
||||
#
|
||||
# Component config
|
||||
#
|
||||
#
|
||||
# ESP System Settings
|
||||
#
|
||||
# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set
|
||||
CONFIG_ESP_CONSOLE_SECONDARY_NONE=y
|
||||
# CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG is not set
|
||||
# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
|
||||
# end of ESP System Settings
|
||||
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="Adafruit-QTPy-ESP32C3"
|
||||
# end of LWIP
|
||||
|
||||
#
|
||||
# SPI Flash driver
|
||||
#
|
||||
# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set
|
||||
# end of SPI Flash driver
|
||||
|
||||
# end of Component config
|
||||
|
||||
#
|
||||
# Deprecated options for backward compatibility
|
||||
#
|
||||
# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
|
||||
CONFIG_LOG_BOOTLOADER_LEVEL=0
|
||||
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
|
||||
# end of Deprecated options for backward compatibility
|
@ -32,12 +32,6 @@
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO39)
|
||||
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO38)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define CIRCUITPY_BOARD_I2C (2)
|
||||
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO6, .sda = &pin_GPIO7}, \
|
||||
{.scl = &pin_GPIO40, .sda = &pin_GPIO41}}
|
||||
@ -49,8 +43,3 @@
|
||||
#define CIRCUITPY_BOARD_UART_PIN {{.tx = &pin_GPIO5, .rx = &pin_GPIO16}}
|
||||
|
||||
#define DOUBLE_TAP_PIN (&pin_GPIO10)
|
||||
|
||||
#ifdef DEBUG
|
||||
#define DEBUG_UART_RX (&pin_GPIO16)
|
||||
#define DEBUG_UART_TX (&pin_GPIO5)
|
||||
#endif
|
||||
|
@ -32,12 +32,6 @@
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO38)
|
||||
#define CIRCUITPY_STATUS_LED_POWER (&pin_GPIO37)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
||||
|
||||
#define CIRCUITPY_BOARD_I2C (2)
|
||||
#define CIRCUITPY_BOARD_I2C_PIN {{.scl = &pin_GPIO6, .sda = &pin_GPIO7}, \
|
||||
{.scl = &pin_GPIO40, .sda = &pin_GPIO41}}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user