Merded with main branch

This commit is contained in:
CDario 2022-10-29 07:46:54 +00:00
commit 19fd9107a2
39 changed files with 193 additions and 78 deletions

View File

@ -73,10 +73,18 @@ STATIC mp_obj_t task_getiter(mp_obj_t self_in, mp_obj_iter_buf_t *iter_buf);
#define _TICKS_PERIOD (1lu << 29) #define _TICKS_PERIOD (1lu << 29)
#define _TICKS_MAX (_TICKS_PERIOD - 1) #define _TICKS_MAX (_TICKS_PERIOD - 1)
#define _TICKS_HALFPERIOD (_TICKS_PERIOD >> 1) #define _TICKS_HALFPERIOD (_TICKS_PERIOD >> 1)
#if !CIRCUITPY || (defined(__unix__) || defined(__APPLE__))
STATIC mp_obj_t ticks(void) { STATIC mp_obj_t ticks(void) {
return MP_OBJ_NEW_SMALL_INT(mp_hal_ticks_ms() & _TICKS_MAX); return MP_OBJ_NEW_SMALL_INT(mp_hal_ticks_ms() & _TICKS_MAX);
} }
#else
// We don't share the implementation above because our supervisor_ticks_ms
// starts the epoch about 65 seconds before the first overflow (see
// shared-bindings/supervisor/__init__.c). We assume/require that
// supervisor.ticks_ms is picked as the ticks implementation under
// CircuitPython for the Python-coded bits of asyncio.
#define ticks() MP_OBJ_NEW_SMALL_INT(supervisor_ticks_ms())
#endif
STATIC mp_int_t ticks_diff(mp_obj_t t1_in, mp_obj_t t0_in) { 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 t0 = MP_OBJ_SMALL_INT_VALUE(t0_in);

View File

@ -2673,7 +2673,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "" msgstr ""
@ -3876,6 +3876,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

5
locale/circuitpython.pot Normal file → Executable file
View File

@ -3848,6 +3848,11 @@ msgstr ""
msgid "pressing central button at start up.\n" msgid "pressing central button at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2660,7 +2660,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "" msgstr ""
@ -3862,6 +3862,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -128,7 +128,7 @@ msgstr "%q Initialisierung ist gescheitert"
#: shared-bindings/dualbank/__init__.c #: shared-bindings/dualbank/__init__.c
msgid "%q is %q" msgid "%q is %q"
msgstr "" msgstr "%q ist %q"
#: py/argcheck.c #: py/argcheck.c
msgid "%q length must be %d" msgid "%q length must be %d"
@ -174,6 +174,7 @@ msgstr "%q muss >= %d sein"
#: shared-bindings/audiocore/RawSample.c #: shared-bindings/audiocore/RawSample.c
msgid "%q must be a bytearray or array of type 'h', 'H', 'b', or 'B'" msgid "%q must be a bytearray or array of type 'h', 'H', 'b', or 'B'"
msgstr "" msgstr ""
"%q muss ein Byte-Array oder ein array vom Typ 'h', 'H', 'b', oder 'B' sein"
#: py/argcheck.c #: py/argcheck.c
msgid "%q must be a string" msgid "%q must be a string"
@ -1030,16 +1031,16 @@ msgstr "Filter zu komplex"
#: ports/espressif/common-hal/dualbank/__init__.c #: ports/espressif/common-hal/dualbank/__init__.c
msgid "Firmware is duplicate" msgid "Firmware is duplicate"
msgstr "" msgstr "Die Firmware ist doppelt vorhanden"
#: ports/espressif/common-hal/dualbank/__init__.c #: ports/espressif/common-hal/dualbank/__init__.c
msgid "Firmware is invalid" msgid "Firmware is invalid"
msgstr "" msgstr "Die Firmware ist ungültig"
#: ports/espressif/common-hal/coproc/Coproc.c #: ports/espressif/common-hal/coproc/Coproc.c
#: ports/espressif/common-hal/dualbank/__init__.c #: ports/espressif/common-hal/dualbank/__init__.c
msgid "Firmware is too big" msgid "Firmware is too big"
msgstr "" msgstr "Die Firmware ist zu groß"
#: shared-bindings/bitmaptools/__init__.c #: shared-bindings/bitmaptools/__init__.c
msgid "For L8 colorspace, input bitmap must have 8 bits per pixel" msgid "For L8 colorspace, input bitmap must have 8 bits per pixel"
@ -1657,7 +1658,7 @@ msgstr ""
#: ports/espressif/common-hal/alarm/coproc/CoprocAlarm.c #: ports/espressif/common-hal/alarm/coproc/CoprocAlarm.c
#: ports/espressif/common-hal/alarm/touch/TouchAlarm.c #: ports/espressif/common-hal/alarm/touch/TouchAlarm.c
msgid "Only one %q can be set in deep sleep." msgid "Only one %q can be set in deep sleep."
msgstr "" msgstr "Nur ein %q kann im Deep-Sleep gesetzt werden."
#: ports/espressif/common-hal/i2ctarget/I2CTarget.c #: ports/espressif/common-hal/i2ctarget/I2CTarget.c
#: ports/raspberrypi/common-hal/i2ctarget/I2CTarget.c #: ports/raspberrypi/common-hal/i2ctarget/I2CTarget.c
@ -2224,7 +2225,7 @@ msgstr "mDNS-Abfrage kann nicht gestartet werden"
#: shared-bindings/coproc/CoprocMemory.c #: shared-bindings/coproc/CoprocMemory.c
msgid "Unable to write" msgid "Unable to write"
msgstr "" msgstr "Schreiben nicht möglich"
#: shared-bindings/nvm/ByteArray.c #: shared-bindings/nvm/ByteArray.c
msgid "Unable to write to nvm." msgid "Unable to write to nvm."
@ -2717,7 +2718,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "Kann Blockgröße von 512 nicht setzen" msgstr "Kann Blockgröße von 512 nicht setzen"
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "kann Attribut nicht setzen" msgstr "kann Attribut nicht setzen"
@ -2988,6 +2989,8 @@ msgid ""
"esp32_camera.Camera requires reserved PSRAM to be configured. See the " "esp32_camera.Camera requires reserved PSRAM to be configured. See the "
"documentation for instructions." "documentation for instructions."
msgstr "" msgstr ""
"esp32_camera.Camera benötigt reservierten PSRAM um konfiguriert werden zu "
"können. Sieh in der Dokumentation für eine Anleitung nach."
#: py/runtime.c #: py/runtime.c
msgid "exceptions must derive from BaseException" msgid "exceptions must derive from BaseException"
@ -3940,6 +3943,11 @@ msgstr "Drücken der Boot-Taste beim Start.\n"
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "Drücken Sie beim Start beide Tasten.\n" msgstr "Drücken Sie beim Start beide Tasten.\n"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "Drücken der linken Taste beim Einschalten\n" msgstr "Drücken der linken Taste beim Einschalten\n"
@ -4391,7 +4399,7 @@ msgstr "wifi ist nicht aktiviert"
#: ports/raspberrypi/common-hal/wifi/Monitor.c #: ports/raspberrypi/common-hal/wifi/Monitor.c
msgid "wifi.Monitor not available" msgid "wifi.Monitor not available"
msgstr "" msgstr "wifi.Monitor nicht verfügbar"
#: shared-bindings/_bleio/Adapter.c #: shared-bindings/_bleio/Adapter.c
msgid "window must be <= interval" msgid "window must be <= interval"
@ -4510,7 +4518,7 @@ msgstr "zi muss die Form (n_section, 2) haben"
#~ "sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' " #~ "sample_source buffer must be a bytearray or array of type 'h', 'H', 'b' "
#~ "or 'B'" #~ "or 'B'"
#~ msgstr "" #~ msgstr ""
#~ "sample_source buffer muss ein Bytearray oder ein Array vom Typ 'h', 'H', " #~ "sample_source buffer muss ein Byte-Array oder ein Array vom Typ 'h', 'H', "
#~ "'b' oder 'B' sein" #~ "'b' oder 'B' sein"
#~ msgid "Expected an alarm" #~ msgid "Expected an alarm"

View File

@ -2669,7 +2669,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "" msgstr ""
@ -3871,6 +3871,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2676,7 +2676,7 @@ msgstr "can't send non-None value to a just-started generator"
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "can't set 512 block size" msgstr "can't set 512 block size"
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "can't set attribute" msgstr "can't set attribute"
@ -3881,6 +3881,11 @@ msgstr "pressing boot button at start up.\n"
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "pressing both buttons at start up.\n" msgstr "pressing both buttons at start up.\n"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "pressing the left button at start up\n" msgstr "pressing the left button at start up\n"

View File

@ -2713,7 +2713,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "no se puede definir un tamaño de bloque de 512" msgstr "no se puede definir un tamaño de bloque de 512"
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "no se puede asignar el atributo" msgstr "no se puede asignar el atributo"
@ -3928,6 +3928,11 @@ msgstr "presionando botón de arranque al inicio.\n"
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "presionando ambos botones al inicio.\n" msgstr "presionando ambos botones al inicio.\n"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "presione el botón izquierdo al arranque\n" msgstr "presione el botón izquierdo al arranque\n"

View File

@ -2664,7 +2664,7 @@ msgstr "hindi mapadala ang non-None value sa isang kaka umpisang generator"
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "hindi ma i-set ang attribute" msgstr "hindi ma i-set ang attribute"
@ -3881,6 +3881,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2746,7 +2746,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "impossible de définir une taille de bloc de 512" msgstr "impossible de définir une taille de bloc de 512"
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "attribut non modifiable" msgstr "attribut non modifiable"
@ -3970,6 +3970,11 @@ msgstr "bouton boot appuyé lors du démarrage.\n"
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "les deux boutons appuyés lors du démarrage.\n" msgstr "les deux boutons appuyés lors du démarrage.\n"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "appuyer le bouton de gauche au démarage\n" msgstr "appuyer le bouton de gauche au démarage\n"

View File

@ -2642,7 +2642,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "" msgstr ""
@ -3844,6 +3844,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2675,7 +2675,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "impossibile impostare attributo" msgstr "impossibile impostare attributo"
@ -3894,6 +3894,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2656,7 +2656,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "" msgstr ""
@ -3865,6 +3865,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2646,7 +2646,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "" msgstr ""
@ -3848,6 +3848,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2673,7 +2673,7 @@ msgstr "kan geen niet-'None' waarde naar een net gestartte generator sturen"
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "kan geen 512 blokgrootte instellen" msgstr "kan geen 512 blokgrootte instellen"
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "kan attribute niet instellen" msgstr "kan attribute niet instellen"
@ -3881,6 +3881,11 @@ msgstr "druk bootknop in bij opstarten.\n"
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "druk beide knoppen in bij opstarten.\n" msgstr "druk beide knoppen in bij opstarten.\n"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2653,7 +2653,7 @@ msgstr "świeżo stworzony generator może tylko przyjąć None"
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "nie można ustawić atrybutu" msgstr "nie można ustawić atrybutu"
@ -3857,6 +3857,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2727,7 +2727,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "não é possível definir o tamanho de 512 blocos" msgstr "não é possível definir o tamanho de 512 blocos"
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "não é possível definir o atributo" msgstr "não é possível definir o atributo"
@ -3949,6 +3949,11 @@ msgstr "pressionando o botão de boot na inicialização.\n"
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "pressionando ambos os botões durante a inicialização.\n" msgstr "pressionando ambos os botões durante a inicialização.\n"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "pressionando o botão esquerdo durante a inicialização\n" msgstr "pressionando o botão esquerdo durante a inicialização\n"

View File

@ -2691,7 +2691,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "" msgstr ""
@ -3893,6 +3893,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2697,7 +2697,7 @@ msgstr "kan inte skicka icke-None värde till nystartad generator"
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "kan inte sätta blockstorlek 512" msgstr "kan inte sätta blockstorlek 512"
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "kan inte att ange attribut" msgstr "kan inte att ange attribut"
@ -3910,6 +3910,11 @@ msgstr "trycka på startknappen vid start.\n"
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "trycka båda knapparna vid uppstart.\n" msgstr "trycka båda knapparna vid uppstart.\n"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "håll ner vänster knapp vid start\n" msgstr "håll ner vänster knapp vid start\n"

View File

@ -2662,7 +2662,7 @@ msgstr ""
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "" msgstr ""
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "" msgstr ""
@ -3864,6 +3864,11 @@ msgstr ""
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "" msgstr ""
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "" msgstr ""

View File

@ -2700,7 +2700,7 @@ msgstr "wúfǎ xiàng gānggāng qǐdòng de shēngchéng qì fāsòng fēi zhí
msgid "can't set 512 block size" msgid "can't set 512 block size"
msgstr "wúfǎ shèzhì 512 kuài dàxiǎo" msgstr "wúfǎ shèzhì 512 kuài dàxiǎo"
#: py/objnamedtuple.c #: py/objexcept.c py/objnamedtuple.c
msgid "can't set attribute" msgid "can't set attribute"
msgstr "wúfǎ shèzhì shǔxìng" msgstr "wúfǎ shèzhì shǔxìng"
@ -3909,6 +3909,11 @@ msgstr "Zài qǐdòng shí àn qǐdòng ànniǔ.\n"
msgid "pressing both buttons at start up.\n" msgid "pressing both buttons at start up.\n"
msgstr "zài qǐdòng shí tóngshí àn xià liǎng gè ànniǔ.\n" msgstr "zài qǐdòng shí tóngshí àn xià liǎng gè ànniǔ.\n"
#: ports/espressif/boards/m5stack_core_basic/mpconfigboard.h
#: ports/espressif/boards/m5stack_core_fire/mpconfigboard.h
msgid "pressing button A at start up.\n"
msgstr ""
#: ports/nrf/boards/aramcon2_badge/mpconfigboard.h #: ports/nrf/boards/aramcon2_badge/mpconfigboard.h
msgid "pressing the left button at start up\n" msgid "pressing the left button at start up\n"
msgstr "qǐ dòng shí àn xià zuǒ àn niǔ\n" msgstr "qǐ dòng shí àn xià zuǒ àn niǔ\n"

View File

@ -60,8 +60,8 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO45) }, { MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO45) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) }, { MP_OBJ_NEW_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_DEBUG_RX), MP_ROM_PTR(&pin_GPIO38) }, { MP_OBJ_NEW_QSTR(MP_QSTR_DEBUG_RX), MP_ROM_PTR(&pin_GPIO44) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_DEBUG_TX), MP_ROM_PTR(&pin_GPIO37) }, { MP_OBJ_NEW_QSTR(MP_QSTR_DEBUG_TX), MP_ROM_PTR(&pin_GPIO43) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { 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_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) },

