Merge branch 'main' into atexit
This commit is contained in:
commit
25437dcb33
|
@ -79,6 +79,10 @@ jobs:
|
|||
- name: Test all
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1
|
||||
working-directory: tests
|
||||
- name: Print failure info
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --print-failures
|
||||
if: failure()
|
||||
working-directory: tests
|
||||
- name: Native Tests
|
||||
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --emit native
|
||||
working-directory: tests
|
||||
|
@ -228,6 +232,7 @@ jobs:
|
|||
- "bdmicro_vina_d51_pcb7"
|
||||
- "bless_dev_board_multi_sensor"
|
||||
- "blm_badge"
|
||||
- "bluemicro840"
|
||||
- "capablerobot_usbhub"
|
||||
- "catwan_usbstick"
|
||||
- "circuitbrains_basic_m0"
|
||||
|
@ -321,11 +326,13 @@ jobs:
|
|||
- "pewpew10"
|
||||
- "pewpew_m4"
|
||||
- "picoplanet"
|
||||
- "pimoroni_interstate75"
|
||||
- "pimoroni_keybow2040"
|
||||
- "pimoroni_pga2040"
|
||||
- "pimoroni_picolipo_16mb"
|
||||
- "pimoroni_picolipo_4mb"
|
||||
- "pimoroni_picosystem"
|
||||
- "pimoroni_plasma2040"
|
||||
- "pimoroni_tiny2040"
|
||||
- "pitaya_go"
|
||||
- "pyb_nano_v2"
|
||||
|
@ -341,6 +348,7 @@ jobs:
|
|||
- "qtpy_m0_haxpress"
|
||||
- "raspberry_pi_pico"
|
||||
- "raytac_mdbt50q-db-40"
|
||||
- "raytac_mdbt50q-rx"
|
||||
- "robohatmm1_m4"
|
||||
- "sam32"
|
||||
- "same54_xplained"
|
||||
|
@ -364,6 +372,7 @@ jobs:
|
|||
- "sparkfun_samd21_mini"
|
||||
- "sparkfun_samd51_micromod"
|
||||
- "sparkfun_samd51_thing_plus"
|
||||
- "sparkfun_stm32f405_micromod"
|
||||
- "sparkfun_thing_plus_rp2040"
|
||||
- "spresense"
|
||||
- "stackrduino_m0_pro"
|
||||
|
@ -455,7 +464,7 @@ jobs:
|
|||
- name: Install deps
|
||||
run: |
|
||||
sudo apt-get install -y gettext
|
||||
pip install requests sh click setuptools awscli
|
||||
pip install -r requirements-dev.txt
|
||||
wget https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
|
||||
sudo tar -C /usr --strip-components=1 -xaf riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
|
||||
- name: Versions
|
||||
|
@ -495,8 +504,10 @@ jobs:
|
|||
- "adafruit_funhouse"
|
||||
- "adafruit_magtag_2.9_grayscale"
|
||||
- "adafruit_metro_esp32s2"
|
||||
- "ai_thinker_esp_12k_nodemcu"
|
||||
- "artisense_rd00"
|
||||
- "atmegazero_esp32s2"
|
||||
- "crumpspace_crumps2"
|
||||
- "electroniccats_bastwifi"
|
||||
- "espressif_kaluga_1"
|
||||
- "espressif_kaluga_1.3"
|
||||
|
@ -504,10 +515,16 @@ jobs:
|
|||
- "espressif_saola_1_wrover"
|
||||
- "franzininho_wifi_wroom"
|
||||
- "franzininho_wifi_wrover"
|
||||
- "gravitech_cucumber_m"
|
||||
- "gravitech_cucumber_ms"
|
||||
- "gravitech_cucumber_r"
|
||||
- "gravitech_cucumber_rs"
|
||||
- "lilygo_ttgo_t8_s2_st7789"
|
||||
- "microdev_micro_s2"
|
||||
- "morpheans_morphesp-240"
|
||||
- "muselab_nanoesp32_s2_wroom"
|
||||
- "muselab_nanoesp32_s2_wrover"
|
||||
- "odt_pixelwing_esp32_s2"
|
||||
- "targett_module_clip_wroom"
|
||||
- "targett_module_clip_wrover"
|
||||
- "unexpectedmaker_feathers2"
|
||||
|
|
|
@ -188,3 +188,6 @@
|
|||
[submodule "frozen/Adafruit_CircuitPython_SimpleIO"]
|
||||
path = frozen/Adafruit_CircuitPython_SimpleIO
|
||||
url = https://github.com/adafruit/adafruit_circuitpython_simpleio
|
||||
[submodule "lib/quirc"]
|
||||
path = lib/quirc
|
||||
url = https://github.com/adafruit/quirc.git
|
||||
|
|
|
@ -21,7 +21,7 @@ besides a text editor (we recommend `Mu <https://codewith.mu/>`_ for beginners.)
|
|||
Starting with CircuitPython 7.0.0, some boards may only be connectable over Bluetooth Low Energy
|
||||
(BLE). Those boards provide serial and file access over BLE instead of USB using open protocols.
|
||||
(Some boards may use both USB and BLE.) BLE access can be done from a variety of apps including
|
||||
`code.circuitpythonn.org <https://code.circuitpython.org>`_.
|
||||
`code.circuitpython.org <https://code.circuitpython.org>`_.
|
||||
|
||||
CircuitPython features unified Python core APIs and a growing list of 300+ device libraries and
|
||||
drivers that work with it. These libraries also work on single board computers with regular
|
||||
|
|
|
@ -7,7 +7,7 @@ These instructions also apply to `analogio`, `busio`, `pulseio` and `touchio`. M
|
|||
Common HAL related files are found in these locations:
|
||||
|
||||
* `shared-bindings` Shared home for the Python <-> C bindings which includes inline RST documentation for the created interfaces. The common hal functions are defined in the .h files of the corresponding C files.
|
||||
* `shared-modules` Shared home for C code built on the Common HAL and used by all ports. This code only uses `common_hal` methods defined in `shared-bindings`.
|
||||
* `shared-module` Shared home for C code built on the Common HAL and used by all ports. This code only uses `common_hal` methods defined in `shared-bindings`.
|
||||
* `<port>/common-hal` Port-specific implementation of the Common HAL.
|
||||
|
||||
Each folder has the substructure of <python module name>/<class name> and they should match 1:1. `__init__.c` is used for module globals that are not classes (similar to `__init__.py`).
|
||||
|
|
|
@ -152,7 +152,6 @@ shared-bindings/ustack/__init__.rst shared-bindings/ustack/
|
|||
shared-bindings/vectorio/Circle.rst shared-bindings/vectorio/#vectorio.Circle
|
||||
shared-bindings/vectorio/Polygon.rst shared-bindings/vectorio/#vectorio.Polygon
|
||||
shared-bindings/vectorio/Rectangle.rst shared-bindings/vectorio/#vectorio.Rectangle
|
||||
shared-bindings/vectorio/VectorShape.rst shared-bindings/vectorio/#vectorio.VectorShape
|
||||
shared-bindings/vectorio/__init__.rst shared-bindings/vectorio/
|
||||
shared-bindings/watchdog/WatchDogMode.rst shared-bindings/watchdog/#watchdog.WatchDogMode
|
||||
shared-bindings/watchdog/WatchDogTimer.rst shared-bindings/watchdog/#watchdog.WatchDogTimer
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 8c6ffa228a4c7643daed7039d3c51d38a43991b8
|
|
@ -1 +1 @@
|
|||
Subproject commit 184f1b723fb811016063deccab9e81640e5c3e7f
|
||||
Subproject commit 3a248951e2744ba89f5fb96eda85a971001115f0
|
|
@ -167,7 +167,7 @@ STATIC int parse_compile_execute(const void *source, mp_parse_input_kind_t input
|
|||
mp_hal_stdout_tx_strn("\x04", 1);
|
||||
}
|
||||
// check for SystemExit
|
||||
if (mp_obj_is_subclass_fast(MP_OBJ_FROM_PTR(((mp_obj_base_t *)nlr.ret_val)->type), MP_OBJ_FROM_PTR(&mp_type_SystemExit))) {
|
||||
if (mp_obj_is_subclass_fast(mp_obj_get_type((mp_obj_t)nlr.ret_val), MP_OBJ_FROM_PTR(&mp_type_SystemExit))) {
|
||||
// at the moment, the value of SystemExit is unused
|
||||
ret = pyexec_system_exit;
|
||||
#if CIRCUITPY_ALARM
|
||||
|
@ -183,7 +183,12 @@ STATIC int parse_compile_execute(const void *source, mp_parse_input_kind_t input
|
|||
}
|
||||
if (result != NULL) {
|
||||
result->return_code = ret;
|
||||
#if CIRCUITPY_ALARM
|
||||
// Don't set the exception object if we exited for deep sleep.
|
||||
if (ret != 0 && ret != PYEXEC_DEEP_SLEEP) {
|
||||
#else
|
||||
if (ret != 0) {
|
||||
#endif
|
||||
mp_obj_t return_value = (mp_obj_t)nlr.ret_val;
|
||||
result->exception = return_value;
|
||||
result->exception_line = -1;
|
||||
|
@ -260,7 +265,7 @@ STATIC mp_uint_t mp_reader_stdin_readbyte(void *data) {
|
|||
mp_hal_stdout_tx_strn("\x04", 1); // indicate end to host
|
||||
if (c == CHAR_CTRL_C) {
|
||||
#if MICROPY_KBD_EXCEPTION
|
||||
MP_STATE_VM(mp_kbd_exception).traceback_data = NULL;
|
||||
MP_STATE_VM(mp_kbd_exception).traceback->data = NULL;
|
||||
nlr_raise(MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception)));
|
||||
#else
|
||||
mp_raise_type(&mp_type_KeyboardInterrupt);
|
||||
|
|
91
locale/ID.po
91
locale/ID.po
|
@ -98,6 +98,10 @@ msgstr "indeks %q harus bilangan bulat, bukan %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "daftar %q harus berupa daftar"
|
||||
|
@ -110,14 +114,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -134,10 +130,6 @@ msgstr "%q harus >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q harus >= 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -175,6 +167,10 @@ msgstr "%q harus berupa int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() mengambil posisi argumen %d tapi %d yang diberikan"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -325,6 +321,10 @@ msgstr "'yield from' di dalam fungsi async"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' diluar fungsi"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x harus menjadi target assignment"
|
||||
|
@ -496,6 +496,10 @@ msgstr ""
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1205,11 +1209,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr "Kesalahan input/output"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1238,6 +1237,10 @@ msgstr "Otentikasi tidak cukup"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Enkripsi tidak cukup"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Kesalahan definisi internal"
|
||||
|
@ -1247,7 +1250,7 @@ msgstr "Kesalahan definisi internal"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Kesalahan internal #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1526,6 +1529,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Harus berupa subclass %q."
|
||||
|
@ -1907,21 +1920,6 @@ msgstr "Tambahkan module apapun pada filesystem\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "Buffer awalan harus ada di heap"
|
||||
|
@ -2112,7 +2110,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2567,7 +2564,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "argumen num/types tidak cocok"
|
||||
|
||||
|
@ -3131,6 +3128,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr ""
|
||||
|
@ -3418,6 +3419,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "format tidak valid"
|
||||
|
@ -3455,6 +3460,10 @@ msgstr ""
|
|||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
@ -3651,10 +3660,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "tidak ada ikatan/bind pada temuan nonlocal"
|
||||
|
@ -3950,6 +3955,10 @@ msgstr ""
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4148,7 +4157,7 @@ msgstr ""
|
|||
msgid "stop not reachable from start"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4357,7 +4366,7 @@ msgid "unreadable attribute"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -66,6 +66,14 @@ msgid ""
|
|||
"%d address pins, %d rgb pins and %d tiles indicate a height of %d, not %d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Pin.c
|
||||
msgid "%q and %q contain duplicate pins"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/microcontroller/Pin.c
|
||||
msgid "%q contains duplicate pins"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/sdioio/SDCard.c
|
||||
msgid "%q failure: %d"
|
||||
msgstr ""
|
||||
|
@ -91,6 +99,10 @@ msgstr ""
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr ""
|
||||
|
@ -103,14 +115,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -127,10 +131,6 @@ msgstr ""
|
|||
msgid "%q must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -168,6 +168,10 @@ msgstr ""
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -318,6 +322,10 @@ msgstr ""
|
|||
msgid "'yield' outside function"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr ""
|
||||
|
@ -489,6 +497,10 @@ msgstr ""
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1213,6 +1225,10 @@ msgstr ""
|
|||
msgid "Insufficient encryption"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr ""
|
||||
|
@ -1222,7 +1238,7 @@ msgstr ""
|
|||
msgid "Internal error #%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1506,6 +1522,11 @@ msgstr ""
|
|||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
@ -2063,7 +2084,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3074,6 +3094,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr ""
|
||||
|
@ -3361,6 +3385,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr ""
|
||||
|
@ -3398,6 +3426,10 @@ msgstr ""
|
|||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
@ -3888,6 +3920,10 @@ msgstr ""
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4086,7 +4122,7 @@ msgstr ""
|
|||
msgid "stop not reachable from start"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4295,7 +4331,7 @@ msgid "unreadable attribute"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr ""
|
||||
|
||||
|
|
91
locale/cs.po
91
locale/cs.po
|
@ -94,6 +94,10 @@ msgstr "Indexy %q musí být celá čísla, nikoli %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "Seznam %q musí být seznam"
|
||||
|
@ -106,14 +110,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -130,10 +126,6 @@ msgstr "%q musí být >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q musí být > = 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -171,6 +163,10 @@ msgstr "%q by měl být int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() vyžaduje %d pozičních argumentů, ale %d jich bylo zadáno"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -321,6 +317,10 @@ msgstr ""
|
|||
msgid "'yield' outside function"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr ""
|
||||
|
@ -492,6 +492,10 @@ msgstr ""
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1188,11 +1192,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1221,6 +1220,10 @@ msgstr ""
|
|||
msgid "Insufficient encryption"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr ""
|
||||
|
@ -1230,7 +1233,7 @@ msgstr ""
|
|||
msgid "Internal error #%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1509,6 +1512,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
@ -1880,21 +1893,6 @@ msgstr ""
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr ""
|
||||
|
@ -2081,7 +2079,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2528,7 +2525,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3092,6 +3089,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr ""
|
||||
|
@ -3379,6 +3380,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr ""
|
||||
|
@ -3416,6 +3421,10 @@ msgstr ""
|
|||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
@ -3612,10 +3621,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr ""
|
||||
|
@ -3910,6 +3915,10 @@ msgstr ""
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4108,7 +4117,7 @@ msgstr ""
|
|||
msgid "stop not reachable from start"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4317,7 +4326,7 @@ msgid "unreadable attribute"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr ""
|
||||
|
||||
|
|
103
locale/de_DE.po
103
locale/de_DE.po
|
@ -99,6 +99,10 @@ msgstr "%q Indizes müssen Integer sein, nicht %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "%q Liste muss eine Liste sein"
|
||||
|
@ -111,14 +115,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr "%q muss 0-255 sein"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr "%q muss 1-255 sein"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -135,10 +131,6 @@ msgstr "%q muss >= 0 sein"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q muss >= 1 sein"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr "%q muss None oder zwischen 1 und len(report_descriptor)-1 sein"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -177,6 +169,10 @@ msgid "%q() takes %d positional arguments but %d were given"
|
|||
msgstr ""
|
||||
"%q() nimmt %d Argumente ohne Schlüsselwort an, aber es wurden %d angegeben"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -327,6 +323,10 @@ msgstr "'yield from' innerhalb einer async Funktion"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' außerhalb einer Funktion"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x muss Zuordnungsziel sein"
|
||||
|
@ -498,6 +498,10 @@ msgstr "Versuche %d Blöcke zu allokieren"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1205,11 +1209,6 @@ msgstr "Input benötigt zu lange"
|
|||
msgid "Input/output error"
|
||||
msgstr "Eingabe-/Ausgabefehler"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1238,6 +1237,10 @@ msgstr "Unzureichende Authentifizierung"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Unzureichende Verschlüsselung"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Interner Definitionsfehler"
|
||||
|
@ -1247,7 +1250,7 @@ msgstr "Interner Definitionsfehler"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Interner Fehler #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "Ungültiger %q"
|
||||
|
||||
|
@ -1527,6 +1530,16 @@ msgstr "Fehlender first_out_pin. Instruktion %d schreibt Pin(s)"
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "Fehlender first_set_pin. Instruktion %d setzt Pin(s)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Muss eine %q Unterklasse sein."
|
||||
|
@ -1907,21 +1920,6 @@ msgstr "und alle Module im Dateisystem \n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "Polygone brauchen mindestens 3 Punkte"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "Der Präfixbuffer muss sich auf dem Heap befinden"
|
||||
|
@ -2110,7 +2108,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2573,7 +2570,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "Anzahl/Typen der Argumente passen nicht"
|
||||
|
||||
|
@ -3149,6 +3146,10 @@ msgstr "f-string: einzelne '}' nicht erlaubt"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "Die Datei muss eine im Byte-Modus geöffnete Datei sein"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "Das Dateisystem muss eine Mount-Methode bereitstellen"
|
||||
|
@ -3438,6 +3439,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "ungültiges Format"
|
||||
|
@ -3475,6 +3480,10 @@ msgstr "ungültige Syntax für integer mit Basis %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "ungültige Syntax für number"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 muss eine Klasse sein"
|
||||
|
@ -3677,10 +3686,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "Keine aktive Ausnahme zu verusachen (raise)"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "kein verfügbares Netzwerkadapter (NIC)"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "Kein Binding für nonlocal gefunden"
|
||||
|
@ -3979,6 +3984,10 @@ msgstr "pow () mit 3 Argumenten erfordert Integer"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4179,7 +4188,7 @@ msgstr "stop muss 1 oder 2 sein"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop ist von start aus nicht erreichbar"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "stream operation ist nicht unterstützt"
|
||||
|
||||
|
@ -4393,7 +4402,7 @@ msgid "unreadable attribute"
|
|||
msgstr "nicht lesbares Attribut"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "Nicht unterstützter %q-Typ"
|
||||
|
||||
|
@ -4514,6 +4523,18 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "%q must be 0-255"
|
||||
#~ msgstr "%q muss 0-255 sein"
|
||||
|
||||
#~ msgid "%q must be 1-255"
|
||||
#~ msgstr "%q muss 1-255 sein"
|
||||
|
||||
#~ msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
#~ msgstr "%q muss None oder zwischen 1 und len(report_descriptor)-1 sein"
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "kein verfügbares Netzwerkadapter (NIC)"
|
||||
|
||||
#~ msgid "Instruction %d jumps on pin"
|
||||
#~ msgstr "Instruktion %d springt auf Pin"
|
||||
|
||||
|
|
91
locale/el.po
91
locale/el.po
|
@ -91,6 +91,10 @@ msgstr ""
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr ""
|
||||
|
@ -103,14 +107,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -127,10 +123,6 @@ msgstr ""
|
|||
msgid "%q must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -168,6 +160,10 @@ msgstr ""
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -318,6 +314,10 @@ msgstr ""
|
|||
msgid "'yield' outside function"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr ""
|
||||
|
@ -489,6 +489,10 @@ msgstr ""
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1185,11 +1189,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1218,6 +1217,10 @@ msgstr ""
|
|||
msgid "Insufficient encryption"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr ""
|
||||
|
@ -1227,7 +1230,7 @@ msgstr ""
|
|||
msgid "Internal error #%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1506,6 +1509,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
@ -1877,21 +1890,6 @@ msgstr ""
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr ""
|
||||
|
@ -2078,7 +2076,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2525,7 +2522,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3089,6 +3086,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr ""
|
||||
|
@ -3376,6 +3377,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr ""
|
||||
|
@ -3413,6 +3418,10 @@ msgstr ""
|
|||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
@ -3609,10 +3618,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr ""
|
||||
|
@ -3907,6 +3912,10 @@ msgstr ""
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4105,7 +4114,7 @@ msgstr ""
|
|||
msgid "stop not reachable from start"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4314,7 +4323,7 @@ msgid "unreadable attribute"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr ""
|
||||
|
||||
|
|
112
locale/en_GB.po
112
locale/en_GB.po
|
@ -100,6 +100,10 @@ msgstr ""
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "%q list must be a list"
|
||||
|
@ -112,14 +116,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -136,10 +132,6 @@ msgstr "%q must be >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q must be >= 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -177,6 +169,10 @@ msgstr "%q should be an int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() takes %d positional arguments but %d were given"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -327,6 +323,10 @@ msgstr "'yield from' inside async function"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' outside function"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x must be assignment target"
|
||||
|
@ -498,6 +498,10 @@ msgstr "Attempt to allocate %d blocks"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1200,11 +1204,6 @@ msgstr "Input taking too long"
|
|||
msgid "Input/output error"
|
||||
msgstr "Input/output error"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1233,6 +1232,10 @@ msgstr "Insufficient authentication"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Insufficient encryption"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Internal define error"
|
||||
|
@ -1242,7 +1245,7 @@ msgstr "Internal define error"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Internal error #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "Invalid %q"
|
||||
|
||||
|
@ -1521,6 +1524,16 @@ msgstr "Missing first_out_pin. Instruction %d writes pin(s)"
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Must be a %q subclass."
|
||||
|
@ -1901,25 +1914,6 @@ msgstr "Plus any modules on the filesystem\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "Polygon needs at least 3 points"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "Prefix buffer must be on the heap"
|
||||
|
@ -2106,7 +2100,6 @@ msgid "Size not supported"
|
|||
msgstr "Size not supported"
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2560,7 +2553,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "argument num/types mismatch"
|
||||
|
||||
|
@ -3127,6 +3120,10 @@ msgstr "f-string: single '}' is not allowed"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "file must be a file opened in byte mode"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "filesystem must provide mount method"
|
||||
|
@ -3414,6 +3411,10 @@ msgstr "invalid element size %d for bits_per_pixel %d\n"
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr "invalid element_size %d, must be, 1, 2, or 4"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "invalid format"
|
||||
|
@ -3452,6 +3453,10 @@ msgstr "invalid syntax for integer with base %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "invalid syntax for number"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 must be a class"
|
||||
|
@ -3648,10 +3653,6 @@ msgstr "no SD card"
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "no active exception to reraise"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "no available NIC"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "no binding for nonlocal found"
|
||||
|
@ -3946,6 +3947,10 @@ msgstr "pow() with 3 arguments requires integers"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4146,7 +4151,7 @@ msgstr "stop must be 1 or 2"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop not reachable from start"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "stream operation not supported"
|
||||
|
||||
|
@ -4355,7 +4360,7 @@ msgid "unreadable attribute"
|
|||
msgstr "unreadable attribute"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "unsupported %q type"
|
||||
|
||||
|
@ -4476,6 +4481,23 @@ 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 "no available NIC"
|
||||
#~ msgstr "no available NIC"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
#~ "instead"
|
||||
#~ msgstr ""
|
||||
#~ "Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
#~ "instead"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept pins or frequency. Construct and pass a PWMOut "
|
||||
#~ "Carrier instead"
|
||||
#~ msgstr ""
|
||||
#~ "Port does not accept pins or frequency. Construct and pass a PWMOut "
|
||||
#~ "Carrier instead"
|
||||
|
||||
#~ msgid "Instruction %d jumps on pin"
|
||||
#~ msgstr "Instruction %d jumps on pin"
|
||||
|
||||
|
|
121
locale/es.po
121
locale/es.po
|
@ -102,6 +102,10 @@ msgstr "%q indices deben ser enteros, no %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr "el tamaño de %q debe ser %q"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "%q lista debe ser una lista"
|
||||
|
@ -114,14 +118,6 @@ msgstr "%q debe ser <= %d"
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr "%q debe ser %d-%d"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr "%q debe ser de 0-255"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr "%q debe estar entre 1-255"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr "%q debe ser >= %d"
|
||||
|
@ -138,10 +134,6 @@ msgstr "%q debe ser >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q debe ser >= 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr "%q debe ser None o entre 1 y len(report_descriptor)-1"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr "%q debe ser una cadena"
|
||||
|
@ -179,6 +171,10 @@ msgstr "%q debe ser un int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() toma %d argumentos posicionales pero %d fueron dados"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -329,6 +325,10 @@ msgstr "'yield from' dentro de una función asincrónica"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' fuera de una función"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x debe ser objetivo de la tarea"
|
||||
|
@ -502,6 +502,10 @@ msgstr "Tratando de localizar %d bloques"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr "Asignación del montículo mientras la VM no esta ejecutándose."
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr "AuthMode.OPEN no se usa con contraseña"
|
||||
|
@ -1218,11 +1222,6 @@ msgstr "La entrada está durando mucho tiempo"
|
|||
msgid "Input/output error"
|
||||
msgstr "error Input/output"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1251,6 +1250,10 @@ msgstr "Autenticación insuficiente"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Cifrado insuficiente"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Error interno de definición"
|
||||
|
@ -1260,7 +1263,7 @@ msgstr "Error interno de definición"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Error interno #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "%q inválido"
|
||||
|
||||
|
@ -1543,6 +1546,16 @@ msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
|||
msgstr ""
|
||||
"first_set_pin no encontrado. La instrucción %d configura el/los pin(es)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Debe de ser una subclase de %q."
|
||||
|
@ -1925,25 +1938,6 @@ msgstr "Además de cualquier módulo en el sistema de archivos\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "El polígono necesita al menos 3 puntos"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Port no acepta un carrier de PWM. Pase en cambio un pin, una frecuencia o un "
|
||||
"ciclo de actividad"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Port no acepta los pines o la frecuencia. Construya y pase en su lugar un "
|
||||
"Carrier de PWMOut"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "El prefijo del buffer debe estar en el heap"
|
||||
|
@ -2134,7 +2128,6 @@ msgid "Size not supported"
|
|||
msgstr "Sin capacidades para el tamaño"
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "Memoria de sueño no disponible"
|
||||
|
||||
|
@ -2604,7 +2597,7 @@ msgid "argument name reused"
|
|||
msgstr "nombre de argumento reutilizado"
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "argumento número/tipos no coinciden"
|
||||
|
||||
|
@ -3175,6 +3168,10 @@ msgstr "cadena-f: solo '}' no está permitido"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "el archivo deberia ser una archivo abierto en modo byte"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "sistema de archivos debe proporcionar método de montaje"
|
||||
|
@ -3462,6 +3459,10 @@ msgstr "el tamaño del elemento no es valido%d por bits_per_pixel %d\n"
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr "el element_size %d,no es valido, debe ser 1,2 ó 4"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "formato inválido"
|
||||
|
@ -3499,6 +3500,10 @@ msgstr "sintaxis inválida para entero con base %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "sintaxis inválida para número"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 debe ser una clase"
|
||||
|
@ -3699,10 +3704,6 @@ msgstr "no hay tarjeta SD"
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "exception no activa para reraise"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "NIC no disponible"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "no se ha encontrado ningún enlace para nonlocal"
|
||||
|
@ -4000,6 +4001,10 @@ msgstr "pow() con 3 argumentos requiere enteros"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4200,7 +4205,7 @@ msgstr "stop debe ser 1 ó 2"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop no se puede alcanzar del principio"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "operación stream no soportada"
|
||||
|
||||
|
@ -4410,7 +4415,7 @@ msgid "unreadable attribute"
|
|||
msgstr "atributo no legible"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "tipo de %q no soportado"
|
||||
|
||||
|
@ -4531,6 +4536,32 @@ 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 "%q must be 0-255"
|
||||
#~ msgstr "%q debe ser de 0-255"
|
||||
|
||||
#~ msgid "%q must be 1-255"
|
||||
#~ msgstr "%q debe estar entre 1-255"
|
||||
|
||||
#~ msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
#~ msgstr "%q debe ser None o entre 1 y len(report_descriptor)-1"
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "NIC no disponible"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
#~ "instead"
|
||||
#~ msgstr ""
|
||||
#~ "Port no acepta un carrier de PWM. Pase en cambio un pin, una frecuencia o "
|
||||
#~ "un ciclo de actividad"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept pins or frequency. Construct and pass a PWMOut "
|
||||
#~ "Carrier instead"
|
||||
#~ msgstr ""
|
||||
#~ "Port no acepta los pines o la frecuencia. Construya y pase en su lugar un "
|
||||
#~ "Carrier de PWMOut"
|
||||
|
||||
#~ msgid "Instruction %d jumps on pin"
|
||||
#~ msgstr "La instruction %d salta en pin"
|
||||
|
||||
|
|
|
@ -90,6 +90,10 @@ msgstr "%q indeks ay dapat integers, hindi %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr ""
|
||||
|
@ -102,14 +106,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -127,10 +123,6 @@ msgstr ""
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "aarehas na haba dapat ang buffer slices"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -170,6 +162,10 @@ msgid "%q() takes %d positional arguments but %d were given"
|
|||
msgstr ""
|
||||
"Ang %q() ay kumukuha ng %d positional arguments pero %d lang ang binigay"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -320,6 +316,10 @@ msgstr ""
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' sa labas ng function"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x ay dapat na assignment target"
|
||||
|
@ -492,6 +492,10 @@ msgstr ""
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1200,11 +1204,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr "May mali sa Input/Output"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1233,6 +1232,10 @@ msgstr ""
|
|||
msgid "Insufficient encryption"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr ""
|
||||
|
@ -1242,7 +1245,7 @@ msgstr ""
|
|||
msgid "Internal error #%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1521,6 +1524,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
@ -1896,21 +1909,6 @@ msgstr "Kasama ang kung ano pang modules na sa filesystem\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr ""
|
||||
|
@ -2098,7 +2096,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2553,7 +2550,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "hindi tugma ang argument num/types"
|
||||
|
||||
|
@ -3129,6 +3126,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "file ay dapat buksan sa byte mode"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "ang filesystem dapat mag bigay ng mount method"
|
||||
|
@ -3417,6 +3418,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "hindi wastong pag-format"
|
||||
|
@ -3454,6 +3459,10 @@ msgstr "maling sintaks sa integer na may base %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "maling sintaks sa number"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 ay dapat na class"
|
||||
|
@ -3654,10 +3663,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "walang aktibong exception para i-reraise"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "walang magagamit na NIC"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "no binding para sa nonlocal, nahanap"
|
||||
|
@ -3954,6 +3959,10 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4155,7 +4164,7 @@ msgstr "stop dapat 1 o 2"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop hindi maabot sa simula"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "stream operation hindi sinusuportahan"
|
||||
|
||||
|
@ -4365,7 +4374,7 @@ msgid "unreadable attribute"
|
|||
msgstr "hindi mabasa ang attribute"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "Hindi supportadong tipo ng %q"
|
||||
|
||||
|
@ -4488,6 +4497,9 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "walang magagamit na NIC"
|
||||
|
||||
#~ msgid "USB Busy"
|
||||
#~ msgstr "Busy ang USB"
|
||||
|
||||
|
|
118
locale/fr.po
118
locale/fr.po
|
@ -102,6 +102,10 @@ msgstr "les indices %q doivent être des entiers, pas %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr "La longueur de %q doit être de %q"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "La liste %q doit être une liste"
|
||||
|
@ -114,14 +118,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr "%q doit être compris entre 0 et 255"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr "%q doit être compris entre 1 et 255"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -138,10 +134,6 @@ msgstr "%q doit être >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q doit être >= 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr "%q doit être une chaîne de caractères"
|
||||
|
@ -179,6 +171,10 @@ msgstr "%q doit être un chiffre entier (int)"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() prend %d paramètres positionnels mais %d ont été donnés"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -329,6 +325,10 @@ msgstr "'yield from' dans une fonction async"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' dehors d'une fonction"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x doit être la cible de l'assignement"
|
||||
|
@ -504,6 +504,10 @@ msgstr ""
|
|||
"Tentative d'allocation à la pile quand la Machine Virtuelle n'est pas en "
|
||||
"exécution."
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr "AuthMode.OPEN n'est pas utilisé avec un mot de passe"
|
||||
|
@ -1224,11 +1228,6 @@ msgstr "L'entrée prend trop de temps"
|
|||
msgid "Input/output error"
|
||||
msgstr "Erreur d'entrée/sortie"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1261,6 +1260,10 @@ msgstr "Authentification insuffisante"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Chiffrement insuffisant"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Erreur de définition interne"
|
||||
|
@ -1270,7 +1273,7 @@ msgstr "Erreur de définition interne"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Erreur interne #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "%q invalide"
|
||||
|
||||
|
@ -1551,6 +1554,16 @@ msgstr "first_out_pin manquant. Instruction %d écrit un/des broche(s)"
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "first_set_pin manquant. L'instruction %d règle la/les broche(s)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Doit être une sous-classe de %q."
|
||||
|
@ -1935,25 +1948,6 @@ msgstr "Ainsi que tout autres modules présents sur le système de fichiers\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "Polygon a besoin d’au moins 3 points"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Ce port n'accepte pas de PWM carrier. Précisez plutôt les valeurs pin, "
|
||||
"frequency et duty_cycle"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Ce port n'accepte pas de broches ou de fréquence. Construisez plutôt en "
|
||||
"passant un PWMOut Carrier"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "Le tampon de préfixe doit être sur la pile"
|
||||
|
@ -2143,7 +2137,6 @@ msgid "Size not supported"
|
|||
msgstr "Taille n'est pas supportée"
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2606,7 +2599,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "Nombre/types de paramètres ne correspondent pas"
|
||||
|
||||
|
@ -3183,6 +3176,10 @@ msgstr "f-string : single '}' n'est pas autorisé"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "le fichier doit être un fichier ouvert en mode 'byte'"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "le system de fichier doit fournir une méthode 'mount'"
|
||||
|
@ -3471,6 +3468,10 @@ msgstr "taille d'élément %d est invalide pour bits_per_pixel %d\n"
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr "element_size %d est invalide, doit être 1, 2 ou 4"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "format invalide"
|
||||
|
@ -3508,6 +3509,10 @@ msgstr "syntaxe invalide pour un entier de base %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "syntaxe invalide pour un nombre"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "l'argument 1 de issubclass() doit être une classe"
|
||||
|
@ -3708,10 +3713,6 @@ msgstr "pas de carte SD"
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "aucune exception active à relever"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "adapteur réseau non disponible"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "pas de lien trouvé pour nonlocal"
|
||||
|
@ -4011,6 +4012,10 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4211,7 +4216,7 @@ msgstr "stop doit être 1 ou 2"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop n'est pas accessible au démarrage"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "opération de flux non supportée"
|
||||
|
||||
|
@ -4421,7 +4426,7 @@ msgid "unreadable attribute"
|
|||
msgstr "attribut illisible"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "type %q non pris on charge"
|
||||
|
||||
|
@ -4542,6 +4547,29 @@ 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 "%q must be 0-255"
|
||||
#~ msgstr "%q doit être compris entre 0 et 255"
|
||||
|
||||
#~ msgid "%q must be 1-255"
|
||||
#~ msgstr "%q doit être compris entre 1 et 255"
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "adapteur réseau non disponible"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
#~ "instead"
|
||||
#~ msgstr ""
|
||||
#~ "Ce port n'accepte pas de PWM carrier. Précisez plutôt les valeurs pin, "
|
||||
#~ "frequency et duty_cycle"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept pins or frequency. Construct and pass a PWMOut "
|
||||
#~ "Carrier instead"
|
||||
#~ msgstr ""
|
||||
#~ "Ce port n'accepte pas de broches ou de fréquence. Construisez plutôt en "
|
||||
#~ "passant un PWMOut Carrier"
|
||||
|
||||
#~ msgid "Instruction %d jumps on pin"
|
||||
#~ msgstr "Instruction %d saute sur la broche"
|
||||
|
||||
|
|
91
locale/hi.po
91
locale/hi.po
|
@ -91,6 +91,10 @@ msgstr ""
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr ""
|
||||
|
@ -103,14 +107,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -127,10 +123,6 @@ msgstr ""
|
|||
msgid "%q must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -168,6 +160,10 @@ msgstr ""
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -318,6 +314,10 @@ msgstr ""
|
|||
msgid "'yield' outside function"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr ""
|
||||
|
@ -489,6 +489,10 @@ msgstr ""
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1185,11 +1189,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1218,6 +1217,10 @@ msgstr ""
|
|||
msgid "Insufficient encryption"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr ""
|
||||
|
@ -1227,7 +1230,7 @@ msgstr ""
|
|||
msgid "Internal error #%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1506,6 +1509,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
@ -1877,21 +1890,6 @@ msgstr ""
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr ""
|
||||
|
@ -2078,7 +2076,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2525,7 +2522,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3089,6 +3086,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr ""
|
||||
|
@ -3376,6 +3377,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr ""
|
||||
|
@ -3413,6 +3418,10 @@ msgstr ""
|
|||
msgid "invalid syntax for number"
|
||||
msgstr ""
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
@ -3609,10 +3618,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr ""
|
||||
|
@ -3907,6 +3912,10 @@ msgstr ""
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4105,7 +4114,7 @@ msgstr ""
|
|||
msgid "stop not reachable from start"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4314,7 +4323,7 @@ msgid "unreadable attribute"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -100,6 +100,10 @@ msgstr "gli indici %q devono essere interi, non %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "lista %q deve essere una lista"
|
||||
|
@ -112,14 +116,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -137,10 +133,6 @@ msgstr "%q deve essere >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "slice del buffer devono essere della stessa lunghezza"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -178,6 +170,10 @@ msgstr "%q dovrebbe essere un int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() prende %d argomenti posizionali ma ne sono stati forniti %d"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -329,6 +325,10 @@ msgstr "'yield from' è nella funzione sincronizzazione"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' al di fuori della funzione"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x deve essere il bersaglio del assegnamento"
|
||||
|
@ -501,6 +501,10 @@ msgstr "Provo ad allocare %d blocchi"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1209,11 +1213,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr "Errore input/output"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1242,6 +1241,10 @@ msgstr ""
|
|||
msgid "Insufficient encryption"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr ""
|
||||
|
@ -1251,7 +1254,7 @@ msgstr ""
|
|||
msgid "Internal error #%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1534,6 +1537,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
@ -1915,21 +1928,6 @@ msgstr "Imposssibile rimontare il filesystem"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr ""
|
||||
|
@ -2119,7 +2117,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2568,7 +2565,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "discrepanza di numero/tipo di argomenti"
|
||||
|
||||
|
@ -3142,6 +3139,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "il filesystem deve fornire un metodo di mount"
|
||||
|
@ -3430,6 +3431,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "formato non valido"
|
||||
|
@ -3467,6 +3472,10 @@ msgstr "sintassi invalida per l'intero con base %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "sintassi invalida per il numero"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "il primo argomento di issubclass() deve essere una classe"
|
||||
|
@ -3668,11 +3677,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "nessuna eccezione attiva da rilanciare"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
#, fuzzy
|
||||
msgid "no available NIC"
|
||||
msgstr "busio.UART non ancora implementato"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "nessun binding per nonlocal trovato"
|
||||
|
@ -3973,6 +3977,10 @@ msgstr "pow() con 3 argomenti richiede interi"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4174,7 +4182,7 @@ msgstr ""
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop non raggiungibile dall'inizio"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "operazione di stream non supportata"
|
||||
|
||||
|
@ -4384,7 +4392,7 @@ msgid "unreadable attribute"
|
|||
msgstr "attributo non leggibile"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "tipo di %q non supportato"
|
||||
|
||||
|
@ -4507,6 +4515,10 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "busio.UART non ancora implementato"
|
||||
|
||||
#~ msgid "Buffer too large and unable to allocate"
|
||||
#~ msgstr "Buffer troppo grande ed impossibile allocare"
|
||||
|
||||
|
|
94
locale/ja.po
94
locale/ja.po
|
@ -96,6 +96,10 @@ msgstr ""
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "%q リストはリストでなければなりません"
|
||||
|
@ -108,14 +112,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -132,10 +128,6 @@ msgstr "%qは0以上でなければなりません"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%qは1以上でなければなりません"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -173,6 +165,10 @@ msgstr "%qはint型でなければなりません"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() は %d 個の位置引数を取りますが、%d 個与えられました"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -323,6 +319,10 @@ msgstr ""
|
|||
msgid "'yield' outside function"
|
||||
msgstr "関数外でのyield"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*xは代入先でなければなりません"
|
||||
|
@ -494,6 +494,10 @@ msgstr "%d個のブロックの確保を試みました"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1196,11 +1200,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr "入力/出力エラー"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1229,6 +1228,10 @@ msgstr "認証が不十分"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "暗号化が不十分"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "内部定義エラー"
|
||||
|
@ -1238,7 +1241,7 @@ msgstr "内部定義エラー"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "内部エラー #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "不正な %q"
|
||||
|
||||
|
@ -1517,6 +1520,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "%q のサブクラスでなければなりません"
|
||||
|
@ -1891,21 +1904,6 @@ msgstr ""
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "ポリゴンには少なくとも3つの点が必要"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "Prefixバッファはヒープ上になければなりません"
|
||||
|
@ -2092,7 +2090,6 @@ msgid "Size not supported"
|
|||
msgstr "サイズは対応していません"
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2540,7 +2537,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3108,6 +3105,10 @@ msgstr "f-string: 1つだけの'}'は許されません"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "fileはバイトモードで開かれたファイルでなければなりません"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "filesystemはmountメソッドを提供しなければなりません"
|
||||
|
@ -3396,6 +3397,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr ""
|
||||
|
@ -3433,6 +3438,10 @@ msgstr ""
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "数字として不正な構文"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass()の第1引数はクラスでなければなりません"
|
||||
|
@ -3629,10 +3638,6 @@ msgstr "SDカードがありません"
|
|||
msgid "no active exception to reraise"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "利用可能なNICがありません"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "nonlocalの対象が見つかりません"
|
||||
|
@ -3929,6 +3934,10 @@ msgstr "pow()の第3引数には整数が必要"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4128,7 +4137,7 @@ msgstr "stopは1または2のいずれか"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "ストリーム操作は非対応"
|
||||
|
||||
|
@ -4337,7 +4346,7 @@ msgid "unreadable attribute"
|
|||
msgstr "読み込み不可能な属性"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "非対応の型 %q"
|
||||
|
||||
|
@ -4458,6 +4467,9 @@ msgstr "ziはfloat値でなければなりません"
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "利用可能なNICがありません"
|
||||
|
||||
#~ msgid "Buffer too large and unable to allocate"
|
||||
#~ msgstr "バッファが大きすぎて確保できません"
|
||||
|
||||
|
|
91
locale/ko.po
91
locale/ko.po
|
@ -92,6 +92,10 @@ msgstr "%q 인덱스는 %s 가 아닌 정수 여야합니다"
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr ""
|
||||
|
@ -104,14 +108,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -128,10 +124,6 @@ msgstr ""
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q 는 >=1이어야합니다"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -169,6 +161,10 @@ msgstr "%q 는 정수(int) 여야합니다"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -319,6 +315,10 @@ msgstr ""
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' 는 함수 외부에 존재합니다"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr ""
|
||||
|
@ -490,6 +490,10 @@ msgstr ""
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1188,11 +1192,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1221,6 +1220,10 @@ msgstr ""
|
|||
msgid "Insufficient encryption"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr ""
|
||||
|
@ -1230,7 +1233,7 @@ msgstr ""
|
|||
msgid "Internal error #%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1509,6 +1512,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
@ -1880,21 +1893,6 @@ msgstr ""
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr ""
|
||||
|
@ -2081,7 +2079,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2529,7 +2526,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3093,6 +3090,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr ""
|
||||
|
@ -3380,6 +3381,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "형식가 유효하지 않습니다"
|
||||
|
@ -3417,6 +3422,10 @@ msgstr "구문(syntax)가 정수가 유효하지 않습니다"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "숫자에 대한 구문(syntax)가 유효하지 않습니다"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr ""
|
||||
|
@ -3613,10 +3622,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr ""
|
||||
|
@ -3911,6 +3916,10 @@ msgstr ""
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4109,7 +4118,7 @@ msgstr ""
|
|||
msgid "stop not reachable from start"
|
||||
msgstr ""
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4318,7 +4327,7 @@ msgid "unreadable attribute"
|
|||
msgstr ""
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr ""
|
||||
|
||||
|
|
112
locale/nl.po
112
locale/nl.po
|
@ -94,6 +94,10 @@ msgstr "%q indexen moeten integers zijn, niet %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "%q lijst moet een lijst zijn"
|
||||
|
@ -106,14 +110,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -130,10 +126,6 @@ msgstr "%q moet >= 0 zijn"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q moet >= 1 zijn"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -171,6 +163,10 @@ msgstr "%q moet een int zijn"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() verwacht %d positionele argumenten maar kreeg %d"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -321,6 +317,10 @@ msgstr "'yield from' binnen asynchrone functie"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' buiten de functie"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x moet een assignment target zijn"
|
||||
|
@ -492,6 +492,10 @@ msgstr "Poging om %d blokken toe te wijzen"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1197,11 +1201,6 @@ msgstr "Invoer duurt te lang"
|
|||
msgid "Input/output error"
|
||||
msgstr "Input/Output fout"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1230,6 +1229,10 @@ msgstr "Onvoldoende authenticatie"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Onvoldoende encryptie"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Interne define fout"
|
||||
|
@ -1239,7 +1242,7 @@ msgstr "Interne define fout"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Interne fout #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "Ongeldige %q"
|
||||
|
||||
|
@ -1518,6 +1521,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "%q moet een subklasse zijn."
|
||||
|
@ -1901,25 +1914,6 @@ msgstr "En iedere module in het bestandssysteem\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "Polygon heeft op zijn minst 3 punten nodig"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Poort ondersteund geen PWM drager. Geef een pin, frequentie en inschakeltijd "
|
||||
"op"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Poort accepteert geen pin of frequentie. Stel een PWMOut Carrier samen en "
|
||||
"geef die op"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "Prefix buffer moet op de heap zijn"
|
||||
|
@ -2108,7 +2102,6 @@ msgid "Size not supported"
|
|||
msgstr "Afmeting niet ondersteund"
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2566,7 +2559,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "argument num/typen komen niet overeen"
|
||||
|
||||
|
@ -3134,6 +3127,10 @@ msgstr "f-string: enkele '}' is niet toegestaan"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "bestand moet een bestand zijn geopend in byte modus"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "bestandssysteem moet een mount methode bieden"
|
||||
|
@ -3422,6 +3419,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "ongeldig formaat"
|
||||
|
@ -3459,6 +3460,10 @@ msgstr "ongeldige syntax voor integer met grondtal %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "ongeldige syntax voor nummer"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() argument 1 moet een klasse zijn"
|
||||
|
@ -3658,10 +3663,6 @@ msgstr "geen SD kaart"
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "geen actieve uitzondering om opnieuw op te werpen (raise)"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "geen netwerkadapter (NIC) beschikbaar"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "geen binding voor nonlocal gevonden"
|
||||
|
@ -3957,6 +3958,10 @@ msgstr "pow() met 3 argumenten vereist integers"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4157,7 +4162,7 @@ msgstr "stop moet 1 of 2 zijn"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop is niet bereikbaar vanaf start"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "stream operatie niet ondersteund"
|
||||
|
||||
|
@ -4366,7 +4371,7 @@ msgid "unreadable attribute"
|
|||
msgstr "onleesbaar attribuut"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "niet ondersteund %q type"
|
||||
|
||||
|
@ -4487,6 +4492,23 @@ 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 "no available NIC"
|
||||
#~ msgstr "geen netwerkadapter (NIC) beschikbaar"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
#~ "instead"
|
||||
#~ msgstr ""
|
||||
#~ "Poort ondersteund geen PWM drager. Geef een pin, frequentie en "
|
||||
#~ "inschakeltijd op"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept pins or frequency. Construct and pass a PWMOut "
|
||||
#~ "Carrier instead"
|
||||
#~ msgstr ""
|
||||
#~ "Poort accepteert geen pin of frequentie. Stel een PWMOut Carrier samen en "
|
||||
#~ "geef die op"
|
||||
|
||||
#~ msgid "Buffer too large and unable to allocate"
|
||||
#~ msgstr "Buffer is te groot en niet in staat te alloceren"
|
||||
|
||||
|
|
94
locale/pl.po
94
locale/pl.po
|
@ -96,6 +96,10 @@ msgstr "%q indeks musi być liczbą całkowitą, a nie %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr ""
|
||||
|
@ -108,14 +112,6 @@ msgstr ""
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr ""
|
||||
|
@ -132,10 +128,6 @@ msgstr "%q musi być >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q musi być >= 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr ""
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr ""
|
||||
|
@ -173,6 +165,10 @@ msgstr "%q powinno być typu int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() bierze %d argumentów pozycyjnych, lecz podano %d"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -323,6 +319,10 @@ msgstr "'yield from' wewnątrz funkcji asynchronicznej"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' poza funkcją"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x musi być obiektem przypisania"
|
||||
|
@ -494,6 +494,10 @@ msgstr "Próba przydzielenia %d bloków"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr ""
|
||||
|
@ -1196,11 +1200,6 @@ msgstr ""
|
|||
msgid "Input/output error"
|
||||
msgstr "Błąd I/O"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1229,6 +1228,10 @@ msgstr "Niewystarczające uwierzytelnienie"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Niewystarczające szyfrowanie"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr ""
|
||||
|
@ -1238,7 +1241,7 @@ msgstr ""
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Błąd wewnętrzny #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "Nieprawidłowe %q"
|
||||
|
||||
|
@ -1517,6 +1520,16 @@ msgstr ""
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr ""
|
||||
|
@ -1888,21 +1901,6 @@ msgstr "Oraz moduły w systemie plików\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "Wielokąt musi mieć co najmniej 3 punkty"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr ""
|
||||
|
@ -2089,7 +2087,6 @@ msgid "Size not supported"
|
|||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2542,7 +2539,7 @@ msgid "argument name reused"
|
|||
msgstr ""
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "zła liczba lub typ argumentów"
|
||||
|
||||
|
@ -3107,6 +3104,10 @@ msgstr ""
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "file musi być otwarte w trybie bajtowym"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "system plików musi mieć metodę mount"
|
||||
|
@ -3394,6 +3395,10 @@ msgstr ""
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "zły format"
|
||||
|
@ -3431,6 +3436,10 @@ msgstr "zła składnia dla liczby całkowitej w bazie %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "zła składnia dla liczby"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "argument 1 dla issubclass() musi być klasą"
|
||||
|
@ -3627,10 +3636,6 @@ msgstr ""
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "brak wyjątku do ponownego rzucenia"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "brak wolnego NIC"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "brak wiązania dla zmiennej nielokalnej"
|
||||
|
@ -3926,6 +3931,10 @@ msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4125,7 +4134,7 @@ msgstr "stop musi być 1 lub 2"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop nie jest osiągalne ze start"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "operacja na strumieniu nieobsługiwana"
|
||||
|
||||
|
@ -4334,7 +4343,7 @@ msgid "unreadable attribute"
|
|||
msgstr "nieczytelny atrybut"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "zły typ %q"
|
||||
|
||||
|
@ -4455,6 +4464,9 @@ msgstr ""
|
|||
msgid "zi must be of shape (n_section, 2)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "brak wolnego NIC"
|
||||
|
||||
#~ msgid "Buffer too large and unable to allocate"
|
||||
#~ msgstr "Bufor jest zbyt duży i nie można go przydzielić"
|
||||
|
||||
|
|
128
locale/pt_BR.po
128
locale/pt_BR.po
|
@ -6,7 +6,7 @@ msgstr ""
|
|||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-07-24 15:35+0000\n"
|
||||
"PO-Revision-Date: 2021-08-13 12:33+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.7.2-dev\n"
|
||||
"X-Generator: Weblate 4.8-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
|
@ -100,6 +100,10 @@ msgstr "Os índices %q devem ser inteiros, e não %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr "o comprimento %q deve ser %q"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "A lista %q deve ser uma lista"
|
||||
|
@ -112,14 +116,6 @@ msgstr "o %q deve ser <= %d"
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr "o %q deve ser %d-%d"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr "%q deve ser entre 0-255"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr "%q deve ser 1-255"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr "o %q deve ser >= %d"
|
||||
|
@ -136,10 +132,6 @@ msgstr "%q deve ser >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q deve ser >= 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr "%q deve ser None ou entre 1 e len(report_descriptor)-1"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr "%q deve ser uma string"
|
||||
|
@ -177,6 +169,10 @@ msgstr "%q deve ser um int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() recebe %d argumentos posicionais, porém %d foram informados"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -331,6 +327,10 @@ msgstr "'yield a partir' de dentro da função async"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "função externa 'yield'"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr "(x,y) é obrigatório o uso de números inteiros"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x deve ser o destino da atribuição"
|
||||
|
@ -503,6 +503,10 @@ msgid "Attempted heap allocation when VM not running."
|
|||
msgstr ""
|
||||
"Tentativa de alocação das pilhas quando o VM não estiver em funcionamento."
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr "A conversão de áudio ainda não foi implementada"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr "O AuthMode.OPEN não é usado com senha"
|
||||
|
@ -1219,11 +1223,6 @@ msgstr "A entrada está demorando demais"
|
|||
msgid "Input/output error"
|
||||
msgstr "Erro de entrada/saída"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr "Falta o jmp_pin. A instrução %d salta no pino"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1252,6 +1251,10 @@ msgstr "Autenticação insuficiente"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Criptografia insuficiente"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr "O buffer interno de áudio é muito pequeno"
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Erro interno de definição"
|
||||
|
@ -1261,7 +1264,7 @@ msgstr "Erro interno de definição"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Erro interno #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "%q Inválido"
|
||||
|
||||
|
@ -1540,6 +1543,16 @@ msgstr "Faltando first_out_pin. A instrução %d escreve nos pinos(s)"
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "Faltando first_set_pin. A instrução %d define os pinos(s)"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr "Falta o jmp_pin. A instrução %d salta no pino"
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Deve ser uma subclasse %q."
|
||||
|
@ -1925,25 +1938,6 @@ msgstr "Além de quaisquer módulos no sistema de arquivos\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "O Polígono precisa de pelo menos 3 pontos"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"A porta não aceita portadora PWM. Em vez disso informe um pino, frequência e "
|
||||
"o ciclo de trabalho"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"A porta não aceita pinos ou frequência. Em vez disso, construa e passe um "
|
||||
"PWMOut Carrier"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr ""
|
||||
|
@ -2136,7 +2130,6 @@ msgid "Size not supported"
|
|||
msgstr "O tamanho não é suportado"
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "Sleep memory não está disponível"
|
||||
|
||||
|
@ -2609,7 +2602,7 @@ msgid "argument name reused"
|
|||
msgstr "nome do argumento reutilizado"
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "o argumento num/tipos não combinam"
|
||||
|
||||
|
@ -3182,6 +3175,10 @@ msgstr "f-string: um único '}' não é permitido"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "o arquivo deve ser um arquivo aberto no modo byte"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr "a gravação de arquivos não está disponível"
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "sistema de arquivos deve fornecer método de montagem"
|
||||
|
@ -3470,6 +3467,10 @@ msgstr "tamanho do elemento %d é inválido para bits_per_pixel %d\n"
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr "element_size %d é inválido, deve ser, 1, 2, ou 4"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr "exceção inválida"
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "formato inválido"
|
||||
|
@ -3507,6 +3508,10 @@ msgstr "sintaxe inválida para o número inteiro com base %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "sintaxe inválida para o número"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr "rastreamento inválido"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 deve ser uma classe"
|
||||
|
@ -3708,10 +3713,6 @@ msgstr "nenhum cartão SD"
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "nenhuma exceção ativa para reraise"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "não há uma Placa de Rede disponível"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "nenhuma ligação para nonlocal foi encontrada"
|
||||
|
@ -4011,6 +4012,10 @@ msgstr "o pow() com 3 argumentos requer números inteiros"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4211,7 +4216,7 @@ msgstr "o stop deve ser 1 ou 2"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop não está acessível a partir do início"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "a operação do fluxo não é compatível"
|
||||
|
||||
|
@ -4420,7 +4425,7 @@ msgid "unreadable attribute"
|
|||
msgstr "atributo ilegível"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "tipo %q não suportado"
|
||||
|
||||
|
@ -4541,6 +4546,35 @@ 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 "%q must be 0-255"
|
||||
#~ msgstr "%q deve ser entre 0-255"
|
||||
|
||||
#~ msgid "%q must be 1-255"
|
||||
#~ msgstr "%q deve ser 1-255"
|
||||
|
||||
#~ msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
#~ msgstr "%q deve ser None ou entre 1 e len(report_descriptor)-1"
|
||||
|
||||
#~ msgid "limit should be an int"
|
||||
#~ msgstr "o limite deve ser um inteiro"
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "não há uma Placa de Rede disponível"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
#~ "instead"
|
||||
#~ msgstr ""
|
||||
#~ "A porta não aceita portadora PWM. Em vez disso informe um pino, "
|
||||
#~ "frequência e o ciclo de trabalho"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept pins or frequency. Construct and pass a PWMOut "
|
||||
#~ "Carrier instead"
|
||||
#~ msgstr ""
|
||||
#~ "A porta não aceita pinos ou frequência. Em vez disso, construa e passe um "
|
||||
#~ "PWMOut Carrier"
|
||||
|
||||
#~ msgid "Instruction %d jumps on pin"
|
||||
#~ msgstr "A instrução %d salta no pino"
|
||||
|
||||
|
|
128
locale/sv.po
128
locale/sv.po
|
@ -6,7 +6,7 @@ msgstr ""
|
|||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-04 12:55-0600\n"
|
||||
"PO-Revision-Date: 2021-07-24 15:35+0000\n"
|
||||
"PO-Revision-Date: 2021-08-18 21:35+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.7.2-dev\n"
|
||||
"X-Generator: Weblate 4.8-dev\n"
|
||||
|
||||
#: main.c
|
||||
msgid ""
|
||||
|
@ -99,6 +99,10 @@ msgstr "Indexet %q måste vara ett heltal, inte %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr "längden på %q måste vara %q"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr "längden på %q måste vara >= 1"
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "%q-listan måste vara en lista"
|
||||
|
@ -111,14 +115,6 @@ msgstr "%q måste vara <=%d"
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr "%q måste vara %d-%d"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr "%q måste vara 0-255"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr "%q måste vara 1-255"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr "%q måste vara >= %d"
|
||||
|
@ -135,10 +131,6 @@ msgstr "%q måste vara >= 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q måste vara >= 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr "%q måste vara None eller mellan 1 och len(report_descriptor)-1"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr "%q måste vara en sträng"
|
||||
|
@ -176,6 +168,10 @@ msgstr "%q ska vara en int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "% q () tar% d positionsargument men% d gavs"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr "%q, %q och %q måste vara lika långa"
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -326,6 +322,10 @@ msgstr "'yield from' i async-funktion"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' utanför funktion"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr "(x,y) heltal krävs"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x måste vara mål för tilldelning"
|
||||
|
@ -497,6 +497,10 @@ msgstr "Försök att tilldela %d block"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr "Försök till heap-allokering när den virtuella maskinen inte är igång."
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr "Ljudkonvertering inte implementerad"
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr "AuthMode.OPEN används inte med lösenord"
|
||||
|
@ -1204,11 +1208,6 @@ msgstr "Indata tar för lång tid"
|
|||
msgid "Input/output error"
|
||||
msgstr "Indata-/utdatafel"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr "Saknar jmp_pin. Instruktion %d hoppar på pin"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1237,6 +1236,10 @@ msgstr "Otillräcklig autentisering"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Otillräcklig kryptering"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr "Intern ljudbuffert för liten"
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Internt define-fel"
|
||||
|
@ -1246,7 +1249,7 @@ msgstr "Internt define-fel"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "Internt fel #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "Ogiltig %q"
|
||||
|
||||
|
@ -1526,6 +1529,16 @@ msgstr "Saknad first_out_pin. Instruktion %d skriver till pinnar"
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "Saknad first_set_pin. Instruktion %d sätter pinnar"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr "Saknar jmp_pin. Instruktion %d hoppar på pin"
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr "Fler än %d rapport-id stöds inte"
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Måste vara en %q-subklass."
|
||||
|
@ -1907,25 +1920,6 @@ msgstr "Plus eventuella moduler i filsystemet\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "Polygonen behöver minst 3 punkter"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Port accepterar inte PWM carrier. Ange pinne frekvens och arbetscykel "
|
||||
"istället"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Porten accepterar inte pinne eller frekvens. Skapa och skicka en PWMOut "
|
||||
"Carrier istället"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "Prefixbufferten måste finnas på heap"
|
||||
|
@ -2114,7 +2108,6 @@ msgid "Size not supported"
|
|||
msgstr "Storleken stöds inte"
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "Sömnminne inte tillgängligt"
|
||||
|
||||
|
@ -2579,7 +2572,7 @@ msgid "argument name reused"
|
|||
msgstr "argumentnamn återanvänt"
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "argument antal/typ matchar inte"
|
||||
|
||||
|
@ -3148,6 +3141,10 @@ msgstr "f-string: singel '}' är inte tillåten"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "filen måste vara en fil som öppnats i byte-läge"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr "Filskrivning är inte tillgängligt"
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "filsystemet måste tillhandahålla mount-metod"
|
||||
|
@ -3435,6 +3432,10 @@ msgstr "ogiltig elementstorlek %d för bits_per_pixel %d\n"
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr "ogiltig element_size %d, måste vara, 1, 2 eller 4"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr "Ogiltig exception"
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "ogiltigt format"
|
||||
|
@ -3472,6 +3473,10 @@ msgstr "ogiltig syntax för heltal med bas %d"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "ogiltig syntax för tal"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr "Ogilitig källspårning"
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() arg 1 måste vara en klass"
|
||||
|
@ -3671,10 +3676,6 @@ msgstr "inget SD-kort"
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "ingen aktiv exception för reraise"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "ingen tillgänglig NIC"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "ingen bindning för ickelokal hittad"
|
||||
|
@ -3970,6 +3971,10 @@ msgstr "pow() med 3 argument kräver heltal"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4170,7 +4175,7 @@ msgstr "stop måste vara 1 eller 2"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "stop kan inte nås från start"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "stream-åtgärd stöds inte"
|
||||
|
||||
|
@ -4379,7 +4384,7 @@ msgid "unreadable attribute"
|
|||
msgstr "attribut kan inte läsas"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "typ %q stöds inte"
|
||||
|
||||
|
@ -4500,6 +4505,35 @@ 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 "%q must be 0-255"
|
||||
#~ msgstr "%q måste vara 0-255"
|
||||
|
||||
#~ msgid "%q must be 1-255"
|
||||
#~ msgstr "%q måste vara 1-255"
|
||||
|
||||
#~ msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
#~ msgstr "%q måste vara None eller mellan 1 och len(report_descriptor)-1"
|
||||
|
||||
#~ msgid "limit should be an int"
|
||||
#~ msgstr "limit måste vara en int"
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "ingen tillgänglig NIC"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
#~ "instead"
|
||||
#~ msgstr ""
|
||||
#~ "Port accepterar inte PWM carrier. Ange pinne frekvens och arbetscykel "
|
||||
#~ "istället"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept pins or frequency. Construct and pass a PWMOut "
|
||||
#~ "Carrier instead"
|
||||
#~ msgstr ""
|
||||
#~ "Porten accepterar inte pinne eller frekvens. Skapa och skicka en PWMOut "
|
||||
#~ "Carrier istället"
|
||||
|
||||
#~ msgid "Instruction %d jumps on pin"
|
||||
#~ msgstr "Instruktion %d hoppar på pinne"
|
||||
|
||||
|
|
|
@ -101,6 +101,10 @@ msgstr "%q suǒyǐn bìxū shì zhěngshù, ér bùshì %s"
|
|||
msgid "%q length must be %q"
|
||||
msgstr "%q cháng dù bì xū wéi %q"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q length must be >= 1"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/vectorio/Polygon.c
|
||||
msgid "%q list must be a list"
|
||||
msgstr "%q lièbiǎo bìxū shì lièbiǎo"
|
||||
|
@ -113,14 +117,6 @@ msgstr "%q bì xū <= %d"
|
|||
msgid "%q must be %d-%d"
|
||||
msgstr "%q bì xū wéi %d-%d"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 0-255"
|
||||
msgstr "%q bì xū wéi 0-255"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be 1-255"
|
||||
msgstr "%q bì xū wéi 1-255"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be >= %d"
|
||||
msgstr "%q bì xū >= %d"
|
||||
|
@ -137,10 +133,6 @@ msgstr "%q Bìxū > = 0"
|
|||
msgid "%q must be >= 1"
|
||||
msgstr "%q bìxū dàyú huò děngyú 1"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
msgstr "%q bì xū wéi wú huò zài 1 hé len(report_descriptor)-1 zhī jiān"
|
||||
|
||||
#: py/argcheck.c
|
||||
msgid "%q must be a string"
|
||||
msgstr "%q bì xū shì yí gè zì fú chuàn"
|
||||
|
@ -178,6 +170,10 @@ msgstr "%q yīnggāi shì yīgè int"
|
|||
msgid "%q() takes %d positional arguments but %d were given"
|
||||
msgstr "%q() cǎiyòng %d wèizhì cānshù, dàn gěi chū %d"
|
||||
|
||||
#: shared-bindings/usb_hid/Device.c
|
||||
msgid "%q, %q, and %q must all be the same length"
|
||||
msgstr ""
|
||||
|
||||
#: ports/esp32s2/bindings/espidf/__init__.c ports/esp32s2/esp_error.c
|
||||
#, c-format
|
||||
msgid "%s error 0x%x"
|
||||
|
@ -328,6 +324,10 @@ msgstr "Yì bù hán shù zhōng de 'yield from'"
|
|||
msgid "'yield' outside function"
|
||||
msgstr "'yield' wàibù gōngnéng"
|
||||
|
||||
#: shared-module/vectorio/VectorShape.c
|
||||
msgid "(x,y) integers required"
|
||||
msgstr ""
|
||||
|
||||
#: py/compile.c
|
||||
msgid "*x must be assignment target"
|
||||
msgstr "*x bìxū shì rènwù mùbiāo"
|
||||
|
@ -499,6 +499,10 @@ msgstr "cháng shì fēn pèi %d kuài"
|
|||
msgid "Attempted heap allocation when VM not running."
|
||||
msgstr "dāng VM bú yùn xíng shí, cháng shì duī fēn pèi."
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Audio conversion not implemented"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/wifi/Radio.c
|
||||
msgid "AuthMode.OPEN is not used with password"
|
||||
msgstr "AuthMode.OPEN wèi shǐ yòng mì mǎ"
|
||||
|
@ -1207,11 +1211,6 @@ msgstr "Shūrù shíjiānguò zhǎng"
|
|||
msgid "Input/output error"
|
||||
msgstr "Shūrù/shūchū cuòwù"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Instruction %d shifts in more bits than pin count"
|
||||
|
@ -1240,6 +1239,10 @@ msgstr "Rènzhèng bùzú"
|
|||
msgid "Insufficient encryption"
|
||||
msgstr "Jiāmì bùzú"
|
||||
|
||||
#: ports/raspberrypi/audio_dma.c
|
||||
msgid "Internal audio buffer too small"
|
||||
msgstr ""
|
||||
|
||||
#: ports/stm/common-hal/busio/UART.c
|
||||
msgid "Internal define error"
|
||||
msgstr "Nèibù dìngyì cuòwù"
|
||||
|
@ -1249,7 +1252,7 @@ msgstr "Nèibù dìngyì cuòwù"
|
|||
msgid "Internal error #%d"
|
||||
msgstr "nèi bù cuò wù #%d"
|
||||
|
||||
#: shared-bindings/sdioio/SDCard.c
|
||||
#: shared-bindings/sdioio/SDCard.c shared-module/usb_hid/Device.c
|
||||
msgid "Invalid %q"
|
||||
msgstr "wú xiào %q"
|
||||
|
||||
|
@ -1529,6 +1532,16 @@ msgstr "xiān lòu chū yǐn jiǎo. zhǐ lìng %d xiě rù yǐn jiǎo"
|
|||
msgid "Missing first_set_pin. Instruction %d sets pin(s)"
|
||||
msgstr "quē shǎo dì yī zǔ yǐn jiǎo. zhǐ lìng %d shè zhì yǐn jiǎo"
|
||||
|
||||
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
|
||||
#, c-format
|
||||
msgid "Missing jmp_pin. Instruction %d jumps on pin"
|
||||
msgstr ""
|
||||
|
||||
#: shared-module/usb_hid/Device.c
|
||||
#, c-format
|
||||
msgid "More than %d report ids not supported"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/busio/UART.c shared-bindings/displayio/Group.c
|
||||
msgid "Must be a %q subclass."
|
||||
msgstr "Bìxū shì %q zi lèi."
|
||||
|
@ -1909,22 +1922,6 @@ msgstr "Zài wénjiàn xìtǒng shàng tiānjiā rènhé mókuài\n"
|
|||
msgid "Polygon needs at least 3 points"
|
||||
msgstr "Duōbiānxíng zhìshǎo xūyào 3 diǎn"
|
||||
|
||||
#: ports/esp32s2/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
"instead"
|
||||
msgstr "Duānkǒu bù jiēshòu PWM zàibō. Tōngguò yǐn jiǎo, pínlǜ hé zhàn kōng bǐ"
|
||||
|
||||
#: ports/atmel-samd/common-hal/pulseio/PulseOut.c
|
||||
#: ports/cxd56/common-hal/pulseio/PulseOut.c
|
||||
#: ports/nrf/common-hal/pulseio/PulseOut.c
|
||||
#: ports/stm/common-hal/pulseio/PulseOut.c
|
||||
msgid ""
|
||||
"Port does not accept pins or frequency. Construct and pass a PWMOut Carrier "
|
||||
"instead"
|
||||
msgstr ""
|
||||
"Duānkǒu bù jiēshòu yǐn jiǎo huò pínlǜ. Gòuzào bìng chuándì PWMOut zàibō"
|
||||
|
||||
#: shared-bindings/_bleio/Adapter.c
|
||||
msgid "Prefix buffer must be on the heap"
|
||||
msgstr "Qiánzhuì huǎnchōng qū bìxū zài duī shàng"
|
||||
|
@ -2113,7 +2110,6 @@ msgid "Size not supported"
|
|||
msgstr "bù zhī chí dà xiǎo"
|
||||
|
||||
#: ports/raspberrypi/common-hal/alarm/SleepMemory.c
|
||||
#: ports/stm/common-hal/alarm/SleepMemory.c
|
||||
msgid "Sleep Memory not available"
|
||||
msgstr "shuì mián jì yì bù kě yòng"
|
||||
|
||||
|
@ -2578,7 +2574,7 @@ msgid "argument name reused"
|
|||
msgstr "chóng fù shǐ yòng de cān shù míng chēng"
|
||||
|
||||
#: py/argcheck.c shared-bindings/_stage/__init__.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c shared-bindings/gamepad/GamePad.c
|
||||
#: shared-bindings/digitalio/DigitalInOut.c
|
||||
msgid "argument num/types mismatch"
|
||||
msgstr "cānshù biānhào/lèixíng bù pǐpèi"
|
||||
|
||||
|
@ -3148,6 +3144,10 @@ msgstr "f-string: bù yǔnxǔ shǐyòng dāngè '}'"
|
|||
msgid "file must be a file opened in byte mode"
|
||||
msgstr "wénjiàn bìxū shì zài zì jié móshì xià dǎkāi de wénjiàn"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "file write is not available"
|
||||
msgstr ""
|
||||
|
||||
#: shared-bindings/storage/__init__.c
|
||||
msgid "filesystem must provide mount method"
|
||||
msgstr "wénjiàn xìtǒng bìxū tígōng guà zài fāngfǎ"
|
||||
|
@ -3435,6 +3435,10 @@ msgstr "wú xiào yuán jiàn dà xiǎo %d wéi bits_per_pixel %d\n"
|
|||
msgid "invalid element_size %d, must be, 1, 2, or 4"
|
||||
msgstr "wú xiào element_size %d, bì xū shì, 1, 2, huò 4"
|
||||
|
||||
#: shared-bindings/traceback/__init__.c
|
||||
msgid "invalid exception"
|
||||
msgstr ""
|
||||
|
||||
#: extmod/modframebuf.c
|
||||
msgid "invalid format"
|
||||
msgstr "wúxiào géshì"
|
||||
|
@ -3472,6 +3476,10 @@ msgstr "jīshù wèi %d de zhěng shǔ de yǔfǎ wúxiào"
|
|||
msgid "invalid syntax for number"
|
||||
msgstr "wúxiào de hàomǎ yǔfǎ"
|
||||
|
||||
#: py/objexcept.c shared-bindings/traceback/__init__.c
|
||||
msgid "invalid traceback"
|
||||
msgstr ""
|
||||
|
||||
#: py/objtype.c
|
||||
msgid "issubclass() arg 1 must be a class"
|
||||
msgstr "issubclass() cānshù 1 bìxū shì yīgè lèi"
|
||||
|
@ -3669,10 +3677,6 @@ msgstr "méiyǒu SD kǎ"
|
|||
msgid "no active exception to reraise"
|
||||
msgstr "méiyǒu jīhuó de yìcháng lái chóngxīn píngjià"
|
||||
|
||||
#: shared-bindings/socket/__init__.c shared-module/network/__init__.c
|
||||
msgid "no available NIC"
|
||||
msgstr "méiyǒu kěyòng de NIC"
|
||||
|
||||
#: py/compile.c
|
||||
msgid "no binding for nonlocal found"
|
||||
msgstr "zhǎo bù dào fēi běndì de bǎng dìng"
|
||||
|
@ -3967,6 +3971,10 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
|
|||
#: ports/esp32s2/boards/espressif_saola_1_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wroom/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/franzininho_wifi_wrover/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_m/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_ms/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_r/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/gravitech_cucumber_rs/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/lilygo_ttgo_t8_s2_st7789/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/microdev_micro_s2/mpconfigboard.h
|
||||
#: ports/esp32s2/boards/muselab_nanoesp32_s2_wroom/mpconfigboard.h
|
||||
|
@ -4167,7 +4175,7 @@ msgstr "tíngzhǐ bìxū wèi 1 huò 2"
|
|||
msgid "stop not reachable from start"
|
||||
msgstr "tíngzhǐ wúfǎ cóng kāishǐ zhōng zhǎodào"
|
||||
|
||||
#: py/stream.c
|
||||
#: py/stream.c shared-bindings/getpass/__init__.c
|
||||
msgid "stream operation not supported"
|
||||
msgstr "bù zhīchí liú cāozuò"
|
||||
|
||||
|
@ -4376,7 +4384,7 @@ msgid "unreadable attribute"
|
|||
msgstr "bùkě dú shǔxìng"
|
||||
|
||||
#: shared-bindings/displayio/TileGrid.c shared-bindings/vectorio/VectorShape.c
|
||||
#: shared-module/vectorio/Polygon.c
|
||||
#: shared-module/vectorio/Polygon.c shared-module/vectorio/VectorShape.c
|
||||
msgid "unsupported %q type"
|
||||
msgstr "bù zhīchí %q lèixíng"
|
||||
|
||||
|
@ -4497,6 +4505,30 @@ 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 "%q must be 0-255"
|
||||
#~ msgstr "%q bì xū wéi 0-255"
|
||||
|
||||
#~ msgid "%q must be 1-255"
|
||||
#~ msgstr "%q bì xū wéi 1-255"
|
||||
|
||||
#~ msgid "%q must be None or between 1 and len(report_descriptor)-1"
|
||||
#~ msgstr "%q bì xū wéi wú huò zài 1 hé len(report_descriptor)-1 zhī jiān"
|
||||
|
||||
#~ msgid "no available NIC"
|
||||
#~ msgstr "méiyǒu kěyòng de NIC"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept PWM carrier. Pass a pin, frequency and duty cycle "
|
||||
#~ "instead"
|
||||
#~ msgstr ""
|
||||
#~ "Duānkǒu bù jiēshòu PWM zàibō. Tōngguò yǐn jiǎo, pínlǜ hé zhàn kōng bǐ"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Port does not accept pins or frequency. Construct and pass a PWMOut "
|
||||
#~ "Carrier instead"
|
||||
#~ msgstr ""
|
||||
#~ "Duānkǒu bù jiēshòu yǐn jiǎo huò pínlǜ. Gòuzào bìng chuándì PWMOut zàibō"
|
||||
|
||||
#~ msgid "Instruction %d jumps on pin"
|
||||
#~ msgstr "zhǐ lìng %d zài yǐn jiǎo shàng tiào zhuǎn"
|
||||
|
||||
|
|
5
main.c
5
main.c
|
@ -645,11 +645,13 @@ STATIC void __attribute__ ((noinline)) run_boot_py(safe_mode_t safe_mode) {
|
|||
|
||||
static const char * const boot_py_filenames[] = STRING_LIST("boot.py", "boot.txt");
|
||||
bool skip_boot_output = false;
|
||||
#ifdef CIRCUITPY_BOOT_OUTPUT_FILE
|
||||
FIL file_pointer;
|
||||
#endif
|
||||
|
||||
if (ok_to_run) {
|
||||
|
||||
#ifdef CIRCUITPY_BOOT_OUTPUT_FILE
|
||||
FIL file_pointer;
|
||||
boot_output_file = &file_pointer;
|
||||
|
||||
// Get the base filesystem.
|
||||
|
@ -849,6 +851,7 @@ int __attribute__((used)) main(void) {
|
|||
serial_init();
|
||||
|
||||
#if CIRCUITPY_BLEIO
|
||||
supervisor_bluetooth_enable_workflow();
|
||||
supervisor_start_bluetooth();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -322,6 +322,12 @@ SRC_C += \
|
|||
reset.c \
|
||||
timer_handler.c \
|
||||
|
||||
# This is an OR because it filters to any 1s and then checks to see if it is not
|
||||
# empty.
|
||||
ifneq (,$(filter 1,$(CIRCUITPY_PWMIO) $(CIRCUITPY_AUDIOIO) $(CIRCUITPY_RGBMATRIX)))
|
||||
SRC_C += shared_timers.c
|
||||
endif
|
||||
|
||||
ifeq ($(CIRCUITPY_SDIOIO),1)
|
||||
SRC_C += ports/atmel-samd/sd_mmc/sd_mmc.c
|
||||
endif
|
||||
|
@ -340,7 +346,7 @@ SRC_SHARED_MODULE_EXPANDED = $(addprefix shared-bindings/, $(SRC_SHARED_MODULE))
|
|||
$(addprefix shared-module/, $(SRC_SHARED_MODULE_INTERNAL))
|
||||
|
||||
# There may be duplicates between SRC_COMMON_HAL_EXPANDED and SRC_SHARED_MODULE_EXPANDED,
|
||||
# because a few modules have files both in common-hal/ and shared-modules/.
|
||||
# because a few modules have files both in common-hal/ and shared-module/.
|
||||
# Doing a $(sort ...) removes duplicates as part of sorting.
|
||||
SRC_COMMON_HAL_SHARED_MODULE_EXPANDED = $(sort $(SRC_COMMON_HAL_EXPANDED) $(SRC_SHARED_MODULE_EXPANDED))
|
||||
|
||||
|
|
|
@ -157,7 +157,13 @@ void audio_dma_load_next_block(audio_dma_t *dma) {
|
|||
if (dma->loop) {
|
||||
audiosample_reset_buffer(dma->sample, dma->single_channel_output, dma->audio_channel);
|
||||
} else {
|
||||
descriptor->DESCADDR.reg = 0;
|
||||
if ((output_buffer_length == 0) && dma_transfer_status(SHARED_RX_CHANNEL) & 0x3) {
|
||||
// Nothing further to read and previous buffer is finished.
|
||||
audio_dma_stop(dma);
|
||||
} else {
|
||||
// Break descriptor chain.
|
||||
descriptor->DESCADDR.reg = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
descriptor->BTCTRL.bit.VALID = true;
|
||||
|
@ -214,21 +220,23 @@ audio_dma_result audio_dma_setup_playback(audio_dma_t *dma,
|
|||
if (output_signed != samples_signed) {
|
||||
output_spacing = 1;
|
||||
max_buffer_length /= dma->spacing;
|
||||
dma->first_buffer = (uint8_t *)m_realloc(dma->first_buffer, max_buffer_length);
|
||||
if (dma->first_buffer == NULL) {
|
||||
}
|
||||
|
||||
dma->first_buffer = (uint8_t *)m_realloc(dma->first_buffer, max_buffer_length);
|
||||
if (dma->first_buffer == NULL) {
|
||||
return AUDIO_DMA_MEMORY_ERROR;
|
||||
}
|
||||
dma->first_buffer_free = true;
|
||||
if (!single_buffer) {
|
||||
dma->second_buffer = (uint8_t *)m_realloc(dma->second_buffer, max_buffer_length);
|
||||
if (dma->second_buffer == NULL) {
|
||||
return AUDIO_DMA_MEMORY_ERROR;
|
||||
}
|
||||
dma->first_buffer_free = true;
|
||||
if (!single_buffer) {
|
||||
dma->second_buffer = (uint8_t *)m_realloc(dma->second_buffer, max_buffer_length);
|
||||
if (dma->second_buffer == NULL) {
|
||||
return AUDIO_DMA_MEMORY_ERROR;
|
||||
}
|
||||
}
|
||||
dma->signed_to_unsigned = !output_signed && samples_signed;
|
||||
dma->unsigned_to_signed = output_signed && !samples_signed;
|
||||
}
|
||||
|
||||
dma->signed_to_unsigned = !output_signed && samples_signed;
|
||||
dma->unsigned_to_signed = output_signed && !samples_signed;
|
||||
|
||||
dma->event_channel = 0xff;
|
||||
if (!single_buffer) {
|
||||
dma->second_descriptor = (DmacDescriptor *)m_malloc(sizeof(DmacDescriptor), false);
|
||||
|
@ -265,13 +273,13 @@ audio_dma_result audio_dma_setup_playback(audio_dma_t *dma,
|
|||
|
||||
#ifdef SAM_D5X_E5X
|
||||
int irq = dma->event_channel < 4 ? EVSYS_0_IRQn + dma->event_channel : EVSYS_4_IRQn;
|
||||
// Only disable and clear on SAMD51 because the SAMD21 shares EVSYS with ticks.
|
||||
NVIC_DisableIRQ(irq);
|
||||
NVIC_ClearPendingIRQ(irq);
|
||||
#else
|
||||
int irq = EVSYS_IRQn;
|
||||
#endif
|
||||
|
||||
NVIC_DisableIRQ(irq);
|
||||
NVIC_ClearPendingIRQ(irq);
|
||||
|
||||
DmacDescriptor *first_descriptor = dma_descriptor(dma_channel);
|
||||
setup_audio_descriptor(first_descriptor, dma->beat_size, output_spacing, output_register_address);
|
||||
if (single_buffer) {
|
||||
|
@ -366,7 +374,7 @@ STATIC void dma_callback_fun(void *arg) {
|
|||
audio_dma_load_next_block(dma);
|
||||
}
|
||||
|
||||
void evsyshandler_common(void) {
|
||||
void audio_evsys_handler(void) {
|
||||
for (uint8_t i = 0; i < AUDIO_DMA_CHANNEL_COUNT; i++) {
|
||||
audio_dma_t *dma = audio_dma_state[i];
|
||||
if (dma == NULL) {
|
||||
|
@ -380,26 +388,4 @@ void evsyshandler_common(void) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef SAM_D5X_E5X
|
||||
void EVSYS_0_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
void EVSYS_1_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
void EVSYS_2_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
void EVSYS_3_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
void EVSYS_4_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
#else
|
||||
void EVSYS_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -99,4 +99,6 @@ void audio_dma_background(void);
|
|||
|
||||
uint8_t find_sync_event_channel_raise(void);
|
||||
|
||||
void audio_evsys_handler(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_AUDIO_DMA_H
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define MICROPY_HW_MCU_NAME "samd21e18"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_PA15)
|
||||
#define MICROPY_HW_NEOPIXEL_COUNT (2)
|
||||
|
||||
#define IGNORE_PIN_PA01 1
|
||||
#define IGNORE_PIN_PA02 1
|
||||
|
|
|
@ -14,12 +14,16 @@ CIRCUITPY_FULL_BUILD = 0
|
|||
CIRCUITPY_ANALOGIO = 0
|
||||
CIRCUITPY_AUDIOCORE = 0
|
||||
CIRCUITPY_BUSIO_SPI = 0
|
||||
CIRCUITPY_BUSIO_UART = 0
|
||||
CIRCUITPY_PULSEIO = 0
|
||||
CIRCUITPY_PWMIO = 0
|
||||
CIRCUITPY_ROTARYIO = 0
|
||||
CIRCUITPY_RTC = 0
|
||||
CIRCUITPY_USB_MIDI = 0
|
||||
|
||||
CIRCUITPY_GETPASS = 0
|
||||
CIRCUITPY_TRACEBACK = 0
|
||||
|
||||
CIRCUITPY_PIXELBUF = 1
|
||||
CIRCUITPY_BUSDEVICE = 1
|
||||
|
||||
|
|
|
@ -16,3 +16,16 @@
|
|||
// USB is always used internally so skip the pin objects for it.
|
||||
#define IGNORE_PIN_PA24 1
|
||||
#define IGNORE_PIN_PA25 1
|
||||
// USD ID
|
||||
#define IGNORE_PIN_PA18 1
|
||||
|
||||
// Hooked to the external crystal
|
||||
#define IGNORE_PIN_PA00 1
|
||||
#define IGNORE_PIN_PA01 1
|
||||
|
||||
// SWD only
|
||||
#define IGNORE_PIN_PA30 1
|
||||
#define IGNORE_PIN_PA31 1
|
||||
|
||||
// Not connected
|
||||
#define IGNORE_PIN_PA28 1
|
||||
|
|
|
@ -16,3 +16,11 @@
|
|||
// USB is always used internally so skip the pin objects for it.
|
||||
#define IGNORE_PIN_PA24 1
|
||||
#define IGNORE_PIN_PA25 1
|
||||
|
||||
// Not connected
|
||||
#define IGNORE_PIN_PA00 1
|
||||
#define IGNORE_PIN_PA01 1
|
||||
|
||||
// SWD only
|
||||
#define IGNORE_PIN_PA30 1
|
||||
#define IGNORE_PIN_PA31 1
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// More than one revision of this board is available.
|
||||
// This board specifies PCB Revision 10
|
||||
// This board specifies the most up to date PCB Revision
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "BDMICRO VINA-D51"
|
||||
#define MICROPY_HW_MCU_NAME "samd51n20"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# More than one revision of this board is available.
|
||||
# This board specifies PCB Revision 10
|
||||
# This board specifies the most up to date PCB Revision
|
||||
|
||||
USB_VID = 0x31e2
|
||||
USB_PID = 0x2021
|
||||
|
@ -10,5 +10,5 @@ CHIP_VARIANT = SAMD51N20A
|
|||
CHIP_FAMILY = samd51
|
||||
|
||||
QSPI_FLASH_FILESYSTEM = 1
|
||||
EXTERNAL_FLASH_DEVICES = "MX25L51245G","GD25S512MD"
|
||||
EXTERNAL_FLASH_DEVICES = "MX25L12833F","MX25L51245G","GD25S512MD"
|
||||
LONGINT_IMPL = MPZ
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// More than one revision of this board is available.
|
||||
// This board specifies PCB Revision 10
|
||||
// This board specifies the most up to date PCB Revision
|
||||
|
||||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
|
@ -59,6 +59,16 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
|||
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PB12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_PB13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_PA21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SDO), MP_ROM_PTR(&pin_PA21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_PA22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SDI), MP_ROM_PTR(&pin_PA22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_PA20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_FS_0), MP_ROM_PTR(&pin_PA20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D18), MP_ROM_PTR(&pin_PB16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SCK_0), MP_ROM_PTR(&pin_PB16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D19), MP_ROM_PTR(&pin_PB17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_MCK_0), MP_ROM_PTR(&pin_PB17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PC17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PC18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PC19) },
|
||||
|
@ -73,14 +83,10 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
|||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C1_SDA), MP_ROM_PTR(&pin_PA13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_FS_0), MP_ROM_PTR(&pin_PA20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_MCK_0), MP_ROM_PTR(&pin_PB17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SCK_0), MP_ROM_PTR(&pin_PB16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SDI), MP_ROM_PTR(&pin_PA22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SDO), MP_ROM_PTR(&pin_PA21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_B), MP_ROM_PTR(&pin_PA23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_STATUS), MP_ROM_PTR(&pin_PA23) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_G), MP_ROM_PTR(&pin_PB15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_QSPI), MP_ROM_PTR(&pin_PC07) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_R), MP_ROM_PTR(&pin_PB14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_RX), MP_ROM_PTR(&pin_PC05) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_TX), MP_ROM_PTR(&pin_PC06) },
|
||||
|
|
|
@ -14,6 +14,7 @@ CIRCUITPY_AUDIOIO = 1
|
|||
CIRCUITPY_AUDIOBUSIO = 1
|
||||
# Pins for I2SOut are not available.
|
||||
CIRCUITPY_AUDIOBUSIO_I2SOUT = 0
|
||||
CIRCUITPY_BUSIO_SPI = 0
|
||||
CIRCUITPY_PWMIO = 0
|
||||
CIRCUITPY_ROTARYIO = 0
|
||||
CIRCUITPY_RTC = 0
|
||||
|
|
|
@ -49,6 +49,6 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
|||
|
||||
{ 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_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
||||
|
|
|
@ -52,6 +52,8 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
|||
{ MP_OBJ_NEW_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PB22) },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PB23) },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PB00) },
|
||||
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PB01) },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PB01) },
|
||||
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_TX3), MP_ROM_PTR(&pin_PB16) },
|
||||
|
|
|
@ -9,3 +9,7 @@ CHIP_FAMILY = samd21
|
|||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = NONE
|
||||
CIRCUITPY_FULL_BUILD = 0
|
||||
|
||||
# There are many pin definitions on this board; it doesn't quite fit on very large translations.
|
||||
# So remove what might be least likely module to be used.
|
||||
CIRCUITPY_RAINBOWIO = 0
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
#define MICROPY_HW_BOARD_NAME "SparkFun MicroMod SAMD51"
|
||||
#define MICROPY_HW_BOARD_NAME "SparkFun MicroMod SAMD51 Processor"
|
||||
#define MICROPY_HW_MCU_NAME "samd51j20"
|
||||
|
||||
#define CIRCUITPY_MCU_FAMILY samd51
|
||||
|
||||
// Status LED
|
||||
#define MICROPY_HW_LED_STATUS (&pin_PA23)
|
||||
|
||||
// On-board flash
|
||||
#define SPI_FLASH_MOSI_PIN &pin_PA09
|
||||
#define SPI_FLASH_MISO_PIN &pin_PA10
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
LD_FILE = boards/samd51x20-bootloader-external-flash.ld
|
||||
USB_VID = 0x1b4f
|
||||
USB_PID = 0x0020 # Used by uf2 bootloader
|
||||
USB_PRODUCT = "SparkFun MicroMod SAMD51"
|
||||
USB_PRODUCT = "SparkFun MicroMod SAMD51 Processor"
|
||||
USB_MANUFACTURER = "SparkFun Electronics"
|
||||
|
||||
CHIP_VARIANT = SAMD51J20A
|
||||
|
|
|
@ -1,97 +1,224 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
|
||||
* Copyright (c) 2021 Chris Wilson
|
||||
*
|
||||
* 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"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
// D (digital only) pins (D0,D1)
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PB04) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PB05) },
|
||||
// The SparkFun MicroMod spec uses a zero-based peripheral numbering scheme.
|
||||
// The 0th peripheral is the default and the "0" is omitted from the
|
||||
// peripheral name (e.g. "I2C" instead of "I2C0").
|
||||
//
|
||||
// For more details, see https://www.sparkfun.com/micromod#tech-specs
|
||||
|
||||
// A (ADC) pins (A0-A4)
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA02) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PB00) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PB01) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PB02) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PB03) },
|
||||
// MicroMod built-in status LED pin
|
||||
// Requirement from the "Designing with MicroMod" SparkFun article:
|
||||
// "... every Processor Board shall include one status LED connected to a
|
||||
// pin that is not connected to the board edge."
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA23) }, // MicroMod LED (PA23)
|
||||
|
||||
// DAC
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC), MP_ROM_PTR(&pin_PA02) },
|
||||
// MicroMod USB bus input voltage (+5V) pin
|
||||
// { MP_ROM_QSTR(MP_QSTR_USB_VIN), MP_ROM_PTR() }, // MicroMod USB_VIN (not connected)
|
||||
|
||||
// G (General/BUS) pins (G0-G9)
|
||||
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G0), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G1), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PB08) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G2), MP_ROM_PTR(&pin_PB08) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PB09) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G3), MP_ROM_PTR(&pin_PB09) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PB10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G4), MP_ROM_PTR(&pin_PB10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PB11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G5), MP_ROM_PTR(&pin_PB11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PB12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G6), MP_ROM_PTR(&pin_PB12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PB13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G7), MP_ROM_PTR(&pin_PB13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G8), MP_ROM_PTR(&pin_PA14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G9), MP_ROM_PTR(&pin_PA15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D32), MP_ROM_PTR(&pin_PB31) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D33), MP_ROM_PTR(&pin_PB30) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D38), MP_ROM_PTR(&pin_PB14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G10), MP_ROM_PTR(&pin_PB14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_D39), MP_ROM_PTR(&pin_PB15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_G11), MP_ROM_PTR(&pin_PB15) },
|
||||
// MicroMod +3.3V enable pin
|
||||
{ MP_ROM_QSTR(MP_QSTR_P3V3_EN), MP_ROM_PTR(&pin_PA19) }, // MicroMod 3.3V_EN (PA19)
|
||||
|
||||
// PWM pins (PWM0, PWM1)
|
||||
{ MP_ROM_QSTR(MP_QSTR_PWM0), MP_ROM_PTR(&pin_PB01) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_PWM1), MP_ROM_PTR(&pin_PB02) },
|
||||
// MicroMod battery voltage sense pin
|
||||
{ MP_ROM_QSTR(MP_QSTR_BATT_VIN3), MP_ROM_PTR(&pin_PB03) }, // MicroMod BATT_VIN/3 (PB03)
|
||||
|
||||
// AUD (audio)
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_MCLK), MP_ROM_PTR(&pin_PB17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_OUT), MP_ROM_PTR(&pin_PA21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_IN), MP_ROM_PTR(&pin_PA22) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_LRCLK), MP_ROM_PTR(&pin_PA20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_BCLK), MP_ROM_PTR(&pin_PB16) },
|
||||
// MicroMod reset pin
|
||||
// { MP_ROM_QSTR(MP_QSTR_RESET), MP_ROM_PTR() }, // MicroMod RESET# (SAMD51 has a dedicated HW RESETN pin)
|
||||
|
||||
// I2C
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA1), MP_ROM_PTR(&pin_PA17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL1), MP_ROM_PTR(&pin_PA16) },
|
||||
// MicroMod boot pin
|
||||
// { MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR() }, // MicroMod BOOT (not connected)
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_INT), MP_ROM_PTR(&pin_PA18) },
|
||||
// MicroMod USB device pins
|
||||
// USB device is always used internally by CircuitPython, so skip creating
|
||||
// the pin objects for it. See explicit ignores in mpconfigboard.h.
|
||||
// { MP_ROM_QSTR(MP_QSTR_USB_DM), MP_ROM_PTR(&pin_PA24) }, // MicroMod USB_D- (PA24)
|
||||
// { MP_ROM_QSTR(MP_QSTR_USB_DP), MP_ROM_PTR(&pin_PA25) }, // MicroMod USB_D+ (PA25)
|
||||
|
||||
// I2C2
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA2), MP_ROM_PTR(&pin_PA13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL2), MP_ROM_PTR(&pin_PA12) },
|
||||
// MicroMod USB host pins
|
||||
// { MP_ROM_QSTR(MP_QSTR_USBHOST_DM), MP_ROM_PTR() }, // MicroMod USBHOST_D- (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_USBHOST_DP), MP_ROM_PTR() }, // MicroMod USBHOST_D+ (not connected)
|
||||
|
||||
// SPI
|
||||
{ MP_ROM_QSTR(MP_QSTR_CIPO), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA06) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_COPI), MP_ROM_PTR(&pin_PA04) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA04) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA05) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CS), MP_ROM_PTR(&pin_PA07) },
|
||||
// MicroMod CAN pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAN_RX), MP_ROM_PTR(&pin_PB15) }, // MicroMod CAN_RX (PB15)
|
||||
{ MP_ROM_QSTR(MP_QSTR_CAN_TX), MP_ROM_PTR(&pin_PB14) }, // MicroMod CAN_TX (PB14)
|
||||
|
||||
// Status LED
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA23) },
|
||||
// Note: MicroMod UART (UART0) is not present in the edge connector pinout
|
||||
// because the primary debug serial port is exposed as a virtual serial port
|
||||
// over USB.
|
||||
|
||||
// UART
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB30) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PB30) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB31) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PB31) },
|
||||
// MicroMod UART1 pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART_TX1), MP_ROM_PTR(&pin_PB31) }, // MicroMod UART_TX1 | CircuitPython TX (PB31)
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART_RX1), MP_ROM_PTR(&pin_PB30) }, // MicroMod UART_RX1 | CircuitPython RX (PB30)
|
||||
// { MP_ROM_QSTR(MP_QSTR_UART_RTS1), MP_ROM_PTR() }, // MicroMod RTS1 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_UART_CTS1), MP_ROM_PTR() }, // MicroMod CTS1 (not connected)
|
||||
|
||||
// UART2
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX2), MP_ROM_PTR(&pin_PA13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX2), MP_ROM_PTR(&pin_PA12) },
|
||||
// CircuitPython default UART pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB31) }, // CircuitPython TX | MicroMod UART_TX1 (PB31)
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB30) }, // CircuitPython RX | MicroMod UART_RX1 (PB30)
|
||||
|
||||
// MicroMod UART2 pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART_TX2), MP_ROM_PTR(&pin_PA12) }, // MicroMod UART_TX2 (PA12)
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART_RX2), MP_ROM_PTR(&pin_PA13) }, // MicroMod UART_RX2 (PA13)
|
||||
|
||||
// Board 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) },
|
||||
// MicroMod I2C pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_SDA), MP_ROM_PTR(&pin_PA17) }, // MicroMod I2C_SDA | CircuitPython SDA (PA17)
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_SCL), MP_ROM_PTR(&pin_PA16) }, // MicroMod I2C_SCL | CircuitPython SCL (PA16)
|
||||
|
||||
// CircuitPython default I2C pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA17) }, // CircuitPython SDA | MicroMod I2C_SDA (PA17)
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA16) }, // CircuitPython SCL | MicroMod I2C_SCL (PA16)
|
||||
|
||||
// MicroMod I2C interrupt pin
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_INT), MP_ROM_PTR(&pin_PA18) }, // MicroMod I2C_INT (PA18)
|
||||
|
||||
// MicroMod I2C1 pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_SDA1), MP_ROM_PTR(&pin_PA13) }, // MicroMod I2C_SDA1 (PA13)
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C_SCL1), MP_ROM_PTR(&pin_PA12) }, // MicroMod I2C_SCL1 (PA12)
|
||||
|
||||
// MicroMod SPI pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_CIPO), MP_ROM_PTR(&pin_PA06) }, // MicroMod SPI_CIPO | CircuitPython CIPO (PA06)
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_MISO), MP_ROM_PTR(&pin_PA06) }, // MicroMod SPI_MISO | CircuitPython MISO (PA06)
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_COPI), MP_ROM_PTR(&pin_PA04) }, // MicroMod SPI_COPI | CircuitPython COPI | LED_DAT (PA04)
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_MOSI), MP_ROM_PTR(&pin_PA04) }, // MicroMod SPI_MOSI | CircuitPython MOSI (PA04)
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_SCK), MP_ROM_PTR(&pin_PA05) }, // MicroMod SPI_SCK | CircuitPython SCK | LED_CLK (PA05)
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI_CS), MP_ROM_PTR(&pin_PA07) }, // MicroMod SPI_CS | CircuitPython CS (PA07)
|
||||
|
||||
// CircuitPython default SPI pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_CIPO), MP_ROM_PTR(&pin_PA06) }, // CircuitPython CIPO | MicroMod SPI_CIPO (PA06)
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA06) }, // CircuitPython MISO | MicroMod SPI_MISO (PA06)
|
||||
{ MP_ROM_QSTR(MP_QSTR_COPI), MP_ROM_PTR(&pin_PA04) }, // CircuitPython COPI | MicroMod SPI_COPI | LED_DAT (PA04)
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA04) }, // CircuitPython MOSI | MicroMod SPI_MOSI (PA04)
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA05) }, // CircuitPython SCK | MicroMod SPI_SCK | LED_CLK (PA05)
|
||||
{ MP_ROM_QSTR(MP_QSTR_CS), MP_ROM_PTR(&pin_PA07) }, // CircuitPython CS | MicroMod SPI_CS (PA07)
|
||||
|
||||
// MicroMod 2-wire serial LED pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_DAT), MP_ROM_PTR(&pin_PA04) }, // MicroMod LED_DAT | SPI_COPI (PA04)
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED_CLK), MP_ROM_PTR(&pin_PA05) }, // MicroMod LED_CLK | SPI_SCK (PA05)
|
||||
|
||||
// MicroMod SDIO pins
|
||||
// { MP_ROM_QSTR(MP_QSTR_SDIO_CLK), MP_ROM_PTR() }, // MicroMod SDIO_SCK | SPI_SCK1 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SDIO_CMD), MP_ROM_PTR() }, // MicroMod SDIO_CMD | SPI_COPI1 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SDIO_DATA0), MP_ROM_PTR() }, // MicroMod SDIO_DATA0 | SPI_CIPO1 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SDIO_DATA1), MP_ROM_PTR() }, // MicroMod SDIO_DATA1 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SDIO_DATA2), MP_ROM_PTR() }, // MicroMod SDIO_DATA2 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SDIO_DATA3), MP_ROM_PTR() }, // MicroMod SDIO_DATA3 | SPI_CS1 (not connected)
|
||||
|
||||
// MicroMod SPI1 pins
|
||||
// { MP_ROM_QSTR(MP_QSTR_SPI_CIPO1), MP_ROM_PTR() }, // MicroMod SPI_CIPO1 | SDIO_DATA0 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SPI_MISO1), MP_ROM_PTR() }, // MicroMod SPI_MISO1 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SPI_COPI1), MP_ROM_PTR() }, // MicroMod SPI_COPI1 | SDIO_CMD (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SPI_MOSI1), MP_ROM_PTR() }, // MicroMod SPI_MOSI1 (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SPI_SCK1), MP_ROM_PTR() }, // MicroMod SPI_SCK1 | SDIO_SCK (not connected)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SPI_CS1), MP_ROM_PTR() }, // MicroMod SPI_CS1 | SDIO_DATA3 (not connected)
|
||||
|
||||
// MicroMod audio pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_MCLK), MP_ROM_PTR(&pin_PB17) }, // MicroMod AUD_MCLK (PB17)
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_OUT), MP_ROM_PTR(&pin_PA21) }, // MicroMod AUD_OUT | I2S_OUT | PCM_OUT | CAM_MCLK (PA21)
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_IN), MP_ROM_PTR(&pin_PA22) }, // MicroMod AUD_IN | I2S_IN | PCM_IN | CAM_PCLK (PA22)
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_LRCLK), MP_ROM_PTR(&pin_PA20) }, // MicroMod AUD_LRCLK | I2S_WS | PCM_SYNC | PDM_DATA (PA20)
|
||||
{ MP_ROM_QSTR(MP_QSTR_AUD_BCLK), MP_ROM_PTR(&pin_PB16) }, // MicroMod AUD_BCLK | I2S_SCK | PCM_CLK | PDM_CLK (PB16)
|
||||
|
||||
// MicroMod I2S pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_OUT), MP_ROM_PTR(&pin_PA21) }, // MicroMod I2S_OUT | AUD_OUT | PCM_OUT | CAM_MCLK (PA21)
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_IN), MP_ROM_PTR(&pin_PA22) }, // MicroMod I2S_IN | AUD_IN | PCM_IN | CAM_PCLK (PA22)
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_WS), MP_ROM_PTR(&pin_PA20) }, // MicroMod I2S_WS | AUD_LRCLK | PCM_SYNC | PDM_DATA (PA20)
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2S_SCK), MP_ROM_PTR(&pin_PB16) }, // MicroMod I2S_SCK | AUD_BCLK | PCM_CLK | PDM_CLK (PB16)
|
||||
|
||||
// MicroMod PCM pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_PCM_OUT), MP_ROM_PTR(&pin_PA21) }, // MicroMod PCM_OUT | AUD_OUT | I2S_OUT | CAM_MCLK (PA21)
|
||||
{ MP_ROM_QSTR(MP_QSTR_PCM_IN), MP_ROM_PTR(&pin_PA22) }, // MicroMod PCM_IN | AUD_IN | I2S_IN | CAM_PCLK (PA22)
|
||||
{ MP_ROM_QSTR(MP_QSTR_PCM_SYNC), MP_ROM_PTR(&pin_PA20) }, // MicroMod PCM_SYNC | AUD_LRCLK | I2S_WS | PDM_DATA (PA20)
|
||||
{ MP_ROM_QSTR(MP_QSTR_PCM_CLK), MP_ROM_PTR(&pin_PB16) }, // MicroMod PCM_CLK | AUD_BCLK | I2S_SCK | PDM_CLK (PB16)
|
||||
|
||||
// MicroMod PDM pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_PDM_DATA), MP_ROM_PTR(&pin_PA20) }, // MicroMod PDM_DATA | AUD_LRCLK | I2S_WS | PCM_SYNC (PA20)
|
||||
{ MP_ROM_QSTR(MP_QSTR_PDM_CLK), MP_ROM_PTR(&pin_PB16) }, // MicroMod PDM_CLK | AUD_BCLK | I2S_SCK | PCM_CLK (PB16)
|
||||
|
||||
// MicroMod SWD pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_SWDIO), MP_ROM_PTR(&pin_PA31) }, // MicroMod SWDIO (PA31)
|
||||
{ MP_ROM_QSTR(MP_QSTR_SWCLK), MP_ROM_PTR(&pin_PA30) }, // MicroMod SWDCK (PA30)
|
||||
// { MP_ROM_QSTR(MP_QSTR_SWO), MP_ROM_PTR() }, // MicroMod SWO | G11 (not connected)
|
||||
|
||||
// MicroMod ADC pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA02) }, // MicroMod A0 (PA02)
|
||||
{ MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PB00) }, // MicroMod A1 (PB00)
|
||||
|
||||
// MicroMod PWM pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_PWM0), MP_ROM_PTR(&pin_PB01) }, // MicroMod PWM0 (PB01)
|
||||
{ MP_ROM_QSTR(MP_QSTR_PWM1), MP_ROM_PTR(&pin_PB02) }, // MicroMod PWM1 (PB02)
|
||||
|
||||
// MicroMod digital pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PB04) }, // MicroMod D0 (PB04)
|
||||
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PB05) }, // MicroMod D1 | CAM_TRIG (PB05)
|
||||
|
||||
// MicroMod general purpose pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_G0), MP_ROM_PTR(&pin_PB06) }, // MicroMod G0 | BUS0 (PB06)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G1), MP_ROM_PTR(&pin_PB07) }, // MicroMod G1 | BUS1 (PB07)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G2), MP_ROM_PTR(&pin_PB08) }, // MicroMod G2 | BUS2 (PB08)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G3), MP_ROM_PTR(&pin_PB09) }, // MicroMod G3 | BUS3 (PB09)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G4), MP_ROM_PTR(&pin_PB10) }, // MicroMod G4 | BUS4 (PB10)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G5), MP_ROM_PTR(&pin_PB11) }, // MicroMod G5 | BUS5 (PB11)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G6), MP_ROM_PTR(&pin_PB12) }, // MicroMod G6 | BUS6 (PB12)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G7), MP_ROM_PTR(&pin_PB13) }, // MicroMod G7 | BUS7 (PB13)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G8), MP_ROM_PTR(&pin_PA14) }, // MicroMod G8 (PA14)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G9), MP_ROM_PTR(&pin_PA15) }, // MicroMod G9 | ADC_D- | CAM_HSYNC (PA15)
|
||||
// { MP_ROM_QSTR(MP_QSTR_G10), MP_ROM_PTR() }, // MicroMod G10 | ADC_D+ | CAM_VSYNC (not connected)
|
||||
{ MP_ROM_QSTR(MP_QSTR_G11), MP_ROM_PTR(&pin_PA27) }, // MicroMod G11 | SWO (PA27)
|
||||
|
||||
// MicroMod 8-bit bus pins
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS0), MP_ROM_PTR(&pin_PB06) }, // MicroMod BUS0 | G0 (PB06)
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS1), MP_ROM_PTR(&pin_PB07) }, // MicroMod BUS1 | G1 (PB07)
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS2), MP_ROM_PTR(&pin_PB08) }, // MicroMod BUS2 | G2 (PB08)
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS3), MP_ROM_PTR(&pin_PB09) }, // MicroMod BUS3 | G3 (PB09)
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS4), MP_ROM_PTR(&pin_PB10) }, // MicroMod BUS4 | G4 (PB10)
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS5), MP_ROM_PTR(&pin_PB11) }, // MicroMod BUS5 | G5 (PB11)
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS6), MP_ROM_PTR(&pin_PB12) }, // MicroMod BUS6 | G6 (PB12)
|
||||
{ MP_ROM_QSTR(MP_QSTR_BUS7), MP_ROM_PTR(&pin_PB13) }, // MicroMod BUS7 | G7 (PB13)
|
||||
|
||||
// MicroMod differential ADC input pins
|
||||
// { MP_ROM_QSTR(MP_QSTR_ADC_DM), MP_ROM_PTR(&pin_PA15) }, // MicroMod ADC_D- | G9 | CAM_HSYNC (PA15)
|
||||
// { MP_ROM_QSTR(MP_QSTR_ADC_DP), MP_ROM_PTR() }, // MicroMod ADC_D+ | G10 | CAM_VSYNC (not connected)
|
||||
|
||||
// MicroMod camera pins
|
||||
// { MP_ROM_QSTR(MP_QSTR_CAM_MCLK), MP_ROM_PTR(&pin_PA21) }, // MicroMod CAM_MCLK | AUD_OUT | I2S_OUT | PCM_OUT (PA21)
|
||||
// { MP_ROM_QSTR(MP_QSTR_CAM_PCLK), MP_ROM_PTR(&pin_PA22) }, // MicroMod CAM_PCLK | AUD_IN | I2S_IN | PCM_IN (PA22)
|
||||
// { MP_ROM_QSTR(MP_QSTR_CAM_TRIG), MP_ROM_PTR(&pin_PB05) }, // MicroMod CAM_TRIG | D1 (PB05)
|
||||
// { MP_ROM_QSTR(MP_QSTR_CAM_HSYNC), MP_ROM_PTR(&pin_PA15 }, // MicroMod CAM_HSYNC | ADC_D- | G9 (PA15)
|
||||
// { MP_ROM_QSTR(MP_QSTR_CAM_VSYNC), MP_ROM_PTR() }, // MicroMod CAM_VSYNC | ADC_D+ | G10 (not connected)
|
||||
|
||||
// Module-specific aliases (not part of the MicroMod spec)
|
||||
{ MP_ROM_QSTR(MP_QSTR_HOST_ENABLE), MP_ROM_PTR(&pin_PA27) }, // HOST_ENABLE | G11 | SWO (PA27)
|
||||
|
||||
// CircuitPython board objects
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, // CircuitPython I2C
|
||||
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, // CircuitPython SPI
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, // CircuitPython UART
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
void i2sout_reset(void) {
|
||||
// Make sure the I2S peripheral is running so we can see if the resources we need are free.
|
||||
#ifdef SAM_D5X_E5X
|
||||
// Connect the clock units to the 2mhz clock. It can't disable without it.
|
||||
// Connect the clock units to the 2MHz clock. It can't disable without it.
|
||||
connect_gclk_to_peripheral(5, I2S_GCLK_ID_0);
|
||||
connect_gclk_to_peripheral(5, I2S_GCLK_ID_1);
|
||||
#endif
|
||||
|
@ -83,7 +83,7 @@ void i2sout_reset(void) {
|
|||
|
||||
// Make sure the I2S peripheral is running so we can see if the resources we need are free.
|
||||
#ifdef SAM_D5X_E5X
|
||||
// Connect the clock units to the 2mhz clock by default. They can't reset without it.
|
||||
// Connect the clock units to the 2MHz clock by default. They can't reset without it.
|
||||
disconnect_gclk_from_peripheral(5, I2S_GCLK_ID_0);
|
||||
disconnect_gclk_from_peripheral(5, I2S_GCLK_ID_1);
|
||||
|
||||
|
@ -222,7 +222,6 @@ void common_hal_audiobusio_i2sout_deinit(audiobusio_i2sout_obj_t *self) {
|
|||
reset_pin_number(self->word_select->number);
|
||||
self->word_select = NULL;
|
||||
reset_pin_number(self->data->number);
|
||||
self->data = NULL;
|
||||
}
|
||||
|
||||
void common_hal_audiobusio_i2sout_play(audiobusio_i2sout_obj_t *self,
|
||||
|
@ -288,7 +287,7 @@ void common_hal_audiobusio_i2sout_play(audiobusio_i2sout_obj_t *self,
|
|||
I2S->TXCTRL.reg = serctrl;
|
||||
#endif
|
||||
|
||||
// The DFLL is always a 48mhz clock
|
||||
// The DFLL is always a 48MHz clock
|
||||
enable_clock_generator(self->gclk, CLOCK_48MHZ, divisor);
|
||||
connect_gclk_to_peripheral(self->gclk, I2S_GCLK_ID_0 + self->clock_unit);
|
||||
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
#include "py/obj.h"
|
||||
#include "py/runtime.h"
|
||||
|
||||
#include "lib/utils/interrupt_char.h"
|
||||
|
||||
#include "common-hal/canio/__init__.h"
|
||||
#include "common-hal/canio/Listener.h"
|
||||
#include "shared-bindings/canio/Listener.h"
|
||||
|
@ -356,6 +358,11 @@ mp_obj_t common_hal_canio_listener_receive(canio_listener_obj_t *self) {
|
|||
if (supervisor_ticks_ms64() > deadline) {
|
||||
return NULL;
|
||||
}
|
||||
RUN_BACKGROUND_TASKS;
|
||||
// Allow user to break out of a timeout with a KeyboardInterrupt.
|
||||
if (mp_hal_is_interrupted()) {
|
||||
return NULL;
|
||||
}
|
||||
} while (!common_hal_canio_listener_in_waiting(self));
|
||||
}
|
||||
int index = self->hw->RXFS.bit.F0GI;
|
||||
|
|
|
@ -272,6 +272,9 @@ void common_hal_pulseio_pulsein_deinit(pulseio_pulsein_obj_t *self) {
|
|||
void common_hal_pulseio_pulsein_pause(pulseio_pulsein_obj_t *self) {
|
||||
uint32_t mask = 1 << self->channel;
|
||||
EIC->INTENCLR.reg = mask << EIC_INTENSET_EXTINT_Pos;
|
||||
#ifdef SAMD21
|
||||
rtc_end_pulse();
|
||||
#endif
|
||||
}
|
||||
|
||||
void common_hal_pulseio_pulsein_resume(pulseio_pulsein_obj_t *self,
|
||||
|
@ -299,6 +302,9 @@ void common_hal_pulseio_pulsein_resume(pulseio_pulsein_obj_t *self,
|
|||
EIC->INTFLAG.reg = mask << EIC_INTFLAG_EXTINT_Pos;
|
||||
EIC->INTENSET.reg = mask << EIC_INTENSET_EXTINT_Pos;
|
||||
|
||||
#ifdef SAMD21
|
||||
rtc_start_pulse();
|
||||
#endif
|
||||
pulsein_set_config(self, true);
|
||||
}
|
||||
|
||||
|
|
|
@ -31,15 +31,15 @@
|
|||
#include "common-hal/pwmio/PWMOut.h"
|
||||
#include "shared-bindings/pwmio/PWMOut.h"
|
||||
#include "shared-bindings/microcontroller/Processor.h"
|
||||
#include "shared_timers.h"
|
||||
#include "timer_handler.h"
|
||||
|
||||
#include "atmel_start_pins.h"
|
||||
#include "hal/utils/include/utils_repeat_macro.h"
|
||||
#include "samd/pins.h"
|
||||
#include "samd/timers.h"
|
||||
#include "supervisor/shared/translate.h"
|
||||
|
||||
#include "samd/pins.h"
|
||||
|
||||
#undef ENABLE
|
||||
|
||||
#define _TCC_SIZE(unused, n) TCC##n##_SIZE,
|
||||
|
@ -60,24 +60,6 @@ uint8_t tcc_channels[3]; // Set by pwmout_reset() to {0xf0, 0xfc, 0xfc} initia
|
|||
uint8_t tcc_channels[5]; // Set by pwmout_reset() to {0xc0, 0xf0, 0xf8, 0xfc, 0xfc} initially.
|
||||
#endif
|
||||
|
||||
static uint8_t never_reset_tc_or_tcc[TC_INST_NUM + TCC_INST_NUM];
|
||||
|
||||
STATIC void timer_refcount(int index, bool is_tc, int increment) {
|
||||
if (is_tc) {
|
||||
never_reset_tc_or_tcc[index] += increment;
|
||||
} else {
|
||||
never_reset_tc_or_tcc[TC_INST_NUM + index] += increment;
|
||||
}
|
||||
}
|
||||
|
||||
void timer_never_reset(int index, bool is_tc) {
|
||||
timer_refcount(index, is_tc, 1);
|
||||
}
|
||||
|
||||
void timer_reset_ok(int index, bool is_tc) {
|
||||
timer_refcount(index, is_tc, -1);
|
||||
}
|
||||
|
||||
|
||||
void common_hal_pwmio_pwmout_never_reset(pwmio_pwmout_obj_t *self) {
|
||||
timer_never_reset(self->timer->index, self->timer->is_tc);
|
||||
|
@ -95,34 +77,11 @@ void pwmout_reset(void) {
|
|||
target_tcc_frequencies[i] = 0;
|
||||
tcc_refcount[i] = 0;
|
||||
}
|
||||
Tcc *tccs[TCC_INST_NUM] = TCC_INSTS;
|
||||
for (int i = 0; i < TCC_INST_NUM; i++) {
|
||||
if (never_reset_tc_or_tcc[TC_INST_NUM + i] > 0) {
|
||||
if (!timer_ok_to_reset(i, false)) {
|
||||
continue;
|
||||
}
|
||||
// Disable the module before resetting it.
|
||||
if (tccs[i]->CTRLA.bit.ENABLE == 1) {
|
||||
tccs[i]->CTRLA.bit.ENABLE = 0;
|
||||
while (tccs[i]->SYNCBUSY.bit.ENABLE == 1) {
|
||||
}
|
||||
}
|
||||
uint8_t mask = 0xff;
|
||||
for (uint8_t j = 0; j < tcc_cc_num[i]; j++) {
|
||||
mask <<= 1;
|
||||
}
|
||||
tcc_channels[i] = mask;
|
||||
tccs[i]->CTRLA.bit.SWRST = 1;
|
||||
while (tccs[i]->CTRLA.bit.SWRST == 1) {
|
||||
}
|
||||
}
|
||||
Tc *tcs[TC_INST_NUM] = TC_INSTS;
|
||||
for (int i = 0; i < TC_INST_NUM; i++) {
|
||||
if (never_reset_tc_or_tcc[i] > 0) {
|
||||
continue;
|
||||
}
|
||||
tcs[i]->COUNT16.CTRLA.bit.SWRST = 1;
|
||||
while (tcs[i]->COUNT16.CTRLA.bit.SWRST == 1) {
|
||||
}
|
||||
tcc_channels[i] = 0xff << tcc_cc_num[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include "common-hal/rgbmatrix/RGBMatrix.h"
|
||||
|
||||
#include "samd/timers.h"
|
||||
#include "shared_timers.h"
|
||||
#include "timer_handler.h"
|
||||
|
||||
void *common_hal_rgbmatrix_timer_allocate(rgbmatrix_rgbmatrix_obj_t *self) {
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "samd/timers.h"
|
||||
|
||||
#include "shared_timers.h"
|
||||
|
||||
static uint8_t never_reset_tc_or_tcc[TC_INST_NUM + TCC_INST_NUM];
|
||||
|
||||
static void timer_refcount(int index, bool is_tc, int increment) {
|
||||
if (is_tc) {
|
||||
never_reset_tc_or_tcc[index] += increment;
|
||||
} else {
|
||||
never_reset_tc_or_tcc[TC_INST_NUM + index] += increment;
|
||||
}
|
||||
}
|
||||
|
||||
void timer_never_reset(int index, bool is_tc) {
|
||||
timer_refcount(index, is_tc, 1);
|
||||
}
|
||||
|
||||
void timer_reset_ok(int index, bool is_tc) {
|
||||
timer_refcount(index, is_tc, -1);
|
||||
}
|
||||
|
||||
bool timer_ok_to_reset(int index, bool is_tc) {
|
||||
if (is_tc) {
|
||||
return never_reset_tc_or_tcc[index] == 0;
|
||||
}
|
||||
return never_reset_tc_or_tcc[TC_INST_NUM + index] == 0;
|
||||
}
|
||||
|
||||
void reset_timers(void) {
|
||||
// Reset all timers
|
||||
Tcc *tccs[TCC_INST_NUM] = TCC_INSTS;
|
||||
for (int i = 0; i < TCC_INST_NUM; i++) {
|
||||
if (!timer_ok_to_reset(i, false)) {
|
||||
continue;
|
||||
}
|
||||
// Disable the module before resetting it.
|
||||
if (tccs[i]->CTRLA.bit.ENABLE == 1) {
|
||||
tccs[i]->CTRLA.bit.ENABLE = 0;
|
||||
while (tccs[i]->SYNCBUSY.bit.ENABLE == 1) {
|
||||
}
|
||||
}
|
||||
tccs[i]->CTRLA.bit.SWRST = 1;
|
||||
while (tccs[i]->CTRLA.bit.SWRST == 1) {
|
||||
}
|
||||
}
|
||||
Tc *tcs[TC_INST_NUM] = TC_INSTS;
|
||||
for (int i = 0; i < TC_INST_NUM; i++) {
|
||||
if (!timer_ok_to_reset(i, true)) {
|
||||
continue;
|
||||
}
|
||||
tcs[i]->COUNT16.CTRLA.bit.SWRST = 1;
|
||||
while (tcs[i]->COUNT16.CTRLA.bit.SWRST == 1) {
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright 2019 Sony Semiconductor Solutions Corporation
|
||||
* Copyright (c) 2018 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
|
||||
|
@ -23,11 +23,14 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
#ifndef MICROPY_INCLUDED_ATMEL_SAMD_SHARED_TIMERS_H
|
||||
#define MICROPY_INCLUDED_ATMEL_SAMD_SHARED_TIMERS_H
|
||||
|
||||
#ifndef MICROPY_INCLUDED_CXD56_COMMON_HAL_BUSIO_ONEWIRE_H
|
||||
#define MICROPY_INCLUDED_CXD56_COMMON_HAL_BUSIO_ONEWIRE_H
|
||||
#include <stdbool.h>
|
||||
|
||||
// Use bitbangio.
|
||||
#include "shared-module/busio/OneWire.h"
|
||||
void timer_never_reset(int index, bool is_tc);
|
||||
void timer_reset_ok(int index, bool is_tc);
|
||||
bool timer_ok_to_reset(int index, bool is_tc);
|
||||
void reset_timers(void);
|
||||
|
||||
#endif // MICROPY_INCLUDED_CXD56_COMMON_HAL_BUSIO_ONEWIRE_H
|
||||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_SHARED_TIMERS_H
|
|
@ -77,6 +77,7 @@
|
|||
#include "samd/dma.h"
|
||||
#include "shared-bindings/microcontroller/__init__.h"
|
||||
#include "shared-bindings/rtc/__init__.h"
|
||||
#include "shared_timers.h"
|
||||
#include "reset.h"
|
||||
|
||||
#include "supervisor/shared/safe_mode.h"
|
||||
|
@ -91,26 +92,19 @@
|
|||
#if CIRCUITPY_PEW
|
||||
#include "common-hal/_pew/PewPew.h"
|
||||
#endif
|
||||
volatile bool hold_interrupt = false;
|
||||
static volatile bool sleep_ok = true;
|
||||
#ifdef SAMD21
|
||||
static void rtc_set_continuous(bool continuous) {
|
||||
while (RTC->MODE0.STATUS.bit.SYNCBUSY) {
|
||||
;
|
||||
}
|
||||
RTC->MODE0.READREQ.reg = (continuous ? RTC_READREQ_RCONT : 0) | 0x0010;
|
||||
while (RTC->MODE0.STATUS.bit.SYNCBUSY) {
|
||||
;
|
||||
}
|
||||
}
|
||||
static uint8_t _tick_event_channel = 0;
|
||||
|
||||
// Sleeping requires a register write that can stall interrupt handling. Turning
|
||||
// off sleeps allows for more accurate interrupt timing. (Python still thinks
|
||||
// it is sleeping though.)
|
||||
void rtc_start_pulse(void) {
|
||||
rtc_set_continuous(true);
|
||||
hold_interrupt = true;
|
||||
sleep_ok = false;
|
||||
}
|
||||
|
||||
void rtc_end_pulse(void) {
|
||||
hold_interrupt = false;
|
||||
rtc_set_continuous(false);
|
||||
sleep_ok = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -161,6 +155,20 @@ static void save_usb_clock_calibration(void) {
|
|||
}
|
||||
#endif
|
||||
|
||||
static void rtc_continuous_mode(void) {
|
||||
#ifdef SAMD21
|
||||
while (RTC->MODE0.STATUS.bit.SYNCBUSY) {
|
||||
}
|
||||
RTC->MODE0.READREQ.reg = RTC_READREQ_RCONT | 0x0010;
|
||||
while (RTC->MODE0.STATUS.bit.SYNCBUSY) {
|
||||
}
|
||||
// Do the first request and wait for it.
|
||||
RTC->MODE0.READREQ.reg = RTC_READREQ_RREQ | RTC_READREQ_RCONT | 0x0010;
|
||||
while (RTC->MODE0.STATUS.bit.SYNCBUSY) {
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rtc_init(void) {
|
||||
#ifdef SAMD21
|
||||
_gclk_enable_channel(RTC_GCLK_ID, GCLK_CLKCTRL_GEN_GCLK2_Val);
|
||||
|
@ -168,9 +176,17 @@ static void rtc_init(void) {
|
|||
while (RTC->MODE0.CTRL.bit.SWRST != 0) {
|
||||
}
|
||||
|
||||
// Turn on periodic events to use as tick. We control whether it interrupts
|
||||
// us with the EVSYS INTEN register.
|
||||
RTC->MODE0.EVCTRL.reg = RTC_MODE0_EVCTRL_PEREO2;
|
||||
|
||||
RTC->MODE0.CTRL.reg = RTC_MODE0_CTRL_ENABLE |
|
||||
RTC_MODE0_CTRL_MODE_COUNT32 |
|
||||
RTC_MODE0_CTRL_PRESCALER_DIV2;
|
||||
|
||||
// Turn on continuous sync of the count register. This will speed up all
|
||||
// tick reads.
|
||||
rtc_continuous_mode();
|
||||
#endif
|
||||
#ifdef SAM_D5X_E5X
|
||||
hri_mclk_set_APBAMASK_RTC_bit(MCLK);
|
||||
|
@ -347,6 +363,9 @@ void reset_port(void) {
|
|||
#if CIRCUITPY_PWMIO
|
||||
pwmout_reset();
|
||||
#endif
|
||||
#if CIRCUITPY_PWMIO || CIRCUITPY_AUDIOIO
|
||||
reset_timers();
|
||||
#endif
|
||||
|
||||
#if CIRCUITPY_ANALOGIO
|
||||
analogin_reset();
|
||||
|
@ -363,6 +382,9 @@ void reset_port(void) {
|
|||
#endif
|
||||
|
||||
reset_event_system();
|
||||
#ifdef SAMD21
|
||||
_tick_event_channel = EVSYS_SYNCH_NUM;
|
||||
#endif
|
||||
|
||||
reset_all_pins();
|
||||
|
||||
|
@ -430,21 +452,14 @@ uint32_t port_get_saved_word(void) {
|
|||
// TODO: Move this to an RTC backup register so we can preserve it when only the BACKUP power domain
|
||||
// is enabled.
|
||||
static volatile uint64_t overflowed_ticks = 0;
|
||||
#ifdef SAMD21
|
||||
static volatile bool _ticks_enabled = false;
|
||||
#endif
|
||||
|
||||
static uint32_t _get_count(uint64_t *overflow_count) {
|
||||
#ifdef SAM_D5X_E5X
|
||||
while ((RTC->MODE0.SYNCBUSY.reg & (RTC_MODE0_SYNCBUSY_COUNTSYNC | RTC_MODE0_SYNCBUSY_COUNT)) != 0) {
|
||||
}
|
||||
#endif
|
||||
#ifdef SAMD21
|
||||
// Request a read so we don't stall the bus later. See section 14.3.1.5 Read Request
|
||||
RTC->MODE0.READREQ.reg = RTC_READREQ_RREQ | 0x0010;
|
||||
while (RTC->MODE0.STATUS.bit.SYNCBUSY != 0) {
|
||||
}
|
||||
#endif
|
||||
// SAMD21 does continuous sync so we don't need to wait here.
|
||||
|
||||
// Disable interrupts so we can grab the count and the overflow.
|
||||
common_hal_mcu_disable_interrupts();
|
||||
uint32_t count = RTC->MODE0.COUNT.reg;
|
||||
|
@ -458,29 +473,6 @@ static uint32_t _get_count(uint64_t *overflow_count) {
|
|||
|
||||
volatile bool _woken_up;
|
||||
|
||||
static void _port_interrupt_after_ticks(uint32_t ticks) {
|
||||
uint32_t current_ticks = _get_count(NULL);
|
||||
if (ticks > 1 << 28) {
|
||||
// We'll interrupt sooner with an overflow.
|
||||
return;
|
||||
}
|
||||
#ifdef SAMD21
|
||||
if (hold_interrupt) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
uint32_t target = current_ticks + (ticks << 4);
|
||||
RTC->MODE0.COMP[0].reg = target;
|
||||
#ifdef SAM_D5X_E5X
|
||||
while ((RTC->MODE0.SYNCBUSY.reg & (RTC_MODE0_SYNCBUSY_COMP0)) != 0) {
|
||||
}
|
||||
#endif
|
||||
RTC->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP0;
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP0;
|
||||
current_ticks = _get_count(NULL);
|
||||
_woken_up = current_ticks >= target;
|
||||
}
|
||||
|
||||
void RTC_Handler(void) {
|
||||
uint32_t intflag = RTC->MODE0.INTFLAG.reg;
|
||||
if (intflag & RTC_MODE0_INTFLAG_OVF) {
|
||||
|
@ -497,19 +489,10 @@ void RTC_Handler(void) {
|
|||
}
|
||||
#endif
|
||||
if (intflag & RTC_MODE0_INTFLAG_CMP0) {
|
||||
// Clear the interrupt because we may have hit a sleep and _ticks_enabled
|
||||
// Clear the interrupt because we may have hit a sleep
|
||||
RTC->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP0;
|
||||
_woken_up = true;
|
||||
#ifdef SAMD21
|
||||
if (_ticks_enabled) {
|
||||
// Do things common to all ports when the tick occurs.
|
||||
supervisor_tick();
|
||||
// Check _ticks_enabled again because a tick handler may have turned it off.
|
||||
if (_ticks_enabled) {
|
||||
_port_interrupt_after_ticks(1);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
// SAMD21 ticks are handled by EVSYS
|
||||
#ifdef SAM_D5X_E5X
|
||||
RTC->MODE0.INTENCLR.reg = RTC_MODE0_INTENCLR_CMP0;
|
||||
#endif
|
||||
|
@ -526,6 +509,39 @@ uint64_t port_get_raw_ticks(uint8_t *subticks) {
|
|||
return overflow_count + current_ticks / 16;
|
||||
}
|
||||
|
||||
void evsyshandler_common(void) {
|
||||
#ifdef SAMD21
|
||||
if (_tick_event_channel < EVSYS_SYNCH_NUM && event_interrupt_active(_tick_event_channel)) {
|
||||
supervisor_tick();
|
||||
}
|
||||
#endif
|
||||
#if CIRCUITPY_AUDIOIO || CIRCUITPY_AUDIOBUSIO
|
||||
audio_evsys_handler();
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef SAM_D5X_E5X
|
||||
void EVSYS_0_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
void EVSYS_1_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
void EVSYS_2_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
void EVSYS_3_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
void EVSYS_4_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
#else
|
||||
void EVSYS_Handler(void) {
|
||||
evsyshandler_common();
|
||||
}
|
||||
#endif
|
||||
|
||||
// Enable 1/1024 second tick.
|
||||
void port_enable_tick(void) {
|
||||
#ifdef SAM_D5X_E5X
|
||||
|
@ -533,9 +549,23 @@ void port_enable_tick(void) {
|
|||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_PER2;
|
||||
#endif
|
||||
#ifdef SAMD21
|
||||
// TODO: Switch to using the PER *event* from the RTC to generate an interrupt via EVSYS.
|
||||
_ticks_enabled = true;
|
||||
_port_interrupt_after_ticks(1);
|
||||
// SAMD21 ticks won't survive port_reset(). 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();
|
||||
_tick_event_channel = find_sync_event_channel();
|
||||
}
|
||||
// This turns on both the event detected interrupt (EVD) and overflow (OVR).
|
||||
init_event_channel_interrupt(_tick_event_channel, CORE_GCLK, EVSYS_ID_GEN_RTC_PER_2);
|
||||
// Disable overflow interrupt because we ignore it.
|
||||
if (_tick_event_channel >= 8) {
|
||||
uint8_t value = 1 << (_tick_event_channel - 8);
|
||||
EVSYS->INTENCLR.reg = EVSYS_INTENSET_OVRp8(value);
|
||||
} else {
|
||||
uint8_t value = 1 << _tick_event_channel;
|
||||
EVSYS->INTENCLR.reg = EVSYS_INTENSET_OVR(value);
|
||||
}
|
||||
NVIC_EnableIRQ(EVSYS_IRQn);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -545,21 +575,48 @@ void port_disable_tick(void) {
|
|||
RTC->MODE0.INTENCLR.reg = RTC_MODE0_INTENCLR_PER2;
|
||||
#endif
|
||||
#ifdef SAMD21
|
||||
_ticks_enabled = false;
|
||||
RTC->MODE0.INTENCLR.reg = RTC_MODE0_INTENCLR_CMP0;
|
||||
if (_tick_event_channel >= 8) {
|
||||
uint8_t value = 1 << (_tick_event_channel - 8);
|
||||
EVSYS->INTENCLR.reg = EVSYS_INTENSET_EVDp8(value);
|
||||
} else {
|
||||
uint8_t value = 1 << _tick_event_channel;
|
||||
EVSYS->INTENCLR.reg = EVSYS_INTENSET_EVD(value);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// This is called by sleep, we ignore it when our ticks are enabled because
|
||||
// they'll wake us up earlier. If we don't, we'll mess up ticks by overwriting
|
||||
// the next RTC wake up time.
|
||||
void port_interrupt_after_ticks(uint32_t ticks) {
|
||||
uint32_t current_ticks = _get_count(NULL);
|
||||
if (ticks > 1 << 28) {
|
||||
// We'll interrupt sooner with an overflow.
|
||||
return;
|
||||
}
|
||||
#ifdef SAMD21
|
||||
if (_ticks_enabled) {
|
||||
if (!sleep_ok) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
_port_interrupt_after_ticks(ticks);
|
||||
|
||||
uint32_t target = current_ticks + (ticks << 4);
|
||||
#ifdef SAMD21
|
||||
// Try and avoid a bus stall when writing COMP by checking for an obvious
|
||||
// existing sync.
|
||||
while (RTC->MODE0.STATUS.bit.SYNCBUSY == 1) {
|
||||
}
|
||||
#endif
|
||||
// Writing the COMP register can take up to 180us to synchronize. During
|
||||
// this time, the bus will stall and no interrupts will be serviced.
|
||||
RTC->MODE0.COMP[0].reg = target;
|
||||
#ifdef SAM_D5X_E5X
|
||||
while ((RTC->MODE0.SYNCBUSY.reg & (RTC_MODE0_SYNCBUSY_COMP0)) != 0) {
|
||||
}
|
||||
#endif
|
||||
RTC->MODE0.INTFLAG.reg = RTC_MODE0_INTFLAG_CMP0;
|
||||
RTC->MODE0.INTENSET.reg = RTC_MODE0_INTENSET_CMP0;
|
||||
// Set continuous mode again because setting COMP may disable it.
|
||||
rtc_continuous_mode();
|
||||
current_ticks = _get_count(NULL);
|
||||
_woken_up = current_ticks >= target;
|
||||
}
|
||||
|
||||
void port_idle_until_interrupt(void) {
|
||||
|
@ -571,7 +628,7 @@ void port_idle_until_interrupt(void) {
|
|||
}
|
||||
#endif
|
||||
common_hal_mcu_disable_interrupts();
|
||||
if (!tud_task_event_ready() && !hold_interrupt && !_woken_up) {
|
||||
if (!tud_task_event_ready() && sleep_ok && !_woken_up) {
|
||||
__DSB();
|
||||
__WFI();
|
||||
}
|
||||
|
|
|
@ -36,8 +36,4 @@
|
|||
void set_timer_handler(bool is_tc, uint8_t index, uint8_t timer_handler);
|
||||
void shared_timer_handler(bool is_tc, uint8_t index);
|
||||
|
||||
// implementation of these functions is in PWMOut.c
|
||||
void timer_never_reset(int index, bool is_tc);
|
||||
void timer_reset_ok(int index, bool is_tc);
|
||||
|
||||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_TIMER_HANDLER_H
|
||||
|
|
|
@ -132,7 +132,8 @@ bool common_hal_busio_spi_write(busio_spi_obj_t *self, const uint8_t *data, size
|
|||
}
|
||||
|
||||
bool common_hal_busio_spi_read(busio_spi_obj_t *self, uint8_t *data, size_t len, uint8_t write_value) {
|
||||
SPI_EXCHANGE(self->spi_dev, NULL, data, len);
|
||||
memset(data, write_value, len);
|
||||
SPI_EXCHANGE(self->spi_dev, data, data, len);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -29,8 +29,8 @@
|
|||
#define MICROPY_HW_BOARD_NAME "Adafruit FunHouse"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_APA_MOSI (&pin_GPIO14)
|
||||
#define MICROPY_HW_APA_SCK (&pin_GPIO15)
|
||||
#define MICROPY_HW_APA102_MOSI (&pin_GPIO14)
|
||||
#define MICROPY_HW_APA102_SCK (&pin_GPIO15)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
// Same setup as the Saola board but with no Neopixel on board
|
||||
|
||||
#define MICROPY_HW_BOARD_NAME "ESP 12k NodeMCU"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
// #define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
|
||||
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
|
@ -0,0 +1,17 @@
|
|||
USB_VID = 0x612B
|
||||
USB_PID = 0x80A7
|
||||
USB_PRODUCT = "ESP 12k NodeMCU"
|
||||
USB_MANUFACTURER = "Ai-Thinker"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
CIRCUITPY_MODULE=wrover
|
|
@ -0,0 +1,48 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), 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_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
|
@ -0,0 +1,33 @@
|
|||
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
|
||||
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM64=y
|
||||
CONFIG_SPIRAM_SIZE=4194304
|
||||
|
||||
#
|
||||
# PSRAM clock and cs IO for ESP32S2
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM clock and cs IO for ESP32S2
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
# CONFIG_SPIRAM_SPEED_80M is not set
|
||||
CONFIG_SPIRAM_SPEED_40M=y
|
||||
# CONFIG_SPIRAM_SPEED_26M is not set
|
||||
# CONFIG_SPIRAM_SPEED_20M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
# end of SPI RAM config
|
|
@ -64,9 +64,9 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
|||
{ MP_ROM_QSTR(MP_QSTR_DAC1), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DAC2), MP_ROM_PTR(&pin_GPIO18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO35) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO40) },
|
||||
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2016 Scott Shawcroft
|
||||
* 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
|
||||
|
@ -24,10 +24,12 @@
|
|||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_ONEWIRE_H
|
||||
#define MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_ONEWIRE_H
|
||||
// Micropython setup
|
||||
|
||||
// Use bitbangio.
|
||||
#include "shared-module/busio/OneWire.h"
|
||||
#define MICROPY_HW_BOARD_NAME "CrumpS2"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#endif // MICROPY_INCLUDED_ATMEL_SAMD_COMMON_HAL_BUSIO_ONEWIRE_H
|
||||
#define CIRCUITPY_BOOT_BUTTON (&pin_GPIO0)
|
||||
#define BOARD_USER_SAFE_MODE_ACTION translate("pressing boot button at start up.\n")
|
||||
|
||||
#define AUTORESET_DELAY_MS 500
|
|
@ -0,0 +1,22 @@
|
|||
USB_VID = 0x1209
|
||||
USB_PID = 0x3141
|
||||
USB_PRODUCT = "CrumpS2"
|
||||
USB_MANUFACTURER = "CrumpSpace"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
CIRCUITPY_BITBANG_APA102 = 1
|
||||
|
||||
CIRCUITPY_MODULE=wrover
|
||||
|
||||
# Include these Python libraries in firmware.
|
||||
# FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_DotStar
|
|
@ -0,0 +1,53 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_APA102_MOSI), MP_ROM_PTR(&pin_GPIO40) }, // APA102
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), 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_APA102_SCK), MP_ROM_PTR(&pin_GPIO45) }, // APA102
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
|
@ -0,0 +1,39 @@
|
|||
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
|
||||
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM16=y
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
|
||||
CONFIG_SPIRAM_SIZE=2097152
|
||||
|
||||
#
|
||||
# PSRAM clock and cs IO for ESP32S2
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM clock and cs IO for ESP32S2
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
# CONFIG_SPIRAM_SPEED_80M is not set
|
||||
CONFIG_SPIRAM_SPEED_40M=y
|
||||
# CONFIG_SPIRAM_SPEED_26M is not set
|
||||
# CONFIG_SPIRAM_SPEED_20M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
# end of SPI RAM config
|
||||
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="CrumpS2"
|
||||
# end of LWIP
|
|
@ -14,10 +14,4 @@ CIRCUITPY_ESP_FLASH_MODE=dio
|
|||
CIRCUITPY_ESP_FLASH_FREQ=80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
# We only have enough endpoints available in hardware to
|
||||
# enable ONE of these at a time.
|
||||
CIRCUITPY_USB_MIDI = 1
|
||||
CIRCUITPY_USB_HID = 0
|
||||
CIRCUITPY_USB_VENDOR = 0
|
||||
|
||||
CIRCUITPY_MODULE=wrover
|
||||
|
|
|
@ -14,10 +14,4 @@ CIRCUITPY_ESP_FLASH_MODE=dio
|
|||
CIRCUITPY_ESP_FLASH_FREQ=80m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
# We only have enough endpoints available in hardware to
|
||||
# enable ONE of these at a time.
|
||||
CIRCUITPY_USB_MIDI = 1
|
||||
CIRCUITPY_USB_HID = 0
|
||||
CIRCUITPY_USB_VENDOR = 0
|
||||
|
||||
CIRCUITPY_MODULE=wrover
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* 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 "Gravitech Cucumber M"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
|
||||
|
||||
#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_UART_BUS_TX (&pin_GPIO43)
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
|
@ -0,0 +1,17 @@
|
|||
USB_VID = 0x303A
|
||||
USB_PID = 0x80A4
|
||||
USB_PRODUCT = "Cucumber M"
|
||||
USB_MANUFACTURER = "Gravitech"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
CIRCUITPY_MODULE=wroom
|
|
@ -0,0 +1,49 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), 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_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
|
@ -0,0 +1,5 @@
|
|||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="cucumber_m"
|
||||
# end of LWIP
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* 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 "Gravitech Cucumber MS"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
|
||||
|
||||
#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_GPIO40)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO41)
|
||||
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO43)
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
|
@ -0,0 +1,17 @@
|
|||
USB_VID = 0x303A
|
||||
USB_PID = 0x80A7
|
||||
USB_PRODUCT = "Cucumber MS"
|
||||
USB_MANUFACTURER = "Gravitech"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
CIRCUITPY_MODULE=wroom
|
|
@ -0,0 +1,52 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), 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_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
|
@ -0,0 +1,5 @@
|
|||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="cucumber_ms"
|
||||
# end of LWIP
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* 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 "Gravitech Cucumber R"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
|
||||
|
||||
#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_UART_BUS_TX (&pin_GPIO43)
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
|
@ -0,0 +1,17 @@
|
|||
USB_VID = 0x303A
|
||||
USB_PID = 0x80A1
|
||||
USB_PRODUCT = "Cucumber R"
|
||||
USB_MANUFACTURER = "Gravitech"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
CIRCUITPY_MODULE=wrover
|
|
@ -0,0 +1,49 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), 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_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
|
@ -0,0 +1,39 @@
|
|||
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
|
||||
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM16=y
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
|
||||
CONFIG_SPIRAM_SIZE=2097152
|
||||
|
||||
#
|
||||
# PSRAM clock and cs IO for ESP32S2
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM clock and cs IO for ESP32S2
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
# CONFIG_SPIRAM_SPEED_80M is not set
|
||||
CONFIG_SPIRAM_SPEED_40M=y
|
||||
# CONFIG_SPIRAM_SPEED_26M is not set
|
||||
# CONFIG_SPIRAM_SPEED_20M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
# end of SPI RAM config
|
||||
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="cucumber_r"
|
||||
# end of LWIP
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO43);
|
||||
common_hal_never_reset_pin(&pin_GPIO44);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* 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 "Gravitech Cucumber RS"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO18)
|
||||
|
||||
#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_GPIO40)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO41)
|
||||
|
||||
#define DEFAULT_UART_BUS_TX (&pin_GPIO43)
|
||||
#define DEFAULT_UART_BUS_RX (&pin_GPIO44)
|
|
@ -0,0 +1,17 @@
|
|||
USB_VID = 0x303A
|
||||
USB_PID = 0x800D
|
||||
USB_PRODUCT = "Cucumber RS"
|
||||
USB_MANUFACTURER = "Gravitech"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
CIRCUITPY_MODULE=wrover
|
|
@ -0,0 +1,52 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO9), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO10), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO14), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO26), MP_ROM_PTR(&pin_GPIO26) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO33), MP_ROM_PTR(&pin_GPIO33) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO34), MP_ROM_PTR(&pin_GPIO34) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO35), MP_ROM_PTR(&pin_GPIO35) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO36), MP_ROM_PTR(&pin_GPIO36) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO37), MP_ROM_PTR(&pin_GPIO37) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO43), MP_ROM_PTR(&pin_GPIO43) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO44), 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_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
|
@ -0,0 +1,39 @@
|
|||
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
|
||||
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM16=y
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
|
||||
CONFIG_SPIRAM_SIZE=2097152
|
||||
|
||||
#
|
||||
# PSRAM clock and cs IO for ESP32S2
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM clock and cs IO for ESP32S2
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
# CONFIG_SPIRAM_SPEED_80M is not set
|
||||
CONFIG_SPIRAM_SPEED_40M=y
|
||||
# CONFIG_SPIRAM_SPEED_26M is not set
|
||||
# CONFIG_SPIRAM_SPEED_20M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
# end of SPI RAM config
|
||||
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="cucumber_rs"
|
||||
# end of LWIP
|
|
@ -28,8 +28,6 @@
|
|||
#define MICROPY_HW_BOARD_NAME "microS2"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_LED (&pin_GPIO21)
|
||||
#define MICROPY_HW_BUTTON (&pin_GPIO0)
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO33)
|
||||
|
||||
// Default bus pins
|
||||
|
|
|
@ -0,0 +1,227 @@
|
|||
/*
|
||||
* 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 "shared-module/displayio/__init__.h"
|
||||
#include "shared-module/displayio/mipi_constants.h"
|
||||
|
||||
#define DELAY 0x80
|
||||
|
||||
// From Arduino-ST7789 library https://github.com/ananevilya/Arduino-ST7789-Library/blob/master/Arduino_ST7789.cpp
|
||||
#define ST7789_TFTWIDTH 240
|
||||
#define ST7789_TFTHEIGHT 240
|
||||
|
||||
#define ST7789_240x240_XSTART 0
|
||||
#define ST7789_240x240_YSTART 0
|
||||
|
||||
#define ST7789_NOP 0x00
|
||||
#define ST7789_SWRESET 0x01
|
||||
#define ST7789_RDDID 0x04
|
||||
#define ST7789_RDDST 0x09
|
||||
|
||||
#define ST7789_SLPIN 0x10
|
||||
#define ST7789_SLPOUT 0x11
|
||||
#define ST7789_PTLON 0x12
|
||||
#define ST7789_NORON 0x13
|
||||
|
||||
#define ST7789_INVOFF 0x20
|
||||
#define ST7789_INVON 0x21
|
||||
#define ST7789_DISPOFF 0x28
|
||||
#define ST7789_DISPON 0x29
|
||||
#define ST7789_CASET 0x2A
|
||||
#define ST7789_RASET 0x2B
|
||||
#define ST7789_RAMWR 0x2C
|
||||
#define ST7789_RAMRD 0x2E
|
||||
|
||||
#define ST7789_PTLAR 0x30
|
||||
#define ST7789_COLMOD 0x3A
|
||||
#define ST7789_MADCTL 0x36
|
||||
#define ST7789_VSCSAD 0x37
|
||||
#define ST7789_PORCTRL 0xB2
|
||||
#define ST7789_GCTRL 0xB7
|
||||
#define ST7789_VCOMS 0xBB
|
||||
#define ST7789_LCMCTRL 0xC0
|
||||
#define ST7789_IDSET 0xC1
|
||||
#define ST7789_VDVVRHEN 0xC2
|
||||
#define ST7789_VRHS 0xC3
|
||||
#define ST7789_VDVS 0xC4
|
||||
#define ST7789_VCMOFSET 0xC5
|
||||
#define ST7789_FRCTRL2 0xC6
|
||||
#define ST7789_CABCCTRL 0xC7
|
||||
#define ST7789_REGSEL1 0xC8
|
||||
#define ST7789_REGSEL2 0xCA
|
||||
#define ST7789_PWMFRSEL 0xCC
|
||||
#define ST7789_PWCTRL1 0xD0
|
||||
#define ST7789_VAPVANEN 0xD2
|
||||
#define ST7789_PVGAMCTRL 0xE0
|
||||
#define ST7789_NVGAMCTRL 0xE1
|
||||
|
||||
#define ST7789_MADCTL_MY 0x80
|
||||
#define ST7789_MADCTL_MX 0x40
|
||||
#define ST7789_MADCTL_MV 0x20
|
||||
#define ST7789_MADCTL_ML 0x10
|
||||
#define ST7789_MADCTL_RGB 0x00
|
||||
|
||||
#define ST7789_RDID1 0xDA
|
||||
#define ST7789_RDID2 0xDB
|
||||
#define ST7789_RDID3 0xDC
|
||||
#define ST7789_RDID4 0xDD
|
||||
|
||||
#define DISPLAY_MADCTL (ST7789_MADCTL_RGB)
|
||||
#define DISPLAY_VSCSAD 0
|
||||
|
||||
// The init_sequence is bitpacked to minimize the ram impact. Every command begins with a
|
||||
// command byte followed by a byte to determine the parameter count and delay. When the top bit
|
||||
// of the second byte is 1 (0x80), a delay will occur after the command parameters are sent.
|
||||
// The remaining 7 bits are the parameter count excluding any delay byte. The bytes following
|
||||
// are the parameters. When the delay bit is set, a single byte after the parameters specifies
|
||||
// the delay duration in milliseconds. The value 0xff will lead to an extra long 500 ms delay
|
||||
// instead of 255 ms.uint8_t display_init_sequence[] = {
|
||||
// display init sequence according to LilyGO example app
|
||||
|
||||
uint8_t display_init_sequence[] = {
|
||||
// From Lilygo example
|
||||
// sw reset
|
||||
0x01, 0 | DELAY, 150,
|
||||
// sleep out
|
||||
0x11, 0 | DELAY, 120,
|
||||
// normal display mode on
|
||||
0x13, 0,
|
||||
// display and color format settings
|
||||
0x36, 1, DISPLAY_MADCTL,
|
||||
0xB6, 2, 0x0A, 0x82,
|
||||
0x3A, 1 | DELAY, 0x55, 10,
|
||||
// ST7789V frame rate setting
|
||||
0xB2, 5, 0x0C, 0x0C, 0x00, 0x33, 0x33,
|
||||
// voltages: VGH / VGL
|
||||
0xB7, 1, 0x35,
|
||||
// ST7789V power setting
|
||||
0xBB, 1, 0x28,
|
||||
0xC0, 1, 0x0C,
|
||||
0xC2, 2, 0x01, 0xFF,
|
||||
0xC3, 1, 0x10,
|
||||
0xC4, 1, 0x20,
|
||||
0xC6, 1, 0x0F,
|
||||
0xD0, 2, 0xA4, 0xA1,
|
||||
// ST7789V gamma setting
|
||||
0xE0, 14, 0xD0, 0x00, 0x02, 0x07, 0x0A, 0x28, 0x32, 0x44, 0x42, 0x06, 0x0E, 0x12, 0x14, 0x17,
|
||||
0xE1, 14, 0xD0, 0x00, 0x02, 0x07, 0x0A, 0x28, 0x31, 0x54, 0x47, 0x0E, 0x1C, 0x17, 0x1B, 0x1E,
|
||||
0x21, 0,
|
||||
// display on
|
||||
0x21, 0 | DELAY, 10, // _INVON
|
||||
0x29, 0 | DELAY, 120
|
||||
};
|
||||
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
|
||||
// Debug UART
|
||||
#ifdef DEBUG
|
||||
common_hal_never_reset_pin(&pin_GPIO6);
|
||||
common_hal_never_reset_pin(&pin_GPIO7);
|
||||
#endif /* DEBUG */
|
||||
|
||||
// Display
|
||||
|
||||
busio_spi_obj_t *spi = &displays[0].fourwire_bus.inline_bus;
|
||||
|
||||
common_hal_busio_spi_construct(
|
||||
spi,
|
||||
&pin_GPIO12, // CLK
|
||||
&pin_GPIO11, // MOSI
|
||||
NULL // MISO not connected
|
||||
);
|
||||
|
||||
common_hal_busio_spi_never_reset(spi);
|
||||
|
||||
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
|
||||
bus->base.type = &displayio_fourwire_type;
|
||||
|
||||
common_hal_displayio_fourwire_construct(
|
||||
bus,
|
||||
spi,
|
||||
&pin_GPIO14, // DC
|
||||
&pin_GPIO10, // CS
|
||||
&pin_GPIO9, // RST
|
||||
40000000, // baudrate
|
||||
0, // polarity
|
||||
0 // phase
|
||||
);
|
||||
|
||||
// workaround as board_init() is called before reset_port() in main.c
|
||||
pwmout_reset();
|
||||
|
||||
displayio_display_obj_t *display = &displays[0].display;
|
||||
display->base.type = &displayio_display_type;
|
||||
common_hal_displayio_display_construct(
|
||||
display,
|
||||
bus,
|
||||
240, // width (after rotation)
|
||||
240, // height (after rotation)
|
||||
0, // column start
|
||||
80, // row start
|
||||
0, // rotation
|
||||
16, // color depth
|
||||
false, // grayscale
|
||||
false, // pixels in a byte share a row. Only valid for depths < 8
|
||||
1, // bytes per cell. Only valid for depths < 8
|
||||
false, // reverse_pixels_in_byte. Only valid for depths < 8
|
||||
true, // reverse_pixels_in_word
|
||||
MIPI_COMMAND_SET_COLUMN_ADDRESS, // set column command
|
||||
MIPI_COMMAND_SET_PAGE_ADDRESS, // set row command
|
||||
MIPI_COMMAND_WRITE_MEMORY_START, // write memory command
|
||||
0x37, // set vertical scroll command
|
||||
display_init_sequence,
|
||||
sizeof(display_init_sequence),
|
||||
NULL, // There is no backlight pin, defined for now.
|
||||
NO_BRIGHTNESS_COMMAND,
|
||||
1.0f, // brightness (ignored)
|
||||
true, // auto_brightness
|
||||
false, // single_byte_bounds
|
||||
false, // data_as_commands
|
||||
true, // auto_refresh
|
||||
60, // native_frames_per_second
|
||||
false, // backlight_on_high
|
||||
false // SH1107_addressing
|
||||
);
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
common_hal_displayio_release_displays();
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* 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 "MORPHEANS MorphESP-240"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#define MICROPY_HW_NEOPIXEL (&pin_GPIO16)
|
||||
#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_GPIO7)
|
||||
#define DEFAULT_I2C_BUS_SDA (&pin_GPIO6)
|
||||
|
||||
#define DEFAULT_SPI_BUS_SCK (&pin_GPIO12)
|
||||
#define DEFAULT_SPI_BUS_MOSI (&pin_GPIO11)
|
||||
#define DEFAULT_SPI_BUS_MISO (&pin_GPIO13)
|
|
@ -0,0 +1,17 @@
|
|||
USB_VID = 0x303a
|
||||
USB_PID = 0x80B7
|
||||
USB_PRODUCT = "MORPHESP-240"
|
||||
USB_MANUFACTURER = "MORPHEANS"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE = dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ = 40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE = 4MB
|
||||
|
||||
CIRCUITPY_MODULE = wroom
|
|
@ -0,0 +1,58 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
#include "shared-module/displayio/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO0), MP_ROM_PTR(&pin_GPIO0) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO1), MP_ROM_PTR(&pin_GPIO1) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO2), MP_ROM_PTR(&pin_GPIO2) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO3), MP_ROM_PTR(&pin_GPIO3) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO4), MP_ROM_PTR(&pin_GPIO4) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO5), MP_ROM_PTR(&pin_GPIO5) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO6), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO7), MP_ROM_PTR(&pin_GPIO7) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO8), MP_ROM_PTR(&pin_GPIO8) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO12), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO13), MP_ROM_PTR(&pin_GPIO13) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO15), MP_ROM_PTR(&pin_GPIO15) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO16), MP_ROM_PTR(&pin_GPIO16) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO17), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO18), MP_ROM_PTR(&pin_GPIO18) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO19), MP_ROM_PTR(&pin_GPIO19) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO20), MP_ROM_PTR(&pin_GPIO20) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO21), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO39), MP_ROM_PTR(&pin_GPIO39) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO41), MP_ROM_PTR(&pin_GPIO41) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO42), MP_ROM_PTR(&pin_GPIO42) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO45), MP_ROM_PTR(&pin_GPIO45) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_IO46), MP_ROM_PTR(&pin_GPIO46) },
|
||||
|
||||
// Serial UART on breakout board
|
||||
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_GPIO17) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO18) },
|
||||
|
||||
// I2C on breakout board.
|
||||
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO6) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO7) },
|
||||
|
||||
// WS2812B RGB LED
|
||||
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO16) },
|
||||
|
||||
// SPI on breakout board
|
||||
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_CLK), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO13) },
|
||||
|
||||
// 1.3" 240x240 LCD ST7789
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_MOSI), MP_ROM_PTR(&pin_GPIO11) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_CLK), MP_ROM_PTR(&pin_GPIO12) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO10) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO9) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO14) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) },
|
||||
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
|
@ -0,0 +1,6 @@
|
|||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="MORPHESP-240"
|
||||
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
|
||||
# end of LWIP
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 Scott Shawcroft for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "supervisor/board.h"
|
||||
#include "mpconfigboard.h"
|
||||
#include "shared-bindings/microcontroller/Pin.h"
|
||||
|
||||
void board_init(void) {
|
||||
// USB
|
||||
common_hal_never_reset_pin(&pin_GPIO19);
|
||||
common_hal_never_reset_pin(&pin_GPIO20);
|
||||
}
|
||||
|
||||
bool board_requests_safe_mode(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void reset_board(void) {
|
||||
|
||||
}
|
||||
|
||||
void board_deinit(void) {
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* 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 "Oak Dev Tech PixelWing ESP32S2"
|
||||
#define MICROPY_HW_MCU_NAME "ESP32S2"
|
||||
|
||||
#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)
|
|
@ -0,0 +1,17 @@
|
|||
USB_VID = 0x1209
|
||||
USB_PID = 0x4DF0
|
||||
USB_PRODUCT = "Pixelwing ESP32S2"
|
||||
USB_MANUFACTURER = "Oak Dev Tech"
|
||||
|
||||
INTERNAL_FLASH_FILESYSTEM = 1
|
||||
LONGINT_IMPL = MPZ
|
||||
|
||||
# The default queue depth of 16 overflows on release builds,
|
||||
# so increase it to 32.
|
||||
CFLAGS += -DCFG_TUD_TASK_QUEUE_SZ=32
|
||||
|
||||
CIRCUITPY_ESP_FLASH_MODE=dio
|
||||
CIRCUITPY_ESP_FLASH_FREQ=40m
|
||||
CIRCUITPY_ESP_FLASH_SIZE=4MB
|
||||
|
||||
CIRCUITPY_MODULE=wrover
|
|
@ -0,0 +1,15 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
|
||||
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO21) },
|
||||
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_SDA),MP_ROM_PTR(&pin_GPIO33) },
|
||||
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_SCL),MP_ROM_PTR(&pin_GPIO34) },
|
||||
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO45) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
|
||||
};
|
||||
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);
|
|
@ -0,0 +1,39 @@
|
|||
CONFIG_ESP32S2_SPIRAM_SUPPORT=y
|
||||
|
||||
#
|
||||
# SPI RAM config
|
||||
#
|
||||
# CONFIG_SPIRAM_TYPE_AUTO is not set
|
||||
CONFIG_SPIRAM_TYPE_ESPPSRAM16=y
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
|
||||
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
|
||||
CONFIG_SPIRAM_SIZE=2097152
|
||||
|
||||
#
|
||||
# PSRAM clock and cs IO for ESP32S2
|
||||
#
|
||||
CONFIG_DEFAULT_PSRAM_CLK_IO=30
|
||||
CONFIG_DEFAULT_PSRAM_CS_IO=26
|
||||
# end of PSRAM clock and cs IO for ESP32S2
|
||||
|
||||
# CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set
|
||||
# CONFIG_SPIRAM_RODATA is not set
|
||||
# CONFIG_SPIRAM_SPEED_80M is not set
|
||||
CONFIG_SPIRAM_SPEED_40M=y
|
||||
# CONFIG_SPIRAM_SPEED_26M is not set
|
||||
# CONFIG_SPIRAM_SPEED_20M is not set
|
||||
CONFIG_SPIRAM=y
|
||||
CONFIG_SPIRAM_BOOT_INIT=y
|
||||
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
|
||||
CONFIG_SPIRAM_USE_MEMMAP=y
|
||||
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
|
||||
# CONFIG_SPIRAM_USE_MALLOC is not set
|
||||
CONFIG_SPIRAM_MEMTEST=y
|
||||
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
|
||||
# end of SPI RAM config
|
||||
|
||||
#
|
||||
# LWIP
|
||||
#
|
||||
CONFIG_LWIP_LOCAL_HOSTNAME="PixelWing-ESP32S2"
|
||||
# end of LWIP
|
|
@ -62,6 +62,11 @@ void alarm_reset(void) {
|
|||
esp_sleep_disable_wakeup_source(ESP_SLEEP_WAKEUP_ALL);
|
||||
}
|
||||
|
||||
// This will be reset to false by full resets when bss is cleared. Otherwise, the
|
||||
// reload is due to CircuitPython and the ESP wakeup cause will be stale. This
|
||||
// can happen if USB is connected after a deep sleep.
|
||||
STATIC bool soft_wakeup = false;
|
||||
|
||||
STATIC esp_sleep_wakeup_cause_t _get_wakeup_cause(void) {
|
||||
// First check if the modules remember what last woke up
|
||||
if (alarm_pin_pinalarm_woke_this_cycle()) {
|
||||
|
@ -75,7 +80,11 @@ STATIC esp_sleep_wakeup_cause_t _get_wakeup_cause(void) {
|
|||
}
|
||||
// If waking from true deep sleep, modules will have lost their state,
|
||||
// so check the deep wakeup cause manually
|
||||
return esp_sleep_get_wakeup_cause();
|
||||
if (!soft_wakeup) {
|
||||
soft_wakeup = true;
|
||||
return esp_sleep_get_wakeup_cause();
|
||||
}
|
||||
return ESP_SLEEP_WAKEUP_UNDEFINED;
|
||||
}
|
||||
|
||||
bool common_hal_alarm_woken_from_sleep(void) {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue