Merge branch 'main' into uzlib-module

This commit is contained in:
Mark 2022-04-03 11:48:37 -05:00 committed by GitHub
commit 8ed7b114cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
481 changed files with 11236 additions and 3600 deletions

View File

@ -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: |

View File

@ -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
View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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
------------

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
View 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

View File

@ -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

View File

@ -36,7 +36,7 @@ class SingletonGenerator:
self.state = None
self.exc = StopIteration()
def __iter__(self):
def __await__(self):
return self
def __next__(self):

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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."

View File

@ -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

View File

@ -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"

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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."

View File

@ -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"

View File

@ -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

View File

@ -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."

View File

@ -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値"

View File

@ -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 "정수가 필요합니다"

View File

@ -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"

View File

@ -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."

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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
View File

@ -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;
}

View File

@ -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.

View File

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

View File

@ -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)

View File

@ -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))

View File

@ -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

View File

@ -9,3 +9,6 @@ CHIP_FAMILY = samd21
INTERNAL_FLASH_FILESYSTEM = 1
LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0
CIRCUITPY_ONEWIREIO = 0
CIRCUITPY_RAINBOWIO = 0

View File

@ -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)

View File

@ -10,4 +10,5 @@ QSPI_FLASH_FILESYSTEM = 1
EXTERNAL_FLASH_DEVICES = GD25Q16C
LONGINT_IMPL = MPZ
CIRCUITPY__EVE = 1
CIRCUITPY_CANIO = 1

View File

@ -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

View File

@ -36,3 +36,4 @@
#define IGNORE_PIN_PB11 1
#define SAMD5x_E5x_BOD33_LEVEL (100)
#define CIRCUITPY_REPL_LOGO 0

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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);
}

View File

@ -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) },

View File

@ -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);

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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)

View File

@ -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;
}

View File

@ -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);

View File

@ -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());

View File

@ -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

View File

@ -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);
}
}

View File

@ -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);

View File

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

View File

@ -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);
}

View File

@ -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"

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

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

View File

@ -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)

View File

@ -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 \

View File

@ -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

View File

@ -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)

View File

@ -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) },

View File

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

View File

@ -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)

View File

@ -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) },

View File

@ -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)

View File

@ -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)

View File

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

View File

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

View File

@ -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

View File

@ -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);

View File

@ -0,0 +1,7 @@
CONFIG_ESP32S3_SPIRAM_SUPPORT=n
#
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="espressif-esp32s3"
# end of LWIP

View File

@ -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)

View File

@ -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)

View File

@ -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)

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

View 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)

View File

@ -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

View 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);

View 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

View File

@ -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

View File

@ -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