View File

@ -8,3 +8,5 @@ IDF_TARGET = esp32s3
CIRCUITPY_ESP_FLASH_MODE = dio CIRCUITPY_ESP_FLASH_MODE = dio
CIRCUITPY_ESP_FLASH_FREQ = 40m CIRCUITPY_ESP_FLASH_FREQ = 40m
CIRCUITPY_ESP_FLASH_SIZE = 16MB CIRCUITPY_ESP_FLASH_SIZE = 16MB
CIRCUITPY_ESP32_CAMERA = 0

View File

@ -1,35 +1,11 @@
CONFIG_ESP32S3_SPIRAM_SUPPORT=y
#
# SPI RAM config
#
# CONFIG_SPIRAM_MODE_QUAD is not set
CONFIG_SPIRAM_MODE_OCT=y
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=-1
# end of SPI RAM config
CONFIG_DEFAULT_PSRAM_CLK_IO=30
#
# PSRAM Clock and CS IO for ESP32S3
#
CONFIG_DEFAULT_PSRAM_CS_IO=26
# end of PSRAM Clock and CS IO for ESP32S3
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
# CONFIG_SPIRAM_RODATA is not set
CONFIG_SPIRAM_SPEED_80M=y
# CONFIG_SPIRAM_SPEED_40M is not set
CONFIG_SPIRAM=y CONFIG_SPIRAM=y
CONFIG_SPIRAM_MODE_OCT=y
CONFIG_SPIRAM_SPEED_80M=y
CONFIG_SPIRAM_TYPE_AUTO=y
CONFIG_SPIRAM_BOOT_INIT=y CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set CONFIG_SPIRAM_USE_MEMMAP=y
# CONFIG_SPIRAM_USE_MEMMAP is not set
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
CONFIG_SPIRAM_USE_MALLOC=y
CONFIG_SPIRAM_MEMTEST=y
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
# #
# LWIP # LWIP
# #

View File

@ -81,9 +81,9 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_A16), MP_ROM_PTR(&pin_GPIO17) }, { MP_ROM_QSTR(MP_QSTR_A16), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO17) }, { MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_GPIO17) },
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO17) }, { MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_A17), MP_ROM_PTR(&pin_GPIO17) }, { MP_ROM_QSTR(MP_QSTR_A17), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO17) }, { MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_GPIO18) },
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) }, { MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
{ MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) }, { MP_ROM_QSTR(MP_QSTR_D21), MP_ROM_PTR(&pin_GPIO21) },
@ -114,6 +114,10 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D44), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_D44), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
{ MP_ROM_QSTR(MP_QSTR_IO47), MP_ROM_PTR(&pin_GPIO47) },
{ MP_ROM_QSTR(MP_QSTR_IO48), MP_ROM_PTR(&pin_GPIO48) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { 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_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) },

View File

@ -3,7 +3,7 @@
* *
* The MIT License (MIT) * The MIT License (MIT)
* *
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries * Copyright (c) 2022 CDarius
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal

View File

@ -3,7 +3,7 @@
* *
* The MIT License (MIT) * The MIT License (MIT)
* *
* Copyright (c) 2022 Dan Halbert for Adafruit Industries * Copyright (c) 2022 CDarius
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@ -38,6 +38,12 @@
#define CIRCUITPY_BOARD_UART (1) #define CIRCUITPY_BOARD_UART (1)
#define CIRCUITPY_BOARD_UART_PIN {{.tx = &pin_GPIO17, .rx = &pin_GPIO16}} #define CIRCUITPY_BOARD_UART_PIN {{.tx = &pin_GPIO17, .rx = &pin_GPIO16}}
// For entering safe mode
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO39)
// Explanation of how a user got into safe mode
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing button A at start up.\n")
// UART pins attached to the USB-serial converter chip // UART pins attached to the USB-serial converter chip
#define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1) #define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1)
#define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3) #define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3)

View File

@ -1,5 +1,5 @@
CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y
CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_ESP32_SPIRAM_SUPPORT=n
CONFIG_ESP32_REV_MIN_3=y CONFIG_ESP32_REV_MIN_3=y
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set # CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set

2
ports/espressif/boards/m5stack_core_fire/board.c Normal file → Executable file
View File

@ -3,7 +3,7 @@
* *
* The MIT License (MIT) * The MIT License (MIT)
* *
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries * Copyright (c) 2022 CDarius
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal

View File

@ -3,7 +3,7 @@
* *
* The MIT License (MIT) * The MIT License (MIT)
* *
* Copyright (c) 2022 Dan Halbert for Adafruit Industries * Copyright (c) 2022 CDarius
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy * Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal * of this software and associated documentation files (the "Software"), to deal
@ -39,6 +39,12 @@
// #define CIRCUITPY_BOARD_UART (1) // #define CIRCUITPY_BOARD_UART (1)
// #define CIRCUITPY_BOARD_UART_PIN {{.tx = &pin_GPIO17, .rx = &pin_GPIO16}} // #define CIRCUITPY_BOARD_UART_PIN {{.tx = &pin_GPIO17, .rx = &pin_GPIO16}}
// For entering safe mode
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO39)
// Explanation of how a user got into safe mode
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing button A at start up.\n")
// UART pins attached to the USB-serial converter chip // UART pins attached to the USB-serial converter chip
#define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1) #define CIRCUITPY_CONSOLE_UART_TX (&pin_GPIO1)
#define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3) #define CIRCUITPY_CONSOLE_UART_RX (&pin_GPIO3)

View File

@ -215,6 +215,7 @@ void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_ob
if (esp_sleep_enable_ext1_wakeup(high_alarms, ESP_EXT1_WAKEUP_ANY_HIGH) != ESP_OK) { if (esp_sleep_enable_ext1_wakeup(high_alarms, ESP_EXT1_WAKEUP_ANY_HIGH) != ESP_OK) {
mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep.")); mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep."));
} }
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
} }
size_t low_pins[2]; size_t low_pins[2];
size_t j = 0; size_t j = 0;
@ -231,6 +232,7 @@ void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_ob
if (esp_sleep_enable_ext1_wakeup(1ull << low_pins[1], ESP_EXT1_WAKEUP_ALL_LOW) != ESP_OK) { if (esp_sleep_enable_ext1_wakeup(1ull << low_pins[1], ESP_EXT1_WAKEUP_ALL_LOW) != ESP_OK) {
mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep.")); mp_raise_ValueError(translate("Can only alarm on RTC IO from deep sleep."));
} }
esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
} }
if (low_count > 0) { if (low_count > 0) {
if (esp_sleep_enable_ext0_wakeup(low_pins[0], 0) != ESP_OK) { if (esp_sleep_enable_ext0_wakeup(low_pins[0], 0) != ESP_OK) {
@ -273,16 +275,14 @@ void alarm_pin_pinalarm_set_alarms(bool deep_sleep, size_t n_alarms, const mp_ob
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[i], PIN_FUNC_GPIO); PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[i], PIN_FUNC_GPIO);
if (pull) { if (pull) {
gpio_set_pull_mode(i, pull_mode); gpio_set_pull_mode(i, pull_mode);
size_t j = 0;
while (gpio_get_level(i) == false) {
j++;
}
} }
never_reset_pin_number(i); never_reset_pin_number(i);
// Sets interrupt type and wakeup bits. // Sets interrupt type and wakeup bits.
gpio_wakeup_enable(i, interrupt_mode); gpio_wakeup_enable(i, interrupt_mode);
gpio_intr_enable(i); gpio_intr_enable(i);
} }
// Wait for any pulls to settle.
mp_hal_delay_ms(50);
} }

View File

@ -25,6 +25,7 @@ CIRCUITPY_CANIO ?= 1
CIRCUITPY_COPROC ?= 1 CIRCUITPY_COPROC ?= 1
CIRCUITPY_COUNTIO ?= 1 CIRCUITPY_COUNTIO ?= 1
CIRCUITPY_DUALBANK ?= 1 CIRCUITPY_DUALBANK ?= 1
CIRCUITPY_ESP32_CAMERA ?= 1
CIRCUITPY_ESPIDF ?= 1 CIRCUITPY_ESPIDF ?= 1
CIRCUITPY_FRAMEBUFFERIO ?= 1 CIRCUITPY_FRAMEBUFFERIO ?= 1
CIRCUITPY_FREQUENCYIO ?= 1 CIRCUITPY_FREQUENCYIO ?= 1

View File

@ -852,6 +852,8 @@ bool common_hal_socketpool_socket_bind(socketpool_socket_obj_t *socket,
mp_raise_OSError(EHOSTUNREACH); mp_raise_OSError(EHOSTUNREACH);
} }
ip_set_option(socket->pcb.ip, SOF_REUSEADDR);
err_t err = ERR_ARG; err_t err = ERR_ARG;
switch (socket->type) { switch (socket->type) {
case MOD_NETWORK_SOCK_STREAM: { case MOD_NETWORK_SOCK_STREAM: {

View File

@ -37,6 +37,7 @@ typedef struct _lwip_socket_obj_t {
mp_obj_base_t base; mp_obj_base_t base;
volatile union { volatile union {
struct tcp_pcb *ip;
struct tcp_pcb *tcp; struct tcp_pcb *tcp;
struct udp_pcb *udp; struct udp_pcb *udp;
struct raw_pcb *raw; struct raw_pcb *raw;

View File

@ -284,7 +284,7 @@ mp_uint_t common_hal_ssl_sslsocket_send(ssl_sslsocket_obj_t *self, const uint8_t
} }
bool common_hal_ssl_sslsocket_bind(ssl_sslsocket_obj_t *self, const char *host, size_t hostlen, uint32_t port) { bool common_hal_ssl_sslsocket_bind(ssl_sslsocket_obj_t *self, const char *host, size_t hostlen, uint32_t port) {
mp_raise_NotImplementedError(NULL); return common_hal_socketpool_socket_bind(self->sock, host, hostlen, port);
} }
void common_hal_ssl_sslsocket_close(ssl_sslsocket_obj_t *self) { void common_hal_ssl_sslsocket_close(ssl_sslsocket_obj_t *self) {
@ -349,11 +349,14 @@ bool common_hal_ssl_sslsocket_get_connected(ssl_sslsocket_obj_t *self) {
} }
bool common_hal_ssl_sslsocket_listen(ssl_sslsocket_obj_t *self, int backlog) { bool common_hal_ssl_sslsocket_listen(ssl_sslsocket_obj_t *self, int backlog) {
mp_raise_NotImplementedError(NULL); return common_hal_socketpool_socket_listen(self->sock, backlog);
} }
ssl_sslsocket_obj_t *common_hal_ssl_sslsocket_accept(ssl_sslsocket_obj_t *self, uint8_t *ip, uint32_t *port) { ssl_sslsocket_obj_t *common_hal_ssl_sslsocket_accept(ssl_sslsocket_obj_t *self, uint8_t *ip, uint32_t *port) {
mp_raise_NotImplementedError(NULL); socketpool_socket_obj_t *sock = common_hal_socketpool_socket_accept(self->sock, ip, port);
ssl_sslsocket_obj_t *sslsock = common_hal_ssl_sslcontext_wrap_socket(self->ssl_context, sock, true, NULL);
do_handshake(sslsock);
return sslsock;
} }
void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t *self, uint32_t timeout_ms) { void common_hal_ssl_sslsocket_settimeout(ssl_sslsocket_obj_t *self, uint32_t timeout_ms) {

View File

@ -52,6 +52,7 @@
#define LWIP_NETIF_TX_SINGLE_PBUF 1 #define LWIP_NETIF_TX_SINGLE_PBUF 1
#define DHCP_DOES_ARP_CHECK 0 #define DHCP_DOES_ARP_CHECK 0
#define LWIP_DHCP_DOES_ACD_CHECK 0 #define LWIP_DHCP_DOES_ACD_CHECK 0
#define SO_REUSE 1
#ifndef NDEBUG #ifndef NDEBUG
#define LWIP_DEBUG 1 #define LWIP_DEBUG 1

View File

@ -278,6 +278,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(bleio_characteristic_set_cccd_obj, 1, bleio_ch
STATIC const mp_rom_map_elem_t bleio_characteristic_locals_dict_table[] = { STATIC const mp_rom_map_elem_t bleio_characteristic_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_add_to_service), MP_ROM_PTR(&bleio_characteristic_add_to_service_obj) }, { MP_ROM_QSTR(MP_QSTR_add_to_service), MP_ROM_PTR(&bleio_characteristic_add_to_service_obj) },
{ MP_ROM_QSTR(MP_QSTR_descriptors), MP_ROM_PTR(&bleio_characteristic_descriptors_obj) },
{ MP_ROM_QSTR(MP_QSTR_properties), MP_ROM_PTR(&bleio_characteristic_properties_obj) }, { MP_ROM_QSTR(MP_QSTR_properties), MP_ROM_PTR(&bleio_characteristic_properties_obj) },
{ MP_ROM_QSTR(MP_QSTR_uuid), MP_ROM_PTR(&bleio_characteristic_uuid_obj) }, { MP_ROM_QSTR(MP_QSTR_uuid), MP_ROM_PTR(&bleio_characteristic_uuid_obj) },
{ MP_ROM_QSTR(MP_QSTR_value), MP_ROM_PTR(&bleio_characteristic_value_obj) }, { MP_ROM_QSTR(MP_QSTR_value), MP_ROM_PTR(&bleio_characteristic_value_obj) },

View File

@ -39,6 +39,9 @@
//| class AnalogOut: //| class AnalogOut:
//| """Output analog values (a specific voltage). //| """Output analog values (a specific voltage).
//| //|
//| **Limitations:** Not available on nRF, RP2040, Spresense, as there is no on-chip DAC.
//| On Espressif, available only on ESP32 and ESP32-S2; other chips do not have a DAC.
//|
//| Example usage:: //| Example usage::
//| //|
//| import analogio //| import analogio
@ -52,8 +55,6 @@
//| //|
//| :param ~microcontroller.Pin pin: the pin to output to //| :param ~microcontroller.Pin pin: the pin to output to
//| //|
//| **Limitations:** Not available on nRF, RP2040, Spresense: there is no on-chip DAC.
//| Espressif: available only on ESP32 and ESP32-S2; other chips do not have a DAC.
//| """ //| """
//| ... //| ...
STATIC mp_obj_t analogio_analogout_make_new(const mp_obj_type_t *type, mp_uint_t n_args, size_t n_kw, const mp_obj_t *args) { STATIC mp_obj_t analogio_analogout_make_new(const mp_obj_type_t *type, mp_uint_t n_args, size_t n_kw, const mp_obj_t *args) {

View File

@ -107,7 +107,7 @@ MP_PROPERTY_GETTER(mcu_processor_reset_reason_obj,
//| Is `None` if the temperature is not available. //| Is `None` if the temperature is not available.
//| //|
//| **Limitations:** Not available on ESP32 or ESP32-S3. On small SAMD21 builds without external flash, //| **Limitations:** Not available on ESP32 or ESP32-S3. On small SAMD21 builds without external flash,
//| the reported temperature has reduced accuracy and precision, to save code space. //| the reported temperature has reduced accuracy and precision, to save code space.
//| """ //| """
STATIC mp_obj_t mcu_processor_get_temperature(mp_obj_t self) { STATIC mp_obj_t mcu_processor_get_temperature(mp_obj_t self) {
float temperature = common_hal_mcu_processor_get_temperature(); float temperature = common_hal_mcu_processor_get_temperature();